天津城市建设学院高级程序C语言期末考试范围 第1页,共21页
单项选择题(共78道)
1. 下列程序的输出结果: 没有赋值,程序
不执行 #include
printf(\ }
2. 下列关于C语言用户标识符的叙述中,
正确的是:用户标识符不可出现中划线,但是可以出现下划线
3. 下列表达式中,正确的是:
x=a*a+b*b+c*c 4. 以下程序中,执行 int m=0xabc,
n=0xabc; m+=n; printf(\m); 后的输出结果: 0
5. x, y, t 均为int 型变量,则执行x=y=3;
t=++x || ++y 语句后,输出结果是: 3 6. 10!=9 的值是: 1
7. i是整型变量, 循环for(i=1; i<3; i++)执行 3 次。
8. 下列数组语句中错误的是 :static int a[][]={{1,2,3}, {4,5.6}}
9. static char str[10]= “China”中数组元素个数: 10 个
10. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递形式:单项传递
11. 当定义一个结构体变量时,系统分配给它的内存是:各成员所需内存的总和 12. 下列程序的输出结果: 6 #include
printf(\ else
printf(\
}
13. 下列符合C语言语法实型变量的是: 5E-3
14. 下列程序的输出结果: 3 #include
printf(\
}
15. 以下程序中,执行int a=14, b=15, x; char
c='A'; x=(a&&b)&&(c>'B') 后的输出结果: 0
16. 若w, x, y, z, m 均为int型变量,则执行: w=1, x=2, y=3, z=4;
n=(w 17. 以下程序中,循环结束的条件:p的值 等于12345或n不小于3 do { scanf(\ } while(p!=12345 && n<3) 18. 以下数组定义错误的是:int d[3][]={{1.2},{1,2,3},{1,2,3,4}} 19. 以下程序中,输入ab, 程序的运行结 果: b main() { static char a[2]; scanf(\ printf(\} 20. C语言规定:函数返回值类型是由定义该函数时所指定的函数类型所决定 21. 关于函数返回值的说法中,正确的是: 程序必须由1个1个以上的函数组成 22. 语句static struct(int a1; float a2; char a3); a[10]={1, 3, 5, ’A’}中,说明数组a是地址常量,它有: a[0] 个地址常量。 23. 以下合法的字符常量: ' \\010' 24. 下列选项中,可以作为C语言合法整数的是: 03ffa 25. 下列程序的运行结果是: 1 65 1.5 6.5 天津城市建设学院高级程序C语言期末考试范围 第2页,共21页 main() { int a; char c=10; float f=100.00; double x; a=f/=c*(x=6.5); printf(\ } 26. a, b, c, d, m 均为int变量,且a=6, b=5, c=7, d=3, m=2,则语句(m=a>b)&&(n=c 的switch语句: ④ 28. C语言中下列叙述正确的是: do…….while语句构成循环,当while语句中表达式等于0时结束循环。 29. 如果int a[3][4],则a的数组元素非法 引用: a[0][a] 30. char a[10] 已经正确定义,以下语句中 不能从键盘中给数组a的所有元素输入值的语句的选项是: a=getchar() 31. 如果函数值的类型与返回值不一致,以函数值类型为准 32. 相同结构体类型的变量之间,可以 赋值 33. 下列选项中,错误的八进制或十六进制 数是: 086 34. 程序段int x=3, y=2, z=1; printf(\ %d\\n\(++x, y++), z>2);的输出结果: 13 3 35. a, b, c均为整型变量,且a=3, b=4, c=5, 则下面语句中,值等于0的表达式是: ((a 中有调用关系的所有函数必须放在同一个函数中 37. 当 int a=3后,执行语句a+=a-=a*后,a 的值: -12 38. 当 int a=10执行语句a+=a-=a*后,a的 值: -180 39. 以下程序中,while的循环次数: 死循环,不能确定循环次数 #include i++ } } 40. 下列字符序列中,可用作C语言标识的 一组字符序列是: D56, r 1 2, name, s[] 41. 以下程序段(n所赋的值是八进制数) 的输出结果: 32767 32767 m=32767, n=032767; printf(\ 42. while 和do……while的区别: do……while循环体至少无条件执行一次 43. 下列定义数组的语句中,正确的是: #define size10; char str1[str1 size], str2[size+2] 44. C语言规定:简单变量做实参时,它和 对应形参之间数据传递形式: 单项值传递 45. 对结构体类型的变量成员访问,无论如 何必须使用的一个字符: . 46. 以下选项中属于C语言数据类型:单双精度型 47. 对于单目运算符++,--的叙述正确的 是:它们的运算对象可以是char型变 量,int型变量和float型变量 48. 下列程序的运行结果是: 1 #include d=!a&&!b||!c; 天津城市建设学院高级程序C语言期末考试范围 第3页,共21页 printf(\ } 49. 执行下列程序段后,k的值是: 0 r=1, n=203; k=1; do { k*n*r, n\\=10, r++ } while(n); 50. 定义int t[3][2], 则正确表示t元素存放 地址的选项是: t[2] 51. char a[10] 中,不能将字符串\存放在数组 a, \中。 52. 设a和b均为double 变量,且a=5.5,b=2.5,则(int)a+b/b的值: 6.000000 53. 以下选项中,非法的字符常量: “\\n” 54. x和y是整型变量,且x=100,y=200, 则printf(\的值: 200 55. 为了避免嵌套条件分支语句if……else 的二义性,C语言规定:C程序中的else总是与在其之前未配对的最近的if组成配对关系 ?1(x?0)56. 有一函数y???0(x?0) ,以下???1(x?0)程序片断中不能计算y的是: y=0; if(x>=0) if(x>0) y=1; else y=-1 57. 以下语句中,功能和其它语句不同的是:if(a==0) printf(\x); else printf(\ 58. 语句for(x=0; y=0(y!1 2 3)&&(x<4);x++) 的循环执行 4 次。 59. 下列描述中,错误的是:函数调用可以作为函数的一个形参 60. 执行下列程序段后的结果是: a b main() { char a='a', b; printf(\ printf(\} 61. 以下对二维数组a的正确说明是: double a[1][4] 62. 下列选项中,不属于C语言类型: long short 63. 执行下列程序段后的结果是: 11 10 #include int i=10, j=10; printf(\ j--); } 64. 下列程序段中while的循环次数: 无限次 int k=0; while(k=1) k++; 65. int i, j, a[2][3],按照数组a的元素在内 部的排列顺序,不能将1,2,3,4,5,6存入数组a的一个选项是:for(i=1; i<=6; i++) a[i][i]=i; 66. 语句char array[]=\中,数组array 占据 6 个字节。 67. C程序中规定:函数的定义不可嵌套,但是函数的调用可以嵌套 68. 定义 long x=123456L,则正确的输出x 的语句是:printf(\ 69. 使a和b同时为正或同时为负的语句: a*b>0 70. 有关for循环的正确说法:for循环的循 环体语句中,可以包含多重语句,但必 须用花括号括起来 71. C语言中标识只能由字母,数字和下划线3种字符组成,且第一个字符必须是 字母或下划线 72. 以下选项中正确的是:C语言中,根据 函数能否被其它源文件调用,被区分为内部函数和外部函数 73. 成员定义类型的定义允许嵌套是指:成员是已经或正在定义的结构类型 74. x, y均为double 变量,则y=x+3/29的值: 2.0 75. 下列程序的运行结果是: 6 20 main() { char st[20]='9hello\\0\\t\\\\'; printf(\%d\\n\strlen(st), sizeof(st)); 天津城市建设学院高级程序C语言期末考试范围 第4页,共21页 } 76. 定义语句正确的是: int a=10, *b=&a 77. 当 int a[][3]={1,2,3,4,5,6,7}时,a数组第一维的大小: 3 78. C语言中,定义结构体的保留字段: struct 程序阅读题(选择题,共48道) 1. 以下程序中,输入0,程序输出结果: #include int i; for(i=1; i<3; i++) { scanf(\ switch (k) { case '0': printf(\ case '1': printf(\ } } } 答案:another number number 2. 以下程序中,当x等于6时的输出结果: #include printf(\ else printf(\} 答案: 5 3. 以下程序中,a[1][2]的值: #include p=&a[0][0]; for(i=1; i<9; i++) p[i]=i+1; printf(\ } 答案: 6 4. 以下程序中,a的值: #include for(a=1, b=1; a<100; a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } printf(\ } 答案: 8 5. 下列程序的运行结果是: #include s++; } 天津城市建设学院高级程序C语言期末考试范围 第5页,共21页 } main() char str1[100]=\ { ss=str1, c; c='d'; printf(\ } 答案:str1=abcDDfefDbD 6. 下列程序的运行结果是: #include i=sizeof(a); j=strlen(a); printf(\ %d\\n\ } 答案: 7 8 7. 下列程序的运行结果是: #include } void main () { int i, a=0; for(i=0; i<5; i++) printf(\ } 答案:15 8. 下列程序的运行结果是: #include { int i, sum; for (i=1; i<6; i++) sum+=i; printf(\ } 答案: 死循环 9. 下列程序的运行结果是: #include for(i=0; i<5; i++) { switch (i) { case 0: case 1: case 3: a+=2; case 2: a+=3; default: a=+=5; } } printf(\ } 答案:31 10. 下列程序的运行结果是: #include int a=0, b=4,c=3,d=2; if(a>b>c) printf(\ else if ((c-1)>=d==1) printf(\ else printf(\ } 答案: 3