1、C 世界 http:/ C 世界 http:/ 说明:1、原先的少部分题目有错,请用红色的部分替换掉;2、如果红色部分有文字“删除该行” ,就直接删除该行;第一章 C 语言的基础知识第一节 对 C 语言的初步认识习题1. 下列叙述中错误的是 BA)任 何 一 个 C 程 序 都 必 须 有 且 仅 有 一 个 main 函 数 , C 语 言 总 是 从 main 函 数 开 始 执 行 。B)C 语言中的变量,可以先使用后定义。C)所有的 C 语言语句最后都必须有一个分号D)C 程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。第二节 熟悉 Visual C+习题1. C 语
2、言源程序名的后缀是 BA).exe B).c C).obj D).cp2. 下列叙述中错误的是 DA)计算机不能直接执行用 C 语言编写的源程序B)C 程序经 C 编译后,生成后缀为.obj 的文件是一个二进制文件C)后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件D)后缀为.obj 和.exe 的二进制文件都可以直接运行3. 用 C 语言编写的代码程序 BA)可立即执行 B)是一个源程序C)经过编译即可执行 D)经过编译解释才能执行C 世界 http:/ 第三节 标识符习题1. 按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是 BA)大写字母 B)连
3、接符 C)数字字符 D)下划线2. 以下选项中不合法的标识符是 CA)print B)FOR C) B)double int_; C)long For; D)float US$;第六节 算术表达式与赋值表达式习题1表达式 3.65/2+1.2+5%2 的值是 DA)4.3 B)4.8 C)3.3 D)3.82设有定义:float x=123.4567;,则执行以下语句后输出的结果是 _。123.46printf(“%fn“,(int)(x*100+0.5)/100.0);3设有定义:float a=2,b=4,h=3;,以下 C 语言表达式与代数式 h 计算结果不相符的是 BA)(a+b)*h
4、/2 B)(1/2)*(a+b)*hC)(a+b)*h*1/2 D)h/2*(a+b)第七节 自加自减运算符、逗号表达式习题1设变量已正确定义为整型,则表达式 n=i=2,+i,i+的值为_。32设有定义:int k=0;, 以下选项的 4 个表达式中与其他 3 个表达式的值不相同的是 AA)k+ B)k+=1 C)+k D)k+13有以下程序 Bmain() char a1=M, a2=m; printf(“%cn“, (a1, a2) ); 以下叙述中正确的是A)程序输出大写字母 M B)程序输出小写字母 mC)格式说明符不足,编译出错 D)程序运行时产生出错信息4有以下程序:Bmain(
5、 ) int a=0,b=0;a =10; /*给 a 赋值b=20; 给 b 赋值 */printf(“a+b=%dn“,a+b); /*输出计算结果*/程序运行后的结果是A)a+b=30 B)a+b=10 C)30 D)程序出错第八节 字 符习题1以下选项中不属于字符常量的是( ) 。BA)C B)“C“ C)0 D)0722已知字母 A 的 ASC代码值为 65,若变量 kk 为 char 型,以下不能正确判断出 kk 中的值为大写字母的表达式是( ) 。BA)kk=Ax=(ab) printf(“%dn“,x);程序的运行结果是 DA)0 B)1 C)2 D)33有以下程序main()
6、unsigned char a=2,b=4,c=5,d;d=a|b; d printf(“%dn“,d); 程序运行后的输出结果是 BA)3 B)4 C)5 D)64若变量已正确定义,则以下语句的输出结果是( ) 。 Bs=32; s=32; printf(“%d“,s);A)1 B)0 C)1 D)325设有以下语句 int a=1,b=2,c; c=a(bb) a=b; c=a; if(c!=a) c=b; printf(“%d,%d,%dn“,a,b,c); 其输出结果是 BA)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,73有以下程序,其中%u 表示按无符号整数输出ma
7、in()unsigned short x=0xFFFF;/* x 的初值为十六进制数 */printf(“%un“,x);程序运行后的输出结果是 BA)-1 B)65535 C)32767 D)0XFFFF4以下叙述中不正确的是 AA)调用 printf 函数时,必须要有输出项B)使用 putchar 函数时,必须在之前包含头文件 stdio.hC)在 C 语言中,整数可以以十进制、八进制或十六进制的形式输出D)使用 putchar 函数可以不要输出项5设有以下程序main()int c=35; printf(“%d“, c程序运行后的输出结果是 CC 世界 http:/ C 世界 http:
8、/ A)0 B)70 C)35 D)536以下程序运行后的输出结果是_。88main() int x=0210; printf(“%Xn“,x);第三节 数据输入习题1以下程序运行时若从键盘输入:10 20 30。输出结果是_。A#include main() int i=0,j=0,k=0;scanf(“%d%*d%d“,printf(“%d,%d,%d“,i,j,k);A)10,30,0 B)10,20,30 C)0,0,0 D)程序出错2已知字符 A 的 ASCII 代码值为 65,以下程序运行时若从键盘输入:B33。输出结果是 A#include “stdio.h“main()char
9、 a,b;a=getchar(); scanf(“%d“,a=a-A+0;b=b*2;printf(“%c %c“,a,b);A)程序段有语法错 B)1 B C)1 65 D)1 b3有以下程序 main() int m=0256,n=256; printf(“%o %on“,m,n); 程序运行后的输出结果是( ) 。A)0256 0400 B)0256 256 C)256 400 D)400 400 4有以下程序 main()int a=666, b=888;printf(“%dn“,a,b);程序运行后的输出结果是( ) 。BC 世界 http:/ C 世界 http:/ A)错误信息
10、B)666 C)888 D)666,888 5设有以下程序main( ) int x=102,y=012; printf(“%2d,%dn“,x,y); 执行后输出结果是 CA)10,01 B)02,12 C)102,10 D)02,106执行以下程序时输入 1234567,则输出结果是_。#include main() int a=1,b;scanf(“%2d%2d“,printf(“%d %dn“,a,b);第三章 选择结构第一节 关系运算与逻辑运算习题1已知字母 A 的 ASC代码值为 65,若变量 kk 为 char 型,以下不能正确判断出 kk 中的值为大写字母的表达式是 BA) k
11、k=A,则以下选项中值为 0 的表达式是 AA)(!a=1) if(ab) a=b; c=a; C 世界 http:/ C 世界 http:/ if(c!=a) c=b; printf(“%d,%d,%dn“,a,b,c); 其输出结果是 BA)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,72当把以下 4 个表达式用作 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是 DA)k%2 B)k%2=1 C)(k%2)!=0 D)!k%2=13下列条件语句中,功能与其他语句不同的是 DA) if(a) printf(“%dn“,x); else printf
12、(“%dn“,y); B) if(a=0) printf(“%dn“,y); else printf(“%dn“,x);C) if (a!=0) printf(“%dn“,x); else printf(“%dn“,y);D) if(a=0) printf(“%dn“,x); else printf(“%dn“,y); 4设变量 x 和 y 均已正确定义并赋值,以下 if 语句中,在编译时将产生错误信息的是 CA)if(x+) ; B)if(xy C)if(xy)x- - D)if(ybc)printf(“%dn“,d);else if(c-1=d)=1)printf(“%dn“,d+1);e
13、lseprintf(“%dn“,d+2)执行后输出结果是 DA)2 B)3 C)4 D)编译时有错,无结果3以下程序的输出结果是 Cmain( ) int a=5,b=4,c=6,d;printf(“%dn“,d=ab?(ac?a:c):(b);A)5 B) 4 C) 6 D) 不确定第四节 条件表达式、switch 语句、goto 语句习题C 世界 http:/ C 世界 http:/ 1以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是 AA)if(ab) B)if(ab) |(bc) ) k=1;else k=0; else k=0;C)if(ab) k=1;else if
14、(bc) k=1;else k=0;2下列叙述中正确的是 DA)beak 语句只能用于 switchB)在 switch 语句中必须使用 defaultC)break 语句必须与 switch 语句中的 case 配对使用D)在 switch 语句中,不一定使用 break 语句3有以下程序段 Bint k=0,a=1,b=2,c=3;k=ac?c:k;执行该程序段后,k 的值是A)3 B)2 C)1 D)04有以下程序 D#include main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; ca
15、se 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn“,a,b); 程序的运行结果是 A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=15以下叙述中正确的是 CA)break 语句只能用于 switch 语句题中B)continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C)break 语句只能用在循环体内和 switch 语句体内D)在循环体内使用 break 语句和 continue 语句的作用相同6有以下程序main()C 世界 http:/ C 世界
16、http:/ int k=5,n=0;doswitch(k)case 1: case 3:n+=1; break;default :n=0;k-;case 2: case 4:n+=2;k-;break;printf(“%d”,n);while(k0程序运行后的输出结果是 A)235 B)0235 C)02356 D)2345第四章 循环结构第一节 while 语句习题1有以下程序main() int y=10;while(y-); printf(“y=%dn“,y);程序执行后的输出结果是 BA) y=0 B)y=-1 C)y=1 D)while 构成无限循环2有以下程序main() int k=5;while(-k) printf(“%d“,k-=3);printf(“n“);执行后的输出结果是 AA)1 B)2 C)4 D)死循环第二节 do-while 语句习题1若变量已正确定义,有以下程序段i=0;do printf(“%d,“,i);while(i+);printf(“%dn“,i)