《C语言程序设计》模拟试卷(A卷)
- 格式:doc
- 大小:2.14 MB
- 文档页数:5
第 1 页 共 5 页 《C语言程序设计》模拟试卷(A卷)
一、单选题(每小题1分,共30分)
1.下列选项中合法的变量名是( )。
A.B#123 B._1234 C.float D.xy*
2.以下选项中属于C语言的数据类型的是( )。
A.整型 B.集合型 C.逻辑型 D.复数型
3.下面运算符中,具有右结合性的是( )。
A.+ B.> C.= D.&&
4.字符串"a\x44\\abcd\101b"的长度是( )。
A.9 B.10 C.16 D.18
5.下面选项中合法的字符常量是( )。
A."a" B.′\t′ C. "\n" D. ′\80′
6.设有int a=9;则表达式(++a*2/3)的值是( )。
A.6 B.7 C.6.6 D. 0
7.已知int i;float d;,则以下选项中正确的表达式是( )。
A.(int d) B.int(d)%i C.int(d%i) D.(int)d%i
8.若有char c;,则能正确判断出c为大写字母的表达式是( )。
A. ′A′< =c< = ′Z′ B.(c>=′A′)||(c<=′Z′)
C.(c>=′A′)and(c<=′Z′) D.(c>=′A′)&&(c<=′Z′)
9.下列选项中合法的赋值语句是( )。
A.a=b=58 B.k=a+b C.a=58,b=58 D.--i;
10.设int型占2个字节,若有int i=65536;,则语句printf("%d",i);输出的
结果是( )。 A.65535 B.0 C.有语法错误,无输出结果 D.1
11.已知字符A的ASCII码为65,下面程序段的输出是( )。
char c;c=′A′+′5′-′3′; printf("%d,%c",c,c);
A.A,65 B.65,A C.67,C D.C,67
12.下面程序的输出是( )。
main()
{ int k=11;printf("%d,%o,%x",k,k,k);}
A.11,12,13 B.11,13,13 C.11,13,b D.11,013,0Xb
13.下面程序的输出是( )。
main()
{ int x=023;printf("%d",--x);}
A.22 B.23 C.18 D.19
14.若变量已正确定义,现要将a和b中的数据交换,下面不正确的是( )。
A.a=a+b;b=a-b;a=a-b; B.t=a;a=b;b=t;
C.a=t;t=b;b=a; D.t=b;b=a;a=t;
15.若x是int型,则下面与逻辑表达式!x等价的关系表达式是( )。
A.x==1 B.x!=1 C.x==0 D.x!=0
16.若x和y都是int型,则以下不能正确表示数学式|x-y|<10的是( )。
A.abs(x-y)<10 B.x-y>-10&&x-y<10
C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<100
17.有以下程序段:
int k=0;while(k=1) k++;
while循环执行的次数是( )。
第 2 页 共 5 页 A.无限次 B.有语法错误,不能执行 C.0 D.1
18.以下程序的输出结果是( )。
main( )
{ int a=2,b=-1,c=2;
if(a
if(b<0) c=0;else c=c+1;
printf("%d",c);}
A.0 B.1 C.2 D.3
19.以下程序的输出结果是( )。
main( )
{ int x=2,a=0,b=0;
switch(x)
{ case 0:b++;
case 1:a++;
case 2:a++;b++;}
printf("%d,%d",a,b);}
A.2,1 B.1,1 C.1,0 D.2,2
20.以下程序运行后的输出结果是( )。
main( )
{ int i=0,s=0;
for(;;)
{ if(i==3||i==5) continue;
if(i==6) break; i++;s+=i;}
printf("%d",s);}
A.10 B.13 C.21 D.程序进入死循环
21.C语言中,一维数组元素下标的最小值是( )。
A.1 B.0 C.视说明语句而定 D.无固定下标
22.若有说明:char a[ ]="China";,则数组a所占的空间是( )。
A.4 B.5 C.6 D.7
23.若有定义:char str1[10],str2[10]= "China";,则能将字符串"China"赋给数组str1的正确语句是( )。
A.str1="China"; B.strcpy(str1,str2); C.str1=str2; D. strcat(str1,str2);
24.C语言程序的执行是从( )开始。
A.第一条可执行语句 B.第一个函数 C.main函数 D.任意函数
25.以下所列的各函数首部中,正确的是( )。
A.void play(int a,b) B.int play(int a,b)
C.int play(int a,int b) D.void play(a as integer,b as integer)
26.以下程序的输出结果是( )。
void swap(int x,int y)
{ int t;
t=x;x=y;y=t;}
main( )
{ int a=3,b=4;
swap(a,b);
printf("%d,%d",a,b);}
第 3 页 共 5 页 A.3,3 B.4,4 C.3,4 D.4,3
27.要使函数体内的某个局部变量能保留前一次调用后的值,供下一次调用时继续使用,该变量的存储类型应是( )。
A.auto B.static C.extern D.register
28.执行下列程序段后,a的值为( )。
int *p,a=10,b=1;
p=&a;a=*p+b;
A.12 B.11 C.10 D.编译出错
29.有如下定义:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则值为9的表达式是( )。
A.*p+9 B.*(p+8) C.*p+=9 D.p+8
30.有如下定义:
char str[10]= "China",*p=str;
则执行语句printf("%s",p+1);的输出结果是( )。
A.C B.China C.h D.hina
得分 阅卷人 复核人
二、程序阅读题(每小题4分,共20分)
1.main( )
{ int i=8,j=10,a,b;
a=++i;
b=j++; printf("%d,%d,%d,%d",i,j,a,b);}
运行结果为___________。
2.main( )
{ int n1,n2=3456;
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);}
}
运行结果为___________。
3.main( )
{ char c[ ]= "3a6b8c";
int i,s=0;
for(i=0;c[i]!= ′\0′;i++)
if(c[i]>= ′0′&& c[i]<= ′9′) s=s*10+c[i]- ′0′;
printf("%d",s);}
运行结果为___________。
4.float fun(float a,float b,float c)
{ b=b-1.0;
c=c+a;
return c;}
main( )
{ float x=2.5,y=9.0;
第 4 页 共 5 页 杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1 printf("%f",fun(x-y,x,x));}
运行结果为___________。
5.#include
main( )
{ char *p1,*p2,str[50]= "xyz";
p1="abcd";
p2="ABCD";
strcpy(str+2,strcat(p1,p2));
printf("%s",str);}
运行结果为___________。
得分 阅卷人 复核人
三、程序填空题(每空填一个表达式...,使程序完整。每空2分,共20分)
1.下面程序的功能是求数列:1,3,5,…,2n-1,…的前n项之和,其中n由键盘输入。
main( )
{ long sum=0,n,k,i;