




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言复习材料适用范围:_ 出题教师:_试卷满分 99.75 分,考试时间 60 分钟;书写要工整、清楚、标点符号使用正确。题型单选题判断题填空题程序改错程序设计总分得分一、单选题,以下各题有多个选项,其中只有一个选项是正确的,请选择正确答案(本大题满分50分,每小题.5分)1. int i,j,a23;按照数组 a 的元素在内存的排列次序,不能将数1,2,3,4,5,6存入 a 数组的是( )。 A. for(i=1;i=6;i+)aii=i; B. for(i=0;i3;i+)for(j=0;j2;j+)aji=j*3+i+1; C. for(i=0;i6;i+)ai/3i%3=i+1; D. for(i=0;i2;i+)for(j=0;j3;j+)aij=i*3+j+1; 【答案】A 2. 用户定义的函数不可以调用的函数是( )。A. 本函数下面定义的B. 本文件外的C. main函数D. 非整型返回值的【答案】C 3. C 语言中运算对象必须是整型的运算符是() 。 A. / B. = C. % D. = 【答案】C 4. 有 定 义 :int a=8,b=5,c;, 执 行 语 句c=a/b+0.4;后,c 的值为 () A. 1 B. 2 解析:复制运算符两边的数据类型不相同,系统将会自动进行数据类型转换,也即是把赋值号右边的类型转换成左边的类型。实型赋给整形,舍去小数部分。详见P41C. 2.0 D. 1.4 【答案】A 5. 执行以下程序段后,输出结果和a的值是( )。 int a=10; printf(%d,a+);A. 11 和 11B. 10 和 10C. 10 和 11D. 11 和 10【答案】C 6. 以下数组定义中不正确的是( )。 A. int b3=0,1,2,3; B. int c100100=0; C. int a23; D. int d3=1,2,1,2,3,1,2,3,4; 【答案】D 7. 在C语言中,二维数组元素在内存中的存放顺序是( )A. 由编译器决定B. 按列存放C. 按行存放D. 由用户自己定义【答案】C 8. 下列叙述正确的是( )。A. 在调用函数中对被调函数的声明是必不可少的B. 声明函数时必须明确其参数类型C. 函数的定义和调用都不可以嵌套D. 函数可以返回一个值,但不能什么值都不返回【答案】B 9. 对以下说明语句 int a10=6,7,8,9,10; 的正确理解是( )。A. 将5个初值依次赋给a1至a5B. 将5个初值依次赋给a0至a4C. 因为数组长度与初值的个数不相同,所以此语句不正确D. 将5个初值依次赋给a6至a10【答案】B 10. 下列程序运行结果为:( )。#define P 3#define SA 3+5main() int ar; ar=P*SA*SA; 解析:表示3*3+5*3+5 printf(n%d,ar); A. 192B. 25C. 29D. 27【答案】C 11. C语言中不可以嵌套的是( )。A. 循环语句B. 函数定义C. 函数调用D. 选择语句【答案】B 12. 若已定义:int a=3,b=4,c=5 ;,则下面表达式中值为0的是( )。A. a|b+c&b-cB. a=bC. a&bD. !(a=10 & a=10 or a=10 | a=0 | ay?+x:+y 的值为( )。 int x=1,y=2,z=3; A. 6 / z+=(xy?+x:+y) B. 2 】C. 3 D. 5 【答案】A 26. 以下不正确的说法是:C 语言规定( )。 A. 形参可以是常量,变量或表达式 解析:形参不能是常量,只能是变量B. 实参可以是常量,变量或表达式 C. 形参应与其对应的实参类型一致 D. 实参可以为任何类型 答案】A 27. 以下程序段的输出结果为() 。 for(i=4;i1;i-) for(j=1;ji;j+) putchar(#); 解析:?A. # B. # C. 无 D. # 【答案】A 28. 以下程序的输出结果是( )。main() int a = 2, b =5; printf(a=%d,b=%dn,a, b); A. a=%2,b=%5B. a=%d,b=%dC. a=2,b=5D. a=%d,b=%d 解析:格式控制字符串形式:%格式字符串,所以第一个%已经履行了他的职责,第二个就不能重复其功能了,所以%d成了一个整体。【答案】D 29. 下列数据中,为字符串常量的是() 。 A. house B. A C. $abc D. How do you do. 【答案】A 30. 有定义:int a10;合法的数组元素的最小下标值为( )。A. 10B. 0C. 1D. 9【答案】B 31. 下列语句的结果是( )。main() int j; j=3;printf(%d,+j); printf(%d,j+);A. 3,3B. 4,4C. 3,4 解析:?D. 4,3【答案】B 32. 已知字符A的ASCII代码值是65,字符变量c1的值是A,c2的值是D.执行语句printf(%d,%d,c1,c2-2);后,输出结果是( )。A. 65,68B. A,BC. A,68D. 65,66 解析:A是65,B是66,依次往后推,【答案】D 33. 假定所有变量均已正确定义,下列程序段运行后 x 的值是( )。 k1=1; k2=2; k3=3; x=15; if(!k1) x-; else if(k2) x=4; else x=3; A. 3 B. 15C. 4D. 14【答案】C 34. 一个C语言源程序中,main函数的位置( )A. 必须在自定义函数的前面B. 必须在最开始 C. 必须在自定义函数的后面D. 可以放在某一用户函数定义之前,也可以放在某一用户函数定义之后 解析:课件PPT上有【答案】D 35. 设有说明:char w;int x;float y;double z;则表达式 w*x+z-y 值的数据类型为() 。 A. char B. float C. int D. double 解析:考察混合运算时数据类型转换,所有浮点运算都是以双精度进行的,既是float参与运算时,必须先把float自动转换成为double型。【答案】D 36. C 语言规定,在一个源程序中,main 函数的位置( )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 必须在最后 D. 可以任意 【答案】D 37. 下列数组说明中,正确的是() 。 A. int array4; B. int array; C. int array3; D. int array5; 【答案】A 38. 执行int a4=2,3,5,7,8,9,11,13,15;语句后,a12的值是( )。A. 5B. 9C. 3D. 11【答案】D 39. 以下程序的输出结果为( )。 main( ) int a=1,b=2,c=3,d=4,e=5; printf(%dn,func(a+b,b+c,c+a),(d+e); int func(int x,int y) return(x+y); A. 函数调用出错 B. 9 C. 13 D. 15 【答案】C 40. 以下关于运算符优先顺序的描述中正确的是( )。A. 关系运算符算术运算符赋值运算符逻辑运算符B. 算术运算符关系运算符赋值运算符逻辑运算符C. 赋值运算符逻辑运算符关系运算符算术运算符D. 逻辑运算符关系运算符算术运算符0;i-) x=(x+1)*3; printf(%d,x);A. 27B. 54C. 66D. 9【答案】C 44. 以下函数调用语句中实参的个数是( )。exce(v1,v2),(v3,v4,v5),v6); A. 5 B. 6 C. 4 D. 3 解析:在函数声明后,函数调用的一般形式:函数名(实际参数表达式1,实际参数表达式2,)【答案】D 45. C 语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是() 。 A. 由用户指定的传递方式B. 由实参传给形参,再由形参传回给实参 C. 单向值传递 D. 地址传递 【答案】C 46. 若变量已正确定义,以下程序段的输出结果是( )。x=5.16894; printf(%fn, (int)(x*1000+0.5)/(float)1000);A. 输出格式说明与输出项不匹配,输出无定值B. 5.17000C. 5.169000D. 5.168000【答案】C 47. 若有说明语句:char c=72;则变量c中( )。A. 包含2个字符B. 说明不合法,c的值不确定C. 包含3个字符D. 包含1个字符 解析:字符常量是用单撇号括起来的一个字符。用反斜杠引导的一个或者几个字符也表示字符常量,【答案】D 48. 若使用一维数组名作函数实参,则以下正确的说法是( )。 A. 实参数组类型与形参数组类型可以不匹配 B. 实参数组名与形参数组名必须一致 C. 必须在主调函数中说明此数组的大小 D. 在被调用函数中,不需要考虑形参数组的大小 【答案】C 49. 在C语言中要求运算数必须是整形的运算符是( )。A. %B. / C. +D. *【答案】A 50. 以下描述中,正确的是( )。 A. C 源程序中凡是行首以#标识的控制行都是预处理指令 B. 预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备 C. 预处理是指完成宏替换和文件包含中指定的文件的调用 D. 预处理指令只能位于 C 源文件的开始 【答案】A 51. 以下关于C语言的叙述中正确的是 ( )。A. 函数是构成C程序的基本单位,所有函数都是由由用户命名的B. 花括号和只能作为函数体的定界符C. 逗号是C语句之间的分隔符,用来分隔语句D. C程序中注释符号是/*与*/,它们一定要成对出现【答案】D 52. C 语言源程序的基本单位是( )。 A. 函数 B. 标识符 C. 子程序 D. 过程 【答案】A 53. 假定所有变量均已正确定义,下列程序段运行后x的值是( )。k1=1; k2=2; k3=3; x=15;if(!k1) x-;else if(k2) x=4;else x=3;A. 3B. 4C. 15D. 14【答案】B 54. 下列叙述正确的是( )。A. 函数的定义和调用都不允许嵌套B. 函数的定义允许嵌套,但函数的调用不允许嵌套C. 函数的定义不允许嵌套,但函数的调用允许嵌套D. 函数的定义和调用都允许嵌套【答案】C 55. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。 A. 整型常量或整型表达式 B. 整型表达式 C. 整型常量 D. 任何类型的表达式 【答案】A 56. 以下对C语言函数的描述中, 正确的是 ( )。 A. 函数必须有返回值,否则不能使用函数 B. C 程序必须由一个或一个以上的函数组成 C. C 函数既可以嵌套定义又可以递归调用 D. C 程序中有调用关系的所有函数必须放在同一个程序文件中 【答案】B 57. 先用语句定义字符型变量 c,然后要将字符a 赋给 c,则下列语句中正确的是( )。 A. C=97 B. c=a; C. c=a; D. c=97; 、【答案】C 58. 以下对一维整型数组a的正确说明是( )。A. int n; scanf(%d,&n); int an;B. int n=10,an;C. int a(10);D. #define SIZE 10 int aSIZE;【答案】D 59. 在定义:int a10;之后,对数组a元素引用正确的是( )。A. a10B. a10-1C. a(7)D. a5,5【答案】B 60. 若有说明: int a4=0,0;则下面不正确的叙述是(). A. 因为初值个数为2,a 的第二维大小为4,2/4+1取整等于1,则 a 的行数为1 B. 数组 a 的每个元素都可得到初值0 C. 二维数组 a 的第一维大小为1。 解析:如果提供全部的初始值数据,此时可以不指定 第一维的长度,系统会根据初始值数据的个数和第二维的长度自动计算a的第一维长度。 D. 有元素 a00和 a01可得到初值0,其余元素均得不到初值0 【答案】D 61. 一个 C 语言程序是由( )。 A. 若干子程序组成 B. 一个主程序和若干子程序组成 C. 若干过程组成 D. 函数组成 【答案】D 62. 以下所列的C语言常量中,错误的是( )。A. 2LB. 1.2e0.5C. 0xFFD. 72【答案】B 63. 下面有关 for 循环的正确描述是 () A. 在 for 循环中,不能用 break 语句跳出循环体 B. for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 C. for 循环是先执行循环体语句,后判断表达式 D. for 循环只能用于循环次数已经确定的情况 【答案】B 64. C语言源程序中关于main函数的说法正确的是( )。A. 必须在自定义函数的后面B. 可以有多个main函数,但要指定从哪个开始执行C. 必须在自定义函数的前面D. 只能有一个main函数,而且一定从main函数开始执行【答案】D 65. C 语言程序中必须有的函数是( )。 A. scanf B. #include stdio.h C. printf D. main 【答案】D 66. 在 C 语言中, char 型数据在内存中的存储形式是( )。 A. ASCII 码 B. 原码 C. 反码 D. 补码 【答案】A 67. 有以下程序 main() int i; for(i=0; i3; i+) switch(i) case 1: printf(%d, i); case 2: printf(%d, i); default : printf(%d, i); 执行后输出结果是( )。A. 011122B. 012C. 012020D. 120【答案】A 68. 下列字符数组长度为5的是( )。A. char d6= h, a, b, c, 0 ;B. char b= h, a, b, c, d, 0;C. char a=h, a, b, c, d;D. char c10= h, a, b, c, d;【答案】C 69. 以下正确的描述是:在 C 语言程序中() 。 A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义和函数的调用均不可以嵌套C. 函数的定义和函数的调用均可以嵌套 D. 函数的定义不可以嵌套,但函数的调用可以嵌套 【答案】D 70. 以下能对二维数组 a 进行正确初始化的语句是() 。 A. int a24=1,2,3,4,5,6; B. int a3=1,0,1,1,1; C. int a3=1,2,3,4,5,6; D. int a2=1,0,1,5,2,3; 【答案】C 71. 用户定义的函数不可以调用的函数是( )。 A. main 函数 B. 本函数下面定义的 C. 非整型返回值的 D. 本文件外的 【答案】A 72. 对于 void 类型函数,调用时不可作为( )。 A. if 语句的成分语句 B. 循环体里的语句 C. 表达式 D. 自定义函数体中的语句 【答案】C 73. 以下不能对二维数组a进行正确初始化的语句是( )。A. int a23=2,1,3,4,6,5;#B. int a23=0;C. int a3=1,3,5,2,4,6;D. int a3=1,3,5,2,4,6;【答案】A 74. C语言中,定义结构体的保留字是( )。A. unionB. structC. enumD. typedef【答案】B 75. 执行下列语句后的输出为( )。 int j=-1; if(j+m;n=i+)i=n;B. for(i=10;i-)sum+=i;C. while(1)a+;D. for(;a+=i);【答案】A 78. 以下标识符中,不能作为合法的 C 用户定义标识符的是(). A. answer B. to C. int D. _if 【答案】C 79. 为了避免在嵌套的条件语句 if-else 中产生二义性,C 语言规定: else 子句总是与()配对。 A. 缩排位置相同的 if B. 其之后最近的 if C. 同一行上的 if D. 其之前最近的 if 【答案】D 80. 以下叙述正确的是:( )。A. 用do-while构成循环时,只有在while后的表达式为零时结束循环B. do-while语句构成的循环不能用其它语句构成的循环来代替。C. do-while语句构成的循环只能用break语句退出。D. 用do-while构成循环时,只有在while后的表达式为非零时结束循环【答案】A 81. 若希望当 A 的值为奇数时,表达式的值为真,A 的值为偶数时,表达 式的值为假,则以下不能满足要求的表达式是(). A. !(A%2=0) B. A%2 C. !(A%2) D. A%2=1 【答案】C 82. 以下叙述中正确的是 ( )。A. 分号是C语句之间的分隔符,不是语句的一部分B. 构成C程序的基本单位是函数,所有函数名都可以由用户命名C. 花括号和只能作为函数体的定界符D. C程序中注释部分可以出现在程序中任意合适的地方【答案】D 83. 以下程序段 char alp15=ABC,DEF,GHI; int j; puts(alp1); 的输出结果是( )。 A. D B. DEF C. A D. B ?【答案】B 84. 以下对整型数组a的正确说明是:( )。A. int n = 10, an;B. int n; scanf(%d,&n); int an;C. int a(10);D. #define SIZE 10 int aSIZE;【答案】D 85. 以下说法正确的是 A. C 语言程序中的 main()函数必须放在程序的开始部分 B. C 语言程序总是从 main()函数开始执行 C. 在 C 语言程序中,要调用函数必须在main()函数中定义 D. C 语言程序总是从第一个的函数开始执行 【答案】B 86. 以下程序中,while循环的循环次数是( )。main() int i=0; while(i10) if(i+y;x=i+) i=x; D. for(i=10;i-) sum+=i; 【答案】C 91. C 语言的注释定界符是( )。 A. * * B. /* */ C. D. 【答案】B 92. 若char a10;已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是( )。A. scanf(%s,a);B. a=getchar(); 解析:getchar只能是从输入设备上输入一个字符。C. for(i=0;i10;i+)ai=getchar();D. gets(a);【答案】B 93. 下列说法不正确的是() 。 A. 在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效 B. 不同函数中,可以使用相同名字的变量 C. 形式参数是局部变量 D. 主函数 main 中定义的变量在整个文件或程序中有效 【答案】D 94. 判断char型变量c是否为大写字母的正确表达式为( )。A. A=c=A)&(c=A)&(c=Z)D. (A=c) | (cy) z=x; else z=y; return(z); A. 72 B. 18 C. 27 D. 45 【答案】D 97. 根据以下已有定义和数据的输入方式,输入语句的正确形式为( )。已定义:float x,y;数据的输入方式:3.26 2.8A. scanf(%f%f,&x,&y);B. scanf(%f,%f,&x,&y);C. scanf(%3.2f,%2.1f,&x,&y); 解析:scanf函数中没有精度控制D. scanf(%3.2f%2.1f,&x,&y);【答案】A 98. C 语言中不可以嵌套的是( )。 A. 函数定义 B. 循环语句 C. 函数调用 D. 选择语句 【答案】A 99. 阅读以下程序,若从键盘输入5,则正确的输出结果是( )。void main() int x; scanf(%d,&x); if(x-b)=c 的值为真。【答案】 114. 通过 return 语句,函数可以带回一个或一个以上的返回值。 #只能带回一个【答案】 115. C 语言是一种结构化程序设计语言。【答案】 116. 在C程序中使用了全局变量会使程序的可读性变差,可移植性变差。【答案】 117. 十进制数15的二进制数是1111.【答案】 118. A是一个字符常量。【答案】 119. While 循环语句的循环体至少执行一次。【答案】 120. 字符串只能存放在字符型数组中. 【答案】 121. 有数组定义int a22=1,2,3;则a01的值为0。#这个赋值是错误的【答案】 122. a=(b=4)+(c=6) 是一个合法的赋值表达式。【答案】 123. C 语言规定:在一个源程序中,main 函数的位置必须在最开始。 【答案】 124. 将一个字符串abc赋给字符串变量 str 的方法是 str=abc。【答案】 125. 若有说明int c;则while(c=getchar();是正确的C语句。【答案】 126. return 后面括号里的表达式的值即是此函数的值。【答案】 127. 如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。【答案】 128. 循环结构中的continue语句是使整个循环终止执行【答案】 129. 如果想使一个数组中全部元素的值为0,可以写成 int a10=0*10;【答案】 130. C语言所有函数都可以被调用。.【答案】 131. C语言使用模块化程序设计能提高程序的可读性、健壮性与可移植性。【答案】 132. 函数调用可以出现在执行语句中,但不能出现在表达式中。【答案】 133. 由于主函数首部经常缩写成 main(),所以它不可能有形式参数。【答案】 134. while和dowhile循环不论什么条件下它们的结果都是相同的.【答案】 135. char c=Very Good; 是一个合法的为字符串数组初始化的语句。【答案】 136. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5);中,含有的实参个数是5.【答案】 137. 程序的基本结构中选择结构又叫分支结构,有单分支与多分支两种。【答案】 138. C 语言俗称低级语言的高级形式,这说明C 语言的功能不强。【答案】 139. C 语言中的标识符以字母或下划线开头,可跟任何字符。【答案】 三、填空题,根据题意,将正确答案补充完整(本大题满分15分,每小题2.25分)140. 结构化程序由_【1】_、选择、_【2】_ 三种基本结构组成。【答案】(顺序 或 循环),(顺序 或 循环) 141. /*在屏幕上输出整数1到20。*/ /* 注意填空的顺序*/main() int i; i=1; do printf(%d ,i); /*SPACE*/ 【1】; /*SPACE*/ while(【2】); printf(n); 【答案】(i+ 或 i+=1 或 i=i+1),(i=20 或 ib,就将两个数的位置调换;否则,保持不变。*/ /*请注意填空的顺序 */main() int a,b,temp; printf(nPlease input two int number:); scanf(%d%d,&a,&b); if(ab) /*SPACE*/ 【1】; /*SPACE*/ a=【2】; b=temp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 维修阀门井施工合同5篇
- 2025-2030人工智能辅助诊疗系统商业化应用与发展趋势预测报告
- 2025-2030亲子游学项目产品设计与发展障碍因素分析报告
- 2025-2030乳品添加剂行业政策风险与企业合规管理调研报告
- 2025-2030乳品添加剂在乳制品营养强化中的应用报告
- 2025-2030乡村振兴战略下实木建筑用材区域市场开发策略
- 2025-2030临床试验数字化解决方案市场需求与投资潜力报告
- 幼儿园创新营销方案设计
- 2025-2030中国鲜啤行业标准修订对市场洗牌影响
- 2025-2030中国高端酸奶产品差异化竞争战略研究报告
- 战火勋章答题题库及答案
- 流延膜设备安全操作培训课件
- 医学基础期末试题及答案
- 2025年放射诊疗培训试题及答案
- (零模)苏州市2026届高三年级期初阳光调研试卷 历史试卷(含答案)
- 九年级英语上学期第一次月考(广东卷)(原卷版)
- 码头生产调度管理办法
- 智能巡查机器人系统设计
- 3.2营造清朗空间教学设计 2025-2026学年统编版道德与法治八年级上册
- 教科版物理八年级上册《2.光的反射定律》听评课记录2
- (2025年标准)学生癫痫免责协议书
评论
0/150
提交评论