好文档 - 专业文书写作范文服务资料分享网站

2011年3月全国计算机等级考试二级C语言笔试真题与答案

天下 分享 时间: 加入收藏 我要投稿 点赞

fun(s);

puts(s); }

当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是 A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing

(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #include #define N 10

void fun(int x[N]) { int i=0;

while(i

在程序中下划线处应填入的是

A)x+i B)&x[i+1] C)x+(i++) D)&x[++i]

(31)有以下程序 #include main()

{ char a[30],b[30];

scanf(\ gets(b);

printf(\ }

程序运行时若输入:

how are you? I am fine<回车>

则输出结果是

A)how are you? B)how

I am fine are you? I am fine C)how are you? I am fine D)how are you?

(32)设有如下函数定义 int fun(int k)

{ if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1;

}

若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是 A)2 B)3 C)4 D)5

(33)有以下程序 #include int fun (int x,int y)

{ if (x!=y) return ((x+y)/2);

else return (x); }

main()

{ int a=4,b=5,c=6;

printf(\ }

程序运行后的输出结果是

A)3 B)6 C)8 D)12

(34)有以下程序 #include int fun()

{ static int x=1; x*=2; return x; }

main() { int i,s=1;

for(i=1;i<=3;i++) s*=fun(); printf(\ }

程序运行后的输出结果是

A)0 B)10 C)30 D)64

(35)有以下程序 #include #define S(x) 4*(x)*x+1 main()

{ int k=5,j=2;

printf(\}

程序运行后的输出结果是

A)197 B)143 C)33 D)28

(36)设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是

A)t1=t2; B)t2.num1=t1.num1; C)t2.mark=t1.mark; D)t2.num2=t1.num2;

(37)有以下程序

#include struct ord

{ int x,y;}dt[2]={1,2,3,4};

main()

{

struct ord *p=dt;

printf(\ }

程序运行后的输出结果是

A)1,2 B)4,1 C)3,4 D)2,3

(38)有以下程序 #include

struct S

{ int a,b;}data[2]={10,100,20,200}; main()

{ struct S p=data[1]; printf(\ }

程序运行后的输出结果是

A)10 B)11 C)20 D)21

(39)有以下程序 #include

main()

{ unsigned char a=8,c; c=a>>3;

printf(\

}

程序运行后的输出结果是

A)32 B)16 C)1 D)0

(40)设fp已定义,执行语句fp=fopen(\后,以下针对文本文件file操作叙述的选项中正确的是

A)写操作结束后可以从头开始读 B)只能写不能读

C)可以在原有内容后追加写 D)可以随意读和写

二、填空题

(1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。

(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】 。

(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】 测试。

(4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。

(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】 是关系A的外码。

(6)以下程序运行后的输出结果是 【6】 。 #include main() { int a;

a=(int)((double)(3/2)+0.5+(int)1.99*2); printf(\}

(7) 有以下程序 #include main()

{ int x;

scanf(\ if(x>15) printf(\ if(x>10) printf(\ if(x>5) printf(\

}

若程序运行时从键盘输入12<回车>,则输出结果为 【7】

(8)有以下程序(说明:字符0的ASCII码值为48) #include main()

{ char c1,c2;

scanf(\ c2=c1+9;

printf(\ }

若程序运行时从键盘输入48<回车>,则输出结果为 【8】

(9)有以下函数

void prt(char ch,int n) { int i;

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

printf(i%6!=0?\

}

执行调用语句prt('*',24);后,函数共输出了 【9】 行*号。

(10)以下程序运行后的输出结果是 【10】 。 #include main()

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

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

printf(\ }

(11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。 void fun(int a[N],int k)

{ int i;

for(i=k;i

}

(12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。 #include 【12】 ; main()

{ double x,y,(*p)();

scanf(\ p=avg;

printf(\ }

double avg(double a,double b) { return((a+b)/2);}

(13)以下程序运行后的输出结果是 【13】 。 #include main()

{ int i,n[5]={0}; for(i=1;i<=4;i++)

{ n[i]=n[i-1]*2+1; printf(\ printf(\ }

(14)以下程序运行后的输出结果是 【14】 。 #include #include #include main()

{ char *p; int i;

p=(char *)malloc(sizeof(char)*20); strcpy(p,\

for(i=6;i>=0;i--) putchar(*(p+i)); printf(\ }

(15)以下程序运行后的输出结果是 【15】 。 #include main()

{ FILE *fp; int x[6]={1,2,3,4,5,6},i; fp=fopen(\ fwrite(x,sizeof(int),3,fp); rewind(fp);

fread(x,sizeof(int),3,fp);

for(i=0;i<6;i++) printf(\ printf(\ fclose(fp); }

参考答案

一、选择题 :

1-5 ABDDB 6-10 ACDCB 11-15 ADAAA 16-20 ADCAD 21-25 BDBCD 26-30 CDCCC 31-35 BBBDB 36-40 CDDCB

二、填空题 :

【1】 有序 【2】 DEBFCA 【3】 单元 【4】 主键 【5】 D 【6】 3 【7】 1217 【8】 09 【9】 4 【10】 20 0 【11】 i-1

【12】 double avg(double,double);或double avg(double a,double b); 【13】 13715 【14】 emoclew 【15】 123456

2011年3月全国计算机等级考试二级C语言笔试真题与答案

fun(s);puts(s);}当执行程序时从键盘上输入HelloBeijing,则程序的输出结果是A)hellobeijingB)HelloBeijingC)HELLOBEIJINGD)hELLOBeijing(30)以下函数的功
推荐度:
点击下载文档文档为doc格式
2qom36dxf54zk8m0i2f8
领取福利

微信扫码领取福利

微信扫码分享