计算机二级c语言2013,2013年计算机二级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,%d\n",x,y); }

6. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件: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<

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("偶数的和=%d\n",a);

printf("奇数的和=%d\n",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("%d\n",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.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。

参考答案

一、选择题

1.D 2. C 3. A 4. C 5. B 6.C 7. B 8. B 9. D 10. D

11.B 12. A 13. C 14. B 15. D

二、填空题

1.字母、数字、下划线;以字母、下划线开头。

2.4,4 -12

3.该变量的地址。

4.打开;关闭。

5.20 , 10 变量的交换  考试大论坛

6.“d1.dat”, “rb”

7. sum of number is :14

9.结束本次循环,进入下一次循环;结束循环。

三、程序填空与阅读程序题(参考答案)

1. if (b%2==0) a=a+b else c=c+b

2. float sum(float x,float y)

{ return x*x+y*y; }

3. A B C

4. struct student{

char name[10];

char sex;

int age;

float score; }

5. 1 2 6 24 120

6.8 9 2 1

7.i<100 if(i%3==0 && i==6)

四、编程题

1.参考答案

main()

{ int m,n,sum=0;

for (m=1;m<=20;m++)

sum=sum+m*(m+1);

printf(“%s”,sum);

}

2.参考答案

# include “math.h”

main()

{ float x,y;

scanf(“%f”&x);

if (x>6)

y=(x-3)/(2*x-12);

else

y=-2*x*x+4*x-10;

printf(“y=%f”,y); }

3.main()

{ char ch;

FILE *fp1,*fp2;

fp1=fopen(“file1.dat”, “r”);

fp2=fopen(“file2.dat”, “r”);

fp3=fopen(“file3.dat”, “w”);

Ch=fgetc(fp1);

While(ch!=EOF)

{ fputc(ch,fp3); fputc(ch,fp3);

Ch=fgetc(fp1); }

Ch=fgetc(fp2);

While(ch!=EOF)

{ fputc(ch,fp3); fputc(ch,fp3);

Ch=fgetc(fp2); }

Fclose(fp1);

Fclose(fp2);

Fclose(fp3);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值