【计算机类职业资格】计算机二级(C)37及答案解析.doc
《【计算机类职业资格】计算机二级(C)37及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C)37及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C)37 及答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.DOS 命令“COPY /?”的功能是( )。(分数:60.00)A.将当前盘当前目录中的所有文件复制到当前盘的根目录下B.将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C.以提示方式复制文件D.显示 COPY 命令的帮助信息2.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是【 】。(分数:60.00)A.+x,y=x-B.x+l=yC.x=x+10=x+yD.double(x)103
2、.有以下程序 void f(int n,int* r) int rl=0; if(n3=0) rl=n3; else if(n5=0) rl=n5; else f(n, if(ij) t=ai;ai=aj;aj=t; i+; j-; fun(a,i,j); main( ) int x =2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(“%2d“,xi); printf(“/n“); 程序运行后的输出结果是( )。 (分数:60.00)A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 26.有以下程序: struct STU char
3、 name10;int num;float TotalScore; void f(struct STU *p) struct STU s2=“SunDan“,20044,550,“Penghua“,20045,537,*q=s; +p;+q; *p=*q; main() struct STU s3=“YangSan“,20041,703,“LiSiGuo“,20042,580; f(s); printf(“%s%d%3.0f/n“,s1.name,s1.num,s1.TotalScore); 程序运行后的输出结果是【 】。 (分数:60.00)A.SunDan 20044 550B.Pengh
4、ua 20045 537C.LiSiGuo 20042 580D.SunDan 20041 7037.有以下程序 main() int a=1,b=3,C=5,*P; int *pl= int green; int blue; COLOR; COLOR cl;B.struct color cl int red; int green; int blue; C.struct color int red; int green; int blue; cl;D.struct int red; int green; int blue; cl;10.以下叙述中错误的是【 】。(分数:60.00)A.可以通过
5、 typedef 增加新的类型B.可以用 typedef 将已存在的类型用一个新的名字来代表C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typedef 可以为各种类型起别名,但不能为变量起别名11.有以下定义: #include stdio.h char a10,*b=a; 不能给数组 a 输入字符串的语句是( )。 (分数:60.00)A.gets(a)B.gets(a0)C.gets(D.gets(b);12.有以下程序: main() int a10=1,2, 3,4,5,6,7,8,9,10,*p= for(i=0;i3;i+) for (j=2;j=i;j-)
6、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+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.1357024615.所谓 “裸机”是指( )。(分数:60.00)A.单片机B.单板机C.不装备任何
7、软件的计算机D.只装备操作系统的计算机16.设有如下程序段: int x=2002, y=2003; printf(“%d/n“,(x,y); 则以下叙述中正确的是( )。 (分数:60.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 200317.有以下程序 int fun1(double a)return a*=a; int flun2(double X,double Y) double a=0,b=0; a=funl(X);b=funl(Y);return(int)(a+b); main() double W;w
8、=fun2(1.1,2.0); 程序执行后变量 W 中的值是【 】。 (分数:60.00)A.5.21B.5C.5D.018.有以下程序: main( ) int m=3,n=4,x; x=-m+; x=x+8/+n; printf(“%d/n“,x); 程序运行后的输出结果是( )。 (分数:60.00)A.3B.5C.-1D.-219.以下程序中函数 f( )的功能是将 n 个字符串按由大到小的顺序进行排序。 #includestring.h void f(char p 10,int n) char t20; int i,j; for(i =O;i n-1 ;i + ) for(j =i
9、+ 1 ;j n;j + ) if(strcmp(p i ,pj ) 0) strcpy(t,pi);strcpy(pi ,pj );strcpy(pj ,t); main ( ) char p 10 = “abc“,“aabdfg“,“abbd“,“dcdbe“, “cd“ ; int i; f(p,5); printf(“%d/n“,strlen(pO ) ); 程序运行后的输出结果是( )。 (分数:60.00)A.6B.4C.3D.520.C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。(分数:60.00)A.voidB.intC.floatD.double21.以
10、下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。 #include stdio.h main( ) FILE *fout; char ch; fout=fopen(abc.txt,w); ch=fgetc(stdin); while(ch!=#) fputc(ch,fout); ch =fgetc(stdin); fclose(fout); 出错的原因是( )。 (分数:60.00)A.函数 fopen 调用形式有误B.输入文件没有关闭C.函数 fgetc 调用形式有误D.文件指针 stdin 没有定义22.有以下程序
11、#include #define N 5 #define M N+1 #define f(x) (x*M) main() int i1,i2; i1=f(2); i2=f(1+1); printf(“ddn“,i1,i2); 程序的运行结果是【 】。 (分数:60.00)A.12 12B.11 7C.11 11D.12 723.以下叙述中正确的是【 】。(分数:60.00)A.调用 printf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.hC.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读入字符时,
12、可以从键盘上输入字符所对应的 ASCII 码24.有以下程序段: main( ) int a=5,*b,*c; c= b= 程序在执行了 c=b=语句后,表达式:*c 的值是( )。 (分数:60.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值D.变量 b 的地址25.有以下程序 main(int argc,char *argv ) int n,i=0; while(argv1i!=/0) n=fun( ); i+; printf(“%d/n“,n*argc); int fun( ) static int s=0; s+=1; return s; 假设程序编译、连接后生成可
13、执行文件exam.exe,若键入以下命令 exam 123回车 则运行结果为( )。 (分数:60.00)A.6B.8C.3D.426.有以下定义和语句: int a32=1,2,3,4,5,6,*p3; p0=a1; 则*p0+1)所代表的数组元素是( )。 (分数:60.00)A.a01B.a10C.a11D.a1227.若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是( )。 (分数:60.00)A.p 是 int 型变量B.p 是基类型为 int 的指针变量C.q 是基类型为 int 的指针变量D.程序中可用 INTEGER
14、 代替 int 类型名28.有以下程序 fun(int X,int Y)return(X+Y); main() int a=1,b=2,C=3,sum; sum=fun(a+,b+,a+b),C+); printf(“dn“,sum); 执行后的输出结果是【 】。 (分数:60.00)A.6B.7C.8D.929. 有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向一个链表中的三个连续结点。 struct node int data; struct node *next; *p, *q, *r; (分数:60.00)A.r-next=q; q-next=r-next; p-nex
15、t=r;B.q-next=r-next; p-next=r; r-next=q;C.p-next=r; q-next=r-next; r-next=q;D.q-next=r-next; r-next=q; p-next=r;30.以下不合法的字符常量是【 】。(分数:60.00)A.018B.C.D.xcc31.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句: if(aB) if(cD) y=0; else y=1; 该语句所表示的含义是【 】。 (分数:60.00)A.B.C.D.32.下列叙述中正确的是【 】。(分数:60.00)A.软件测试应该由程序开发者来完成
16、B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对33.若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于 0) s=a; for(b=1;bb)a-=b; while(ba)b-=a; printf(“3d3dn“,a,b); (分数:2.00)填空项 1:_65.以下函数 rotate 的功能是:将 a 所指 N 行 N 列的二维数组中的最后一行放到 b 所指二维数组的第 0 列中,把 a 所指二维数组中的第 0 行放到 b 所指二维数组的最后一列中,b 所指二维数组中的其他数据不变。 #define N 4 vo
17、id rotate(int aN,int bN int i,j; for(i=0;iN;i+) biN-1= 1; 2=aN-1i; (分数:2.00)填空项 1:_填空项 1:_66.以下程序运行后的输出结果 1。 struct NODE int k; struct NODE *link; ; main2 structNODEm5,*p=m,*q=m+4; int i=0; while(p!=q) p-k=+i;p+; q-k=i+;q-; q-k=i; for(i=0;i5;i+)printf(“%d“,mi.k); printf(“/n“); (分数:2.00)填空项 1:_67.以下程
18、序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0; p=a; while(*p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:2.00)填空项 1:_68.以下程序运行后的输出结果是 1。 main2 int a=3,b=4,c=5,t=99; if(baa;a=c;c=t if(aca=t; printf(“%d%d%d/n“,a,b,c); (分数:2.00)填空项 1:_69.Windows 窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要用鼠标拖动 1。(分数:2.00)填空项 1:_
19、70.当执行以下程序时,输入 1234567890,则其中 while 循环体将执行 1 次。 #include main2 char ch; while(ch=getchar3)=0)prinff(“#“); (分数:2.00)填空项 1:_计算机二级(C)37 答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.DOS 命令“COPY /?”的功能是( )。(分数:60.00)A.将当前盘当前目录中的所有文件复制到当前盘的根目录下B.将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目
20、录下C.以提示方式复制文件D.显示 COPY 命令的帮助信息 解析:2.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是【 】。(分数:60.00)A.+x,y=x- B.x+l=yC.x=x+10=x+yD.double(x)10解析:选项 A)为 C 语言中的逗号表达式。赋值表达式的左侧不能是表达式。在进行强制类型转换时,数据类型两边的圆括号不能省略。3.有以下程序 void f(int n,int* r) int rl=0; if(n3=0) rl=n3; else if(n5=0) rl=n5; else f(n, if(ij) t=ai;ai=aj;aj=t; i+
21、; j-; fun(a,i,j); main( ) int x =2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(“%2d“,xi); printf(“/n“); 程序运行后的输出结果是( )。 (分数:60.00)A.1 2 6 8B.8 6 2 1C.8 1 6 2 D.8 6 1 2解析:6.有以下程序: struct STU char name10;int num;float TotalScore; void f(struct STU *p) struct STU s2=“SunDan“,20044,550,“Penghua“,20045,53
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C37 答案 解析 DOC
