一、 判断题:
1. C程序的基本组成单位是函数
2. C程序可以由一个或多个函数组成
3. C语言可以不用编译就能被计算机识别执行
4. main()函数必须放在其它函数之前
5. 每个C程序中都必须要有一个main()函数
6. 在C程序中main()函数的位置是固定的
7. C程序中的main()函数必须放在程序的开始位置。
8. C语言编译时不检查语法
9. C程序中注释部分可以出现在程序中任意合适的地方
10. C程序中一行可以写多条语句
11. 分号是C语句之间的分隔符,不是语句的一部分
12. 花括号“{”和“}”只能作为函数体的定界符
13. C程序中的每行只能写一条语句
14. C程序的执行总是从main函数开始,在main函数结束
15. C程序的执行总是从main函数开始,在程序的最后一个函数中结束
16. ++(i+1);是非法的赋值语句
17. 用户标识符中不可以出现中划线,但可以出现下划线
18. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头
19. C语言中,Area与area是不同的标识符
20. C语言中有逻辑类型
21. int a=b=0;是正确的定义语句。
22. 1.2E0.5是符合C语言语法的实型常量
23. 假定x和y为double型,则表达式x=2,y=x+3/2的值是3.500000
24. 可以用关系运算符对字符串的大小进行比较
25. 两个字符串中的字符个数相同时才能进行字符串大小的比较
26. 设有定义语句:char b= '\123';则变量b包括4个字符
27. 若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是9
28. a=b+c=1 是正确的赋值表达式
29. 若变量a、i已正确定义,且i已正确赋值,则 a=a++=5; 是正确的赋值语句( )
30. 除逗号运算符外,赋值运算符的优先级最低
31. C语言中,运算对象必须是整型数据的运算符是 %。
32. 对于单目运算符++、—,它们的运算对象可以是任何变量和常量
33. 表达式:10!=9的值是 true
34. 表达式1||2||3||4的值是1。
35. 若变量c为char类型,则表达式(c>= 'a')&&(c<= 'z') 能正确判断出c为小写字母
36. 若变量c为char类型,则表达式 'a'<=c<= 'z' 能正确判断出c为小写字母
37. sizeof(float)的值是4
38. sizeof(double)是一种函数调用
39. if(x是正确的if语句。
40. if(x>y); 是正确的if语句。
41. 用do-while语句构成的循环,在while后的表达式为零时结束循环
42. do-while语句构成的循环只能用break语句退出
43. 对for(表达式1; ; 表达式3)可理解为 for(表达式1;0;表达式3) 。
44. break语句只能用于switch语句体中
45. continue语句的作用是:使程序的执行流程跳出包含它的所有循环
46. 在循环体内使用break语句和continue语句的作用相同
47. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
48. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6
49. 若有定义:int a[2][3];对a数组元素正确引用的是a[2][3]
50. 若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。
51. 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
52. 字符型数组中可以存放字符串
53. 可以对整型数组进行整体输入、输出
54. 函数中的形式参数是局部变量
55. 在不同的函数中可以使用相同名字的变量
56. 在一个函数内定义的变量只在本函数范围内有效
57. 函数的定义和函数的调用均可以嵌套
58. 函数的定义可以嵌套,但函数的调用不可以嵌套
59. 函数的形参和实参分别占用不同的存储单元
60. C语言中,每个函数都可以被其它函数调用(包括main函数)
61. C语言中,在一个函数内部可以定义另一个函数
62. 实参和与其对应的形参共同占用一个存储单元
63. 只有当实参和与其对应的形参同名时才共占用存储单元
64. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,B)));在此函数调用语句中实参的个数是6
65. 用户定义的函数中可以没有return语句
66. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
67. 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址
68. 若用数组名作为实参,则传递给形参的是数组中全部元素的值。
69. C语言中形参的默认存储类别是自动(auto)。
70. C语言中,宏替换没有数据类型限制
71. C语言中,宏名必须用大写字母表示
72. C程序对预处理命令行的处理是在程序执行的过程中进行的
73. 两个字符串中的字符个数相同时才能进行字符串大小的比较
74. 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址
75. break语句只能用于switch语句体中
76. C程序中的main()函数必须放在程序的开始位置。
77. if(x>y); 是正确的if语句。
78. ++(i+1);是非法的赋值语句
79. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,B)));在此函数调用语句中实参的个数是6
80. 函数的形参和实参分别占用不同的存储单元
81. 在不同的函数中可以使用相同名字的变量
82. 表达式:10!=9的值是 true
83. C语言中,宏替换没有数据类型限制
84. C程序中注释部分可以出现在程序中任意合适的地方
85. 设有定义语句:char b= '\123';则变量b包括4个字符
86. 用do-while语句构成的循环,在while后的表达式为零时结束循环
87. if(x是正确的if语句。
88. continue语句的作用是:使程序的执行流程跳出包含它的所有循环
89. 1.2E0.5是符合C语言语法的实型常量
90. 若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是9
91. 若变量c为char类型,则表达式 'a'<=c<= 'z' 能正确判断出c为小写字母
92. 可以用关系运算符对字符串的大小进行比较
93. 每个C程序中都必须要有一个main()函数
94. 函数的定义和函数的调用均可以嵌套
95. sizeof(float)的值是4
96. C语言中有逻辑类型
97. 字符型数组中可以存放字符串
98. 分号是C语句之间的分隔符,不是语句的一部分
99. C程序可以由一个或多个函数组成
100. 若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。
101. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
102. C语言中,每个函数都可以被其它函数调用(包括main函数)
二、 单选题
1. 以下说法中正确的是( )
A) C语言程序总是从第一个的函数开始执行
B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分
2. 下选项中不是C语句的是( )。
A) {int i; i++; printf(“%d\n”,i);}
B) ;
C) a=5,c=10
D) { ; }
3. 以下选项中不能作为C语言合法常量的是
( )
A) 'cd'
B) 0.1e+6
C) "\a"
D) '\011'
4. 若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为( )。
A) 1
B) 2
C) 3
D) 不确定
5. 以下能正确定义整型变量a,b和c并为其赋初值1的语句是( )。
A) int a=b=c=1;
B) int a,b,c=1;
C) a=b=c=1;
D) int a=1,b=1,c=1;
6. 字符串"\t\065\xff\n"中的字符数(不算’\0’)为( )
A) 5
B) 14
C) 8
D) 4
7. 对两个静态函数A和B进行如下初始化:
char A[]="ABCDEF";
char B[]={'A','B','C','D','E','F'};
则下列叙述正确的是( )。
A) A和B完全相同
B) A和B只是长度相等
C) A和B不相同,A是指针数组
D) A数组长度比B数组长
8. 若有以下定义:
char a;int b;
float c;double d;
则表达式a*b+d-c值的类型为( )
A) float
B) int
C) char
D) double
9. 在C语言中,运算对象必须是整型数的运算符是( )
A) %
B) /
C) %和\
D) **
10. 有以下程序
main()
{ int x, y, z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是
( )
A) 2,3,3
B) 2,3,2
C) 2,3,1
D) 2,2,1
11. 以下选项中,当x为大于1的奇数时,值为0的表达式是( )
A) x%2==1
B) x/2
C) x%2!=0
D) x%2==0
12. 以下程序的输出结果是( )。
main()
{
int x=10,y=3;
printf("%d\n",y=x/y);
}
A) 0
B) 1
C) 3
D) 不确定的值
13. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )
A) -3
B) 9
C) -12
D) 6
14. 有以下程序
main()
{
char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是
( )
A) b,b
B) b,c
C) a,b
D) a,c
15. 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( )
A) 0
B) 1
C) 2
D) 3
16. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )
A) 不定值
B) 4
C) 3
D) 1
17. 有以下程序段
int k=0
;
while(k=1)k++;
while循环执行的次数是( )
A) 无限次
B) 有语法错,不能执行
C) 一次也不执行
D) 执行1次
18. 能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是( )
A) a>=10 or a=10
B) a>=0|a<=10
C) a>=10&&a<=0
D) a>=10||a<=0
19. 表示关系x≤y≤z的c语言表达式为( )
A) (x<=y)&&(y<=z)
B) (x<=y)AND(y<=z)
C) (x<=y<=z)
D) (x<=y)&(y<=z)
20. 设有:int a=1, b=2, c=3, d=4, m=3, n=3; 执行 (m=a>b)||(n=c>d)后n的值为( )。
A) 0
B) 1
C) 2
D) 3
21. 以下关于逻辑运算符两侧运算对象的叙述中正确的是
( )
A) 只能是整数0或1
B) 只能是整数0或非0整数
C) 可以是结构体类型的数据
D) 可以是任意合法的表达式
22. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
案例C语言计算机专业编程程序题目:复习期末指导
2019-06-13