1、C语言第15章练习题1第一、二章 C语言概述与算法一、单选题1. 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是 A) 有零个或多个输入 B) 有零个或多个输出 C) 有穷性 D) 可行性2. 以下叙述中正确的是A) C语言的源程序不必通过编译就可以直接运行B) C语言的每条可执行语句最终都将被转换成二进制的机器指令 C) C语言的源程序经编译形成的二进制代码可以直接运行D) C语言的函数不可以单独进行编译3. 对用C语言编写的代码程序,以下叙述中哪个是正确的A) 可立即执行 B) 是一个源程序 C) 经过编译即可执行 D) 经过编译解释才能执行4. 结构化程序由三种
2、基本结构组成, 由这三种基本结构组成的算法A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务5有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是 A)C001.OBJ B)C001.DAT C)C001.EXE D)C001.C二、填空题1结构化程序由 、 、 三种基本结构组成。2模块化程序设计的设计原则是 和 。3组成C程序的基本单位是 ,其组成部分包括 和 。4C程序中的main称 ,它可以出现在程序的 位置。5由“/*”和“*/”括起来的内容称为 ,它的作用是 。6描述算法的常用方法有:
3、。第三章 数据类型、运算符与表达式一、单选题1与十进制数97不等值的字符常量是 A) a B) 101 C) x61 D) 1412在编写了一个C语言源程序C001.C并正确执行之后,当前目录下哪个文件不存在 A) C001.C B) C001.OBJ C) C001.DAT D) C001.EXE3以下选项中正确的整型常量是A) 5 B)-10 C)1.000 D)4/54以下选项中正确的实型常量是A) 0 B)3. 1415 C)0.03x102 D).325以下选项中不正确的实型常量是A)2.670E-1 B)0.05e+1.5 C)-77.77 D)456e-2 6以下选项中不合法的用
4、户标识符是A)wb-1 B)file C)Main D)PRINTF 7以下选项中不合法的用户标识符是A)_123 B)printf C)A$ D)Dim8C语言中运算对象必须是整型的运算符是A)% B)/ C)* D)+9可在C程序中用作标识符的一组标识符是A)void B)as_b3 C)For D)2c Define _123 -abc DO WORD If case SiG10若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a+ C)int(12.3%4) D)a=a+7=c+b11以下非法的赋值语句是A) n=(i=2,+i); B)j+; C)
5、 +(i+1); D) x=j0;12设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 A) 6. B) 6 C) 5. D) 6.13已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是 A) 6 B) 0 C) 2 D) 114以下叙述中正确的是A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D)已有
6、a=3, b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为315以下叙述中正确的是A)在C程序中,无论是整数还是实数,只要在允许的范围内都能准确无误的表示。B)C程序由主函数组成。C)C程序由函数组成。D)C程序由函数和过程组成。16Turbo C中int类型变量所占字节数是A)1 B)2 C)3 D)417不合法的八进制数是A)0 B)028 C)07700 D)0118不合法的十六进制数是A)oxff B)0Xabc C)0x11 D)0x1919若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100; B)d+; C)c+b
7、; D)d=(c=22)-(b+);20以下选项中不是C语句的是A)int i; i+; printf(“%dn”, i); B); C)a=5,c=10 D) ; 21以下合法的C语言赋值语句是A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)-i;22以下程序的输出结果是 main() int x = 10, y = 3; printf(“%dn” , y = x / y); A)0 B)1 C)3 D)不确定的值23C语言中的简单数据类型有A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型24C语言中,字符(ch
8、ar)型数据在微机内存中的存储形式是A)反码 B)补码 C)EBCDIC码 D)ASCII码25设有语句char a= 172;,则变量aA)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法26C语言中不合法的字符常量是A)xff B)65 C)& D)02827C语言中不合法的字符串量是A)”121” B)y= C)”nn” D)”ABCDx6d”28判断char型变量c是否为大写字母的最简单且正确的表达式是A)A=c=A&(c=Z) C) (A=c) D)(c=A)&(c=Z)29下列运算符中优先级最高的运算符是A)! B)% C)-= D)& 30下列运算符中优先级最低的
9、运算符是A)| B)!= C)=y)&(y=z) B)(x=y)AND(y=z)C)(x=y=z) D)(x=y)&(y=z)32设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A)a&b B)a=b C)a|b+c&b-c D)!(a”、“*”、“&”、“!=”、“|”、“!”和“/”的优先顺序: 、 、 、 、 、 、 、 。16若表达式(a + b) c * 2 & b != 5 | !(1 / 2)中,a、b、c的定义和赋值为 int a = 3, b = 4, c = 2;则表达式的值为 。17将下列数学式改写成C语言的关系表达式或逻辑表达式是
10、 A) B) 。 A)a = b 或 a 418请写出与以下表达式等价的表达式是 A) B) 。 A)!(x 0) B)!019以下程序的输出结果是 。main() int a=0;a+=(a=8);printf(%dn,a);第四章 顺序结构程序设计一、单选题1若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是A)read(a,b,c) B)scanf(“%d%d%d”,a,b,c);C)scnaf(“%D%D%D”,&a,&b,&C); D)scanf(“%d%d%d”, &a,&b,&c);2若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予
11、22、c赋予33,以下不正确的输入形式是 scanf(“%f %f %f”, &a, &b, &c);A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33333已知i、j、k为int型变量,若从键盘输入:1,2,3回车,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 A)scanf(%2d%2d%2d,&i,&j,&k);B) scanf(%d %d %d,&i,&j,&k);C)scanf(%d,%d,%d,&i,&j,&k);D)scanf(i=%d,j=%d,k=%d,&i,&j,&k);4若有以下程序: main()
12、 int k=2, i=2, m; m=(k+=i*=k); printf(%d,%dn,m,i); 执行后的输出结果是 A) 8,6 B) 8,3 C) 6,4 D) 7.45 若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是A)a=a+b, b=a-b, a=a-b; B)t=a; a=b; b=t;C)a=t; t=b; b=a; D)t=b; b=a; a=t;6有以下程序 main() int i = 10, j = 1; printf(%d,%dn,i-, +j); 执行后输出结果是 A) 9,2 B) 10,2 C) 9,1 D) 10,17若变量已正确定义,以下程
13、序段的输出结果是 x=5.16894; printf(“%fn”, (int)(x*1000+0.5)/(float)1000);A)输出格式说明与输出项不匹配,输出无定值 B)5.17000C)5. D)5.8若有以下程序段,c3中的值是 int c1 = 1, c2 = 2, c3; c3 = c1 / c2; A)0 B)1/2 C)0.5 D)19若有以下程序段,其输出结果是 int a = 0, b = 0, c = 0; c = ( a -= a - 5), (a = b, b+3); printf(“%d,%d,%dn”,a, b, c);A)0,0,-10 B)0,0,5 C)
14、-10,3,-10 D)3,3,-1010当运行以下程序时,在键盘上从第一列开始,输入(此处表示Enter),则程序的输出结果是 main() int a; float b, c; scanf(“%2d%3f%4f”, &a, &b, &c); printf(“na=%d,b=%f,c=%fn”,a, b, c); A)a=98,b=765,c=4321 B)a=10,b=432,c=8765C)a=98,b=765.,c=4321. D)a=98,b=765.0,c=4321.011以下程序的输出结果是 main() int a = 2, b =5; printf(“a=%d,b=%dn”,
15、a, b); A)a=%2,b=%5 B)a=2,b=5 C)a=%d,b=%d D)a=%d,b=%d12若int类型占两个字节,则以下程序段的输出是 int a=-1; printf(“%d, %un”, a, a);A)-1,-1 B)-1,32767 C)-1,32768 D)-1,6553513以下程序段的输出是 int x = 496; printf(“*%-06d*n”, x);A)*496 * B)* 496* C)* D)输出格式不合法14以下程序段的输出是 float a=3.1415; printf(“|%6.0f|n”, a);A)|3.1415| B)| 3.0| C
16、)| 3| D)| 3.|15以下程序段的输出是 printf(“|%10.5f|n”, 12345.678);A)|2345.67800| B)|12345.6780| C)|12345.67800| D)|12345.678|16若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是A)scanf(%f”,c) B)scanf(%8.4f”, &c); C)scanf(%6.2f”, &c); D)scanf(%8f”, &c);17若变量已正确说明,要求用以语句给a赋予3.12、给b赋予9.0,则正确的输入形式是 scanf(“a=%f,b=%f”,&a, &b);A)3.
17、12 9.0 B)a= 3.12b= 9 C)a=3.12,b=9.0 D)a=3.12 ,b=918以下程序的输出结果是 #include “math.h”main() double a = -3.0, b = 2;printf(“%3.0f %3.0fn”, pow(b,fabs(a), pow(fabs(a), b) ); A)9 8 B)8 9 C)6 6 D)以上三个都不对19以下程序的输出结果是 main() char c1 = A, c2 = Y; printf(“%d,%dn”, c1, c2); A)因输出格式不合法,无正确输出 B)65,90 C)A,Y D)65,8920
18、以下程序段的输出结果是 main() char x = A; x = (x=A & x=Z)?(x+32):x; printf(“%cn”, x); A)A B)a C)Z D)z 21 以下程序段的输出结果是 main() char ch1, ch2; ch1 = A + 5 - 3; ch2 = A + 5 - 3; printf(“%d,%cn”, ch1,ch2); A)67, C B)B,C C)C,D D)不确定的值22若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是 scanf(“%f%c%f%c”, &a,
19、&c1, &b, &c2);A)2.0 % 4.0 # B)2.0%4.0# C)2% 4# D)2 % 4 #23以下程序的运行结果是main() int a = 2, b = -1, c = 2; if(a b) if(b 0) c = 0; else c += 1; printf(“%dn”, c);A)0 B)1 C)2 D)3 24以下程序的输出结果是main() int w = 4, x = 3, y = 2, z = 1; printf(“%dn”, (w x) ? w: z y ? z: x);A)1 B)2 C)3 D)425下列程序段的输出结果是int a=1234;flo
20、at b=123.456;double c=12345.54321;printf(%2d,%2.1f,%2.1f,a,b,c);A)无输出 B)12,123.5,12345.5C)1234,123.5,12345.5 D)1234,123.4,1234.5二、填空题1若有以下定义,请写出以下程序段中输出语句执行后的结果。(1) (2) (3) int i = -200, j =2500; printf(“(1) %d %d”, i, j); printf(“(2) i = %d, j = %dn”, i, j);printf(“(3) i = %dn j = %dn”, i, j);2变量i、
21、j、k已定义为int类型并赋初值,用以下语句输入时 scanf(“%d”, &i); scanf(“%d”, &j); scanf(“%d”, &k);当执行第一个输入语句时从键盘输入:123 表示Enter键则变量i、j、k的值分别是 。3复合语句在语法上被认为是 。空语句的形式是 。4以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式 、 、 。 int k; flaot a; double x; scanf(“%d%f%lf”, &k, &a, &x); printf(“k = %d, a = %f, x = %fn”, k, a, x);5以下程序段的输出结果是 。 int x = 0177; printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6un”, x, x, x, x, x);6以下程序段的输出结果是 。 double a = 513.;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1