全国计算机二级C语言历年考试 - 真题1 联系客服

发布时间 : 星期四 文章全国计算机二级C语言历年考试 - 真题1更新完毕开始阅读91bdba7c1711cc7931b716b5

A)Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90 (37) 有以下程序 #include main()

{FILE *fp; int a[10]={1,2,3},i,n; fp=fopen(“dl.dat”,”w”);

for(i=0;i<3;i++) fprintf(fp,”%d”,a[i]); fprintf(fp,”\\n”); fclose(fp);

fp=fopen(“dl.dat”,”r”); fscanf(fp,”%d”,&n); fclose(fp);

printf(“%d\\n”,n); }

程序的运行结果是

A)12300 B) 123 C) 1 D) 321

(38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是 A)a^b B)a|b C)a&b D)a<<4

(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

A)auto和register B)extern和register C) auto和static D) static和register (40)设有定义语句int(*f)(int);,则以下叙述正确的是 A)f是基类型为int的指针变量

B) f是指向函数的指针变量,该函数具有一个int类型的形参 C) f是指向int类型一维数组的指针变量

D) f是函数名,该函数的返回值是基类型为int类型的地址 二、填空题(每空2分,共30分)

请将每一个空的正确答案些在答题卡【1】至【15】序号的横线上,答在试卷上不得分。 (1)测试用例包括输入值集和【1】值集。 (2)深度为5的满二叉树有【2】个叶子结点。 (3)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【3】个元素。 (4)在关系数据库中,用来表示实体之间联系的是【4】。

(5) 在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,【5】负责数据的模式定义与数据的物理存取构建。

(6)已有定义:char c=’ ‘;int a=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【6】。

(7)设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【7】。 (8)若有定义:int k;,以下程序段的输出结果是【8】。 for(k=2;k<6;k++,k++) printf(“##%d”,k); (9)以下程序段的定义语句中,x[1]的初值是【9】,程序运行后输出的内容是【10】。 #include main()

{ int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i; for(i=0;i<4;i++) { p[i]=&x[2*i+1];

printf(“%d ”,p[i][0]); }

printf(“\\n”); }

(10)以下程序的输出结果是【11】。 #include

void swap(int *a,int *b) { int *t;

t=a; a=b; b=t; }

main()

{ int i=3,j=5,*p=&i,*q=&j;

swap(p,q); printf(“%d %d\\n”,*p,*q); }

(11)以下程序的输出结果是【12】。 #include main()

{ int a[5]={2,4,6,8,10}, *p; p=a; p++;

printf(“%d”,*p); }

(12)以下程序的输出结果是【13】。 #include void fun(int x)

{ if(x/2>0) fun(x/2); printf(“%d ”,x); }

main()

{fun(3); printf(“\\n”);} (13)以下程序中函数fun的功能是:统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并做为函数值返回。请填空: #include #define N 3 typedef struct

{int num;char nam[10]; char sex;}SS; int fun(SS person[]) {int i,n=0;

for(i=0;i

if(【14】==’M’ ) n++; return n; }

main()

{SS W[N]={{1,”AA”,’F’},{2,”BB”,’M’},{3,”CC”,’M’}}; int n; n=fun(W); printf(“n=%d\\n”,n); }

(14)以下程序从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空: #include main()

{FILE *fp; char ch; fp=fopen(【15】); ch=fgetc(fp);

whlie(!feof(fp)) { putchar(ch); ch=fgetc(fp);} putchar(‘\\n’); fclose(fp); } 2007年9月二级C语言笔试真题及答案

一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))

下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。 (1)软件是指

A)程序 B)程序和文档

C)算法加数据结构 D)程序、数据和相关文档的集合 (2)软件调试的目的是 A)发现错误 B)改正错误

C)改善软件的性能 D)验证软件的正确性 (3)在面向对象方法中,实现信息隐蔽是依靠 A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类

(4)下列叙述中,不符合良好程序设计风格的是 A)程序的效率第一,清晰第二 B)程序的可读性好 C)程序中有必要的注释 D)输入数据前要有提示信息 (5)下列叙述中正确的是

A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对 (6)下列叙述中正确的是

A)数据的逻辑结构与存储结构必定是一一对应的

B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构 D)以上三种说法都不对

(7)冒泡排序在最坏情况下的比较次数是

A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2

(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A)219 B)221 C)229 D)231 (9)下列叙述中正确的是

A)数据库系统是一个独立的系统,不需要操作系统的支持

B)数据库技术的根本目标是要解决数据的共享问题 C)数据库管理系统就是数据库系统 D)以上三种说法都不对 (10)下列叙述中正确的是

A)为了建立一个关系,首先要构造数据的逻辑关系

B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C)一个关系的属性名表称为关系模式 D)一个关系可以包括多个二维表 (11)C语言源程序名的后缀是 A).exe B).C C).obj D).cp

(12)可在C程序中用做用户标识符的一组标识符是 A)and B)Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl

(13)以下选项中,合法的一组C语言数值常量是 A)028 B)12. C).177 D)0x8A . 5e-3 OXa23 4c1.5 10,000 -0xf 4.5e0 Oabc 3.e5 (14)以下叙述中正确的是

A)C语言程序将从源程序中第一个函数开始执行

B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数

(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是

A)scanf(\C)scanf(\

(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是 A)均占4个字节 B)根据数据的大小来决定所占内存的字节数 C)由用户自己定义 D)由C语言编译系统决定

(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是 A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1; (18)有以下程序段

int j; float y; char name[50]; scanf(\

当执行上述程序段,从键盘上输入55566 7777abc后,y的值为 A)55566.0 B)566.0 C)7777.0 D)566777.0 (19)若变量已正确定义,有以下程序段 i=0;

do printf(\printf(\其输出结果是

A)0,0 B)0,1 C)1,1 D)程序进入无限循环 (20)有以下计算公式