ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:110.50KB ,
资源ID:1337729      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1337729.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】计算机二级(C)39及答案解析.doc)为本站会员(bowdiet140)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】计算机二级(C)39及答案解析.doc

1、计算机二级(C)39 及答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.有以下程序: main( ) char s =“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是( )。 (分数:60.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD D2.有以下程序: int f(int b 4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s; ma

2、in( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%d/n”,f(a); 执行后的输出结果是( )。 (分数:60.00)A.12B.11C.18D.163.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为【 】。(分数:60.00)A.log2nB.n/2C.nD.n+14.Internet 的通信协议是( )。(分数:60.00)A.TCP/IPB.BBSC.WWWD.FTP5.有以下程序 void f(int x,int y) int t; if(xy) t=x; x=y; y=t; main( ) int

3、a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%d/n“,a,b,c); 执行后输出的结果是( )。 (分数:60.00)A.3,4,5B.5,3,4C.5,4,3D.4,3,56.在 64 为计算机中,一个字长所占字节数为( )。(分数:60.00)A.64B.8C.4D.17.以下叙述中正确的是【 】。(分数:60.00)A.调用 printf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.hC.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读入

4、字符时,可以从键盘上输入字符所对应的 ASCII 码8.有以下程序: main() int a,b,d=25; a=d/10%9; b=a printf(“%d,%d/n“,a,b); 程序运行后的输出结果是【 】。(分数:60.00)A.6,1B.2,1C.6,0D.2,09.有以下程序: main() int i=1,j=2,k=3; if(i+=1,则以下表达式中值为零的是( )。(分数:60.00)A.c1c2B.c1p=c; 能正确引用 c 数组元素的是( )。 (分数:60.00)A.p+1B.*(p+3)C.*(p+1)+3D.*(p0+2)17.有以下程序: main() ch

5、ar a1=M,a2=m; printf(“%c/n“,(a1,a2); 以下叙述中正确的是【 】。 (分数:60.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息18.以下选项中可作为 C 语言合法常量的是【 】。(分数:60.00)A.-80B.-080C.-8e1.0D.-80.0e19.有以下程序 #include main() char p20=a,b,c,d,q=“abc“,r:“abcde“; strcpy(P+strlen(q),r);strcat(p,q); printf(“ddn“,sizeof(p),strlen

6、(p); 程序运行后的输出结果是【 】。 (分数:60.00)A.209B.99C.2011D.111120.以下程序中函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址 #include stdio.h #include string.h char *scmp(char *s1, char *s2) if(strcmp(s1,s2)A.abcdB.abbaC.abcD.abca21.在 Windows 环境下,粘贴按钮是( )。(分数:60.00)A.B.C.D.22.若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是( )。(分数

7、:60.00)A.int *i=NULL; scanf(“%d“,i);B.float *f=NULL; *f=10.5;C.char t=m, *c= *c=D.long *L; L=/0;23.有以下程序: main() int a3,3*p,i; p= prinff(“Input n:“);scanf(“d“, 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); 程序运行后的输出结果是【 】。(分数

8、:60.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,7,6,5,4,3,2,1,26.某二叉树中有 n 个度为 2 的结点,则该二叉树中的叶子结点数为【 】。(分数:60.00)A.n+lB.n-1C.2nD.n227.若有定义:int *p3;,则以下叙述中正确的是( )。 (分数:60.00)A.定义了一个基类型为 int 的指针变量 p,该变量具有三个指针B.定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类型为 int 的指针C.定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素D.定义了一

9、个可指向一维数组的指针变量 p,所指一维数组应具有三个 int 类型元素28.以下不能正确定义二维数组的选项是( )。(分数: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;29.已定义 c 为字符型变量,则下列语句中正确的是( )。(分数:60.00)A.c=97;B.c=“97“;C.c=97;D.c=“a“;30.在 Windows 环境下,若资源管理器左窗口中的某文件夹左边标有“”标记,则表示( )。(分数:60.00)A.该文件夹为空B.该文件夹中含有子文件夹C.该文件夹中只包含有可执行文

10、件D.该文件夹中包含系统文件31.有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序: #includestring.h void f(char *p,int n) char *t;int i,j; for(i=O;in-1;i+) for(j=i+1;jn;j+) if strcmp(pi,pj)0t=pi pi=pj; pj=t; main() char* p5=(“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“; f(p,5); printf(“%d/n“,strlen(p1); 程序运行后的输出结果是【 】。 (分数:60.00)A.2B.3C.6D.43

11、2.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2; else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:60.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错33.有以下程序: main() char a7=“a0/0a0/0“:int i,j i=sizeof(a);j=strlen(a): printf(“%d%d/n“,i,j); 程序运行后的输出结果是【 】。(分数:60.00)A.22B.76C.72D.6234.有以下程序: main() int a=1

12、,b; for(b=1;b=10;b+) if(a=8)break; if(a%21)a+=5;continue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是【 】。(分数:60.00)A.3B.4C.5D.635.能将高级语言编写的源程序转换为目标程序的软件是( )。(分数:60.00)A.汇编程序B.编辑程序C.解释程序D.编译程序36.以下非法的赋值语句是( )。(分数:60.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j0;37.有以下程序: #include stdlib.h struct NODE int num; struct

13、NODE *next; main( ) struct NODE *p,*q,*r; int sum=0; p=(struct NODE *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE); p-num=1;q-num=2;r-num=3; p-next=q;q-next=r;r-next=NULL; sum+=q-next-num;sum+=p-num; printf(“%d/n”,sum); 执行后的输出结果

14、是( )。 (分数:60.00)A.3B.4C.5D.638.下列关于栈的描述中错误的是【 】。(分数:60.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针39.下列函数定义中,会出现编译错误的是( )。(分数:60.00)A.max(int x,int y,int *z) *z=xy ? x:y; B.int max(int x,y) int z; z=xy ? x:y; return z; C.max(int x,int y) int z; z=xy?x:y; return(z); D.int max(int x,int y

15、) return(xy?x:y); 40.有以下程序段: main( ) int a=5,*b,*c; c= b= 程序在执行了 c=b=语句后,表达式:*c 的值是( )。 (分数:60.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值D.变量 b 的地址41.当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是【 】。(分数:60.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=142.有以下程序: main( ) int x =1,3,5,7,2,4,6,0,i,j,k; for(i=0;i3;i+) for (

16、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+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.1357024643.下列选项中不属于结构化程序设计方法的是【 】。(分数:6

17、0.00)A.自顶向下B.逐步求精C.模块化D.可复用44.以下叙述中不正确的是( )。(分数:60.00)A.C 语言中的文本文件以 ASCII 码形式存储数据B.C 语言中对二进制位的访问速度比文本文件快C.C 语言中,随机读写方式不使用于文本文件D.C 语言中,顺序读写方式不使用于二进制文件45.下列条件语句中,功能与其他语句不同的是( )。(分数:60.00)A.if(a)printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y); else printf(“%d/n“,x);C.if (a!=0)printf(“

18、%d/n“,x); else printf(“%d/n“,y);D.if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y);46.以下选项中,当 X 为大于 l 的奇数时,值为 0 的表达式是【 】。(分数:60.00)A.x2=1B.x2C.x2!=0D.x2=047.有以下程序程序运行后的输出结果是【 】。 main() Int k=5,n=0; do switch(k) case 1: case 3:n+=1;k-;break; default:n=0;k; case 2: case 4 : n+=2;k-;break; printf(“d“,n);

19、 while(k0 iname); (分数:2.00)填空项 1:_61.以下程序运行后的输出结果是 1。 main( ) int a 44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+= aj; j+; while(j4); printf(“%d/n“,s); (分数:2.00)填空项 1:_62.以下程序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0; p=a; while(*

20、p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:2.00)填空项 1:_63.已知字符 A 的 ASCII 码为 65,以下程序运行后的输出结果是 1。 main2 char a,b; a=A+5-3; b=a+6-2; printf(“%d %c/n“,a,b) ; (分数:2.00)填空项 1:_64.以下程序的输出结果是 1。 #include main2 prinff(“dn“,strlen(“IBMn0121“); (分数:2.00)填空项 1:_65.以下程序的输出结果是 1。 #include main2 char a=1,2,3,4,O; prin

21、tf(“ddn“,sizeof(a),strlen(a); (分数:2.00)填空项 1:_66.以下函数的功能是计算 (分数:2.00)填空项 1:_67.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_68.一个关系表的行称为 1。(分数:2.00)填空项 1:_69.若变量 a,b 已定义为 int 类型并赋值 21 和 55,要求用 printf 函数以 a=21,b=55 的形式输出,请写出完整的的输出语句 1。(分数:2.00)填空项 1:_70.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9

22、;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_计算机二级(C)39 答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.有以下程序: main( ) char s =“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是( )。 (分数:60.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD D 解析:2.有以下程

23、序: int f(int b 4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%d/n”,f(a); 执行后的输出结果是( )。 (分数:60.00)A.12B.11C.18D.16 解析:3.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为【 】。(分数:60.00)A.log2nB.n/2C.n D.n+1解析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,贝需要与线

24、性表中所有的元素进行比较。对长度为 n 的线性表进行顺序查找,在最坏隋况下需要比较 n 次。 4.Internet 的通信协议是( )。(分数:60.00)A.TCP/IP B.BBSC.WWWD.FTP解析:5.有以下程序 void f(int x,int y) int t; if(xy) t=x; x=y; y=t; main( ) int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%d/n“,a,b,c); 执行后输出的结果是( )。 (分数:60.00)A.3,4,5B.5,3,4C.5,4,3D.4,3,5 解析:6.在 6

25、4 为计算机中,一个字长所占字节数为( )。(分数:60.00)A.64B.8 C.4D.1解析:7.以下叙述中正确的是【 】。(分数:60.00)A.调用 printf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.h C.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码解析:在使用标准输入输出库函数(除了 Printf 和 scanf)前,必须要用预编译命令“#include“将头文件“stdio.h“包括到用户源文件中。 8.有以下程序: mai

26、n() int a,b,d=25; a=d/10%9; b=a printf(“%d,%d/n“,a,b); 程序运行后的输出结果是【 】。(分数:60.00)A.6,1B.2,1 C.6,0D.2,0解析:本题中“a=d/10%9;“的值为 25/10%9=2;“b=a,则以下表达式中值为零的是( )。(分数:60.00)A.c1c2 B.c1p=c; 能正确引用 c 数组元素的是( )。 (分数:60.00)A.p+1B.*(p+3)C.*(p+1)+3D.*(p0+2) 解析:17.有以下程序: main() char a1=M,a2=m; printf(“%c/n“,(a1,a2);

27、以下叙述中正确的是【 】。 (分数:60.00)A.程序输出大写字母 MB.程序输出小写字母 m C.格式说明符不足,编译出错D.程序运行时产生出错信息解析:在逗号表达式(表达式 1,表达式 2)中,其运算方法是先求表达式 1 的值,然后求表达式 2 的值,整个逗号表达式的值是表达式 2 的值。故本题输出的是 a2 的值 m。 18.以下选项中可作为 C 语言合法常量的是【 】。(分数:60.00)A.-80 B.-080C.-8e1.0D.-80.0e解析:C 语言的常量分为整型常量、实型常量和字符型常量。选项 A 属于实型常量中的十进制小数形式的表示法,是合法的。 19.有以下程序 #in

28、clude main() char p20=a,b,c,d,q=“abc“,r:“abcde“; strcpy(P+strlen(q),r);strcat(p,q); printf(“ddn“,sizeof(p),strlen(p); 程序运行后的输出结果是【 】。 (分数:60.00)A.209B.99C.2011 D.1111解析:函数 strlen()返回的是数组的实际长度,而 sizeof 返回的是数组定义的总长度。因为字符数组p20定义为 20 字节长度,所以 sizeof(p)的值为 20。“strcpy(p+strlen(q),r);“语句的功能把字符数组r 拷贝到字符数组 p

29、从 p3开始到 p7的位置中,这时字符数组 p 的有效字符长度为 8。然后再执行“streat(p,q);“语句(字符串连接),即把字符数组 q 连接到字符数组 p 后面,这时字符数组 p 的有效长度为 11。20.以下程序中函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址 #include stdio.h #include string.h char *scmp(char *s1, char *s2) if(strcmp(s1,s2)A.abcdB.abba C.abcD.abca解析:21.在 Windows 环境下,粘贴按钮是( )。(分数:60.00

30、)A.B.C.D. 解析:选项 A)是打印,选项 B)是剪切,选项 C)是复制。22.若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是( )。(分数:60.00)A.int *i=NULL; scanf(“%d“,i);B.float *f=NULL; *f=10.5;C.char t=m, *c= *c=D.long *L; L=/0; 解析:23.有以下程序: main() int a3,3*p,i; p= prinff(“Input n:“);scanf(“d“, t=*x;*x=*y;*y=t; main() int a 8=1, 2,3,4,5, 6, 7

31、,8,i,*p,*q; p=a;q= while(pq) f(p,q);p+;q-; for(i=0;i8;i+)printf(“%d,“ai); 程序运行后的输出结果是【 】。(分数:60.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,7,6,5,4,3,2,1, 解析:本程序中函数 f 的作用是交换指针变量 x 和 y 所指向的存储单元的值。 26.某二叉树中有 n 个度为 2 的结点,则该二叉树中的叶子结点数为【 】。(分数:60.00)A.n+l B.n-1C.2nD.n2解析:对于任何一棵二叉树 T,如果其终端结点

32、(叶子)数为 n1,度为 2 的结点数为 n2,则 n1=n2+1。所以该二叉树的叶子结点数等于 n+1。27.若有定义:int *p3;,则以下叙述中正确的是( )。 (分数:60.00)A.定义了一个基类型为 int 的指针变量 p,该变量具有三个指针B.定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类型为 int 的指针 C.定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素D.定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三个 int 类型元素解析:28.以下不能正确定义二维数组的选项是( )。(分数:60.00)A.int a22=1,2;B.i

33、nt a 2=1,2,3,4;C.int a22=1,2,3;D.int a2 =1,2,3,4; 解析:29.已定义 c 为字符型变量,则下列语句中正确的是( )。(分数:60.00)A.c=97;B.c=“97“;C.c=97; D.c=“a“;解析:30.在 Windows 环境下,若资源管理器左窗口中的某文件夹左边标有“”标记,则表示( )。(分数:60.00)A.该文件夹为空B.该文件夹中含有子文件夹 C.该文件夹中只包含有可执行文件D.该文件夹中包含系统文件解析:31.有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序: #includestring.h void f(c

34、har *p,int n) char *t;int i,j; for(i=O;in-1;i+) for(j=i+1;jn;j+) if strcmp(pi,pj)0t=pi pi=pj; pj=t; main() char* p5=(“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“; f(p,5); printf(“%d/n“,strlen(p1); 程序运行后的输出结果是【 】。 (分数:60.00)A.2B.3C.6D.4 解析:字符串比较函数“strcmp(char*s1,char*s2)“的比较规则是对两个字符串自左至右逐个字符相比(按 ASCII 码值大小比较),

35、直到出现不同的字符或遇到到“/0“为止。如果全部相同,则认为相等:若出现不相同的字符,则以第一个不相同的字符的比较结果为准。当 s1s2,返回值0;当 s1=s2 时,返回值二 0:当 s1s2 时,返回值0。故本题经过排序后,得到第二个字符串是“abbd“,所以输出结果是 4。 32.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2; else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:60.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错 解析:else 子句不能作

36、为语句单独使用,在题中 if 与 else 语句被“c=2;“语句分隔开了。33.有以下程序: main() char a7=“a0/0a0/0“:int i,j i=sizeof(a);j=strlen(a): printf(“%d%d/n“,i,j); 程序运行后的输出结果是【 】。(分数:60.00)A.22B.76C.72 D.62解析:C 语言中以/0作为字符串的结束符,且 strlen()函数计算的是/0字符前的所有字符的个数。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。 34.有以下程序: main() int a=1,b; for(b=1;b=10;b+

37、) if(a=8)break; if(a%21)a+=5;continue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是【 】。(分数:60.00)A.3B.4 C.5D.6解析:break 和 continue 的区别是:continue 语句只结束本次循环,而不是终止整个循环的执行;而break 语句则是结束整个循环过程,不再判断执行的条件是否成立。 35.能将高级语言编写的源程序转换为目标程序的软件是( )。(分数:60.00)A.汇编程序B.编辑程序C.解释程序D.编译程序 解析:36.以下非法的赋值语句是( )。(分数:60.00)A.n=(i=2,+i)

38、;B.j+;C.+(i+1); D.x=j0;解析:自加或自减运算的操作数不能是表达式。37.有以下程序: #include stdlib.h struct NODE int num; struct NODE *next; main( ) struct NODE *p,*q,*r; int sum=0; p=(struct NODE *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE); p-num=1;q-nu

39、m=2;r-num=3; p-next=q;q-next=r;r-next=NULL; sum+=q-next-num;sum+=p-num; printf(“%d/n”,sum); 执行后的输出结果是( )。 (分数:60.00)A.3B.4 C.5D.6解析:38.下列关于栈的描述中错误的是【 】。(分数:60.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针 解析:栈是一种特殊的线性表,又称先进后出表(First In Last Out,FILO)。 39.下列函数定义中,会出现编译错误的是( )。(分数:60.00)A.m

40、ax(int x,int y,int *z) *z=xy ? x:y; B.int max(int x,y) int z; z=xy ? x:y; return z; C.max(int x,int y) int z; z=xy?x:y; return(z); D.int max(int x,int y) return(xy?x:y); 解析:40.有以下程序段: main( ) int a=5,*b,*c; c= b= 程序在执行了 c=b=语句后,表达式:*c 的值是( )。 (分数:60.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值 D.变量 b 的地址解析:41.

41、当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是【 】。(分数:60.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=1 解析:本题选项 A、B、C 中表达式用作 if 语句表达式时,其值一致,即判断 k 的值是否为奇数,若为奇数,其表达式为真,否则为假;而选项 D 的表达式“!k%2=1“相当于“!(k%2)=1,若 k 的值为奇数,则此表达式的值为假。 42.有以下程序: main( ) int x =1,3,5,7,2,4,6,0,i,j,k; for(i=0;i3;i+) for (j=2;j=i;j-) if(xj+1xj

42、) 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.75310246 B.01234567C.76310462D.13570246解析:43.下列选项中不属于结构化程序设计方法的是【 】。(分数:60.00)A.自顶向下B.逐步求精

43、C.模块化D.可复用 解析:结构化程序设计方法的主要原则是:自顶向下,逐步求精,模块化,限制使用 goto 语句。可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。面向对象的程序设计具有可复用性的优点。44.以下叙述中不正确的是( )。(分数:60.00)A.C 语言中的文本文件以 ASCII 码形式存储数据B.C 语言中对二进制位的访问速度比文本文件快C.C 语言中,随机读写方式不使用于文本文件D.C 语言中,顺序读写方式不使用于二进制文件 解析:45.下列条件语句中,功能与其他语句不同的是(

44、)。(分数:60.00)A.if(a)printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y); else printf(“%d/n“,x);C.if (a!=0)printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y); 解析:46.以下选项中,当 X 为大于 l 的奇数时,值为 0 的表达式是【 】。(分数:60.00)A.x2=1B.x2C.x2!=0D.x2=0 解析:因为 x 的值为大于 1

45、的奇数,所以 x 除以 2 的余数等于 l,因此,选项 A)、C)中表达式的结果为真,不为 0;对于选项 B)来说,x 除以 2 的商不会等于 0;选项 D)中表达式的结果为假,即等于 0。47.有以下程序程序运行后的输出结果是【 】。 main() Int k=5,n=0; do switch(k) case 1: case 3:n+=1;k-;break; default:n=0;k; case 2: case 4 : n+=2;k-;break; printf(“d“,n); while(k0 (分数:2.00)填空项 1:_ (正确答案:2002ShangXian)解析:61.以下程序运行后的输出结果是 1。 main( ) int a 44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+= aj; j+

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1