c语言复习题库(判断题)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
88.getchar 函数的作用是从计算机终端输入(A) A.一个字符 C.一个整数 B.多个字符 D.一个实数 89.若有定义语句:char s[10]=“1234567\0\0” ; ,则 strlen(s) 的值是(A) A.7 B.8 C.9 D.10 90.以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的, 其错误的原因 (A) 没看到程序 A.*p 表示的是指针变量 p 的地址 B.*p 表示的是变量 a 的值。而不是变量 a 的地址 C.*p 表示的是指针变量 p 的值 D.*p 只能用来说明 p 是一个指针变量 92.以下说法错误的是(D) A.使用符号常量可以在程序中做到“一改全改” B. B.符号常量的值在其作用域内不能改变 C.C.符号常量可用#define 命令来定义 D.D.符号常量名必须采用大写字母 93.若已定义 x 和 y 为 double 类型,则表达式 x=2,y=x+3/2 的值是 ( B) A.3 B.3.0 C.3.5 D.4.0 94.如有定义:int a=2,b=5,c=10;则表达式 a=b,a*c,c-a 的值 是(A) A.5 B.20 C.8 D.15 95.若有说明语句:int a=5,b=6;b*=a+1;则 b 的值为(D) A.5 B.6 C.31 D.36 96.已知 int x=6,y=2,z;则执行表达式“z=x=x>y”后,变量 z 的 值为(B) A.0 B.1 C.4 D.5 97.若已定义的函数有返回值,则有关该函数调用的叙述中错误的是 (B) A.调用可以作为独立的语句存在 B.调用可以作为一个函数的形参 C.调用可以作为一个函数的实参 D.调用可以出现在表达式中 98.以下叙述中错误的是(D) A.程序必须由一个或一个以上的函数组成 B.函数调用可以作为一个独立的语句存在 C.若函数有返回值,必须通过 return 语句返回 D.函数形参的值也可以传回给对应的实参 99.若有定义语句:double x,y,*px,*py,执行了 px=&x,py=&y; 之后,正确的输 入语句是(C) A.scanf( “%f%f” ,x,y) ; B.scanf( “%f%f” ,*px,*py) ; C.scanf( “%lf%lf” ,px,py) ; D.scanf( “%lf%lf” ,x,y) ; 100.有定义语句:char s[10]; ,若要从终端给 s 输入 5 个字符,错 误的输入语句是 (D) A.gets(&s[0]); C.gets(s); B.scanf(“%s”,s+1); D.scanf(“%s”,s[1]);
42. C 语言中,else 总是与它上面、最近的、尚未配对的 if 配对。 √ 44. 用 C 语言编写的指令序列称为 C 语言源程序 45. 逗号表达式以最左边表达式的值作为整个逗号表达式的值。 46. a=b+c=1 是正确的赋值表达式 × 47. 要使用 printf 函数输出字符“%”,需要在格式控制字符串中用 连续两个%来表示。√ 48. a>b==c 等价于(a>b)==c。 49. 有定义:float x,*p=&x; 是否正确?√ 50. 设有 int a;float f=5.75;在执行语句 a=(int)f;后,f 变成了 int 型。× 51. 若有 int i=10,j=2;则执行完 i*=j+8;后ⅰ的值为 28。× 5. 语句 printf("%3s","CHINA");的输出结果是 CHI √ 52. break 语句只能用在循环体内和 switch 语句体内 53. 函数调用可以出现在表达式中 54. #include 命令只能包含.h 文件。 55. 158L 为十进制长整数 √ 56. 若 a 为整型变量,则语句 scanf("%d",a);是合法的。× 57. 关系运算符的优先级高于逻辑运算符(不包括!)。√ 58. 函数的类型决定返回值的类型 √ 59. 实型数据用指数形式表示时,阶码只能为整数,不能带符号。 60. 对变量进行强制类型转换只能得到一个中间值,并不改变变量原
判断题: 1.#include 命令不能包含用户自己建立的头文件。 错 2.用标识符来表示的常量称为符号常量。 对 3.(int)x+y 的作用是把 x+y 的结果转换成整型。 错 4.如果赋值运算符两边的数据类型不一致,在赋值时要进行类型转 换。 对 5.要使用 printf 函数输出字符“%” ,需要在格式控制字符串中用 连 续两个%来表示。 对 6.只有在 a 为真(非 0)时,表达式 a&b 才需要判断 b 的值。 对 7.switch 语句中,case 语句后如没有 break,则顺序向下执行。 对 8.do-while 循环中,根据情况可以省略 while。 错 9.如果形参与实参的类型不一致,以实参类型为准。 错 10.“一个单精度指针变量只能赋单精度变量的地址, 单精度数组 名, 另外单精度指针变量的值”这种说法正确否? 错 11.后缀为 f 或 F 的数为浮点数。 对 12.‘5’于 5 是一样的。 错 13.在赋值运算中,类型转换是由系统自动进行的。 对 14.条件运算符?和:是一对运算符,不能分开单独使用。 对 15.在 switch 语句中,每一个的 case 常量表达式的值可以相同。 错 16.使用 while 和 do-while 循环时, 循环变量初始化的操作应在 循环语句之前完成。 对
源自文库
有的类型。√ 61. 语句 putchar(‘\n’);的作用是输出一个换行符。√ 62. C 语言的数据类型只有 int 型、float 型、char 型。× 63. 字符变量可用于存放字符串。× 64. C 语言中,强制类型转换后,原变量的值和数据类型不变。√ 65. 在循环体中可以用 continue 语句结束本次循环√ 66. 用户可以用任意名字命名自己的标识符。× 67. 在 int 型和 long 型数据进行运算时,系统先把 long 型数据转换 成 int 型后再进行运算。× 68. C 语言中,格式说明"%10.4f"中 10 表示数据输出的最小宽度,4 表示小数位数。× 69. 在逻辑表达式的求解中,并不是所有的逻辑运算都被执行。 70. do-while 和 for 循环均是先执行循环体语句,后判断表达式 × 71. 源程序经过编译后,无需连接即可执行。× 72. 0x5A 是合法的十六进制整常数。√ 73. x-=3 等价于 x=x-3。√ 74. 主函数名可以任取。× 75. “-”即可作双目运算符,也可作单目运算符。√ 76. 若有 int i=10,j=2;则执行完 i*=j+8;后ⅰ的值为 28。× 77. getchar 函数可以同时接收多个字符。× 78. 在 switch 语句中,每一个的 case 常量表达式的值可以相同。× 79. 由于 do 一 while 循环中循环体语句只能是一条可执行语句,所以
22. #define N 10 定义了一个值为 10 的变量 N。× 24. 条件运算符?和:是一对运算符,不能分开单独使用。× 25. 语句 int a=2;if(a=3)b=1;执行后 b 的值是 1。× 26. 函数体内,return 后面不能为表达式? 27. 源文件经过编译可得到目标文件。√ 28. C 语言中构造类型包括数组、结构体、共用体类型。√ 29. 表达式 1/4*3 的值是 0.75。× 30. 程序中的“=”是赋值号,与数学中等号的功能相同 × 31. 若 a 为整型变量,则语句 scanf("%4d",&a);是一个合法的 scanf 函数。 32. C 语言中,在表示逻辑运算结果时,以数值 1 代表“真”,以 0 代表“假”。√ 33. 可以用 swicth 结构实现的程序都可以使用 if 语句来实现。√ 34. continue 语句的作用是使程序的执行流程跳出包含它的所有循 环√ 35. 如果形参与实参的类型不一致,以实参类型为准 36. C 语言中只能使用单行注释。√ 37. C 语言中普通字符型变量在内存中占 1 个字节。 39. 若 a 为 float 变量,则语句 scanf("%7.2f",&a);是一个合法的 scanf 函数。 40. 逻辑运算符“!”的优先级高于算术运算符和关系运算符。√ 41. continue 语句的作用是结束整个循环的执行 ×
循环体内不能使用复合语句 × 80. C 程序一行只能写一个语句。× 81. 变量可以先使用后定义。× 82. ‘\101’是 4 个字符 83. 在赋值表达式中,赋值运算符=的左边可以是表达式,例如 a+b=5。× 84. 下 面 程 序 段 给 x 赋 值 , 是 否 正 确 ? int x,*p=&x; scanf("%d",p); 85. getchar 函数没有参数。× 86. 条件表达式 a>b?a:b+1 等价于(a>b?a:b)+1 87. 若有 int i=10,j=0;则执行完语句 if (j=0)ⅰ+ +; else i- -; i 的值为 11。 88. “一个单精度指针变量能赋任何变量的地址、任何数组名、任何 指针变量的值。”这种说法正确否? 89.exe 文件是可执行文件。√ 90. 若有定义 int x;则 x 为有符号整型变量。√ 91. 二元运算符(例如+、-)均可以和赋值运算符构成复合的赋值运 算符。 92. do 一 while 循环由 do 开始,用 while 结束,在 while(表达式)后 面不能写分号 × 93. 若有定义语句:double a, *p=&a ;定义语句中的*号是一个 间址运算符。这种说法是否正确?
1. 一个 C 程序可以由多个源文件组成。√ 2. 字符变量可以不定义直接使用。× 3. 自增、自减运算符既可用于变量,又可用于常量和表达式。× 4. 在结构化程序设计中,循环结构就是无休止地反复执行某一部分 的操作。×
5. 在执行语句 scanf("%d,%d",&a,&b);时,正确的数据输入形式是 3,4<回车>。 √ 6. 表达式‘c’&&‘d’的值为 0。 7. if 语句不可以嵌套。× 8. 在 do 一 while 循环体中,一定要有能使 while 后表达式值变为零 ("假")的操作√ 9. 若已定义的函数有返回值,函数调用可以作为一个函数的形参 × 10.若有定义语句:double a, *p=&a ;定义语句中的*号是一个 间址运算符。这种说法是否正确?× 11. 注释不宜太多也不能太少,注释语言必须准确、易懂、简洁√ 12. C 语言中标识符是区分大小写的。√ 13. 5’与 5 是一样的。 14. 空语句可以用来作为循环语句中的循环体(循环体是空语句,表 示循环体什么也不做)。√ 15. C 语言中,字符数据用格式说明"%s"来输出,字符串数据用格式 说明"%c"来输出。× 16. 表达式‘a’<‘z’的值是 1。 17. if(a=5)是合法的。√ 18. break 语句仅能使用在 switch 结构中 × 19. 定义函数时,形参的类型说明可以放在函数体内 × 20. 有定义:float *p=1024;是否正确。× 21. #include 命令不能包含用户自己建立的头文件。×
34.在 C 语言中,常数 045 跟 45 等值。 错 35.在所有运算符中,逗号运算符的优先级最低。 对 36.空语句可以用来作流程的转向点,即流程从程序其他地方转到此 语句处。 对 37.若 a 为整型变量,则语句 scanf( “%d” ,a) ;是合法的。 错 38.关系运算符“<=”和“==”的优先级相同。 错 39.If 语句的嵌套是指在 if 语句中又包含一个或多个 if 语句。对 40.For、while、do-while 循环中的循环体均可以由空语句构成。错 41.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是 随 机值。 错 42.有定义:float x,*p=&x;是否正确? 对 43.自增,自减运算符既可以用于变量,又可用于常量和表达式。 错 44.字符变量可以不定义直接使用。 错 45.在逻辑表达式的求解中,并不是所有的逻辑运算都被执行。对
17.全局变量的作用域一定比局部变量的作用域范围大。 错 18.C 程序一行只能写一个语句。 错 19.C 语言的数据类型只有 int 型、float 型、char 型。 错 20.表达式 1\4*3 的值是 0.75。 错 21.关系运算符的优先级高于逻辑运算符(不包括! ) 。 对 22.若有 int i=10,j=0;则执行完语句 if(j=0)i++;else i--; i 的值为 11。 错 23.Continue 语句的作用是结束整个循环的执行。 错 24.若有定义语句:double a,*p=&a;定义语句中的*号是一个间址 运 算符,这种说法是否正确? 错 25.注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 对 26.变量可以先使用后定义。 错 27.在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量 的类型将转换为左边量的类型。 对 28.a=b+c=1 是正确的赋值表达式。 错 29.用 putchar 函数可以输出能在屏幕上显示的字符,也可以输出屏 幕控制字符及其他转义字符。 对 30.表达式‘c’&&‘d’的值为 0。 错 31.If(a=5)是合法的。 对 32.静态(static)类别变量的生存期贯穿于整个程序的运行期间。 对 33.源文件经过编译可得到目标文件。 对