更新二级C省考题含答案 1Word文档格式.docx
《更新二级C省考题含答案 1Word文档格式.docx》由会员分享,可在线阅读,更多相关《更新二级C省考题含答案 1Word文档格式.docx(68页珍藏版)》请在冰点文库上搜索。
(k<
11、若已定义:
charc=’E’;
inta=9;
floatx=5;
则表达式c/x-a的值是()
【已知’A’的ASCII码为65】
a)13.8
b)4.8
c)4
d)5
12、()为合法用户标识符。
a)3c
b)_a$bc
c)void
d)_abc
13、若已定义:
charc;
则()是错误的赋值表达式
a)c=’\n’
b)c=’a’
c)c=32
d)c=097
14、若已定义:
intm=3,n=4;
则表达式(m++)+n的值是()
a)5
b)7
c)8
d)4
15、puts(char*str)函数的功能是向终端输出()
a)一个实型变量的值
b)str指向的字符串
c)一个整数变量的值
d)str指向的第一个字符
16、若已定义:
inta=1,b=2,c=3;
语句(++b,a)||(a++,c++);
执行后变量a、b、c的值分别是()
a)234
b)133
c)123
d)233
17、若已定义:
intx=100;
则正确的赋值表达式是()
a)x=”abc”
b)x%=0.3
c)x=x+08
d)x=’A’
18、下列正确定义符号常量的命令是()
a)#definePR3.3;
b)#definePR=3.3;
c)#definePR=3.3
d)#definePR3.3
19、()为合法常量
a)‘Cprogram’
b)0x100
c)2E3.3
d)0783
20、若已定义:
inta=1,b=2;
()是正确的表达式
a)a*=b+2
b)a+b=2
c)a+b*=2
d)a+/b=2
【21~25】ADADA【26~30】DCCAB【31~35】CACAA【36~40】BADAD
21、若已定义:
inta=3,b=2,c=1;
则表达式a+b&
c+100的值是()
a)1
b)105
c)0
d)104
22、若已定义:
则表达式(float)(a+b)/(c+a)的值是()
a)8
b)1
c)3.0
d)1.25
23、若已定义:
inta=3,x=4;
语句x+=a++;
执行后变量x的值是()
a)7
b)4
d)6
24、若已定义:
inta=5,b=6;
语句printf(“%d*%d=%d\n”,a+a,b+b,(a+a)*(b+b));
执行后的输出结果是()
a)5*6=30
b)10,12,120
c)5,6,30
d)10*12=120
25、若已定义:
inta=1,b=2,c=3;
表达式值为0的是()
a)a<
b<
c&
c>
b>
a
b)a+b&
a+c
c)a+b==c||b==c
d)a<
c||c>
26、若已定义:
inta=3,b=2,c=1,t;
语句t=++a||!
b&
c++;
执行后a、b、c的值分别是()
a)321
b)422
c)402
d)421
27、若已定义:
inta=5;
则表达式a-=a+=a*a的值为()
a)-20
b)-25
d)25
28、以下程序段的运行结果是()
intm=65,n=66;
chark=’C’;
printf(“%c-%c-%d\n”,m,n,k);
(注:
字母’A’的ASCII码值为65)
a)AB67
b)6566C
c)A-B-67
d)65-66-C
29、若已定义:
inti=1;
则表达式i+=10的值为()
a)11
c)2
30、若已定义:
则表达式a=b==c的值为()
b)0
c)3
d)2
31、若已定义:
charc;
inta;
floatx;
doublem;
则表达式0.3+a+c+x+m*a的值得类型为()
a)float
b)int
c)double
d)char
32、c语言的数据类型不包括()
a)泛型
b)联合类型
c)整形
d)结构类型
33、若已定义:
则正确的表达式是()
a)a=b+1=c
b)a=b\c
c)c=(a,b)
d)a+b=c
34、若已定义:
inta=8,b=7,c;
语句c=a|b;
执行后c的值是()
a)15
c)7
d)8
35、若已定义:
intx;
则从键盘输入一个值赋予x;
正确的函数调用是()
a)scanf(“%d”,&
x);
b)scanf(“%f”,&
c)scanf(“%f”,x);
d)scanf(“%d”,x);
36、以下程序的运行结果是()
#include<
stdio.h>
voidmain()
{
inta=4,b=3,c=2,d=1;
if(a>
c)
printf(“%d\n”,d);
elseif(c-1>
=d)
printf(“%d\n”,d+1);
else
printf(“%d\n”,d+2);
}
b)2
37、以下程序执行时,循环体执行了()
inta=1234,b=0;
while(a)
{
b=b*10+a%10;
a=a/10;
}
a)4次
b)无限次
c)3次
d)2次
38、以下程序执行后变量m的值为()
intx=6,y=4,z=8,m;
m=(x<
y)?
(x<
z?
x:
z):
(y<
y:
z);
b)8
c)6
39、以下程序段执行后变量a的值为()
inti,a=0;
for(i=1;
i<
=10;
i++)
if(i%2==0)
continue;
a++;
++a;
a)10
b)5
c)15
d)0
40、执行以下程序,输入99,运行结果是()
intscore;
scanf(“%d”,&
score);
switch(score/10)
case10:
case9:
printf(“A”);
case8:
printf(“B”);
case7:
case6:
printf(“C”);
break;
default:
printf(“D”);
printf(“\n”);
a)ABCD
b)AB
c)A
d)ABC
41、以下程序的运行结果是()
charc=’C’;
switch(c-65)
case0:
putchar(c+1);
case1:
case2:
case3:
putchar(c+2);
putchar(c+32);
[注:
已知’A’的ASCII码值为65,’a’的ASCII码值为97]
a)C
b)b
c)E
d)D
【41-45】CBCCA【46-50】CCDAD【51-55】BCDDA【56-60】DDBBD
42、若已定义:
intk,a,b,c;
则语句()与k=a>
b?
b:
c语句的功能等价。
a)if(a>
b)k=b
b)if(a>
b)k=b;
elsek=c;
c)if(k==a)k=b;
d)if(a>
b)k=a;
elsek=b;
43、以下程序段,()。
inta=0;
do
++a;
}while
(1);
a)循环体执行1次
b)循环体执行2次
c)是无限循环
d)有语法错误
44、以下程序段执行后变量a的值为()
inti=0,a=0;
for(;
i-3;
a++
45、以下程序段的运行结果是()
chara[5]={65,’B’,67,68,69},i;
for(i=4;
i>
=0;
i-=2)
a[i]=a[i]+32;
for(i=0;
5;
printf(“%3c”,a[i]);
a)aBcDe
b)abcde
c)ABCDE
d)AbCdE
46、以下程序段执行后s的值是()
inta[3][4]={1,2,3,4,1,2,3,4,1,2,3,4};
inti,j,s=1;
for(i=0;
3;
for(j=0;
j<
i+2;
j++)
s*=a[i][j];
a)16
b)144
c)288
d)12
47、下列叙述正确的是()
a)在定义数组时,数组的长度不能使用整形常量
b)在定义数组时,数组的长度可以使用整形变量
c)数组元素的下标可以使用整形常量
d)数组元素的下标不能使用字符常量
48、若以定义:
ints[4][3]={{1,6},{1},{2,8,4},{7,3,5}};
则s[3][1]的值是()
a)2
b)3
49、以下程序段执行后,a[4]的值为()
inta[8]={15,9,23,32,11};
a[4]=a[3]+a[2]+a[1]*a[6]-a[7];
a)55
b)32
c)63
d)64
50、若已定义:
inta[6]={1,2,3,4,5,6};
charc=’b’;
则表达式值为3的是()
a)a[3]
b)a[‘d’-‘c’]
c)a[c]
d)a[‘d’-c]
51、以下程序段执行后sum的值是()
inti,sum=0;
inta[3][5]={11,12,13,14,15,16,17,18,19,20,22,24,26,28,31};
sum+=a[i][i+2];
a)60
b)61
d)58
52、若已定义:
inta[4][3];
假设元素a[0][0]在存储空间中的位置序号为1,则元素a[2][2]的位置序号应是()
b)10
c)9
53、错误的数组定义是()
a)intarr[][3]={10,9,8,7,6,5,4,3,2,1};
b)intarr[][3]={{0},{1,{2},{3,1}};
c)intarr[4][3]={{1,2},{3},{0}};
d)intarr[4][]={0,1,2,3,4,5,6,7,8,9,10,11};
54、以下程序段执行结果是()
inta[10]={1,1,1,1,1,1,1,1,1,1,},i;
=5;
a[i-1]=a[i-1]-1;
10;
printf(“%3d”,a[i]);
a)0000011111
b)0000000000
c)1111111111
d)1111100000
55、以下程序段的运行结果是()
chars[80]={“super”};
strcat(s,”market”);
printf(“%d”,strlen(s));
c)12
d)9
56、若已定义:
inta=3,*p;
执行语句p=&
a;
后,下列()均能表示a的地址
a)p,&
b)p,a
c)*p,&
d)*p,a
57、以下程序段的运行结果是()
chara[]=”WELL”,*p;
for(p=a,p<
a+2;
p++)
printf(“%s”,p);
a)WELLWEL
b)WE
c)WELLWE
d)WELLELL
58、以下程序段的运行结果是()
chara[]=”Teacher”;
charb[]=”Driver”;
strcpy(a,b);
printf(“%s%c”,a,a[5]);
a)Teachere
b)Driverr
c)Drivere
d)Teacherr
59、以下程序段的运行结果是()
chara[5][3]={‘Y’,’o’,’u’,’’,’a’,’r’,’e’,’\0’,’w’,’e’,’l’,’c’,’o’,’m’,’e’};
printf(“%s”,&
a[0][0]);
a)Youare
b)You
c)Youarewelcome
d)Youarewel
60、以下程序段执行后,正确的是()
chara[]=”University”;
char*p;
p=a;
a)a[3]与*p表示的内容相同
b)*(p+3)与a[0]表示的内容相同
c)a与p+3表示的地址一致
d)strlen(p)与strlen(a)表示的值相等
【61-65】DCBBD【66-70】BCCCA【71-75】DABCA【76-80】DCDDD
61、以下程序段的运行结果是()
inta=5,b=2,c,*p1,*p2;
p1=7a;
p2=&
b;
if(*p1<
*p2)
c=*p1+2;
else
c=*p2+4;
printf(“%d\n”,c);
a)9
b)6
d)7
62、以下程序段的运行结果是()
intx=5;
char*s1=”music”,*s2=s1;
x=strcmp(s1,s2);
s3改成s2
printf(“%d\n”,x);
b)-1
63、若已定义:
chara[]=”Student”,*p=a;
能正确指向存放字符‘u’单元的表达式是()
a)*(a+5)
b)p+5
c)a+2
d)*(p+2)
64、以下程序段的运行结果是()
inta=2,b=5,*p;
p=&
a;
b=a;
printf(“%d,%d\n”,b,*p);
a)2,2
b)2,5
c)5,2
d)5,5
65、以下程序段的运行结果是()
inta[]={1,2,3,4,5,6,7,8,9,10},i;
int*p;
i++,i++)
printf(“%3d”,*(p+i));
a)678910
b)13579
c)246810
d)12345
66、以下程序段的运行结果是()
inta=6,b=3,m,n,*p,*q;
q=&
m=(*p)/(*q)=8;
n=(*p)+(*q)*8;
a)m=8,n=30
b)m=10,n=8
c)m=10,n=30
d)m=8,n=80
67、以下程序段的运行结果是()
inta=1,b=2,sum,*p,*q;
sum=*p+*q;
a=*q;
printf(“%d,%d\n”,a,sum);
a)1,4
b)1,3
c)2,3
d)2,4
68、以下程序段的运行结果是()
*(p=3)+=3;
printf(“%d,%d\n”,*p,*(p+3));
a)1,7
b)4,4
c)7,7
d)1,4
69、若已定义:
inta[2][3]={1,2,3,4,5,6},*p;
a[0][0];
后,*(p+4)表示的值是()
a)6
c)5
70、若已定义:
charsa[20]=”dictionary”,sb[20];
则()语句是正确的
a)sb[0]=sa[0]
b)scanf(“%s”,&
sb[]);
c)sb[]=sa[]
d)printf(“%s”,sa[]);
71、以下程序的运行结果是()
fun(intx,inty)
{return(x*y+10);
voidmain()
{inta=11,b=2,c;
c=fun(a,b);
printf(“c=%d\n”,c);
a)c=22
c)22
d)c=32
72、下列叙述错误的是()
a)预处理命令只能位于C源程序文件的首部
b)在预处理命令行#defiineWT5中,符号常量(宏名)是WT
c)#include“math.h”属于预处理命令
d)预处理命令必须以“#”开头
73、以下程序的运行结果是()
voidfun(intx,int*p)
*p=x+10;
inta,b,c;
fun(5,&
a);
fun(a,&
b);
fun(b,&
c);
printf(“a=%d,b=%d,c=%d\n”,a,b,c);
a)a=5,b=15,c=25
b)a=15,b=25,c=35
c)a=5,b=5,c=5
d)a=15,b=15,c=15
74、以下语句中fun()函数所含的实参个数有()个
fun((1,2,3),(4,5),(6,7+8));
a)8.
75、以下程序的运行结果是()
fun(intx)
staticinty=2;
y=y+x;
returny;
inti,s=0;
for(i=1;
=2;
s=s+fun
(2);
printf(“%d\n”,s);
c)10
76、下列叙述错误的是()
a)宏定义中的符号常量(宏名)可以是小写字母表示
b)编译预处理命令行都必须以“#”号开始
c)文件包含使用预处理命令“#include<
文件名>
”来实现
d)宏定义中的符号常量只能用大写字母或数字符号表示
77、以下程序的运行结果是()
voidfun(inti)
inta;
a=++i;
printf(“%d”,a);
inta=3,b=6;
fun(b);
a)33
b)77
c)73
d)37
78、c源程序中,预处理命令的位置可以在()
a)scanf()函数中
b)printf(0函数中
c)putchar()函数中
d)文件首部
79、以下程序的运行结果是()
voidf(inta[][3])
inti;
printf(“%2d”,a[i][0]);
printf(“\n”);
inta[3][3]={1,2,3,1,3,2,2,1,3};
f(a);
a)323
b)123
c)231
d)112
80、以下程序的运行结果是()
fun(intx,inty)
return(x*y+10);
inta=11,b=2,c;
c=fun(a,b);
printf(“c=%d\n”,c)
【81-85】CCAAA【86-90】DCCAC【91-93】BAB
81、一个结构变量占用的内存容量由()决定。
a)第一个成员所需内存容量
b)占内存容量最小的成员所需容量
c)各成员所需内存容量之和
d)最后一个