elsex=3;
elsex=6;
elsex=7;
A)1B)2C)3D)6
9、阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为
main(){intx,y,z
scanf("%d%d%d",&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);。
}A)x+y+z=48
C)x+y+z=35B)x+y+z=35
D)不确定值
10、"已知各变量的类型说明如下
intk,a,b;
unsignedlongw=5;
doublex=
1."42;
则以下不符合C语言语法的表达式是:
A)x%(-3)B)w+=-2
C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)
11、"设有:
inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后n的值为____。
A)1B)2C)0D)
412、"判断char型变量ch是否为大写字母的正确表达式是____。
A)'A'<=ch<='Z'B)(ch>='A')&(ch<='Z')
D)('A'<=ch)AND('Z'>=ch)C)(ch>='A')&&(ch<='Z')
13、"以下描述中正确的是_____:
A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)在while循环体中,循环体至少要执行一次。
C)在do一while循环体中,循环体至少无条件的执行一次
D)do一while循环由do开始,用while结束,在while(表达式)后面不能写分号
14、"已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是____。
if(x>y)
z=x;x=y;y=z;
A)x=10,y=20,z=30B)x=20,y=30,z=20
C)x=20,y=30,z=10D)x=20,y=30,z=
3015、"若i为整型变量,则以下循环执行次数是:
for(i=2;i!
=0;)printf("%d",i--);
A)无限次B)0次C)1次D)2次
16、"下面程序段:
for(t=1;t<=100;t++)
{scanf("%d",&x);
if(x<0)continue;
printf("%3d",t);}A)当x<0时整个循环结束
B)x>=0时什么也不输出
C)printf函数永远也不执行
D)最多允许输出100个非负整数
17、"若有说明:
inta[3][4];则对a数组元素的正确引用是___。
A)a[2][4]B)a[1,3]C)a[1+1][0]D)a
(2)
(1)
18、"定义如下变量和数组:
intk;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是:
for(k=0;k<3;k++)printf("%d",a[2-k][k]);
A)369B)753C)963D)35
719、"判断字符串a和b是否相等,应当使用____.
A)if(a==b)
C)if(strcpy(a,b))B)if(a=b)
D)if(strcmp(a,b))
20、"对两个数组a和b进行如下初始化
chara[]="ABCDEF";
charb[]={’A’,’B’,’C’,’D’,’E’,’F’};
则以下叙述正确的是__.
A)a与b数组完全相同B)a与b长度相同
C)a和b中都存放字符串D)a数组比b数组长度长
21、"有两个字符数组a和b,则以下正确的输入语句是_____:
A)gets(a,b);B)scanf(“%s%s”,a,b);
C)scanf(“%s%s”,&a,&b);D)gets(“a”),gets(“b”);
22、"下面程序段的运行结果是___
charstr[]="ABC",*p=str;
printf("%d\n",*(p+2));
(A)0(B)字符'C'的ASCII码(C)字符'C'的地址(D)字符'C'
23、"下面描述正确的是____。
A)两个字符串所包含的字符个数相同时,才能比较字符串
B)字符个数多的字符串比字符个数少的字符串大
C)字符串”STOP”(注:
有一个空格)与”STOP”相等
D)字符串”That”小于字符串”The”
24、"下面判断正确的是____。
A)char*a=“china”;等价于char*a;*a=“china”;
B)charstr[10]={“china”};等价于charstr[10];str[]={“china”};C)char*s=“china”;等价于char*s;s=“china”;
D)charc[4]=“abc”,d[4]=“abc”;等价于charc[4]=d[4]=“abc”;
25、"若用数组名作为函数调用的实参,传递给形参的是____。
A)数组的首地址
B)数组第一个元素的值
C)数组中全部元素的值
D)数组元素的个数
26、"下面函数调用语句含有实参的个数为____。
y=func(a,b,max(d,e));
A)5B)2C)3D)
427、"C语言允许函数值类型缺省定义,此时该函数值隐含的类型是____。
A)float型
B)int型
C)long型
D)double型
28、"在C语言中,形参的缺省存储类是
A)autoB)registerC)staticD)extern
29、"以下正确的函数定义形式是_____:
A)doublefun(intx,inty)
B)doublefun(intx;inty)
C)doublefun(intx,inty);
D)doublefun(intx,y);
30、"在宏定义#definePI“
3.14159”中,用宏名PI代替一个____。
A)常量B)单精度数C)双精度数D)字符串
31、"#defineADD(x)x+x
main(){intm=1,n=2,k=3;
intsum=ADD(m+n)*k;
printf(“sum=%d”,sum);}上面的程序运行结果是_____:
A)sum=9B)sum=10C)sum=12D)sum=
1832、"以下有关宏替换和函数的调用叙述不正确的是____:
A)宏替换和函数的调用均占用运行时间。
B)宏名无类型,函数有类型
C)宏替换只是字符替换,不分配内存,但函数调用要分配内存
D)再调用宏时程序的长度要加长,而函数调用不变
33、"以下程序的输出的结果是
main()
{inti;
for(i=1;i<=2;i++)incre();}incre()
{staticintx=1;
x*=x+1;
printf("%d",x);}A)33B)22C)26D)2
534、"有如下定义
structperson{charname[9];intage;};
strictpersonclass[10]={"Johu",17,
"Paul",19,
"Mary",18,
"Adam”,16,};
根据上述定义,能输出字母M的语句是
A)prinft("%c\n",class[3].mane);
B)pfintf("%c\n",class[3].name[1]);
C)prinft("%c\n",class[2].name[1])
D)printf("%c\n",class[2].name[0]);
35、"以下程序的输出结果是哪一项?
#include
main(){inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;
for(i=0;i<4;i++)
p[i]=&a[i*3];
printf("%d\n",p[3][2]);}
A.输出项不合法
B.6
C.8
D.
1236、"以下程序的输出结果是
unionmyun
{struct{intx,y,z;
}u;
intk;
}a;
main()
{a.u.x=4;a.u.y=5;a.u.z=6;
a.k=1;
printf("%d\n",a.u.y);}A)4B)5C)6D)
137、"以下关于结构体与共用体的说法,其中正确的是
A)共用体同一个内存段可以来存放几种不同类型的成员,但在某一时刻只能存放一个成员。
B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和。
C)共用体每个成员分别占有自己的内存单元。
D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中。
38、"以下程序的输出结果是
longfun(intn){longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}main(){printf("%ld\n",fun
(5));}A)1B)2C)3D)
439、"下列程序段的输出结果为
intarr[]={6,7,8,9,10};
int*ptr;
ptr=arr;
*(ptr+2)+=2;
printf("%d,%d\n",*ptr,*(ptr+2));
A)8,
1040、"设有如下定义:
int(*ptr)();
则以下叙述中正确的是
A)ptr是指向一维组数的指针变量
B)ptr是指向int型数据的指针变量
C)ptr是指向函数的指针变量,该函数返回一个int型数据
D)ptr是一个函数名,该函数的返回值是指向int型数据的指针
1-5:
BCABC6-10:
CDBDA
11-15:
BCCDD16-20:
BCBDD
21-25:
BBDBA26-30:
CBAAD
31-35:
BACDD36-40:
DABD
B)6,8C)7,9D)6,10