C语言全部章节习题集及答案.pdf
《C语言全部章节习题集及答案.pdf》由会员分享,可在线阅读,更多相关《C语言全部章节习题集及答案.pdf(32页珍藏版)》请在三一文库上搜索。
1、C语言程序设计 1 语言概述 一、单项选择题 第一章 C 语言概述 一、选择题: 1、一个 C程序的执行是从( A ) 。 A本程序的main 函数开始,到main 函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main 函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main 函数结束 2、 在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main 函数的位置( C ) 。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任
2、意 D. 必须在最后 4、一个 C 语言程序是由( B ) 。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有32个关键字和9种控制语句。
3、 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 * 符号作为开始标记, 以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数scanf完成的,输出操作是由库函 数printf完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c,经过编译后生成的目标文件的扩展名 是 .obj,经过连接后生成的可执行文件的扩展名是.exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的 C 语言浮点型常量是( C
4、) 。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中, ( D )是不正确的 C 语言字符型常量。 A. a B. x41 C. 101 D. “a“ 3、 在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若 x、 i 、j 和 k 都是 int型变量,则计算下面表达式后,x 的值是( C ) 。 x=(i=4 ,j=16 ,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。 A. 算术运算
5、、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、若有代数式,则不正确的C语言表达式是( 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 7、表达式 !x|a=b 等效于 ( D )。 A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b) 8、设整型变量 m,n,a,b,c,d 均为 1,执行 (m=ab)后,变量 a 的值是 ( B )。 A. 3 B. 0 C. 9 D. -12 10、在以下一
6、组运算符中,优先级最低的运算符是( D )。 A. * B. != C. + D. = 11、设整型变量 i 值为 2,表达式 (+i)+(+i)+(+i)的结果是 ( B )。 A. 6 B. 12 C. 15 D. 表达式出错 12、若已定义 x 和 y 为 double 类型,则表达式 x=1 ,y=x+3/2 的值是 ( C )。 A. 1 B. 2 C. 2.0 D. 2.5 13、sizeof (double)的结果值是 ( A )。 A. 8 B. 4 C. 2 D. 出错 14、设 a=1,b=2,c=3,d=4,则表达式:a10 后 c2 中的值是( A ) 。 A. D B
7、. 68 C. 不确定的值 D. C 19、以下用户标识符中,合法的是( B ) 。 A. int B. nit C. 123 D. a+b 20、C 语言中,要求运算对象只能为整数的运算符是( A ) 。 A. % B. / C. D. * 21、若有说明语句:char c=72;则变量c 在内存占用的字节数是( A ) 。 A. 1 B. 2 C. 3 D. 4 22、字符串 “ABC“在内存占用的字节数是( B ) 。 A. 3 B. 4 C. 6 D. 8 23、要为字符型变量 a 赋初值,下列语句中哪一个是正确的( B ) 。 A. char a=“3“; B. char a=3;
8、C. char a=%; D. char a=*; 24、下列不正确的转义字符是( C ) 。 A. B. C. 074 D. 0 二、填空题: 1、C 语言中的逻辑值“真”是用1表示的,逻辑值“假”是用 0表示的。 2、若 x 和 n 都是 int型变量,且x 的初值为 12,n 的初值为5,则计算表达式x%=(n%=2) 后 x 的值为 0 。 3、设 c=w,a=1,b=2,d=-5, 则表达式 x+1c, y!=c+2, -a-5*b45678。则输出结果是:( D ) A1267 B1256 C 1278 D1245 4、若一个 int 类型的数据占 2 字节,则程序段:int x=
9、 1;printf(“%u,%d“,x,x);的输出 结果是( A ) 。 A. 65535, 1 B. 1,65535 C. 32767, 32768 D. 32768,32767 5、在 TC 中 getchar 、putchar 、printf、scanf 四个函数,均包含在头文件( B )中。 A. math.h B. stdio.h C. stbio.h D. stdlib.h 6、复合语句是用( C )括起来的语句组。 A. ( ) B. C. D. 7、下列格式符中,哪一个可以用于以八进制形式输出整数( C ) 。 A. %d B. %8d C. %o D. %ld 8、下列格式
10、符中,哪一个可以用于以十六进制形式输出整数( B ) 。 A. %16d B. %8x C. %d16 D. %d 9、a 是 int类型变量, c 是字符变量,下列输入语句中哪一个是错误的( B ) 。 A. scanf(“%d,%c“, B. scanf(“%d%c“,a,c); C. scanf(“%d%c“, D. scanf(“d=%d,c=%c“, 10、要使 double x; long a;的数据能正确的输出,输出语句应是( D ) 。 A. printf(“%d, %f“,a, x); B. printf(“%d, %1f“,a, x); C. scanf(“%1d, %1f
11、“, D. printf(“%1d, %lf“,a, x); 二、程序改错题 1、以下程序的功能是,从键盘输入一个字符并鸣笛输出。 # include “stdio.h“ mian( ) char c getchar(c); putchar(007) ; /*鸣笛 */ c=putchar( ); 改为: putchar( ); 2、以下程序的功能是,输入长方形的两边长( 边长可以取整数和实数) ,输出它的面积和周长。 main int a,b,s,l; scanf(“%d,%d“, s=a*b; l=a+b; 改为: 1=2*(a+b); printf(“l=%f,s=%fn“,l,s);
12、三、写出程序运行结果 1、 main( ) int a,b; scanf(“%2d%*2s%2d“, printf(“%dn“,a+b); 运行时输入:12345678 ,输出结果是 68 。 2、 main( ) int a=3,b=5,x,y; x=a+1,b+6; y=(a+1,b+6); printf(“x=%dny=%dn“,x,y); 输出结果是x=4,y=11 _。 四、编程题 1、输入 3 个整数,计算它们的和与平均值,平均值的结果保留 2 位小数。 1.main( ) int a,b,c,sum; float ave; scanf(“%d%d%d”, sum=a+b+c; a
13、ve=sum/3.0; printf(“sum=%d,ave=%.2fn ”,sum,ave); 2、输入两个实数a,b, 然后交换它们的值, 最后输出 ( 提示:要交换两个数得借助一个中间变 量 temp。首先让temp 存放 a 的值,然后把b 存入 a,再把 temp 存入 b 就完成了 ) 。 1.void main( ) float a,b,temp; printf(“input a and b:“); scanf(“%d,%d“, temp = a; a = b; b = temp; printf(“a=%d , b=%dn“, a , b); 5 选择结构程序 一、单项选择题 1
14、、假定所有变量均已正确定义,下列程序段运行后x 的值是( B ) 。 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 2、有以下程序段,其输出结果是:( A ) inta,b,c; a=10;b=50;c=30;if(ab) a=b,b=c; c=a; printf(“a=%d b=%d c=%dn“,a,b,c); A.a=10 b=50 c=10B.a=10 b=50 c=30 C.a=10 b=30 c=10 D.a=50 b=30 c=50 3、有以下程序段,其输出结果是:
15、( D ) intx=1,y=2,z=3; if(xy)if(yy)?x:y; printf(“%d“,max);的输出结果是( C ) 。 A. 5 B. 3 C. 8 D. 13 5、程序段 int x=3,a=1;switch(x) case 4: a+;case 3: a+;case 2: a+;case 1: a+; printf (“%d“,a);的输出结果是( D ) 。 A. 1 B. 2 C. 3 D. 4 6、下列语句应将小写字母转换为大写字母,其中正确的是( B ) 。 A.if(ch=ab=c;c=a; else a=c;c=b;b=a; 执行后 a,b,c的值为 _5
16、_,_5_,_4_ _ (2)if(a0) else x=1; else x=0; 2. switch(s0) break; case 0: x=1; break; break; case 0: x=0; break; 6 循环控制 一、单项选择题 1、for(i=1;i0;y-) if(y%3=0) printf(“%d“,-y);其运行结果 是( D ) 。 A. 875421 B.963 C.852 D. 741 10、有以下程序段int i,j;for(i=3;i=1;i-)for(j=1;j void main( ) int s1=0,s2=0; char ch; while( ch
17、=getchar() )!=n) if(ch=0 for(i=1;i0; y-) if(y%3=0) printf(“%d“, -y); continue; 程序运行后输出结果为 852 2. main( ) int n1,n2; scanf(“%d“, while(n2!=0) n1=n2%10; n2=n2/10; printf(“%d“,n1); 程序运行后,如果从键盘上输入1298;则输出结果为 8921 3. main ( ) int s,i; for(s=0,i=1;i void main( ) int s=1,t=1,a,n; scanf(“%d%d“, for(int i=1;
18、i main( ) int i,j,k,s=1; for(i=1;i=0) printf(“%2d %2d %2d ”,i,j,k); s=s+1; if(s%5=0) printf(“n ”); 7 数组 一、单项选择题 1、int a4=5,3,8,9;其中 a3 的值为 ( D )。 A. 5 B. 3 C. 8 D. 9 2、以下 4 个字符串函数中,( A )所在的头文件与其他 3 个不同。 A. gets B. strcpy C. strlen D. strcmp 3、以下 4 个数组定义中,( D )是错误的。 A. int a7; B. #define N 5 long bN;
19、 C. char c5; D. int n,dn; 4、字符数组进行初始化,( B )形式是错误。 A. char c1 =1, 2, 3; B. char c2 =123; C. char c3 = 1, 2, 3, 0; D. char c4 =“123“; 5、在数组中,数组名表示( A )。 A. 数组第 1 个元素的首地址 B.数组第 2 个元素的首地址 C. 数组所有元素的首地址 D.数组最后 1 个元素的首地址 6、若有以下数组说明,则数值最小的和最大的元素下标分别是( B )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; A. 1,12 B. 0,
20、11 C. 1,11 D. 0,12 7、若有以下说明,则数值为 4 的表达式是 ( D )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g ; A. ag-c B. a4 C. ad-c D. ad-c 8、设有定义: char s12 = “string“ ; 则 printf( “%dn“,strlen(s); 的输出是 ( A )。 A. 6 B. 7 C. 11 D. 12 9、设有定义:char s12 = “string“; 则 printf(“%dn “, sizeof(s); 的输出是 ( D )。 A. 6 B. 7
21、 C. 11 D. 12 10、合法的数组定义是( A )。 A. char a = “string “ ; B. int a5 =0,1,2,3,4,5; C. char a= “string “ ; D. char a =0,1,2,3,4,5 11、合法的数组定义是( D )。 A. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4; C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5,; 12、下列语句中,正确的是 ( D )。 A. char a3 =abc, 1; B. char a 3 =abc,
22、1; C. char a3 =a, “1“; D. char a 3 = “a“, “1“; 13、下列定义的字符数组中,输出 printf(“%sn“, str2) ;的输出是 ( C )。 static str320 = “basic“, “foxpro“, “windows“; A. basic B. foxpro C. windows D. 输出语句出错 14、下列各语句定义了数组,其中哪一个是不正确的( C )。 A. char a310=“China“,“American“,“Asia“; B. int x22=1,2,3,4; C. float x2 =1,2,4,6,8,10;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 全部 章节 习题集 答案
链接地址:https://www.31doc.com/p-5416061.html