【计算机类职业资格】计算机二级(C)59及答案解析.doc
《【计算机类职业资格】计算机二级(C)59及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C)59及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C)59 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.程序中头文件 typel.h 的内容是: #define N 5 #define M1 N*3 程序如下: #include“typel.h“ #define M2 N *2 main( ) int i; i=M1+M2; printf(“%d/n“,i); 程序编译后运行的输出结果是( )。 (分数:1.00)A.10B.20C.25D.302.有以下程序 main( ) int a; char c=10; float f=10
2、0.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是( )。 (分数:1.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.53.以下叙述中错误的是( )。(分数:1.00)A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以B.在程序结束时,应当用函数 fclose( )关闭已打开的文件C.在利用函数 fread( )从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D.不可以用 FILE 定义指向二进制文
3、件的文件指针4.以下选项中合法的用户标识符是( )。(分数:1.00)A.longB._2TestC.3DmaxD.A.dat5.有以下程序: void f(int*x,int*y) int t; t=*x;*x=*y;*y=t; main() int a 8=1, 2,3,4,5, 6, 7,8,i,*p,*q; p=a;q= while(pq) f(p,q);p+;q-; for(i=0;i8;i+)printf(“%d,“ai); 程序运行后的输出结果是【 】。(分数:1.00)A.823,4,5,6,7,1,B.5,6,7,8,12,3,4,C.1,2,3,4,5,6,7,8,D.8,
4、7,6,5,4,3,2,1,6.设变量 X 和 Y 均已正确定义并赋值。以下 if 语句中,在编译时将产生错误信息的是【 】。(分数:1.00)A.if(X+);B.if(Xy printf(“%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是( )。 (分数:1.00)A.赋初值的字符串有错B.6,7C.5,6D.6,611.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。(分数:1.00)A.if(ab) else k=0;B.if(ab)|(bc) k=1 else k=0;C.if(ab) k=1; else if(bc) k=1; e
5、lse k=0;12.若有以下函数首部 int fun(double X10,int *n)则下面针对此函数的函数声明语句中正确的是【 】。(分数:1.00)A.int fun(double X,int *n);B.int fun(double ,int);C.int fun(double * X,int n);D.int fun(double *int*);13.下列描述中正确的是【 】。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合14.有以下程序: main() char a1=M,a2=m; pr
6、intf(“%c/n“,(a1,a2); 以下叙述中正确的是【 】。 (分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息15.以下叙述中错误的是【 】。(分数:1.00)A.C 语言是一种结构化程序设计语言B.结构化程序由顺序、分支、循环三种基本结构组成C.使用三种基本结构构成的程序只能解决简单问题D.结构化程序设计提倡模块化的设计方法16.C 语言中用于结构化程序设计的三种基本结构是( )。(分数:1.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、
7、for、continue17.以下程序的功能是按顺序读入 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); 上述程序运行后结果不正确,调试中发现有条语句出现在程序中的位置不正确。这条语句是( )。 (分数:1.00)A.sum=0.0;B.sum+=score;C.ave=su
8、m/4.0;D.printf(“NO%d:%f/n“,n,ave);18.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为 3 的是( )。(分数:1.00)A.if (ca) x=1; else if (ba) x=2; else x=3;B.if (a3) x=3; else if (ba) x=2; else x=1;C.if (aD.if (ab) x=b; if (bc) x=c; if (ca) x=a;19.有以下程序: struct s int x,y; data2=10,100,20,200; main( ) struct s *p=
9、data; printf(“%d/n“,+(p-x); 程序运行后的输出结果是( )。 (分数:1.00)A.10B.11C.20D.2120.有以下程序 #include main() FILE * fp;int k , n,a6=1,2,3,4, 5,6; fp=fopen(“d2.dat“,“W“); fprintf(fp,“dddn“,a0,a1,a2);fprintf(fp,“dddn“,a3,a4,aS); fclose(fp); fp=fopen(“d2.dat“,“r“); fscanf(fp,“dd“, s=x+3; printf(“%d/n“,s2); 执行后输出结果是(
10、)。 (分数:1.00)A.随机值B.0C.5D.636.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d/n“,*p,*q,*r); 执行后输出结果是( )。 (分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,837.有以下程序 fun(int X,int Y)return(X+Y); main() int a=1,b=2,C=3,sum; sum=fun(a+,b+,a+
11、b),C+); printf(“dn“,sum); 执行后的输出结果是【 】。 (分数:1.00)A.6B.7C.8D.938.在 Internet 中,用于在计算机之间传输文件的协议是( )。(分数:1.00)A.TELNETB.BBSC.FTPD.WWW39.已定义以下函数: fun(char *p2, char *p1) while(*p2=*p1)!=/0) p1+;p2+; 此函数的功能是( )。 (分数:1.00)A.将 p1 所指字符串复制到 p2 所指内存空间B.将 p1 所指字符串的地址赋给指针 p2C.对 p1 和 p2 两个指针所指字符串进行比较D.检查 p1 和 p2
12、两个指针所指字符串中是否有/040.有以下程序: main( ) int a33,*p,i; p= for(i=0;iA.3B.6C.9D.241.以下语句中存在语法错误的是【 】。(分数:1.00)A.char SS620; SS1=“right?“;B.char SS20=“right?“;C.char * ss6;SS1=“right?“;D.char SS=“right?“;42.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回个函数值,以下选项中错误的程序是【 】。(分数:1.00)A.main() X=fun(2,10); float fun(int a,
13、int b)B.float fun(int a,int b) main() X=fun(i,j);C.float fun(int,int); main() x=fun(2,10); float fun(int a,int b)43.能将高级语言编写的源程序转换成目标程序的是( )。(分数:1.00)A.编辑程序B.编译程序C.解释程序D.链接程序44.在 16 位编译系统上,若有定义 int a=10,20,30,*P= printf(“%o %o/n“,mn,n); 程序运行后的输出结果是( )。 (分数:1.00)A.0256 0400B.0256 256C.256 400D.400 40
14、050.数据库设计的根本目标是要解决(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护51.有以下程序 main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i ,k,t; for(i=0;i1;n-) s=s+1/n; printf(“%6.4f/n“,s); 程序运行后输出结果错误,导致错误结果的程序行是( )。 (分数:1.00)A.s=1.0;B.for(n=10;n1;n-)C.s=s+1/n;D.printf(“%6.4f/n“,s);54.C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )
15、。(分数:1.00)A.voidB.intC.floatD.double55.现有以下结构体说明和变量定义,如图所示,指针 P、q、r 分别指向一个链表中连续的三个结点。 (分数:1.00)A.q-next=r-next;p-next=r;r-next:q;B.P-next=r;q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;P-next=r;D.r-next=q;p-next=r;q-next=r-next;56.有以下程序 #include main() char p20=a,b,c,d,q=“abc“,r:“abcde“; strcpy(P
16、+strlen(q),r);strcat(p,q); printf(“ddn“,sizeof(p),strlen(p); 程序运行后的输出结果是【 】。 (分数:1.00)A.209B.99C.2011D.111157.下列关于单目运算符+、-的叙述中正确的是( )。(分数:1.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量58.有以下
17、程序 typedef struct int b,p;A; void f(A C)* 注意:c 是结构变量名 * int j; c. b +=1;c.p+=2; main() int i; A a=1,2; f(a); printf(“d,dn“,a.b,ap); 程序运行后的输出结果是【 】。 (分数:1.00)A.2,3B.2,4C.1,4D.1,259.下列程序的输出结果是( )。 main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%d/n”,s); (分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数
18、19 中的奇数之和D.自然数 110 中的偶数之和60.有以下程序 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); 程序执行后的输出结果是【 】。 (分数:1.00)A.123,abcB.abc,123C.1bc,a23D.321,cba二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)61.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空
19、项 1:_62.下面程序和运行运行结果是 1。 void swap(int * a,int * b) int * t; t=a; a=b; b=t; main2 intx=3,y=5,* p=x,* q=y; swap(p,q); prinff(“%d %d/n“, *p, *q); (分数:2.00)填空项 1:_63.以下程序中给指针 p 分配三个 double 型动态内存单元,请填空。 # include stdlib.h main ( ) double *p; p=(double *) malloc( 1); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f/n
20、”,p0,p1,p2); (分数:2.00)填空项 1:_64.假设在当前盘的当前目录下有两个文件 A.TXT 和 B.TXT,现要将文件 B.TXT 合并连接到文件 A.TXT 的后面。若使用 TYPE 命令,则完整的命令为 1。(分数:2.00)填空项 1:_65.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_66.已有文本文件 test.txt,其中的内容为:Hello,everyone!。以下程序中,文件
21、 test.txt 已正确为“读”而打开,由此文件指针 fr 指向文件,则程序的输出结果是 1。 #include stdio.h main( ) FILE *fr; char str40; fgets(str,5,fr); printf(“%s/n“,str); fclose(fr); (分数:2.00)填空项 1:_67.以下程序的运行结果是 1 #include string.h typedef struct student char name10; long sno; float score; STU; main( ) STU a=“zhangsan”,2001,95,b=“Shang
22、xian”,2002,90, c=“Anhua”,2003,95,d,*p= d=a; if(strcmp(a.name,b.name)0) d=b; if(strcmp(c.name,d.name)0) d=c; printf(“%ld%s/n”,d.sno,p-name); (分数:2.00)填空项 1:_68.E-mail 地址由用户名和域名两部分组成,这两部分的分隔符为 1。(分数:2.00)填空项 1:_69.以下程序的运行结果是 1。 main2 int a=2,b=7,c=5; switch(aO) case 1:switch(b填空项 1:_70.以下程序运行后的输出结果是 1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C59 答案 解析 DOC
