C语言测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
**学院课程考试试卷
课程名称:《C:使用C语言进入软件编程世界》 (A)卷
年级: 班级:
姓名:______BUKAILI_________ 学号:_________________ 考试(考查) 闭卷
题号 1-20 21-40 41-50 总分
分数
选择题(每题2分,共计100分)
1.在C语言中,下列( AB )是合法的标识符。(选择两项)
A. COUNT B. P234 C. 4x D. short
2.有数组int num [5] = {10,20,30,40,50};num[3]的值为( C )。 (选择一项)
A. 30 B. 50 C. 40 D. 20 E. 10
B
3.C语言中,while和do…while循环的主要区别是( B )。(选择一项)
A.while的循环控制条件比do…while的循环控制条件严格
B.do…while的循环 体至少无条件执行一次
C.do…while允许从外部转到循环体内
D.do…while的循环体不能是复合语句
4.以下正确的叙述有( CD )。(选择两项)
A.在C程序中,每行中只能写一条语句
B.在C程序中,Abc和abc是2个相同的变量
C.若a和b 的类型相同,在计算了赋值表达式a=b后b的值将放入a,而b的值不变
D.若a是float型变量,a=10是合法的,因为float型变量允许存放整型数
5.下面C代码的输出结果是( BC )。(选择一项)
int answer,result;
answer=100;
result=answer-10;
printf("The result is %d", result+5);
A.The result is 90 B. The result is 95
C. The result is 10 D. The result is 100
6.在C语言中,设有数组定义: char array [ ]="China"; 则数组 array所占的空间为( C )。(选择一项)
A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节
7.在C语言中,( A )是在所有函数外部声明的。(选择一项)
A. 全局变量 B. 局部变量 C. 形参 D. 实参
8.分析下面的C程序:
#include
void main()
{
int num=0;
while(num<=2){
num++;
printf("%d ",num);
}
}
输出结果是( A )。(选择一项)
A. 1 2 3 B. 0 1 2 C. 2 3 D. 1 2
9.分析下面的程序:
void fun (int a,int b,int c)
{
a=456; b=567; c=678;
}
void main()
{
int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,%d,%d\n",z,y,x);
}
输出结果是( A )。(选择一项)
A. 30,20,10 B. 10,20,30
C. 456,567,678 D. 678,567,456
10.阅读下面的C语言代码,输出结果是( B )。(选择一项)
int x, y = 1, z=0;
if ( z < 0 )
x = 3;
else if ( y == 0 )
x = 5;
else
x = 7;
printf("%d, %d", x, y);
A. 7, 0
B. 7, 1
C. 3, 3
D. 以上都不正确
11.要将20赋值到数组Num的第三个元素,正确的方法是( B )。(选择一项)
A. Num[3]=20 B. Num[2]=20 C. Num[4]=20 D. [3] Num=20
12.在C语言中,已知字母A的ASCII码是65,则执行语句:char ch='A'+3; 后ch的值为( D )。(选择一项)
A. 不能确定 B. 68 C. C D. D
13.下面的C语言代码段的输出结果是( C )。(选择一项)
int j;
for(j=1; j<10; j+=2)
printf("%d ",j);
A. 1 2 3 4 5 6 7 8 9 B. 2 4 6 8
C. 1 3 5 7
9 D. 1 2 4 6 8
14.在C语言中,表达式:10!=9 的值是( D )。(选择一项)
A. true B. 非零值 C. 0 D. 1
15.在C语言中,下列正确的字符型常量是( B )。(选择一项)
A. "f" B. '9' C. # D. 365
16.在C语言中,下面( B )是逻辑运算符中优先级最高的。(选择一项)
A. ! B. && C. || D. | E. &
17. 以下述叙不正确的是 ( D )(选一项)
A.一个C源程序可以由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中注释说明只能位于一条语句的后面
18.有定义语句:int b;char c[10];,则正确的输入语句是(B )(选一项)
A. scanf("%d%s",&b,&c); B.scanf("%d%s",&b,c);
C. scanf("%d%s",b,c); D. scanf("%d%s",b,&c);
19. 在C语言中,对上面的程序,正确的判断是(D ).(选择一项)
main()
{
int a,b;
scanf(“%d”,&x);
scanf(“%d”,&y);
if(x>y)
x+=y;
y++;
else
y+=x;
x++;
printf(“%d,%d”,x,y);
}
A 若输入数据1和4,则输出2和6
B 若输入数据4和1,则输出6和2
C 若输入数据4和4,则输出5和9
D 有语法错误,不能通过编译
20.分析如下C语言代码片段:
int i=2,j;
i++;
j=i;
printf(“%d,%d”,i,j);
输出结果为( B ).(选择一项)
A )2,3 B.3,3 C.3,2 D.2,2
21.在C语言中,( C )不是循环语句.(选择一项)
A.while语句 B.for语句 C.switch语句 D. do…while语句
22. 以上C语言代码的输出是( B )。(选择一项)
#include
void main()
{
int i=0;
for(;i<5;i++)
printf(“%d”, ++i);
}
A. 012345 B. 135 C. 024 D. 语法错误
23.在C语言中,下列代码的输出结果是( B )。(选择一项)
void main( )
{
printf ("%1.0f\n", sqrt(4));
} (选择一项)
A. 0 B. 2 C. 4 D. 16
24.C语言规定:在-个源程序中,main函数的位置 ( C )(选择一项)
A.必须在最开始 B.必须在系统调用的库函数的后面
C.可以任意 D.必须在最后
25.在C语言中,要求运算数必须是整型的运算符是。( D ) (选择一项)
A. / B. ++ C. != D.%
26.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num之后sum的值为( B ) (选择一项)
A. 7 B 8 C. 9 D. 10
27.设以下变量均为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)
28.下关于运算符优先顺序的描述中正确的是( )(选择一项)。
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B.逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
29.能正确表示"当x 的取值在[1,10]和[200,210]范围内
为真,否则为假"的表达式是( )(选择一项)。
A. (x>=1) &&(x<=10) &&(x> = 200) &&(x<=210)
B. (x>=1) || (x<=10) ||(x>=200) ||(x<=210)
C. (x>=1) &&(x<=10)||(x>= 200) &&(x<=210)
D. (x > =1)||(x< =10) && (x> = 200)||(x<=210)
30.判断char型变量ch是否为大写字母的正确表达式是( C )(选择一项)。
A.'A' <=ch<='Z' B.(ch> = 'A')&(ch<='Z' )
C.(ch>=' A' )&&(ch<='Z') D.(' A' < = ch)AND('Z'> = ch)
31.执行以下语句后a的值为:( C )(选择一项)
int a,b,c;
a= b= c= 1;
++a||++b&&++c
A.错误 B. 0 C. 2 D. 1
32.请阅读以下程序( D )(选择一项)
main()
{
int a=5,b=0,c=0;
if(a=b+c)
printf("***\n ");
e1se
printf("$$$\n");
以上程序 :
A 有语法错不能通过编译 B可以通过编译但不能通过连接
C 输出*** D 输出$$$
33.以下不正确的语句为:( B ) (选择一项)
A. if(x>y);
B. if (x= y) &&(x! = 0) x+= y;
C. if(x!= y)scanf("%d",&x); else scanf("%d",&y);
D.if(x< y){x++ ;y++;}
34.下面程序段的运行结果是( D ) (选择一项)
n=0;
while(n++<=2);
printf("%d",n);
A. 2 B. 3 C. 4 D.有语法错
35.以下描述中正确的是:( C ) (选择一项)
A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后表达式值变为零("假")的操作
D.do-while循环中,根据情况可以省略while
36.以下对二维数组a的正确说明是( C ) (选择一项)。
A. int a[3][]; B. floatf a(3,4);
C. double a[1][4]; D. float a(3)(4);
37.若有以下定义,则不正确的赋值语句是:( D )(选择一项)
int a,b=1;float x;
A. a=1,b=2; B.b++; C. a= b= 5; D. b= x;
38.以下能正确地声明整型变量a,b和c 并为其赋初值5的语句是( B ) (选择一项).
A.int a=b= c= 5; B. int a,b, c= 5;
C.a= 5,b=5,c=5; D. a= b= c=5;
39.阅读以下程序,当输入数据的形式为25,13,10回车正确的输出结果为:( D )
(选择一项).
main()
{
int x,y,z ;
scanf("%d%d%d",&x,&y,&z );
printf("x+y+z=%d\n ,x+y+z);
}
A.x +y+z=48 B.x +y+z=35 C.x +z=35 D.不确定值
40.以下能对一维数组a进行正确初始化的语句是( B ) (选择一项)。
A. int a[5]=(0,0,0,0,0) B.a[5]={}
C. int a[5]={0}; D. a={0,0,0,0,0};
41.以下程序的输出结果是:( D ) (选择一项)
main()
{
int x= 2,y= -1,z=2;
if (x
else z+ =1;
printf("%d\n",z);
}
A.3 B )2 C.1 D. 0
42.以下关于C语言函数中的return
语句的说法,正确的是( A )(选择一项)。
A. return语句可以结束函数的运行
B. 在函数体中必须有return语句
C. 在无返回值的函数中不允许有return语句
D. 有返回值的函数中可以没有return语句
43. 以下C语言程序的执行结果是( B )(选择一项)。
void myFunction(int x)
{
x++;
printf("x=%d\n",x);
}
void main()
{
int a=5;
myFunction (a);
}
A. x=5
B. x=6
C. x=1
D. 编译报错
44.在C语言程序中,下列打印语句不正确的是( B )(选择一项)。
A. printf("d%",18);
B. printf("%d",1.89);
C. printf("%f",18);
D. printf("%c",'m');
45.在C语言程序中,有a、b两个整型变量,a的值为18,b的值为19,下列表达式的值不为1的是( B )(选择一项)。
A. b/a
B. a++
C. b%a
D. a
46.以下初始化数组正确的有( BC )(选择两项)。
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;
47.下列代码能够正确定义数组的是( C )(选择一项)。
A.int a[]; B.int[] a;
C.int a[5]; D.int[5] a;
48.在二维数组“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]
49.以下C语言程序的运行结果是( D )(选择一项)。
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. 语法错误不能运行
50.以下正确声明point结构体数组的代码有( BC )(选择两项)
struct point
{
int x;
int y;
};
A. struct point[5]; c,struct point ps[5];
B. point ps[5]; d,point[5] ps;