1、【
单选题
】
有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。
[1分]
、
(!a==1)&&(!b==0)
、
(a<B)&&!C||1
、
a&&b
、
a||(b+b)&&(c-a)
答案:
2、【
单选题
】
执行下面的程序后,a的值为( )。
main()
{ int a,b;
for(a=1,b=1;a<=10;a++)
{ if(b%3==l)
{ b+=3;
continue;}
b-=5;}}
[1分]
答案:
3、【
单选题
】
若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是( )。
[1分]
答案:
4、【
单选题
】
有以下程序:
main()
{int a=0,b=0;
a=10; /*给a赋值
b=20; 给b赋值 */
printf("a+b=%d\n",a+b);//输出计算机结果
}
程序运行后的输出结果是( )。
[1分]
、
a+b=10
、
a+b=30
、
30
、
出错
答案:
5、【
单选题
】
有下列二叉树,对此二叉树前序遍历的结果为( )。
[1分]
、
ACFXDBEYZ
、
ABEFXYZCD
、
ABCDEFXY7
、
ABDYECFXZ
答案:
6、【
单选题
】
以下程序的输出结果是( )。
main()
{ int a=3:
printf("%d\n",(a+a-=a*a));
}
[1分]
答案:
7、【
单选题
】
执行下列程序中的输出语句后,a的值是( )。
main()
{ int a;
printf("%d\n",(a=2*3,a*5,a+7));
}
[1分]
答案:
8、【
单选题
】
下列关于栈的描述中错误的是( )。
[1分]
、
栈是先进先出的线性表
、
栈只能顺序存储
、
栈具有记忆作用
、
对栈的插入删除操作中,不需要改变栈底指针
答案:
9、【
单选题
】
对两个数组a和b进行下列初始化:
char m[]1="l234567":
char n[]={'1','2 ','3','4 ','5','6','7');
则下列叙述正确的是( )。
[1分]
、
数组m与数组n完全相同
、
数组m与数组n长度相同
、
数组m比数组n长1
、
数组m与数组n中都存放字符串
答案:
10、【
单选题
】
有下列程序段:
int n,t=1,S=0;
scanf("%d",&n);
do{s=s+t;t=t-2;while(t!=n);
为使此程序段不陷入循环,从键盘输入的数据应该是( )。
[1分]
、
任意正奇数
、
任意负偶数
、
任意正偶数
、
任意负奇数
答案:
11、【
单选题
】
若变量a,b已正确定义,且b已正确赋值,则合法的语句是( )。
[1分]
、
b=double(b);
、
(int)a=(int)b;
、
a=a++=5;
、
a=double(b);
答案:
12、【
单选题
】
常采用的两种存储结构是( )。
[1分]
、
顺序存储结构和链式存储结构
、
散列方法和索引方式
、
链表存储结构和数组
、
线性存储结构和非线性存储结构
答案:
13、【
单选题
】
下列字符数组初始化语句中,不正确的是( )。
[1分]
、
char c[]='goodmorning';
、
char c[20]="goodmorning";
、
char c[]={'a','b ','c ','d');
、
char c[]={"ffgoodmorning"};
答案:
14、【
单选题
】
若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。
[1分]
答案:
15、【
单选题
】
若有定义语句:“char sE10]="1234567\0\0";”,则strlen(s)的值是( )。
[1分]
答案:
16、【
单选题
】
有下列程序:
main()
{ int y=10;
do{y--;}while(--y);
printf("%d\n",--y);
)
当执行程序时,输出的结果是( )。
[1分]
答案:
17、【
单选题
】
设x为int型变量,则执行以下语句后,x的值为( )。
x=10;x=x-=x-x;
[1分]
答案:
18、【
单选题
】
执行下述程序后,输出的结果是( )。
#include
#define S(X)X*X
void main()
{ int a=9,k=3,m=2;
a/=S(k+m)/s(k+m);
printf("%d",a);
}
[1分]
答案:
19、【
单选题
】
下述程序的运行结果是( )。
#included stdio.h>
#included strin9.h>
main()
{ char*s1="abDuj";
char*s2="ABdUG";
int t;
t=strcmp(s1,s2);
printf("%d",t);
}
[1分]
答案:
20、【
单选题
】
下列说法正确的是( )。
[1分]
、
在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
、
在c语言中,数组元素的个数可以不确定,允许随机变动
、
在C语言中,数组元素的数据类型可以不一致
、
在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
答案:
21、【
单选题
】
当执行以下程序段时,( )。
x=-l:
do{x=x*X;)while(!x);
[1分]
、
循环体将执行一次
、
循环体将执行两次
、
循环体将执行无限次
、
系统将提示有语法错误
答案:
22、【
单选题
】
按照“先进后出”原则组织数据的结构是( )。
[1分]
答案:
23、【
单选题
】
语句int(*ptr)()的含义是( )。
[1分]
、
ptr是一个返回值为int的函数
、
ptr是指向int型数据的指针变量
、
ptr是指向函数的指针,该函数返回一个int型数据
、
ptr是一个函数名,该函数的返回值是指向int型数据的指针
答案:
24、【
单选题
】
下列程序的输出结果是( )。
void fun(int*X,int y)
{ printf("%d%d",*x,*y);*x=3;*y=1;}
main()
{ int x=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
[1分]
、
2 1 4 3
、
1 2 1 2
、
1 2 3 4
、
2 1 1 2
答案:
25、【
单选题
】
C语言可执行程序的开始执行点是( )。
[1分]
、
包含文件中的第一个函数
、
程序中第一个函数
、
程序中的main( )函数
、
程序中第一条语句
答案:
26、【
单选题
】
在下列给出的表达式中,与while(E)中的(E)不等价的表达式是( )。
[1分]
、
(!E==0)
、
(E>0||E<0)
、
(E==0)
、
(E!=0)
答案:
27、【
单选题
】
下述程序的输出结果是( )。
#include
void main()
{ int b[6]={2,4,6,8,10,12);
int*p=b,**q=&p;
printf("%d,",*(p++));
printf("%d,",**q);
}
[1分]
答案:
28、【
单选题
】
在下列语句中,其含义为“q是一个函数指针,该指针指向整型数据”的定义语句是( )。
[1分]
、
int**q;
、
int(*q)();
、
int*q;
、
int*q();
答案:
29、【
单选题
】
有下列程序:
fun(int x,int y)
{ static int m=0,i=2;
i+=m+1;m=i+x+y;return m;
}
main( )
{ int j=1,m=1,k;
k=fun(j,m);print S(”%d,”,k);
k=fun(j,m);printf(”%d\n”,k);
)
执行后的输出结果是( )。
[1分]
、
5,5
、
5,11
、
11,11
、
11,5
答案:
30、【
单选题
】
有以下程序
#include
void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{int t,i,j;
for(i=0;i<N-1;J++)
for(j=i+l;j<N;J++)
if(a[i]
}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0),i;
fun(c+4,6);
for(i=0;i<10;i++)printf("%d,",c[i]);
printf("\n");
}
程序运行的结果是( )。
[1分]
、
1,2,3,4,5,6,7,8,9,0,
、
0,9,8,7,6,5,1,2,3,4,
、
0,9,8,7,6,5,4,3,2,1,
、
1,2,3,4,9,8,7,6,5,0,
答案:
31、【
单选题
】
当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是( )。
[1分]
、
c=b=a;
、
(a=c)||(b=c);
、
(a=c)&&(b=c);
、
a=c=b;
答案:
32、【
单选题
】
相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。
[1分]
、
可重用性差
、
安全性差
、
非持久性
、
冗余性
答案:
33、【
单选题
】
设变量已正确定义,则以下能正确计算f=n!的程序是( )。
[1分]
、
f=0:
for(i=1;i<=n;i++)f*=i:
、
F=1:
for(i=l;i<2n;i++)f*=i:
、
f=l:
for(i=n;i>1;i++)f*=i:
、
f=1;
for(i=n;i>=2;i--)f*=i:
答案:
34、【
单选题
】
有以下程序:
main()
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++):
)
程序运行后的输出结果是( )。
[1分]
答案:
35、【
单选题
】
以下程序的输出结果是( )。
union myun
{ struct
{int x,y,z;)u;
int k:
}a;
main()
{ a.u.x=4;a.u.y=5;a.u.z=6;
k=0;
printf(%d\n",a.u.x);
}
[1分]
答案:
36、【
单选题
】
下列合法的声明语句是( )。
[1分]
、
int abc=50;
、
double int=3+5e2.5;
、
long do=1L;
、
float 3 asd=3e一3;
答案:
37、【
单选题
】
在Internet中,域名服务器的主要功能是实现( ) 的转换。
[1分]
、
IP地址到域名(主机名字)
、
域名到IP地址
、
主机IP地址和路由器IP地址之间
、
路由器IP地址之问
答案:
38、【
单选题
】
下列程序的输出的结果是( )。
main()
{ double d=3.2;int x,Y;
x=1.2;v=(x+3.8)/5.0;
printf("%d\n",d*y);
}
[1分]
答案:
39、【
简答题】
请补充main()函数,该函数的功能是:先以只写方式打开文件file.dat,再把字符串S中的字符保存到这个磁盘文件中。请勿改动main()函数与其他函数中的任何内容,仅在的横线上填写所需的若干表达式或语句。
注意:部分源程序给出如下。
试题程序:
#include
#include
#define N 100
void main()
{
FILE*f:
int i=0:
char ch;
char s[N]="Welcome!";
if((f=fopenl("【1】","w"))==NULL)
{
printf("cannot open file.dat\n");
exit(0);
}
while(s[i])
{
ch=s[i];
【2】 ;
putchar(ch);
i++:
}
【3】 ;
}
[18分]
解析:
【1】FilE.DAt【2】FputC(Ch,F)【3】FClosE(F)
40、【
简答题】
下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;再把第4个字符插入前三个字符中,待排序的字符串已
在主函数中赋予。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#define M 80
void proc(char*arr)
{ int i,j,n;char ch;
n=strlen(arr):
for(i=1;i<N;I++)
//****found****
{ c=arr[i];
j=i-1;
while((j>=o)&&(ch<ARR[J]))
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=ch;
}
}
void main()
{
char a[M]="QWERTYUIOPASDFGHJKLMNBVCXZ";
printf("The original string:%s\n",a);
proc(a);
printf("The string after sortin9:
%s\n\n",a);
}
[24分]
解析:
错误:C=Arr[i];正确:Ch=Arr[i];