选择题(每题2分,共计100分)
1. 分析下面的C程序, 输出结果是()
#include<stdio.h>
void main()
{
int num=0;
while(num<=2){
printf("%d ",num);
num++;
}
}
A. 1 2 3
B. 0 1 2
C. 2 3
D. 1 2
2. 以下对二维数组a的正确说明是( )。
A、 int a[3][]; B、 floatf a(3,4);
C、 double a[1][4]; D、 float a(3)(4);
3. 要将20赋值到数组Num的第三个元素,正确的方法是()
A. Num[3]=20
B. Num[2]=20
C. Num[4]=20
D. [3] Num=20
4. 在C语言中,已知字母A的ASCII码是65,则执行语句:char ch='A'+3; 后ch的值为( )
A. 不能确定
B. 68
C. C
D. D
5. 以下描述中正确的是( )。
A、由于do-while循环中循环体语句只能是-条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C、在do-while循环体中,-定要有能使while后表达式值变为零("假")的操作
D、 do-while循环中,根据情况可以省略while
6. 在C语言中,要求运算数必须是整型的运算符是()
A、 / B、 ++ C、 != D、%
7. 以下程序段()
x= -1;
do
{
x=x*x;
}while(!x);
A、是死循环 B、循环执行二次 C、循环执行-次 D、有语法错误
8. 在C语言中,下列正确的字符型常量是( )
A. "f"
B. '9'
C. #
D. 365
9. 在C语言中,下面( )是逻辑运算符中优先级最高的。
A. !
B. &&
C. ||
D. |
E. &
10. 以下述叙不正确的是()
A. 一个C源程序可以由一个或多个函数组成
B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中注释说明只能位于一条语句的后面
11. 为了避免在嵌套的条件语句If-else中产生二义性,C语言规定else子句,总是与( )配对。
A、缩进位置相同的if B、其之前最近的if
C、 之后最近的if D、同一行上的if
12. 下关于运算符优先顺序的描述中正确的是( )。
A、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B、逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
13. 分析如下C语言代码片段,输出结果为( )
int i=2,j;
j=i++;
printf(“%d,%d”,i,j);
A. 2,3
B. 3,3
C. 3,2
D. 2,2
14. 在C语言中, ()不是循环语句.
A. while语句
B. for语句
C. switch语句
D. do…while语句
15. 以上C语言代码的输出是()
#include<stdio.h>
void main()
{
int i=0;
for(;i<5;i++)
printf(“%d”, ++i);
}
A. 012345
B. 135
C. 024
D. 语法错误
16. 在C语言中,下列代码的输出结果是()
void main( )
{
printf ("%1.0f\n", sqrt(4));
}
A. 0
B. 2
C. 4
D. 16
17. 已知ch是字符型变量,下面不正确的赋值语句是()
A、 ch='a+b'; B、ch='\0'; C、ch='7'+'9'; D、ch=5+9;
18. 以下能对一维数组a进行正确初始化的语句是()
A. int a[5]=(0,0,0,0,0)
B. a[5]={}
C. int a[5]={0};
D. a={0,0,0,0,0};
19. 以下关于C语言函数中的return语句的说法,正确的是( )
A. return语句可以结束函数的运行
B. 在函数体中必须有return语句
C. 在无返回值的函数中不允许有return语句
D. 有返回值的函数中可以没有return语句
20. 在C语言中,逻辑运算符两侧运算对象的数据类型()。
A、只能是0或1 B、只能是0或非0正数
C、只能是整型或字符型数据 D、可以是任何类型的数据
21. 在C语言程序中,下列打印语句不正确的是()
A. printf("d%",18);
B. printf("%d",1.89);
C. printf("%f",18);
D. printf("%c",'m');
22. 在C语言程序中,有a、b两个整型变量,a的值为18,b的值为19,下列表达式的值不为1的是( )[选两项]
A. b/a
B. a++
C. b%a
D. a<b
23. 以下初始化数组正确的有()【选两项】。
A. int a[5]={1,2,3,4,5,6};
B. int a[]={1,2,3,4,5,6};
C. int a[5]={1,2,3};
D. int a[5]=1;
24. 下列代码能够正确定义数组的是()
A. int a[];
B. int[] a;
C. int a[5];
D. int[5] a;
25. 在二维数组“int a[4][3]={1,2,0,4,0,6,7,8};”中,下列表达式不能得到0的是()【选两项】。
A. a[3][2]
B. a[0][0]
C. a[1][1]
D. a[2][0]
26. 以下C语言程序的运行结果是()
int m=50,n=30;
if(m>n)
printf("m大");
printf("m=%d",m);
else
printf("n大");
printf("n=%d",n);
A. m大m=50
B. n大n=30
C. m大m=50 n大n=30
D. 语法错误不能运行
27. 以下正确声明point结构体数组的代码有()【选两项】。
struct point
{
int x;
int y;
};
A. struct point[5];
B. struct point ps[5];
C. point ps[5];
D. point[5] ps;
28. 在C语言中,以下scanf语句能够正常获取年龄的是()
int age;
A. scanf("%d");
B. scanf("%d",age);
C. scanf("请输入年龄%d",age)
D. scanf("%d",&age);
29. 以下C语言程序的运行结果是()
int count=1;
int sum=0;
while(count<5)
{
if(count%2==0)
continue;
sum+=count;
}
printf("%d",sum);
A. 1
B. 4
C. 5
D. 死循环
30. break语句的作用( )
A. 结束本次循环,进行下一次循环
B. break语句被执行且循环体中其后的其他语句都执行后,循环终止
C. break语句被执行后,循环体中其后的语句都将不被执行,循环直接终止
D. break语句和continue语句作用相同
31. 以下正确声明employee变量的代码有()【选两项】。
已定义结构体
struct employee
{
char id[8];
char name[20];
int age;
};
A. struct employee;
B. struct employee em;
C. struct em;
D. employee em;
32. while循环语句的特点是()
A. 先执行后判断
B. 不管条件是否成立,循环体至少被执行一次
C. while(表达式)后面不需要写分号,否则循环没有循环体
D. 循环体中可以有break语句,但不可以有continue语句
33. 设变量a是整型,f是实型,i是双精度型,则表达式while语句怎么输出10+'a'+i*f值的数据类型为( )
A. int
B. float
C. double
D. 不确定
34. 在C语言中, char型数据在内存中的存储形式是()
A. 补码
B. 反码
C. 原码
D. ASCII码
35. 设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是()
A. n=(n*100+0.5)/100.0
B. m=n*100+0.5 ,n= m/100.0
C. n=n*100+0.5/100.0
D. n=(n/100+0.5)*100.0
36. 表达式18/4*sqrt(4.0)/8值的数据类型为()
A. int
B. float
C. double
D. 不确定
37. 设C语言中,-个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )
A. 0~255
B. 0~32767
C. 0~65535
D. 0~2147483647
38. 设有说明: char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为( )
A. float
B. char
C. int
D. double
39. 若有以下定义,则能使值为3的表达式是( )
int k= 7,x =12;
A. x%=(k%= 5)
B. x%=(k-k%5)
C. x%=k- k%5
D. (x%=k)-(k%=5)
40. 设以下变量均为int类型,则值不等于7的表达式是()
A. (x= y= 6, x+y,x+1)
B. (x= y= 6,x+y,y+1)
C. (x= 6,x+1,y= 6,x+y)
D. (y=6,y+l,x = y,x+1)
41. gets函数可以从终端输入一个()
A. 整型变量表达式值
B. 实型变量值
C. 字符串
D. 字符或字符型变量值
42. 在C语言中,下列()是合法的标识符。(选择两项)
A. COUNT B. P234 C. 4x D. short
43. 已有如下定义和输入语句 ,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论