C程序设计复习题(2014-1)
《程序设计基础》复习题
一、选择题
1.下列选项中,合法的C语言变量名是(A)。P49
A、_123abc
B、123f
C、default
D、c\abc
2.设有定义:char str[20];能将“C program”输入给str的语句是(A)。
A. gets(str);
B. getchar(str);
C. puts(str);
D. scanf(“%c”, str);
3.在C语言中,合法的字符常量是:( A)
A. ‘\x43’‘
B. \084’
C. ‘ab’
D. “\0”
4.C程序从(A )开始执行。
A、main函数
B、printf函数
C、第1条语句
D、scanf函数
5.按照C语言规定,可以作为函数名的是(A)。
A、define
B、O**K
C、fun. c D)、ab$c
6.执行语句printf(“%c\n”,getchar());当键盘输入student<回车>时,结果为(A)。
A s
B student
C student‘\0’
D t
7、设u=56,v=37,则语句printf(“%d\n”,u
A.37 B. 56 C. u D. u
8.以下程序的输出结果是(A) P149(strlen字符数组,不包括\0)
main()
{ char st[20]= "hello\0\t\\\";
printf(%d%d\n",strlen(st),sizeof(st)); }
A. 5 20
B. 9 9
C. 13 20
D.20 20
9.以下关于C语言的叙述正确的是:(A)
A. 从main()函数开始执行
B. 从#includ开始执行
C. 从程序中的第一条语句开始执行
D. 从scanf()开始执行
10.执行语句scanf(“%d%d%d”,&x,&y,&z);后,能将整数5,6,7分别赋给变量x,y,z的是:( A )P83
A 5└┘6└┘└┘7<回车>
B 5;6;7<回车>
C 5,6,7 <回车>
D x=5 ,y=6,z=7<回车>
11.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是(A ).P94
A、1
B、2
C、0
D、6、
12.叙述正确的是: ( A )
A. 指针就是地址;
第 1 页共8页
B. 形参不是局部变量
C. switch语句中必须有break语句;
D. 在一个函数内部的复合语句中定义的变量可以在本函数中有效;
13.以下程序段( ).
int m=0,n=0;
while(!m !=0) n+=++m;
printf("%d\n",n);
A.运行后输出1 B.控制表达式非法 C.运行后输出0 D.执行无限多次;
14.为了避免if else语句的二义性,C规定else与()配对。
A. 其之前最近未配对的if
B. 缩排位置相同的if
C.其之后最近未配对的if
D.同一行上的if
15.设变量x为float型且已赋值,则以下语句中能把x的值保留到小数点后两位,并将第3位四舍五入的是()
A、printf("%7.2d",x);
B、printf("%8.2f",x);
C、printf("%6.3f",x);
D、printf("%.3d",x);
16.以下程序的输出结果是:()
A. 2 0
B. 3 1
C. 3 2 1
D. 2 1 0
#include
void main()
{ int n=4;
while(n--)printf("%d ",--n);
}
17.以下程序的输出结果是:()
A. 21 14 7
B. 21
C. 14
D. 7
#include
void main()
{ int n=21;
do {
if(n%7)break;
printf("%d ",n);}
while(--n);
}
18.在与switch语句配套的case后的表达式:()
A. 只能是常量或常量表达式
B. 可以是变量或常量
C. 只能是常量c语言数组最大值最小值
D. 无论是常量还是变量,只要在执行时已经有值就行
19.设有定义:float a=2,b=4,h=3;其中a,b,h分别表示梯形的底和高,以下C语言表达式不能再去计算出梯形面积的是().
A、(1/2)*(a+b)*h
B、h/2*(a+b)
C、(a+b)*h/2
D、(a+b)*h*1/2
20.复合语句:{t=a; a=b; b=t; }的功能是()
A. 交换a,b的值
B. 求a,b,t的最小值
C. 求a,b的最大值
D. 求a,b,t的最大值
21、else应该和()配对使用。
A. 其前最后一个没有配过对的if
B. 其前第一个if
C. 其后最近的没有配过对if
D. 其前最后一个if
22.下列叙述正确的是:()
A. 外循环中的break语句将结束所有循环
B. 外循环中的continue语句将结束所有循环
C. 内循环中的break语句将结束所有循环
D. 内循环中的continue语句将结束所有循环23.设j为int型变量,则以下循环语句的执行结果是( ).
for(j=10;j>3;j--)
{ if(j%3)j--;
--j;--j;
printf("%d ",j);
}
A、7 4
B、6 3
C、7 3
D、6 2
24.下列描述中不正确的是()
A. 可以对整型数组进行整体输入、输出 B可以对字符型数组进行整体输入、输出
C. 字符型数组中可以存放字符串
D不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
25.语句strlen(strcat(“very”,” good!”))的值为()
A.9
B.10
C.11
D.不确定
26.数组名作为实参时实际上被处理成()。
A. 该数组首地址
B.该数组各元素的值
C. 该数组的长度
D.该数组的元素个数
27.字符串“I am a student。”占用()个字节。
A、15
B、16
C、14
D、13
28.下列对数组a的定义及初始化中,不正确的的是()
A、int a[2][]={0,1,2,3,4,5};
B、int a[][4]={3,5,6,9,2,1,7,4};

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。