2012二级c语言标准答案,2012年全国计算机等级二级C语言模拟试题及答案(9)

一、选择题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  <

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<stdio.h>

main()

{   int i, j;

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

if (________________)

printf("%d", j);               }

8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。

所需要的语句为:(如果用到指针,在图中标出指针的位置)

2.jpg

四、编程题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

8. xcf 9   9   9

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)

8.P->NEXT=Q->NEXT;      P->NEXT=NEW;

四、编程题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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值