*1、A
一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 &&H&& A B C D
&&D&& A
*2、C
以下叙述正确的是:
A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 &&H&& A B C D
&&D&& C
*3、A
以下关于计算机程序叙述正确的是:
A)程序就是计算机能够识别和执行的一组指令 B)程序的执行必须需要人为干预 C)一个程序可以具有多种功能 D)一台计算机中只有一个程序 &&H&& A B C D
&&D&& A
*4、B
从计算机语言的发展上来讲,不包括:
A)机器语言 B)面向对象语言 C)高级语言 D)汇编语言 &&H&& A B C D
&&D&& B
*5、B
一个C语言程序从编写到得到正确的执行结果,一般需要建立或生成几个程序文件,其中不包括: A)源程序 B)语言程序 C)可执行程序 D)目标程序 &&H&& A B C D
&&D&& B
*6、A
一个C语言程序从编写到得到正确的执行结果,一般需要经过四个阶段,正确的是: A)程序编辑、程序编译、程序链接、程序执行 B)程序编译、程序编辑、程序链接、程序执行 C)程序执行、程序编译、程序链接、程序编辑 D)程序编辑、程序链接、程序编译、程序执行 &&H&& A B C D
&&D&& A
*7、C
以下关于程序模块和程序文件叙述不正确的是: A)一个程序可以由若干个程序模块构成
B)一个程序可以由若干个程序文件构成 C)程序模块就是程序文件
D)一个程序模块可以包括多个程序文件,一个程序文件也可以包括多个程序模块 &&H&& A B C D
&&D&& C
*8、B
以下关于C语言函数叙述不正确的是: A)一个程序可以包含多个函数 B)一个程序可以包含多个主函数
C)函数是组成C语言程序的基本模块
D)一个函数既可以做主调函数,又可以做被调函数 &&H&& A B C D
&&D&& B
*9、C
以下关于程序调试和程序测试叙述不正确的是: A)程序调试就是找出并改正程序的错误
B)程序测试就是以不同的输入条件测试程序的完整性和健壮性 C)编写程序可以只调试不测试
D)编写程序既需要调试,还需要测试 &&H&& A B C D
&&D&& C
*10、D
以下关于C语言程序叙述不正确的是: A)一个程序编译没有错误就表示程序正确 B)程序得出运行结果就可以表示程序正确
C)程序经过运行,并且得出正确结果,就可以表示程序正确
D)通过各种情况测试正确后,就可以表示程序正确 &&H&& A B C D
&&D&& D
*1、B
在C语言中,要求运算量必须是整型或字符型的运算符是: A) && B) % C) ! D) + &&H&& A B C D
&&D&& B
*2、D
设有如下定义: int x=10,y=3,z; 则语句 printf(\的输出结果是 A) 1 B) 0 C) 4 D) 3 &&H&& A B C D
&&D&& D
*3、D
若d为double型变量,则表达式d=1,d+5,d++的值是: A) 1 B) 6.0 C) 2.0 D) 1.0 &&H&&
A B C D
&&D&& D
*4、A
a,b均为整数,且b!=0,则表达式a/b*b+a%b的值是: A) a B) b
C) a被b除的整数部分 D) a被b除的商的整数部分 &&H&& A B C D
&&D&& A
*5、A
设有以下语句:int x=10;x+=3+x%(-3),则x的值是: A) 14 B) 15 C) 11 D) 12 &&H&& A B C D
&&D&& A
*6、B
以下符合C语言语法的表达式: A) d=9+e+f=d+9 B) d=9+e,f=d+9 C) d=9+e=e++,d+9 D) d=9+e++=d+7 &&H&& A B
C D
&&D&& B
*7、D
若有定义:int y=7,x=12,则能使值为3的表达式是; A) x%=(y%=5) B) x%=(y-y%5) C) x%=y-y%5 D) (x%=y)-(y%=5) &&H&& A B C D
&&D&& D
*8、A
在C语言中(以16位PC机为例),五种基本数据类型存储空间长度的排列顺序是: A) char &&D&& A *9、D 在C语言的变量类型说明中,int,char,float等类型的长度是: A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关的 &&H&& A B C D &&D&& D *10、C 下列四组常数中,均是正确的八进制数或十六进制数的一组是: A) 016 B) 0abc 017 0xa C) 010 0x11 0x16 D) 0A12 7FF -123 &&H&& A B C D &&D&& C *11、A 下列四组常数中,均是合法整型常量的一组是: A) 160 0xffff 011 B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 0x &&H&& A B C D &&D&& A *12、A 下列四组转义符中,均合法的一组是: A) '\\t' '\\\\' '\\n' B) '\\' '\\017' '\\x' C) '\\018' '\\f' '\\xab' D) '\\\\0' '\\101' '\\xif' &&H&& A B C D &&D&& A *13、D 设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是: A) float B) char C) int D) double &&H&& A B C D &&D&& D *14、D 以下能正确定义变量a、b和c并为其赋值的语句是: A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5, b=5, c=5; D) int a=5, b=5, c=5; &&H&& A B C D &&D&& D *15、A 已知字母\的ASCII码为十进制的65,下面程序输出正确的是: main() { char ch1, ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf(\ A) 67, D B) B, C C) 不确定的值 D) C, D &&H&& A B C D &&D&& A *16、C 下面程序的输出是: main() { unsigned int a=32768; printf(\ A) a=32768 B) a=32767 C) a=-32768 D) a=-1 &&H&& A B C D &&D&& C *17、A 在C语言中,下面合法的长整型数是: A) 0L B) 4967 C) 0.054838743 D) 21.869e10 &&H&& A B C D &&D&& A *18、C 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是: A) int型 B)float型 C) double型 D)不确定 &&H&& A B C D &&D&& C *19、C C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符: A) 必须为字母 B) 必须为下划线 C) 必须为字母或下划线 D) 可以是字母,数字或下划线中的任意一种 &&H&& A B C D &&D&& C *20、D 执行printf(\后输出结果是: A) -1, -1, -1 B) ffff, -01, -1 C) ffff, 32767, -1 D) ffff, 177777, -1 &&H&& A B C D &&D&& D *21、B 下面四个选项中,均是合法浮点数的选项是: A) 1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5 C) 123e 1.2e-.4 e-4 D) -e3 e-4 5.e-0 &&H&& A B C D &&D&& B *22、A 在C语言中,以下叙述不正确的是: A) 在C程序中,无论是整数还是实数,都能被准确无误的表示 B) 在C程序中,变量名代表存储器中的一个位置 C) 静态变量的生存期与整个程序的生存期相同 D) C语言中变量必须先说明后引用 &&H&& A B C D &&D&& A *23、D 若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式: (x+y)%2+(int)a/(int)b的值是: A) 0 B) 2 C) 1.5 D) 1 &&H&& A B C D &&D&& D *24、B 阅读下面的程序 main() { int i,j; float x,y; scanf(\ scanf(\ printf(\ printf(\ } 如果从键盘上输入 32,18<回车> 12.5,-4.3<回车> 则程序的运行结果是: A) i=32,j=18 B) i=0,j=0 x=12.500000,y=-4.300000 x=12.500000,y=-4.300000 C) i=32,j=18 D) i=0,j=0 x=12.5,y=-4.3 x=12.5,y=-4.3 &&H&& A B C D &&D&& B *25、D 阅读下面的程序 #include { char c1,c2; c1=getchar(); c2=c1+3; printf(\ 已知'A'的ASCII的值为65,如果从键盘上输入 D<回车> 则程序的运行结果是: A) D,68 B) 'G',68 C) D,71 D) G,71 &&H&& A B C D &&D&& D *26、A 若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf(\上面程序片段的输出结果是 A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值 &&H&& A B C D &&D&& A *27、B C语言中最简单的数据类型包括 A) 整型,实型,逻辑型 B) 整型,实型,字符型 C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 &&H&& A B C D &&D&& B *28、A 执行语句printf(\的输出结果是: A) 32768 B) 0 C) -1 D) 不定值 &&H&& A B C D &&D&& A *29、B 设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为: A) 10 B) 20 C) 40 D) 30 &&H&& A B C D &&D&& B *30、A 设有如下变量定义: int i=8,k,a,b; unsigned long w=5;double x=1.42, y=5.2; 则以下符合C语言语法的表达式是: A) a+=a-=(b=4)*(a=3) B) x%(-3) C) a=a*3=2 D) y=float(i) &&H&& A B C D &&D&& A *31、D 以下程序的输出结果是: main() { int a=12, b=12; printf(\ A) 10,10 B) 12,12 C) 11,10 D) 11,13 &&H&& A B C D &&D&& D *32、C 若有代数式(3ae)/(bc),则下面不正确的C语言表达式是: A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 &&H&& A B C D &&D&& C *33、B 若有以下定义和语句: int a=010, b=0x10, c=10; printf(\则输出结果是: A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10 &&H&& A B C D &&D&& B *34、B 执行下列语句后,输出结果是: int a; long int b=65536; a=b; printf(\ A) 65536 B) 0 C) -1 D) 1 &&H&& A B C D &&D&& B *35、A 若有定义int a=12,则表达式a+=a-=a*=a的值是: A) 0 B) -264 C) -144 D) 132 &&H&& A B C D &&D&& A *36、B 执行以下程序,输出结果是: main() { int a=353; char b; b=a; printf(\ A) b B) a C) 65 D) 错误信息 &&H&& A B C D &&D&& B *37、A 下面程序的输出结果是: main() { int a=5,b=3; float x=3.14, y=6.5; printf(\ A) 1,0 B) 0,1 C) 1,1 D) 0,0 &&H&& A B C D &&D&& A *38、B 下面程序的输出结果是: main() { int a=-1, b=4, k; k=(a++<=0)&&(!(b--<=0)); printf(\ A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,3 &&H&& A B C D &&D&& B *39、A 下面程序的输出结果是: main() { int a,b,c; long int d; b=(a=32767, a++); c=d=0xffff; printf(\ A) 8000,32767,-1,-1 B) -1,-1,32767,8000 C) -1,-1,-1,-1 D) 32767,-1,-1,-1 &&H&& A B C D &&D&& A *40、D 阅读下面的程序 main() { int i,j; scanf(\ 如果从键盘上输入1234567<回车>,则程序的运行结果是: A) i=123,j=4567 B) i=1234,j=567 C) i=1,j=2 D) i=123,j=45 &&H&& A B C D &&D&& D *41、A 已知a=12,则表达式a+=a-=a*=a的结果是: A) 0 B) 144 C) 12 D) -264 &&H&& A B C D &&D&& A *42、B 已知x=2.5,a=7,y=4.7,则表达式 x+a%3*(int)(x+y)%2/4 的结果是: A) 2.4 B) 2.5 C) 2.75 D) 0 &&H&& A B C D &&D&& B *43、C 阅读下面的程序 main() { int i,j,m,n; i=8;j=10; m=++i; n=j++; printf(\ 程序的运行结果是: A) 8,10,8,10 B) 9,11,8,10 C) 9,11,9,10 D) 9,10,9,11 &&H&& A B C D &&D&& C *44、D 阅读下面的程序 main() { int i,j; i=010; j=9; printf(\则程序的运行结果是: A) 1,19 B) -1,19 C) 1,17 D) -1,17 &&H&& A B C D &&D&& D *45、C 阅读下面的程序 main() { printf(\则程序的运行结果是: A) 0.3333333% B) 0.33% C) 0.333333% D) 0.333333%% &&H&& A B C D &&D&& C *46、A 阅读下面的程序 main() { char ch; scanf(\ 如果从键盘上输入 abc<回车> 则程序的运行结果是: A) a B) b C) c D) 程序语法出错 &&H&& A B C D &&D&& A *47、A 阅读下面的程序 main() { int i,j; scanf(\ 如果从键盘上输入 12 345 67<回车> 则程序的运行结果是: A) 12 67 B) 12 345 C) 12345 D) 程序语法出错 &&H&& A B C D &&D&& A *48、C 请读程序: #include { int a; float b,c; scanf(\ 若运行时从键盘上输入9876543210 C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.0 &&H&& A B C D &&D&& C *49、D 以下程序的输出结果是 main() { int x=10,y=10; printf(\ A) 10 10 B) 9 9 C) 9 10 D) 10 9 &&H&& A B C D &&D&& D *50、D 以下程序的输出结果是 main() {int a=-1,b=4,k; k=(++a<0) && !(b--<=0); printf(\ A) 1 0 4 B) 1 0 3 C) 0 0 3 D) 0 0 4 &&H&& A B C D &&D&& D *1、D 若k是int型变量,且有下面的程序片段: k=8; if (k<=0) if (k==0) printf(\ 上面程序片段的输出结果是 A) #### B) &&&& C) **** D) 有语法错误,无输出结果 &&H&& A B C D &&D&& D *2、B 下列程序段执行后的输出结果是( )。 int n='c'; switch(n++) { default: printf(\ case 'a': case 'A': case 'b': case 'B': printf(\ case 'c': case 'C': printf(\ case 'd': case 'D': printf(\ A) good B) passwarn C) pass D) goodpass &&H&& A B C D &&D&& B *3、A 选择出合法的if语句(设int x,y;): A) if (x!=y) if(x>y) printf(\ B) if (x!=y) if (x>y) printf(\ else printf(\ else printf(\ C) if (x!=y) if(x>y) printf(\ D) if (x!=y) if(x>y) printf(\ else printf(\&&H&& A B C D &&D&& A *4、D 假定等级和分数有以下对应关系: 等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是( )。 A) switch (grade) { case 'A':printf(\以下\\n\等级错误!\\n\ B) switch (grade) { case 'A':printf(\case 'B':printf(\case 'C':printf(\以下\\n\等级错误!\\n\ C) switch (grade) { case 'A':printf(\case 'B':printf(\case 'C':printf(\以下\\n\等级错误!\\n\ D) switch (grade) { case 'A':printf(\case 'B':printf(\case 'C':printf(\以下 \\n\等级错误!\\n\&&H&& A B C D &&D&& D *5、B 若执行下面的程序从键盘上输入5,则输出结果是 main( ) {int x; scanf(\ A) 7 B) 6 C) 5 D) 4 &&H&& A B C D &&D&& B *6、D 以下程序输出结果是 main( ) { int m=4; if (++m>5) printf(\,m--); else printf(\,--m); } A) 7 B) 6 C) 5 D) 4 &&H&& A B C D &&D&& D *7、B 若执行下面的程序从键盘上输入9,则输出结果是 main( ) {int n; scanf(\ A) 11 B) 10 C) 9 D) 8 &&H&& A B C D &&D&& B *8、B 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为 if (a &&D&& B *9、C 下面程序的输出是 main( ) {int a=-1,b=4,k; k=(a++<=0) && (!(b--<=0)); printf(\ A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2 &&H&& A B C D &&D&& C *10、B 执行下面的程序后,a的值为 main( ) { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } } A) 7 B) 8 C) 9 D) 10 &&H&& A B C D &&D&& B *11、C 请读程序: #include { float x,y; scanf(\ if (x<0.0) y=0.0; else if ((x<5.0) && (x!=2.0)) y=1.0/(x+2.0); else if (x<10.0) y=1.0/x; else y=10.0; printf(\ 若运行时从键盘上输入2.0 &&D&& C *12、A 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 main( ) { int x; scanf(\ A) 7和5 B) 6和3 C) 7和4 D) 6和4 &&H&& A B C D &&D&& A *13、D 以下程序的输出结果是 main( ) {int a=-1,b=4,k; k=(++a<0) && !(b--<=0); printf(\ A) 1,0,4 B) 1,0,3 C) 0,0,3 D) 0,0,4 &&H&& A B C D &&D&& D *14、D 下面的程序 main( ) { int x=3,y=0,z=0; if (x=y+z) printf(\A) 有语法错误不能通过编译。 B) 输出* * * *。 C) 可以通过编译,但是不能通过连接,因而不能运行。 D) 输出# # # #。 &&H&& A B C D &&D&& D *15、A 下面的程序,当j的取值分别为3,2,1时的输出结果分别是( )。 main( ) { int j,p=10; scanf(\\ A) 9 10 10 B) 9 8 7 C) 10 10 9 D) 9 9 9 &&H&& A B C D &&D&& A *16、D 以下程序的输出结果是 main( ) { int a=100; if (a>100) printf(\ A) a<=100 B) 100 C) 0 D) 1 &&H&& A B C D &&D&& D *17、B 假定所有变量均已正确说明,下列程序段运行后x的值是 a=b=c=0;x=35; if (!a) x--; else if (b); if (c) x=3; else x=4; A) 34 B) 4 C) 35 D) 3 &&H&& A B C D &&D&& B *18、C 若已定义 int a=25,b=14,c=19;以下三目运算符(? :)所构成的语句的执行结果是 a++<=25 && b--<=2 && c-- ? printf(\: printf(\ A) ***a=26,b=13,c=19 B) ***a=25,b=13,c=18 C) ###a=26,b=13,c=19 D) ###a=25,b=13,c=18 &&H&& A B C D &&D&& C *19、C 下面程序的输出结果是( )。 main( ) { int a=-1,b=1,k; if ((++a<0) && (b--<=0)) printf(\%d\\n\printf(\ A) -1 1 B) 0 1 C) 1 0 D) 0 0 &&H&& A B C D &&D&& C *20、A 与 y=(x>0?1:x<0?-1:0); 的功能相同的if语句是 A) if (x>0) y=1; B) if(x) else if (x<0) y=-1; if (x>0) y=1; else y=0; else if (x<0) y=-1; else y=0; C) y=-1; D) y=0; if(x) if (x>=0) if (x>0) y=1; if (x>0) y=1; else if (x==0) y=0; else y=-1; else y=-1; &&H&& A else B C D &&D&& A *21、A 有如下程序 main( ) { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; printf(\ 该程序的输出结果是 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 &&H&& A B C D &&D&& A *22、C 有如下程序 main( ) { float x=5.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf(\ 该程序的输出结果是 A) 0.000000 B) 0.50000 C) 0.200000 D) 1.000000 &&H&& A B C D &&D&& C *23、C 有如下程序 main( ) { int a=2,b=-1,c=2; if (a } A) 0 B) 1 C) 2 D) 3 &&H&& A B C D &&D&& C *24、D 假定w、x、y、z、m均为int型变量,有如下程序段: