收藏 分销(赏)

C语言程序设计基础单项选择题库.doc

上传人:精*** 文档编号:2493182 上传时间:2024-05-30 格式:DOC 页数:39 大小:140.54KB
下载 相关 举报
C语言程序设计基础单项选择题库.doc_第1页
第1页 / 共39页
C语言程序设计基础单项选择题库.doc_第2页
第2页 / 共39页
C语言程序设计基础单项选择题库.doc_第3页
第3页 / 共39页
C语言程序设计基础单项选择题库.doc_第4页
第4页 / 共39页
C语言程序设计基础单项选择题库.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、(完整版)C语言程序设计基础单项选择题库分类:一、 概念(13-51,54,55)、数据类型、输入输出格式、转义符、运算及表达式等:1 - 66二、 选择语句:67 - 72 (其中67为条件运算,72可归于一类);三、 循环语句:73 - 102 (其中78为输出格式可归于一类)四、 数组:103 - 133 (其中123 125为与数组相关的函数调用)五、 函数调用:134 156六、 文件:157 183七、 指针:184 - 195 八、 结构体:196 - 207(204。205,206为函数调用)1、在C语言中,最基本的数据类型包括(A)整型、实型、字符型(B)整型、实型、逻辑型(

2、C)整型、字符型、逻辑型(D)实型、字符型、逻辑型2C语言中整常数的书写形式不能使用的数制形式是(A)十进制(B)十六进制(C)八进制(D)二进制3字符串常量”abncde125包含字符的个数是(A)8(B)12(C)9(D)134C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(A)必须为下划线(B)可以是这三种字符中的任一种(C)必须为字母或下划线(D)必须为字母5下列是用户自定义标识符的是(A)#x(B)_x(C)2x(D)int6在C语言中,下列常数不能作为常量的是(A)0xA3(B)068(C)5.6E3(D)2e57在C语言中,运算对象必须是整型的运算符是(A)(B

3、)=(C)&(D)=8下列表达式与x = (y+)等价的是(A)x = +y(B)x = x + 1, y = x(C)x = y, y = y + 1(D)x += y + 19若定义int x = 17; ,则表达式x+ 1 / 6的值是(A)1(B)2(C)3(D)410如果在一个C语言表达式中有多个运算符,则运算时应该(A)只考虑优先级(B)只考虑结合性(C)先考虑优先级,然后考虑结合性(D)先考虑结合性,然后考虑优先级11在C程序中,下面叙述不正确的是(A)x和X 是两个不同的变量(B)从键盘输入数据时,对整型变量只能输入整型数据,对于实型变量只能输入实型数据(C)逗号运算符的优先级

4、最低(D)若x、y类型相同,则执行语句y = x,后,将把x的值放入y中,而x的值不变12已知字符A的ASCII值为65,若定义int i;,则执行语句i = A + 3。5;后,正确的叙述是 (A)i的值是字符E(B)语句不合法(C)i的值是字符A的ASCII值加上3,即68(D)i的值是字符A的ASCII值加上3。5,即68.513C语言是计算机高级语言,它适合作为系统描述语言,它(A)不以用来编写系统软件,可以用来编写应用软件(B)不以用来编写系统软件,不可以用来编写应用软件(C)可以用来编写系统软件,不可以用来编写应用软件(D)可以用来编写系统软件,也可以用来编写应用软件14在纸上写好

5、一个C语言程序后,上机运行的基本步骤为(A)编辑、连接、编译、运行(B)编译、连接、编辑、运行(C)编译、编辑、连接、运行(D)编辑、编译、连接、运行15用C语言等高级语言编写的程序称为(A)可执行程序(B)编译程序(C)目标程序(D)源程序16一个C语言源程序经过“编译程序翻译后生成一个二进制代码文件,它的扩展名为(A)。dat(B).exe(C).c(D)。obj17通过“连接程序”软件,把C语言目标程序与C语言提供的各种库函数连接起来生成一个文件,它的扩展名为(A).exe(B).dat(C).obj(D).c18下面叙述中正确的是(A)在C语言程序中,要调用的函数必须在main()函数

6、中定义(B)C语言程序总是从main()函数开始执行(C)C语言程序总是从第一个函数开始执行(D)在C语言程序中,main()函数必须放在程序的开始位置19在一个C语言源程序中,main()函数的位置(A)必须在其他所有的函数之后(B)可以在任意位置(C)必须在其他所有的函数之前(D)必须在固定位置20一个C语言程序由(A)若干个过程组成(B)若干个子程序组成(C)一个主程序和若干个子程序构成(D)一个主函数和若干个子函数构成21一个函数的组成有(A)函数的声明部分和执行部分(B)函数名、函数类型、函数参数名、函数参数类型(C)主函数和子函数(D)函数首部和函数体22下面叙述不正确的是(A)在

7、程序中任意合适的地方都可以加上注释以便阅读(B)C语言中的每条执行语句都需要用分号结束(C)include命令所在行后面需要加分号(D)C语言具有高级语言的功能,也具有低级语言的一些功能23下面叙述正确的是(A)在C程序中,main()函数的位置必须在其他所有的函数之前(B)C语言自身没有输入输出语句(C)在C程序的编译过程中可以发现注释中的拼写错误(D)C程序的每一行只能写一条语句24在C语言中,用来表示“取地址”的符号是(A)$(B)(C)(D)&25在C语言中,用于结构化程序设计的三种基本结构是(A)顺序结构、选择结构、转移结构(B)顺序结构、条件结构、循环结构(C)顺序结构、选择结构、

8、重复结构(D)顺序结构、选择结构、循环结构26一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是(A)有效性(B)有穷性(C)有零个或多个输入(D)有零个或多个输出27程序设计一般可以简化为以下4个步骤,其中首先应该完成的是(A)调试并运行程序(B)编写程序(C)建立数学模型(D)设计数据结构和算法28以下不正确的C语言标识符是(A)ab.c(B)a_bc(C)abc(D)ABC29以下正确的C语言标识符是(A)a+b(B)test!(C)_123(D)x30编辑程序的功能是(A)命令计算机执行指定的操作(B)调试程序(C)将C源程序编译成目标程序(D)建立并修改程序31 C语言

9、程序的基本单位是(A)过程(B)函数(C)子程序(D)标识符32下列说法中错误的是(A)主函数可以分为两部分:主函数首部和主函数体(B)主函数可以调用任何非主函数的其它函数(C)任何非主函数可以调用其它任何非主函数(D)程序可以从任何非主函数开始执行33在下列数据中属于“字符串常量”的是(A)ABC(B)ABC(C)abc(D)a34在C语言中,字符n在内存占用的字节数是(A)1(B)2(C)3(D)435字符串”ABC”在内存占用的字节数是(A)3(B)4(C)6(D)8 试题讲评编译字符串”ABC”时,编译器会自动加上字符串结束标志0,因此字符串”ABC”占用的内存为4个字节.36在C语言

10、中,合法的长整型常数是(A)0L(B)4321(C)0.07654321(D)2.3456e10 试题讲评4321在C语言中默认为是int型数据,数据后加L或l表示该数的类型为长整型.37char型常量在内存中存放的是(A)ASCII值(B)BCD码值(C)内码值(D)十进制代码值38设m, n, a, b, c, d均为0,执行(m = a = b) | (n = c = d)后,m,n的值是(A)0,0(B)0,1(C)1,0(D)1,1 试题讲评(1)在C语言中,“|”表示逻辑或,“&”表示逻辑与.(2)对于“m = (表达式a) | (表达式b)”,若“表达式a”为真或“表达式b”为真

11、,则m为真。特别指出,若“表达式a为真,则m的值肯定为真(无论“表达式b”的结果是否为真),在C语言中,为提高运算速度,此时就不再去执行“表达式b”。(3)对于“m = (表达式a) & (表达式b),若“表达式a”为假或“表达式b为假,则m为假.特别指出,若“表达式a”为假,则m的值肯定为假(无论“表达式b的结果如何),在C语言中,为提高运算速度,此时就不再去执行“表达式b”。(4)在本题的表达式中,从左至右,先计算“(m = a = b)”,在此表达式中,先计算“a = b”,由于a,b的值均为0,因此“a = b”的结果是真(即1)。再将“a = b”的运算结果(即1)赋值给m,则m的值

12、为1,因此“(m = a = b)”的结果为1,即真,按前述规则,不再对表达式“(n = c = d)”进行计算,因此结果为选项.39设a为5,执行下列语句后,b的值不为2的是(A)b = a / 2(B)b = 6 - (a)(C)b = a % 2(D)b = a 3 ? 2 : 440表达式10 != 9的值是(A)true(B)真(C)0(D)141若已定义x和y为double类型,则表达式x = 1, y = x + 3 / 2的值是(A)1.0(B)2.0(C)0。0(D)2.5 试题讲评对于逗号(,)运算符,从左至右进行运算,结果为最后一步的值.42若有char a; int b

13、; float c; double d;,则表达式a b + d - c的值的类型是(A)float(B)int(C)char(D)double43在以下一组运算符中,优先级最高的运算符是(A)=(B)=(C)(D)&44下列叙述中正确的是(A)C程序中的所有字母都必须小写(B)C程序中的关键字必须小写,其他标识符不区分大小写(C)C语言中的所有字母都不区分大小写(D)C语言中的所有关键字必须小写45下面不属于C语言关键字的是(A)integer(B)typedef(C)enum(D)union46以下叙述不正确的是(A)分号是C语句的必要组成部分(B)C程序的注释可以写在语句的后面(C)函数

14、是C程序的基本单位(D)主函数的名字是mian47下列能正确表示a10或a0的C语言关系表达式是(A)a = 10 or a = 10 a = 10 & a = 048下列只有当整数x为奇数时,才是逻辑“真的表达式是(A)x 2 = 0(B)!(x 2 = 0)(C)!(x 2 )(D)(x x / 2 2) = 049设a为整型变量,不能正确表达数学关系10a15的C语言表达式是(A)10 a 15(B)a = 11 | a = 12 | a = 13 | a = 14(C)a 10 & a 15(D)!(a = 10) & !(a = 15) 试题讲评对于表达式“10 a 15”,无论a的

15、值为多少,其结果均为真,原因是:“10 a 15”其实是“(10 a) 15”,即先对“10a求值,再将该值与15进行比较,而无论a的值为多少,“10a”的值要么为真、要么为假,只有1与0两种取值,与0均小于15,因此表达式“10 a 15”的结果始终为真。50表达式17 4 / 8的值是(A)0(B)1(C)2(D)351下列说法正确的是2834(A)在执行C程序时不是从main()函数开始(B)C语言程序书写格式限制严格,一行内只能写一条语句(C)C语言程序书写格式比较自由,一条语句可以分写在多行上(D)C语言程序书写格式严格,要求一行内必须写一条语句,并要有行号52逻辑运算符两侧运算对象

16、的数据类型(A)只能是0或1(B)只能是0或非0正数(C)可以是正数或字符型数据(D)是逻辑型53若有代数式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 * 354用C语言编写的代码程序(A)可立即执行(B)是一个源程序(C)经过编译即可执行(D)经过编译解释才能执行55以下叙述中正确的是(A)C语言的源程序不必通过编译就可以直接运行(B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令(C)C源程序经编译形成的二进制代码可以直接运行(D)C语言中的函

17、数不可以单独进行编译56以下关于if语句的错误描述是(A)条件表达式可以是任意的表达式(B)条件表达式只能是关系表达式或逻辑表达式(C)条件表达式的括号不能省(D)与else配对的if语句是其之前最近的未配对的if语句57若变量x、y、z被定义为float型,通过语句scanf(ff%f, x, &y, &z);给x输入15。0,给y输入25。0,给z输入35.0,下列输入形式不正确的是(A)15 25 35(B)15 25 35(C)15。0 25.0 35.0(D)15。0,25。0,35.058若变量x、y被定义为float型,通过语句scanf(x=%f,y=%f, x, y);给x输

18、入1.23,给y输入1。26,下列输入形式正确的是(A)x=1。23,y=1.26(B)1.23,1.26(C)1.23 1。26(D)x=1。23 y=1.2659若变量a、b、c被定义为int型,从键盘给他们输入数据,正确的输入语句是(A)scanf(”%dd%d, a, b, c);(B)scanf(”ddd, a, b, c);(C)scanf(”f%ff”, a, &b, c);(D)input a, b, c;60若定义float a;,要从键盘给a输入数据,其整数位为3位,小数位为2位,则选用(A)scanf(f, &a);(B)scanf(”f”, a);(C)scanf(6.

19、2f”, a);(D)scanf(6。2f, a);61对于以下程序代码段,叙述正确的是char c1=D, c2=d;printf(cn, (c1,c2));(A)缺少一个格式说明符,编译出错(B)程序运行时产生出错信息(C)程序输出大写字母D(D)程序输出小写字母d62下面程序代码段输出的结果是int x=2, y=5;printf(%fn, (float)(x / y));(A)0.000000(B)0(C)0。40000(D)0。463当输入数据形式为“25,13,10”时,下面程序代码段输出的结果是int a, b, c;scanf(”d%dd”, a, &b, &c);printf

20、(”a+b+c=%dn, a+b+c);(A)a+b+c=48(B)a+b+c=35(C)a+c=48(D)随机数64以下说法正确的是(A)输入项可以为一个实型常量,如scanf(”f, 3.5);(B)只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=d,b=d”);(C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”, x);(D)当输入数据时,必须指明变量的地址,如scanf(”%f, x);65putchar函数可以向终端输出一个(A)整型变量表达式(B)实型变量值(C)字符串(D)字符或字符变量值66已知ch是字符变量,下面正确的赋

21、值语句是(A)ch = 123;(B)ch = xff;(C)ch = 08;(D)ch = ;67若有a=1, b=0, c=2, d=3,则条件表达式a b ? a : c 10) printf(”d”, x);if (x 20) printf(”%d”, x);if (x 30) printf(d”, x);(A)23(B)2323(C)232323(D)都不正确69下面程序代码段的输出结果是int a=15, b=10, c=20, d;d = a 12 ? b : c;switch(d) case 5: printf(”%d,”, a); case 10: printf(”%d,”,

22、 b); case 20: printf(”d,”, c); default: printf(”n);(A)15,10,20,#(B)10,20,#(C)10,20(D)1070下面程序代码段的输出结果是int a=2, b=3, c=1;switch(c) case 0: a+; case 1: a+; b+; case 2: b+;printf(”a=d,b=%dn”, a, b);(A)a=3,b=5(B)a=3,b=4(C)a=4,b=4(D)a=4,b=571关于为什么要学习C语言,以下描述错误的是(A)C语言早就过时了,应该学习最流行的语言。(B)通过对C语言的学习,可以培养工程推

23、理和解决问题的能力。(C)C语言是结构化程序设计语言,是面向对象程序设计的基础。(D)非计算机专业同学学习C语言,可以培养使用计算机解决问题的思维和能力。72执行了以下程序段后x,w的值为int x=0, y=1, z=2, w;if (x+) w = x;else if (x+ y = 1) w = y;else if (x+ & z 1) w = z;(A)0,1(B)1,1(C)2,1(D)3,273下列语句中,错误的是(A)while (x = y) 5;(B)do x+ while (x = 10);(C)while (0) ;(D)do 2; while (a = b);74若有整

24、型变量i,j,则以下程序段中内循环体“printf(”ok);的循环次数为for (i=5; i; i-) for (j=0; j4; j+) printf(ok”); (A)20(B)24(C)25(D)3075假定a和b为int型变量,则执行以下语句后b的值为a = 1;b = 10;do b = a; a+; while (b- 0);(A)9(B)8(C)2(D)-176循环语句“for (x=0, y=0; (y!=123) | (x4); x+) ;”的循环次数为(A)无限次(B)不确定(C)4次(D)3次77在C语言中,下列说法中正确的是(A)不能使用“do 语句 while (

25、条件);的循环(B)“do 语句 while (条件);”的循环中,当条件为非0时结束循环(C)“do 语句 while (条件);”的循环中,当条件为0时结束循环(D)“do 语句 while (条件);的循环必须使用break语句退出循环78下述程序代码段输出的结果是int k = 11;printf(k=d,k=o,k=%x, k, k, k);(A)k=11,k=13,k=b(B)k=11,k=12,k=11(C)k=11,k=13,k=13(D)k=11,k=013,k=0xb79以下程序段中,while循环的循环次数是int i = 0;while (i 10) if (i 1)

26、continue; if (i = 5) break; i+;(A)死循环,无限次(B)1(C)6(D)1080设x和y均为int型变量,则执行下面的循环后y的值为for (y=1, x=1; y=50; y+) if (x = 10) break; if (x 2 = 1) x += 5; continue; x = 3;(A)2(B)4(C)6(D)881设i,j,k均为整型变量,则执行如下语句后,k的值为for (i=0, j=10; i=j; i+, j) k = i + j;(A)8(B)9(C)10(D)1182以下程序段的输出结果是2903int a=0, i;for (i=1;

27、 i5; i+) switch(i) case 0: case 3: a += 2; case 1: case 2: a += 3; default: a += 5; printf(”dn, a);(A)31(B)13(C)10(D)2083以下程序段的输出结果是int i=0, a=0; while (i 20) for (; ;) if (i % 10 = 0) break; else i-; i += 11; a += i;printf(”%dn”, a);(A)21(B)32(C)33(D)1184以下程序段的输出结果是int a, b;for (a=1, b=1; a=100; a+

28、) if (b = 10) break; if (b % 3 = 1) b += 3; continue; printf(”%dn”, a);(A)101(B)6(C)5(D)485以下程序段中,while循环执行的次数是int k =0;while (k = 1) k+;(A)无限次(B)有语法错误,不能执行(C)一次也不执行(D)执行一次86以下程序段执行后,输出结果是int i, sum=0;for (i=1; i8; y=i) printf(d d , x-, y);(A)10 10 9 0(B)10 1 9 2(C)9 8 7 6(D)10 9 9 089以下程序段的输出结果是int

29、 i;for (i=1; i=6; i+) if (i 2) printf(#); continue; printf();(A)#*(B)#(C)*(D)*#*#90以下程序段的输出结果是int i;for (i=A; i=I; i+) printf(”c”, i + 32);(A)abcdefghi(B)aceg(C)acegi(D)编译不通过,无输出91以下程序段执行时,如果从键盘输入china后回车,则输出结果为int v1=0, v2=0;char ch;while((ch=getchar()) != ) switch (ch) case a: case h: default: v1+

30、; case 0: v2+; printf(%d,%dn, v1, v2);(A)2,0(B)5,0(C)5,5(D)2,592以下程序段的输出结果是int i, j, x=0;for (i=0; i2; i+) x+; for (j=0; j3; j+) if (j % 2) continue; x+; x+;printf(”x=dn”, x);(A)x=4(B)x=8(C)x=6(D)x=1293假定a和b为int型变量,则执行以下语句后b的值为a=1, b=10;do b -= a; a+; while (b- 0);(A)9(B)-2(C)-1(D)894设j为int型变量,则下面fo

31、r循环语句的执行结果是for (j=10; j3; j-) if (j 3) j-; -j; -j; printf(”d ”, j);(A)6 3(B)7 4(C)6 2(D)7 395以下程序段的输出结果是int x, i;for (i=1; i=50; i+) x = i; if (x % 2 = 0) x+; if (x 3 = 0) x+; if (x 7 = 0) x+; printf(d, i); (A)26(B)27(C)28(D)4296以下程序段的输出结果是int i, m=0, n=0, k=0;for (i=9; i=11; i+) switch (i / 10) cas

32、e 0: m+; n+; break; case 10: n+; break; default: k+; n+; printf(%d %d dn, m, n, k);(A)1 3 2(B)1 2 2(C)2 3 4(D)1 3 497以下程序段的输出结果是int s, i;for (s=0, i=1; i3; i+, s+=i) ;printf(”dn”, s);(A)4(B)5(C)6(D)798以下程序段的输出结果是int i=10, j=0;do j = j + i; i-; while (i 2);printf(”%dn, j);(A)52(B)25(C)54(D)4899以下程序段运行时,如果从键盘输入1298再回车,则输出结果为int n1, n2;scanf(”%d”, n2);while (n2 != 0) n1 = n2 % 10; n2 = n2 / 10; printf(”d, n1);(A)8921(B)1298(C)1(D)9100以下程序段的输出结果是int x=0, y=5, z=3;while (z- 0 & +x 5) y;printf(d,%d,%dn”, x, y, z);(A)3,2,1(B)3,2,1(C)2,2,2(D)3,2,0101 以下程序段的输出结果是int k, s;for (k=0, s=0; k 6

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服