当前位置:文档之家› C语言试题库(带答案解析)~排版

C语言试题库(带答案解析)~排版

一、选择题1、以下不能定义为用户标识符的是( )。

(A) MAIN (B) _HJ(D) LINE1 2、以下不能定义为用户标识符的是( ) (A) If(B) H_J (D) LINE12 3、下面属于C 语言标识符的是( )。

(A) 2ab (B) @f(C) b 4、下列符号中用来表示C 语言中的回车换行的是( )。

(A) \r(C) \b (D) \t 5、在计算机系统中,可执行程序是( ) (A)源代码(B)汇编语言代码(D) ASCII 码6、在Visual C++ 环境下,C 源程序文件名的默认后缀是()。

(A) .obj (B) .txt (D) .doc7、Microsoft Visual C++ 中,C 语言可执行程序的扩展名是:( )(B) obj (C) c 或cpp (D) txt 8、C 程序由()组成。

(A)子程序 (B) 主程序和子程序 (D) 过程 9、C 程序的基本组成单位()。

(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语言中主函数的个数是( )。

(A) 2个 (C) 任意个 (D) 10个 11、一个C 程序的执行是从( ) (B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是(A)在C 语言程序中,main 函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是()。

(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格)A) 9□9□9 C) D)15、以下选项中非法的字符常量是A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表示逻辑值“假”的是A)1 B) D)17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语言变量,以下说法不正确的是() (A) 变量名由程序员定义,必须符合标识符的命名规则。

(B) 变量是程序运行过程中其值可以改变的量。

(D) 变量命名时应尽量做到见名知意。

19、关于C 语言中数的表示,以下叙述正确的是B)只要在在允许范围内整型和实型都能精确表示C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 D)只有八进制表示的数在不会有误差20、设有语句int a=3;,则执行了语句a+=a=a*a;后,变量a 的值是 。

A .3B .0C .9 21、在C 语言中,要求运算数必须是整型的运算符是 。

B ./C .<D .!22、C 语言中最简单的数据类型包括 。

A .整型、实型、逻辑型 C .整型、字符型、逻辑型D .整型、实型、逻辑型、字符型23、在C 语言中,合法的字符型常量是 。

B ."A" C .65 D .A24、若已定义x 和y 为double 型变量,则表达式x=1,y=x+3/2的值是 。

A .1 B .2 D .25、设正x 、y均为整型变量,且x=10,y=3,则以下语句的输出结果是 。

printf("%d,%d\n",x--,--y);A .10,3B .9,3C .9,2 26、若有定义int a=8,b=5,C;,执行语句C=a/b+;后,C 的值为。

A . C . D .227、以下选项中,不正确的赋值语句是 。

A .++t; B .n1=(n2=(n3=0)); C .k=i==j;28、设x 和y 均为int 型变量,则语句:x+=y,y=x-y;x-=y;的功能是 。

A .把x 和y 按从大到小的顺序排列 B .把x 和y 按从小到大的顺序排列 C .无确定结果 29、以下程序的输出结果是 。

#include <> main() {char c='z'; printf("%c",c-25); }B .ZC .z-25D .y30、已知字母A 的ASCII 码为十进制数的65,以下程序的输出结果是 。

#include <> main() {char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);B .B,CC .C,DD .不确定的值31、若k 是int 型变量,则以下程序片段的输出结果是 。

k=-3;if(k<=0) printf("####"); printf("&&&&"); B .&&&&C .####&&&&D .有语法错误,无输出结果32、关于以下程序,说法正确的是 。

#include <> main(){ int x=3,y=0,z=0;if(x=y+z) printf("* * * *"); else printf("# # # #"); }A .有语法错误不能通过编译B .输出* * * *33、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 。

A .a<>0B .!aC.a=034z 的C 语言表达式是 。

B .(x<=y)and(y<=z)C .(x<=y<=z)D .(x<=y)&(y<=z) 35、能正确表示逻辑关系a ≥10或a ≤0的C 语言表达式是 。

A .a>=10 or a<=0 C .a>=10 &&a<=036、若变量c 为char 型,能正确判断出c 为小写字母的表达式是 。

A .'a'<=c<= 'z'C .('a'<=c)and ('z'>=c) 37、语句while(E);中的条件E 等价于 。

A .E==0 B .E!=1 D .~E 38中的条件!E 等价于 。

B .E!=1C .E!=0D .~E39、以下程序片段的输出结果是。

int x=23; do {printf("%2d",x--); } while(!x); A .打印出321 C .不打印任何内容D .陷入死循环40、若i 、j 已定义为int 型变量,则以下程序片段中,内循环体的执行次数是。

for(i=5;i;i--)B .25C .24D .3041、以下程序的输出结果是 。

#include <> main() {int n=4;while(n--) printf("%d ",--n);B .3 1C .3 2 1D .2 1 042、以下定义语句中,错误的是 。

A .int a[]={1,2};B .C .char s[10]="test";43、设int 型变量占用4个字节,如有定义int x[10]={0,2,4};,则数组x 在内存中所占的字节数是 。

A .3B .12C .2044、以下语句的输出结果是 。

B .1445、以下程序片段的输出结果是 。

char str[]="ab\n\012\\\""; printf(%d",strlen(str)); A .3 B .4D .1246、以下数组定义中,不正确的是 。

A .int a[2][3];B .int b[][3]={0,1,2,3}; 47、以下程序的输出结果是 。

#include <> main() {int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); B .1470 C .5430D .不确定的值48、以下程序的输出结果是 。

#include <> main() {int aa[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.13D .2049、以下对C 语言字符数组的描术中,错误的是 。

A .字符数组可以存放字符串D .不可以用关系运算符对字符数组中的字符串进行比较 50、定义如下变量和数组:int i;int 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 9B .1 4 7 D .3 6 951、不能将字符串:Hello!赋给数组b 的语句是 。

C .char b[10];strcpy(b,"Hello!");D .char b[10]="Hello!";52、以下数组定义中,合法的是 。

A .int a[]="string";C .string s="string"; 53、若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 。

A .*p+6B .*(p+6) D .p+554、若有以下定义语句:int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w;则数值为4的表达式是 。

A .*w[1]+1B .p++,*(p+1)C .w[2][2]55、若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a 数组元素的表达式是 。

相关主题