【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc

上传人:towelfact221 文档编号:1334731 上传时间:2019-10-17 格式:DOC 页数:14 大小:87KB
下载 相关 举报
【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc_第1页
第1页 / 共14页
【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc_第2页
第2页 / 共14页
【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc_第3页
第3页 / 共14页
【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc_第4页
第4页 / 共14页
【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、国家二级(C 语言)机试模拟试卷 141 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于数据链表的叙述中正确的是( )。(分数:2.00)A.只有一个根节点的数据结构不一定是线性结构B.有一个以上根节点的数据结构不一定是非线性结构C.循环链表是非线性结构D.双向链表是非线性结构2.关于算法和程序,以下叙述中正确的是( )。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是( )。(分数:2.00)A.叶子节点总是比度为

2、 2 的节点多 1 个B.叶子节点总是比度为 2 的节点多 2 个C.叶子节点数是度为 2 的节点数的两倍D.度为 2 的节点数是度为 1 的节点数的两倍4.软件生命周期中的各个阶段都不包括的活动是( )。(分数:2.00)A.市场调研B.需求分析C.软件测试D.软件维护5.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3D.26.程序测试的主要目的是( )。(分数:2.00)A.设计测试程序B.验证程序的正确性C.发现程序中的错误D.改正程序中的错误7.下列有关数据库的描述中正确的是( )。(分数:2.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在

3、逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括( )。(分数:2.00)A.数据模式B.内模式C.外模式D.概念模式9.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.交C.投影D.自然连接10.面向对象设计方法的主要特征是( )。(分数:2.00)A.继承B.自顶向下C.模块化D.逐步求精11.关于 C 语言常量的叙述中错误的是( )。(分数:2.00)A.经常被使用的变量可以定义成常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量12.以下

4、关于 C 语言的相关叙述中正确的是( )。(分数:2.00)A.简单 C 语句必须以分号结束B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完13.以下关于算法的叙述中错误的是( )。(分数:2.00)A.算法正确的程序可以有零个输入B.算法正确的程序可以有零个输出C.算法正确的程序最终一定会结束D.算法正确的程序对于相同的输入一定有相同的结果14.关于 C 语言的用户标识符中,不合法的是( )。(分数:2.00)A.a_1B.Xa3cC.A 一一 xD._115.关于 C 语言的赋值语句,合法的是( )。(分数:2.00)A.a=b=

5、1;B.e=n3;C.x+y=u;D.x=2=6+2;16.在使用 scanf(2df,&a,&b);语句并从键盘输入 123 456 后,a 和 b 的值分别是( )。(分数:2.00)A.12 和 30B.123 和 4560C.12 和 4560D.12 和 345 6017.下列 C 语言语句会出现错误的是( )。(分数:2.00)A.char a=123B.char a=n;C.char a=a;D.char =x2d;18.下列表达式的值当变量 c 的值不为 2、4、6 时也为“真”的是( )。(分数:2.00)A.(c=2&c=6)&(c2!=1)B.(c=2)(c=4)(c=6

6、)C.c=2&c=6)&!(c2)D.(c=2&c=6)(c!=3)(c!=5)19.C 语句中不能够正确计算下述公式的程序段是( )f= (分数:2.00)A.if(x=0) f=sqrt(x); if(x0) f=sqrt(x);B.if(x=0) f=sqrt(x); else f=sqrt(x);C.f=sqrt(x) if(x0) f=sqrt(x);D.f=sqrt(x=0?x:x);20.有以下程序: #include main() int m=20; while(m); printf(y=dn,m); 程序执行后的输出结果是( )。(分数:2.00)A.m=1B.m=0C.m=

7、1D.while 构成无限循环21.有以下程序: #include main() int i; for(i=1;i=40;i+) if(i+5=0) if(i+8=0)print(d,i) printf(d,i); 程序执行后的输出结果是( )(分数:2.00)A.17B.24C.32D.1222.有以下程序: #include main() int s; scanf(d,&s); while(s0) switch(s) case 1:printf(d,s+5) case 2:printf(d,s+4);break; case 3:printf(d,s+3); case 4:printf(d,

8、s+2); default:printf(d,s+1);break; scanf(d,&s) 运行时,若输入 123450回车则输出的结果是(分数:2.00)A.6.56655e+008B.6.56646e+006C.6.66665e+006D.6.66666e+00623.关于 return 语句叙述中错误的是( )。(分数:2.00)A.函数的 return 语句中可以没有表达式B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义为 void 类型D.用户定义的函数中可以没有 return 语句24.有

9、以下程序:#includestdiohvoid fun(char *c,int d) *c=*c+1;d=d+1;printf(c,c,*c,d);main()char x=1,y=A;fun(&x,y);printf(c,cn,x,y)(分数:2.00)A.2,B,2,AB.2,B,B,AC.1,B,B,1D.1,B,a,B25.下列选项中,能正确定义数组的语句是( )。(分数:2.00)A.int a010B.int b;C.int N=10; int cN;D.#define N 10 int dN26.以下函数实现按每行 5 个输出 a 所指数组中的数据: #include void

10、fun(int*a,int n) int i; for(i=0;in;i+) printf(d,ai); printf(n); 在横线处应填入的语句是( )。(分数:2.00)A.if(i5=0)printf(n);B.if(i5=0)continue;C.if(i5=0)prinff(n);D.if(i5=0)continue;27.有以下程序: #include void if(char*c) while(*c) if(*c=a&*c=z) *c=*c 一(a一A); c+; main() char s21; gets(s); ff(s); puts(s); 当执行程序时从键盘上输入 He

11、llo World,则程序运行后的输出结果是( )。(分数:2.00)A.hello world;B.Hello WorldC.HELLO WORLDD.hELLO World28.有以下程序:#includestdiohmain()int a44=1,2,3,4,2,4,3,1,1,7,1,5,5,6,7,8;int i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;k4;k+)if(ajiaki)t=aji;aji=aki;aki=t;*按列排序*for(i=0;i4;i+)printf(d,aii);程序运行后的输出结果是( )。(分数:2.00

12、)A.1,4,3,8,B.1,7,3,1,C.4,7,5,8,D.1,2,5,4,29.有以下程序(strcat 函数用于连接两个字符串): #nclude #include main() char s20=Welcome0to0,t=Beijing; strcat(s,t); printf(sn,s); 程序运行后的输出结果是( )。(分数:2.00)A.Welcome to BeijingB.Welcome0to0BeijingC.WelcomeBeijingD.Beijing30.有以下程序段: char name20; int Bum; scanf(name=s num=d,name,

13、&hum); 当执行上述程序段,并从键盘输入:name=David num=101 后,name 的值为( )。(分数:2.00)A.name=DavidB.name=David num=101C.DavidD.David Bum=10131.有以下程序: #include main() char ch=12345,*P; p=ch; printf(cn,*(p+3); 程序运行后的输出结果是( )。(分数:2.00)A.2B.3C.4D.一个地址值32.有以下程序: #include main() char s=012abc; int i,n=0; for(i=0;si!=0;i+) if(

14、sia&si=z) n+; printf(dn,n); 程序运行后的输出结果是( )。(分数:2.00)A.0B.3C.5D.633.有以下程序: #include int fun(int n) if(n=1) return 1; else return(n+fun(n 一 1); main() int y; scanf(d,&y); y=fun(y); printf(dn,y); 执行程序时,输入5,程序运行后的输出结果是( )。(分数:2.00)A.5B.10C.15D.2034.有以下程序: #include int fun(int m) static int n=( ); n+=m r

15、eturn n; main() int i=l; pfintf(d,fun(i+); printf(dn,fun(+i); 程序运行后的输出结果是( )。(分数:2.00)A.1,4B.1,1C.2,4D.2,235.有以下程序: #include struct S int a,b;st2=3,4,5,6; main() struct S*p=st; printf(d,+(p 一a); printf(dn,+(p 一b); 程序运行后的输出结果是( )。(分数:2.00)A.3,4B.4,5C.3,5D.4,636.设有以下语句:typedef struct Schar c;int a4;PN

16、;则下面叙述中正确的是( )。(分数:2.00)A.PN 是 struct S 类型的变量B.S 是 struct 类型的变量C.可以用 S 定义结构体变量D.可以用 PN 定义结构体变量 37.有以下程序: #include #define SUB(x)(x)一(x) main() int a=l,b=2,c=3,s; s=SUB(a+b)*c; printf(dn,s); 程序运行后的输出结果是( )。(分数:2.00)A.0B.一 6C.一 1D.338.有以下程序: #include main() int x=1,y; V=x2: printf(dn,y); 程序运行后的输出结果是(

17、)。(分数:2.00)A.1B.2C.4D.839.下列关于文件概念的叙述中正确的是( )。(分数:2.00)A.文件由 ASC码组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由字符序列组成,其类型只能是文本文件D.文件由数据序列组成,可以构成二进制文件或文本文件40.有以下程序: #include main() FILE*fp; int a10=a,b,C,d,i; fp=fopen(d2dat,wb); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp);fclose(fp); fp=fopen

18、(d2dat,rb); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+) printf(d,a i); 程序运行后的输出结果是( )。(分数:2.00)A.a,b,c,d,B.a,b,C,d,0,a,b,c,dC.a,b,c,d,a,b,c,d,D.a,b,C,d,a,b,c,d,0二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中,函数 fun 的功能是:把数组中的元素按“最小、最大、次小、次大的顺序排列。 例如,若 a 所指数组中的数据最初排列为:1、2、3、4、5、6、7、8、9;则按规则移动后,数据排列为:1、

19、9、2、8、3、7、4、6、5。形参 n 中存放 a 所指数组中数据的个数。 规定 fun 函数中的 max 存放当前所找的最大值,px 存放当前所找最大值的下标。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1C 中。不得增行或删行,也不得更改程序的结构! #include #define N 9 void fun(int aint n) int i,j,max,min,px,pn,t; for(i=0;in 一 i;j+=2) *found* max=min=【1】 px=pn=i; for(j=i+1;jn;j+) *foun

20、d* if(max【2】) max=aj;px=j; *found* if(min【3】) max=aj;pn=j; if(pn!=i), t=ai;ai=min;apn=t; if(px=i)px=pn; if(px!=i+1) t=ai+1;ai+1=max;apx=t; main() int bN=9,1,4,2,3,6,5,8,7,i; printf(nThe original data:n); for(i=0;iN;i+)printf(4d,bi); printf(n); fun(b,N); printf(nThe data after moving:hn); for(i=0;iN;

21、i+)printf(4d,bi); printf(n); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中函数 fun 的功能是:将 tt 所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“AB,CD”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MOD11C 中,不得增行或删行,也不得更改程序的结构!#includestdioh#includestringhchar*fun(char tt)int i;for(i=0;tti;i+)*found*if(a=tti)(tti=z)*found

22、*tti+=32;return(tt);main()char tt81;printf(nPlease enter a str:ng:);gets(tt);printf(nThe result string is:ns,fun(tt);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.请编写函数 fun,其功能是分别统计形参 t 所指二维数组中字母#和*的个数。注意:部分源程序存在PROG1C 中,请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#includestdioh#includestdlibh#defin

23、e M 14void NONO();void fun(char(*t)M,int*a,int*c) void get(char(*s)M)inti,j;for(i=0;iM;i+)for(j=0;jM;j+)sij=65+rand()12;printf(c,sij);printf(n);main()char aMM;int x,y; get(a);fun(a,&x,&y);printf(#=d*=dn,x,y);NONO(); void NON0()*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*FILE*fp,*wf; int i,j,x,y;char aMM;fp=fope

24、n(c:testindat,r);wf=fopen(c:testoutdat,w);for(i=0:iM;+)for(j=0;jM;j+)fscanf(fp,nc,&aij;fun(a,&x,&y);fprintf(wf,#=dn,x);fprintf(wf,*=dn,y);fclose(fp);fclose(wf);(分数:2.00)_国家二级(C 语言)机试模拟试卷 141 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于数据链表的叙述中正确的是( )。(分数:2.00)A.只有一个根节点的数据结构不一定是线性结构 B.有一个以上根

25、节点的数据结构不一定是非线性结构C.循环链表是非线性结构D.双向链表是非线性结构解析:解析:二叉树只有一个根节点,但不是线性结构,所以 A 正确。有一个以上根节点的结构一定是非线性结构,链表是线性结构。2.关于算法和程序,以下叙述中正确的是( )。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对 解析:解析:算法是程序的一部分;设计算法时不只考虑数据结构和结果的可靠性,还应该考虑数据对象的运算和操作等其他方面,所以选 D。3.下列关于二叉树的叙述中,正确的是( )。(分数:2.00)A.叶子节点总是比度为 2 的

26、节点多 1 个 B.叶子节点总是比度为 2 的节点多 2 个C.叶子节点数是度为 2 的节点数的两倍D.度为 2 的节点数是度为 1 的节点数的两倍解析:解析:二叉树中的叶子节点总比度为 2 的节点多 1 个。4.软件生命周期中的各个阶段都不包括的活动是( )。(分数:2.00)A.市场调研 B.需求分析C.软件测试D.软件维护解析:解析:软件生命周期是指产品从提出、实现、使用、维护到停止使用退役的过程,因此,它不包括市场调研活动。5.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3 D.2解析:解析:可知:该树的深度为 3,例如,系统功能 2功能 21,就是最深的度数的一个

27、表现。6.程序测试的主要目的是( )。(分数:2.00)A.设计测试程序B.验证程序的正确性C.发现程序中的错误D.改正程序中的错误 解析:解析:程序测试的主要目的是改正程序中的错误。7.下列有关数据库的描述中正确的是( )。(分数:2.00)A.在需求分析阶段建立数据字典 B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典解析:解析:数据字典是在需求分析阶段建立的。8.数据库系统的三级模式不包括( )。(分数:2.00)A.数据模式 B.内模式C.外模式D.概念模式解析:解析:数据库系统的三级模式是概念模式、内模式和外模式。9.有三个关系 R、S 和

28、T 如下: (分数:2.00)A.并B.交C.投影D.自然连接 解析:解析:自然连接要求两个关系的属性一致,并将其进行并操作。所以,答案为 D。10.面向对象设计方法的主要特征是( )。(分数:2.00)A.继承 B.自顶向下C.模块化D.逐步求精解析:解析:面向对象设计方法的基本特征:封装性、继承性、多态性、抽样性。11.关于 C 语言常量的叙述中错误的是( )。(分数:2.00)A.经常被使用的变量可以定义成常量 B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量解析:解析:常量和变量的概念不同,

29、常量是指在程序运行中,其值不能被改变的量,变量是在程序运行过程中会发生变化的量,所以选项 A 不正确,常量分为整型常量、实型常量、字符常量和字符串常量,也可分为数值型常量和非数值型常量。12.以下关于 C 语言的相关叙述中正确的是( )。(分数:2.00)A.简单 C 语句必须以分号结束 B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完解析:解析:简单 C 语句必须以分号结束,多条语句可以写在同一行上,注释也可以单独成行或有多行注释,另外,C 语句不一定要写在一行上,除了特别的一些地方(如字符串引用)之外,C 语句可以用硬回车连接。1

30、3.以下关于算法的叙述中错误的是( )。(分数:2.00)A.算法正确的程序可以有零个输入B.算法正确的程序可以有零个输出 C.算法正确的程序最终一定会结束D.算法正确的程序对于相同的输入一定有相同的结果解析:解析:程序可以不用输入,但一定要有输出,所以 B 不正确;算法正确的程序一定会结束,而且相对于相同的输入输出一定相同。14.关于 C 语言的用户标识符中,不合法的是( )。(分数:2.00)A.a_1B.Xa3cC.A 一一 x D._1解析:解析:C 语言的用户标识符由数字、字母和下划线构成,选项 C 中出现的短线不是下划线,所以不合法。15.关于 C 语言的赋值语句,合法的是( )。

31、(分数:2.00)A.a=b=1;B.e=n3; C.x+y=u;D.x=2=6+2;解析:解析:常量不能被赋值,所以 D 错,表达式不能被赋值,所以 C 错,赋值运算的级别高手逻辑运算符,所以 A 错,若写成 a=(b=1)则是合法的表达式。16.在使用 scanf(2df,&a,&b);语句并从键盘输入 123 456 后,a 和 b 的值分别是( )。(分数:2.00)A.12 和 30 B.123 和 4560C.12 和 4560D.12 和 345 60解析:解析:scanf 是严格执照格式输入的,2d 指只输入两位数字,所以 a=12,b=3,另外,题目中没有c 格式用来输入字符

32、,所以空格将会被看作是分隔符(此处为结束符)。17.下列 C 语言语句会出现错误的是( )。(分数:2.00)A.char a=123 B.char a=n;C.char a=a;D.char =x2d;解析:解析:选项 A 将一个字符串赋给了一个字符变量是不正确的;选项 B 和 C 是字符赋值,正确;选项D 是十六进制表示法。也正确。18.下列表达式的值当变量 c 的值不为 2、4、6 时也为“真”的是( )。(分数:2.00)A.(c=2&c=6)&(c2!=1)B.(c=2)(c=4)(c=6)C.c=2&c=6)&!(c2)D.(c=2&c=6)(c!=3)(c!=5) 解析:解析:是

33、或运算符,即只要其中有一个表达式为真,结果即为真,当 c=3 或 c=5 时,选项 D 最左边的表达式为真,所以整个表达式为真。19.C 语句中不能够正确计算下述公式的程序段是( )f= (分数:2.00)A.if(x=0) f=sqrt(x); if(x0) f=sqrt(x);B.if(x=0) f=sqrt(x); else f=sqrt(x);C.f=sqrt(x) if(x0) f=sqrt(x); D.f=sqrt(x=0?x:x);解析:解析:选项 C 中在没有判断 x 的正负之前便进行了开方运算,所以和公式不符。20.有以下程序: #include main() int m=2

34、0; while(m); printf(y=dn,m); 程序执行后的输出结果是( )。(分数:2.00)A.m=1 B.m=0C.m=1D.while 构成无限循环解析:解析:注意 while 循环体为空语句,m 是先使用值再减 1,所以当 m=0 时退出循环,再减 1,结果为一 1。21.有以下程序: #include main() int i; for(i=1;i=40;i+) if(i+5=0) if(i+8=0)print(d,i) printf(d,i); 程序执行后的输出结果是( )(分数:2.00)A.17 B.24C.32D.12解析:解析:i+是在表达式中先使用 i 的值,

35、表达式执行完成后将 i 加 1。题目的意思是在 140 的数中先找到能被 5 整除的数,如 5,10,15,20 等,若找到则将其加 1 并判断是否能被 8 整除,如果能则再加 1,执行输出操作。所以只有 15 能被 5 整除,且加 1 后也能被 8 整除,再加 1 后为 17。22.有以下程序: #include main() int s; scanf(d,&s); while(s0) switch(s) case 1:printf(d,s+5) case 2:printf(d,s+4);break; case 3:printf(d,s+3); case 4:printf(d,s+2); d

36、efault:printf(d,s+1);break; scanf(d,&s) 运行时,若输入 123450回车则输出的结果是(分数:2.00)A.6.56655e+008 B.6.56646e+006C.6.66665e+006D.6.66666e+006解析:解析:case 语句执行后若没有 break,则会继续执行后面的 case 语句,直到碰到 break 或 switch结束。当输入 1 时输出 65,输入 2 时输出 6,输入 3 时输出 654,当输入 4 时输出 65,当输入 5 时输出6,当输入 0 时 while 语句结束。23.关于 return 语句叙述中错误的是( )

37、。(分数:2.00)A.函数的 return 语句中可以没有表达式B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 return 语句,则应当定义为 void 类型D.用户定义的函数中可以没有 return 语句解析:解析:函数中可以没有 return 语句,return 语句中也可以没有表达式,若没有 return 则函数要定义成 void 类型,一个函数中也可以有多个 return 语句,但要确保执行时只调用其中一个 return 语句,不能一次返回多个函数值。24.有以下程序:#includestdiohvoid fun(ch

38、ar *c,int d) *c=*c+1;d=d+1;printf(c,c,*c,d);main()char x=1,y=A;fun(&x,y);printf(c,cn,x,y)(分数:2.00)A.2,B,2,A B.2,B,B,AC.1,B,B,1D.1,B,a,B解析:解析:这里主要考查形参和实参之间的值传递,子函数的形参第一个是指针,第二个是实徽,所以第一个参数的值在子函数中改变后在主函数中会体现出来,而第二个参数在子函数中改变后在主函数中不会体现出来;另外,字符可以当作特殊的整数对待,因此在子函数中打印出的是“2,B,”,在主函数中再打印时 x 的值发生了变化,但 y 的值没有发生变

39、化,所以打印出的是“2,A”。25.下列选项中,能正确定义数组的语句是( )。(分数:2.00)A.int a010B.int b;C.int N=10; int cN;D.#define N 10 int dN 解析:解析:A 的中的内容错误,B 中若没有确定数组的长度,则需要在定义的时候同时赋值,C 中不能用变量定义数组长度。26.以下函数实现按每行 5 个输出 a 所指数组中的数据: #include void fun(int*a,int n) int i; for(i=0;in;i+) printf(d,ai); printf(n); 在横线处应填入的语句是( )。(分数:2.00)A

40、.if(i5=0)printf(n);B.if(i5=0)continue;C.if(i5=0)prinff(n); D.if(i5=0)continue;解析:解析:一行输出 5 个,所以应该判断数组下标是否为 5 的整数倍,若是则输出一个换行符。27.有以下程序: #include void if(char*c) while(*c) if(*c=a&*c=z) *c=*c 一(a一A); c+; main() char s21; gets(s); ff(s); puts(s); 当执行程序时从键盘上输入 Hello World,则程序运行后的输出结果是( )。(分数:2.00)A.hell

41、o world;B.Hello WorldC.HELLO WORLD D.hELLO World解析:解析:子函数的功能是将字符串中的字母变成大写,所以答案为 C。28.有以下程序:#includestdiohmain()int a44=1,2,3,4,2,4,3,1,1,7,1,5,5,6,7,8;int i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;k4;k+)if(ajiaki)t=aji;aji=aki;aki=t;*按列排序*for(i=0;i4;i+)printf(d,aii);程序运行后的输出结果是( )。(分数:2.00)A.1,4

42、,3,8, B.1,7,3,1,C.4,7,5,8,D.1,2,5,4,解析:解析:前面的 for 循环的目的是按列排序,最后一个 for 循环是打印数组对角线上的值,所以答案是 1,4,3,8。29.有以下程序(strcat 函数用于连接两个字符串): #nclude #include main() char s20=Welcome0to0,t=Beijing; strcat(s,t); printf(sn,s); 程序运行后的输出结果是( )。(分数:2.00)A.Welcome to BeijingB.Welcome0to0BeijingC.WelcomeBeijing D.Beijin

43、g解析:解析:系统会在字符串后面补一个结束符0,也就是说系统会将0作为字符串的结束符,在strcat 操作时 s=Welcome,t=“Beijing,所以操作后 s=WelcomeBeijing。30.有以下程序段: char name20; int Bum; scanf(name=s num=d,name,&hum); 当执行上述程序段,并从键盘输入:name=David num=101 后,name 的值为( )。(分数:2.00)A.name=DavidB.name=David num=101C.David D.David Bum=101解析:解析:scanf 在输入内容时严格按照格式

44、要求接收字符,沣意到s 后面有个空格,所以 name 的值将是 David。31.有以下程序: #include main() char ch=12345,*P; p=ch; printf(cn,*(p+3); 程序运行后的输出结果是( )。(分数:2.00)A.2B.3C.4 D.一个地址值解析:解析:字符指针只指向字符串或字符数组的首地址即 ch0的地址,对其进行加减操作时是将其向后或向前移动一个字符的位置,所以(p+3)指向了数组的第 4 个字符,*(p+3)提取了这个字符。32.有以下程序: #include main() char s=012abc; int i,n=0; for(i=0;si!=0;i+) if(sia&si=z) n+; printf(dn,n); 程序运行后的输出结果是( )。(分数:2.00)A.0 B.3C.5D.6解析:解析:for 循环的功能是统计字符中的小写字母的个数,但此处判断条件写成了 si!=0,而不是 si!=0,所以当 i=0 时,第一个字符便是0,循环结束,n=0。33.有以下程序: #include int fun(int n)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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