1.给出以下定义:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的叙述为
A) 数组x和数组y等价B) 数组x和数组y的长度相同
C) 数组x的长度大于数组y的长度D) 数组x的长度小于数组y的长度
2. 以下程序的输出结果是( )
main( )
{
int k=17;
printf("%d,%o,%x \n",k,k,k);
}
(A)17,021,0x11(B)17,17,17
(C)17,0x11,021(D)17,21,11
3. 执行语句:for(i=1;i++<4;);后变量i的值是( )
(A) 3(B) 4(C) 5(D) 不定
4. 在执行以下程序时,如果从键盘上输入:ABCdef,则输出为( )
#include
main( )
{ char ch;
while((ch=getchar( ))!=’\n’)
{ if(ch>=’A’&&ch<=’Z’) ch=ch+32;
else if(ch>=’a’&&ch
printf(“%c”,ch);}
printf(“\n”);}
(A)ABCdef (B)abcDEF (C)abC (D)DEF
5. 以下程序的输出结果是()
main( )
{
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d,",x[i][2-i]);
}
(A)1,5,9, (B)1,4,7,公53F8
(C)3,5,7, (D)3,6,9,
6. 有以下程序,执行后输出结果是()。
main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3;
printf("%d\n",s[2]);
}
(A)随机值(B)0 (C)5(D)6
7. 以下叙述正确的是( )
(A)do-while语句构成的循环不能用其它语句构成的循环来代替。
(B) do一while语句构成的循环只能用break语句退出。
(C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
(D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
8. 有以下程序,执行后输出的结果是( )
main()
{ int i=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s+=i;
}while(i<7);
printf("%d\n",s);}
(A) 16 (B) 12 (C) 28 (D) 21
9. 有以下程序
main()
{ union { unsigned int n;
unsigned char c;
}ul;
ul.c='A';
printf("%c\n",ul.n);
}
执行后输出结果是( )。
(A) 产生语法错(B) 随机值
(C)A (D) 65
10. 在C程序中,可把整型数以二进制形式存放到文件中的函数是( )。
(A)fprintf函数 (B)fread函数(C)fwrite函数 (D)fputc函数
11.下列叙述中正确的是:
A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种
C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数
12. t为int类型,进入下面的循环之前,t的值为0
while(t=l)
{……}
则以下叙述中正确的是( )
(A) 循环控制表达式的值为0(B) 循环控制表达式的值为1
(C) 循环控制表达式不合法(D) 以上说法都不对
13. 以下程序运行后,输出结果是()。
main()
{ char *s=“abcde”;
s+=2;
printf("%ld\n",s);
}
(A)cde (B)字符c的ASCII码值(C)字符c的地址(D)出错
14. 有以下程序,执行后输出的结果是( )
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>c) printf("%d\n",d);
else if((c-1>=d)==1) printf("%d\n",d+1);
else printf("%d\n",d+2);}
(A) 2 (B) 3(C) 4 (D) 编译时有错,无结果
15. 下列数组定义中错误的是( )。
(A)int x[ ][3]={0};(B