《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;