荟萃馆

位置:首页 > 计算机 > 计算机二级

2015年9月全国计算机二级考试C语言预测卷

点击查看试题答案及解析
  一、选择题

2015年9月全国计算机二级考试C<a href=语言预测卷" title="2015年9月全国计算机二级考试C语言预测卷">

1.一个C语言程序是由( )构成。

A.语句

B.行号

C.数据

D.函数

2.下面标识符中正确的是( )。

A.d&ef

B.6a

C.z4x5c

D.a3/b4

3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。

A.1、2、4

B.1、1、4

C.1、2、8

D.2、2、8

4.为了避免嵌套的条件分支语句 if--else中的else总是与( ) 组成成对关系。

A. 缩排位置相同的

B. 在其之前未配对的

C. 在其之前未配对的最近的if

D. 在同一行上的if

5.下列表达式的结果正确的是( )。

int aa,bb,cc,dd;

aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;

(aa+1==2)?bb=aa+2:aa+3

A.2

B.3

C. 1

D.5

6.设有int x=11 ;则表达式(x+1/3)的值是( )。

A.3

B. 4

C. 11

D.12

7.设有字符串A=“He has 钱!”,则该字符串的长度为( )。

A. 9

B. 10

C. 11

D. 8

8.有如下程序段,则正确的执行结果是( )

int m=3;

while(m<=5)

{ printf(“%d ”,m-3); m++;}

A. 0 0 0

B.0 1 2

C.1 2 3

D.无结果

9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是( )。

A.无输出

B.结果不确定

C.-1

D. 1

10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )。

int x; char y; char z[20];

A. scanf("%d%c%c",&x,&y,&z);

B. scanf("%d%c%s",&x,&y,&z);

C. scanf("%d%c%c",&x,&y,z);

D. scanf("%d%c%s",&x,&y,z);

11. struct ex

{ int x ; float y; char z ;} example;

则下面的叙述中不正确的是( )。

A. struct结构体类型的关键字

B. example是结构体类型名

C. x,y,z都是结构体成员名

D. struct ex是结构体类型

12.在C语言中对于实型数组,其每个数组元素的'类型是( )。

A. 实型

B. 整型

C. 可以为任何类型

D. 不确定

13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。

A. p+1

B. a+1

C. a++

D. ++p

14. 在TC2.0环境中,对文件进行保存使用的命令是( )。

A. OPEN

B. SAVE

C. LOAD

D. WRITE TO

15.在C++的类中,用于表示公共类型的关键字是( )。

A. class

B. private

C. protect

D. public

  二、填空题

1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。

2. 设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。

3. 一个变量的指针是指________________。

4. 在C语言程序中,对文件进行操作首先要_____________;然后对文件进行操作,最后要对文件实行____________操作,防止文件中信息的丢失。

5. 以下程序运行后的输出结果是_________。该程序的功能是_________ 。

main()

{ int x=10,y=20 ,t=0;

if(x!=y) t=x; x=y; y=t;

printf("%d,%dn",x,y); }

6. 若fp已正确定义为一个文件指针,为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen( );。

7. 有以下程序,当输入的数值为2,3,4时,输出结果为_________。

main()

{ int x,y,z;

cout << “please input three number”;

cin >>x>>y>>z;

sum=x*x+y*2+z;

cout<<“sum of number is :”<}

8. 有以下程序

main()

{ char c;

while((c=getchar())!='?') putchar( - - c ); }

程序运行时,如果从键盘输入:YDG?N?<回车>,则输出结果为_________ 。

9.在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是 _________ ,break 是 _________。

  三、程序填空与算法题

1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。

#include

main()

{ int a,b,c,i;

a=c=0;

for(i=1;i<=10;i++)

{ scanf(“%d”,&b);canf(“%d”,&b);

_________

_________

_________ }

printf("偶数的和=%dn",a);

printf("奇数的和=%dn",c); }

2.编写一个自定义函数,实现求两个实数的平方和

3. 以下程序运行后的输出结果是_________。

main()

{ char s[ ]="GFEDCBA";

int p=6;

while(s[p]!=‘D’)

{ printf("%c ", p);

p=p-1; } }

4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。

5.以下程序输出的结果是 _________。

int ff(int n)

{ static int f=l;

f=f*n;

return f; }

main()

{ int i;

for(i=1;i<=5;i++) printf("%dn",ff(i)); }

6. 设有以下程序:

main()

{ int n1,n2;

scanf("%d",&n2);

while(n2!=0)

{ n1=n2;

n2=n2/10;

printf("%d ",n1); } }

程序运行后,如果从键盘上输入1298;则输出结果为_________。

7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。

#Include

main()

{ int i, j;

for(i=1; ____________; i++)

if (________________)

printf("%d", j); }

  四、编程题

1. 编程实现求解下面的式子的结果

s=1*2+2*3+3*4+…+20*21

2.编程实现求下面的式子的结果

3.编程实现将文本文件的内容读出来,显示到屏幕上。