【计算机类职业资格】国家计算机二级(C)89及答案解析.doc
《【计算机类职业资格】国家计算机二级(C)89及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家计算机二级(C)89及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家计算机二级(C)89 及答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.设有以下语句 typedef struct TT char c;int a 4;CIN; 则下面叙述中正确的是【 】。 (分数:60.00)A.可以用 TT定义结构体变量B.IT是 struct类型的变量C.可以用 CIN定义结构体变量D.CIN是 struct IT类型的变量2.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是(分数:60.00)A.快速排序B.冒泡排序C.直接插入排序
2、D.堆排序3.有以下程序 int f1 (int x,inty)return xy?x:y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; pintf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是【 】。(分数:60.00)A.4,3,7B.3,4,7C.52,7D.2,5,74.下列叙述中正确的是【 】。(分数:60.00)A.软件测试的主要目的是发现程序中的错误B.软
3、件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误5.以下不能正确定义二维数组的选项是( )。(分数:60.00)A.int a22=1,2;B.int a 2=1,2,3,4;C.int a22=1,2,3;D.int a2 =1,2,3,4;6.有以下程序 main() int k=5; while(-k)printf(“d“,k-=3); printf(“n“); 执行后的输出结果是【 】。 (分数:60.00)A.1B.2C.4D.死循环7.以下选项中可作为 C语言合法整数的是( )。(分数:60.0
4、0)A.10110BB.0386C.0XffaD.x2a28.若有定义语句:int m =5,4,3,2,1,i=4;,则下面对 m数组元素的引用中错误是(分数:60.00)A.m-iB.m2*2C.mm0D.mmiA.p-nextB.pC.sD.s-next10.有以下程序 void swap(char*X,char,*y) char t; t=*X;*X=* Y;*Y=t; main() char*s1=“abc“,*s2=“123“; swap(s1,s2);printf(“S,sn“,s1,s2); 程序执行后的输出结果是【 】。 (分数:60.00)A.123,abcB.abc,12
5、3C.1bc,a23D.321,cba11.下列关于单目运算符+、-的叙述中正确的是( )。(分数:60.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量C.它们的运算对象可以是 int型变量,但不能是 double型变量和 float型变量D.它们的运算对象可以是 char型变量、int 型变量和 float型变量12.有以下程序: main( ) char s “Yes/n/No“,*ps=s; puts(ps+4); *(ps+4)=0; puts(s); 程序运行后的输出结果是(选项 D中的第一行是空行)(
6、 )。 (分数:60.00)A.n/No Yes /NoB./No YesC.n/NO Yes /NoD./No Yes13.以下程序的功能是按顺序读入 10名学生 4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main( ) int n,k; float score,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“,score);sum+=score; ave=sum/4.0; printf(“NO%d:%f/n“,n,ave); 上述程序运行后结果不正确,调试中发现有条语句出现在程序中的位置不正确。这条语句
7、是( )。 (分数:60.00)A.sum=0.0;B.sum+=score;C.ave=sum/4.0;D.printf(“NO%d:%f/n“,n,ave);14.以下叙述中正确的是(分数:60.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto变量和 static变量的初值都是随机值15.有以下程序 main( ) int k=4,n=0; for( ; nk ; ) n+; if(n%3!=0) continue; k-; printf(“%d,%d/n“
8、,k,n); 程序运行后的输出结果是( )。 (分数:60.00)A.1,1B.2,2C.3,3D.4,416.下列对队列的叙述正确的是【 】。(分数:60.00)A.队列属于非线性表B.队列按“先进后出“原则组织数据C.队列在队尾删除数据D.队列按“先进先出“原则组织数据17.有以下程序 #include #include int fun(int n) int *p; p=(int*)malloc(sizeof(int); *p=n; return*p; main() int a: a=fun(10);printf(“%d/n“,a+fun(10); 程序的运行结果是 (分数:60.00)A
9、.0B.10C.20D.出错18.下列关于 C语言用户标识符的叙述中正确的是( )。(分数:60.00)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头19.以下不能定义为用户标识符的是( )。(分数:60.00)A.scanfB.VoidC._3com_D.int20.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC的关键字(键或
10、码)为(分数:60.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩21.以下选项中不能作为合法常量的是【 】。(分数:60.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e022.设变量均已正确定义,若要通过 scanf(“dcdc“, for(i=0;i3;i+) for (j=2;j=i;j-) if(xj+1xj) k=xj;xj=xj+1;xj+1=k; for(i=0;i3;i+) for(j=4;j7-i;j+) if(xj+1xj) k=xj;xj=xj+1;xj+1=k; for (i=0;i3;i+) if(xjxj+
11、1) k=xj;xj=xj+1;xj+1=k; for (i=0;i8;i+) printf(“%d“,xi); printf(“/n“); 程序运行后的输出结果是( )。 (分数:60.00)A.75310246B.01234567C.76310462D.1357024624.已有定义:int i,a10,*p;,则合法的赋值语句是( )。(分数:60.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;25.有以下程序: main( ) unsigned char a,b; a=4|3; b=4 printf(“%d %d/n”,a,b(; 执行后输出结果是( )。 (分
12、数:60.00)A.7 0B.0 7C.1 1D.43 026.以下选项中非法的表达式是( )。(分数:60.00)A.0s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S;D.if(strcmp(s1,s2)0)S;28.在多媒体计算机系统中,不能用以存储多媒体信息的是( )。(分数:60.00)A.光缆B.软盘C.硬盘D.光盘29.有以下程序 #include main() FILE * fp;int i,a6=l,2,3,4,5,6; fp=fopen(“d3.dat“,“W+b“);fwrite(a,sizeof(int),6,fp); fse
13、ek(fp,sizeof(int)* 3,SEEK_SET);*该语句使读文件的位置指针从文件头向后移动 3个 int型数 据* fread(a,sizeof(int),3,fp);fclose(fp); for(i=0;iA.4,5,6,4,5,6,B.1,2,3,4,5,6,C.4,5,6,1,2,3,D.6,5,4,3,2,1,30.有以下程序: void sort(int a,int n) int i,j,t; for(i=0;in;i+) for(j=i+1;n;j+) if(aiaj) t=ai; ai=aj; aj=t; main() int aa10=1,2,3,4,5,6,7
14、,8,9,10,i; sort(aa+2,5); for(i=0;i10;i+)printf(“%d,“,aa i); printf(“/n“); 程序运行后的输出结果是【 】。 (分数:60.00)A.1,2,3,4,5,6,7,8,9,10,B.1,2,7,6,3,4,5,8,9,10,C.1,2,7,6,5,4,3,8,9,10,D.1,2,9,8,7,6,5,4,3,10,31.“商品“与“顾客“两个实体集之间的联系一般是【 】。(分数:60.00)A.一对一B.一对多C.多对一D.多对多32.有以下程序: main() int num44=1,2,3,4,5,6,7,8,9,10,1
15、1,12,13,14,15,16,ij; for(i=0;i4;i+) for(j=0;j=i;j+) printf(“%4c“,); for(j=【 】;j4;j+) printf(“%4d“,numij); printf(“/n“); 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是【 】。(分数:60.00)A.i-1B.iC.i+1D.4-i33.在 E-R图中,用来表示实体的图形是【 】。(分数:60.00)A.矩形B.椭圆形C.菱形D.三角形34.以下程序中,能够通过调用函数 fun,使 main函数中的指针变量 p指向一个
16、合法的整型单元的是( )。(分数:60.00)A.main( ) int *p; fun(p); int fun(int *p) int s; p=B.main( ) int *p; fun( int fun(int *p) int s; *p=C.#includestdlib.h main( ) int *p; fun( int fun(int *p) *p=(int*)malloc(2);D.#includestdlib.h main( ) int *p; fun(p); int fun(int *p) p=(int*)malloc(sizeof(int);35.以下叙述中正确的是( )。
17、(分数:60.00)A.局部变量说明为 static存储数,其生存期将得到延长B.全局变量说明为 static存储类,其作用域将被扩大C.任何存储类的变量在未赋初值时,其值都是不确定的D.形参可以使用的存储类说明符与局部变量完全相同36.设有定义语句 int x6=2,4,6,8,5,7,*p=x,i; 要求依次输出 x数组 6个元素中的值,不能完成此操作的语句是( )。 (分数:60.00)A.for(i=0;inext; while( 1) printf(“sn“,P-sub);P= 2; main3 Node *hd; hd=fun4;disp(hd);prinff(“n“); (分数:
18、40.00)填空项 1:_58.设变量 a和 b已正确定义并赋初值。请写出与 a-=a+b等价的赋值表达式 1。(分数:40.00)填空项 1:_59.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:40.00)填空项 1:_60.一棵二叉树第六层(根结点为第一层)的结点数最多为 1 个。(分数:40.00)填空项 1:_61.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 1( double,double); main( ) double x,y; scan
19、f(“%lf%lf“, printf(“%lf/n“,max(x,y); double max(double a,double b) return(ab ? a:b); (分数:40.00)填空项 1:_62. E-mail地址由域名和用户名两部分组成,它们之间用分隔,其中在后面的部分是 1。(分数:40.00)填空项 1:_国家计算机二级(C)89 答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.设有以下语句 typedef struct TT char c;int a 4;CIN; 则下面叙
20、述中正确的是【 】。 (分数:60.00)A.可以用 TT定义结构体变量B.IT是 struct类型的变量C.可以用 CIN定义结构体变量 D.CIN是 struct IT类型的变量解析:在 C语言中,typedef 用于说明一种新的类型名,本题中的 CIN被定义为一种新的类型名,我们可以用它来定义一个结构体变量。2.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是(分数:60.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序 解析:在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是 n(n-1)/2,堆排序需要比较的次数为 nlog2
21、n。3.有以下程序 int f1 (int x,inty)return xy?x:y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; pintf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是【 】。(分数:60.00)A.4,3,7 B.3,4,7C.52,7D.2,5,7解析:函数 f1的功能是返回两个数中比较的值,f2 的功能是返回两个数中比较小的值。 4.下列叙述中
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 C89 答案 解析 DOC
