特意为大家整理的09年4月全国计算机等级二级C语言考前练习,希望对大家的备考有好的帮助!
1.若变量c为char类型,能正确判断出c为小写字母的表达式是()
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′=C)
D)(c>=′a′)&&(c<=′z′)
2.下面程序的输出结果是()
main()
{ int x=2,y=0,z;
x+=3+2;printf("%d",x);
x*=y=z=4;printf("%d",x);
}
A)728
B)无法计算
C)7,4
D)8,4
3.有如下程序
main()
{int x=1,a=0,b=0;
switch(x){
case 0∶b++;
case 1∶a++;
case 2∶a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序运行后的输出结果是()
A)a=2,b=1
B)a=1,b=1
C)a=1,b=0
D)a=2,b=2
4.以下选项中,正确的if-else语句是()
A)if(x!=0)
printf("%d",x)
else
printf("%d",-x);
B)if(x!=0)
{x=x+y;printf("%d",x); }
else
printf("%d",-x);
C)if(x!=0)
x=x+y;printf("%d",x);
else
printf("%d",-x);
D)if(x!=0)
{x=x+y;printf("%d",x)};
else
printf("%d",-x);
5.有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;}while(p!=12345 &&n<3);
此处do-while循环的结束条件是()
A)p的值不等于12345并且n的值小于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或者n的值大于等于3
6.若有如下程序段:
main()
{ int n=0;
while(printf("*"))
{ n++;
if(n<3)break; }}
则下列描述正确的是()
A)其中循环控制表达式与0等价
B)其中循环控制表达式与’0’等价
C)其中循环控制表达式是不合法的
D)以上说法都不对
7.C语言中main函数参数的非法表示形式是()
A)main(char *argv[],int argc)
B)main(int a,char**b)
C)main(int y,char *x[])
D)main(int argv,char *argc[])
8.设有如下枚举类型定义:
enum language {Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚举类型Fortran的值为()
A)4
B)7
C)102
D)103
9.阅读下述程序段:
y=-1;
if (x!=0)
if (x>0)
y=1;
else
y=0;
该程序段所描述的数学关系是()
A)y=-1(x<0)
0(x=0)
1(x>0)
B)y=1(x<0)
0(x=0)
-1(x>0)
C)y=0(x<0)
-1(x=0)
1(x>0)
D)y=-1(x<0)
1(x=0)
0(x>0)
10.设有数组定义:char array[]="China";蚴閍rray所占的空间为()
A)4个字节
B)5个字节
C)6个字节
D)7个字节
答案:1.D 2.A 3.A 4.B 5.D 6.B 7.A 8.C 9.C 10.C
11.有以下程序:
main()
{intx=0xFFFF;printf("%d\n",x--);}
执行后的输出结果是()
A)32767
B)FFFE
C)-1
D)-32768
12.以下程序的输出结果是()
#include
#include
main()
{ char str[12]={′s′,′t′,′r′,′i′,′n′,′g′};
printf("%d\n",strlen(str));
}
A)6
B)7
C)11
D)12
13.若有以下定义:
char s[20]="programming",*ps=s;
则不能代表字符o的表达式是()
A)ps+2
B)s[2]
C)ps[2]
D)ps+=2,*ps
14.关于语句“for(表达式1;表达式2;表达式3)”,下面说法中错误的是()
A)for语句中的三个表达式可以同时省略
B)for语句可以用于循环次数不确定的情况
C)for语句中表达式2只能是关系表达式或逻辑表达式
D)for语句中表达式1和表达式3可以是逗号表达式
15.执行下面程序片段的结果是()
int x=23;
do
{ printf("-",x--);}
while(!x);
A)打印出321
B)打印出23
C)不打印任何内容
D)陷入死循环
16.与y=(x>0?1∶x<0?-1∶0);的功能相同的if语句是()
A)if(x>0)y=1;
else if(x<0)y=-1;
else y=0;
B)if(x)
if(x>0) y=1;
else if(x<0) y=-1;
else y=0;
C)y=-1;
if(x)
if(x>0)y=1;
else if(x==0) y=0;
else y=-1;
D)y=0;
if(x>=0)
if(x>0) y=1;
else y=-1;
17.标准库函数fgets(s,n,f)的功能是()
A)从文件f中读取长度为n的字符串存入指针s所指的内存
B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C)从文件f中读取n个字符串存入指针s所指的内存
D)从文件f中读取长度为n-1的字符串存入指针s所指的内存
18.若有如下函数调用语句:
sub(a,1,fun(b,c),d+c,(a+d,c*f));
则在该函数调用语句中含有实参的个数是()
A)5
B)7
C)10
D)6
19.若要定义a为3×4的二维数组,正确的定义语句是()
A)float a(3,4);
B)float a[3][4];
C)float a(3)(4);
D)float a[3,4];
20.有以下程序
main()
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0;
for (i=0;i<4;i++)s+=aa[i][1];
printf("%d\n",s);
}
程序运行后的输出结果是()
A)11
B)19
C)13
D)20
答案:1.C 2.A 3.A 4.C 5.B 6.A 7.B 8.A 9.B 10.B
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/