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

上传人:bowdiet140 文档编号:1337726 上传时间:2019-10-17 格式:DOC 页数:19 大小:105.50KB
下载 相关 举报
【计算机类职业资格】计算机二级(C)36及答案解析.doc_第1页
第1页 / 共19页
【计算机类职业资格】计算机二级(C)36及答案解析.doc_第2页
第2页 / 共19页
【计算机类职业资格】计算机二级(C)36及答案解析.doc_第3页
第3页 / 共19页
【计算机类职业资格】计算机二级(C)36及答案解析.doc_第4页
第4页 / 共19页
【计算机类职业资格】计算机二级(C)36及答案解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、计算机二级(C)36 及答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.以下不合法的字符常量是【 】。(分数:60.00)A.018B.C.D.xcc2.有以下程序: main( ) char str 10=“China“,“Beijing“,*p=str; printf(“%s/n“,p+10); 程序运行后的输出结果是( )。 (分数:60.00)A.ChinaB.BejingC.ngD.ing3.下列程序的输出结果是( )。 main( ) int i,s=0; for(i=1;i10;

2、i+=2) s+=i+1; printf(“%d/n”,s); (分数:60.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和4.与十进制数 511 等值的十六进制数为( )。(分数:60.00)A.1FFB.2FFC.1FED.2FE5.若要说明一个类型名 STP,使得定义语句 STP s;等价于 char *s;,以下选项中正确的是(分数:60.00)A.typedef STP char *s;B.typedef *char STP;C.typedef STP *char;D.typedef char* STP ;6

3、.有以下程序: main( ) int a=3,b=4,c=5,d=2; if(ab) if(bc) printf(“%d“,d+ +1); else printf(“%d“,+d +1); printf(“%d/n“,d); 程序运行后的输出结果是( )。 (分数:60.00)A.2B.3C.43D.447.有以下程序: void swapl(int c0,int c1) int t; t=c00; c00=c10;c10=t; void swap2(int *c0,iht *c1) int t; t=*c0; *c0=*c1; *c1=t; main() int a2=3,5,b2=3,5

4、;swapl(a,a+1); swap2( printf(“%d/n“,x/y 程序运行后的输出结果是( )。 (分数:60.00)A.3B.2C.1D.011.有以下程序 #include main() FILE *fp; int i; char ch=“abcd“,t; fp=fopen(“abc.dat“, “wb+“); for(i=0;iA.dB.cC.bD.a12.以下叙述中正确的是( )。(分数:60.00)A.C 程序中注释部分可以出现在程序中任意合适的地方B.花括号“和“只能作为函数体的定界符C.构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C 语句之

5、间的分隔符,不是语句的一部分13.有以下程序: struct STU char num10; float score3; main( ) struct STU s3=“20021“,90,95,85, “20022“,95,80,75, “20023“,100,95,90 ,*p=s; int i; float sum=0; for(i=0;i3;i+) sum=sum+p-scorei; printf(“%6.2f/n“,sum); 程序运行后的输出结果是( )。(分数:60.00)A.260B.270C.280D.28514.有以下程序: main() char a7=“a0/0a0/0“

6、:int i,j i=sizeof(a);j=strlen(a): printf(“%d%d/n“,i,j); 程序运行后的输出结果是【 】。(分数:60.00)A.22B.76C.72D.6215.下列关于 C 语言数据文件的叙述中正确的是( )。 (分数:60.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件16.以下选项中合法的实型常数是( )。(分数:60.00)A.5E2.0

7、B.E-3C.0.2D.1.3E17.有以下程序: prt(int*m,int n) int i; for(i=0;in;i+)mi)+; main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i5;i+) printf(“%d,“,ai); 程序运行后的输出结果是【 】。(分数:60.00)A.1,2,3,4,5,B.2,3,4,5,6,C.3,4,5,6,7,D.2,3,4,5,1,18.有以下程序 main( ) int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(“%d

8、%d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是( )。 (分数:60.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.519.Internet 的通信协议是( )。(分数:60.00)A.TCP/IPB.BBSC.WWWD.FTP20.有以下程序 main( ) int i; for(i=0;i3;i+) switch(i) case 1: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 执行后输出的结果是( )。 (

9、分数:60.00)A.011122B.012C.012020D.12021.十六进制数 100 转换为十进制数为( )。(分数:60.00)A.256B.512C.1024D.6422.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是【 】。(分数:60.00)A.#define N 10B.#define n 5int aN; int a2*n;C.int a5+5;D.int n=10,an.23.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:60.00)A.有穷性B.简洁性C.可行性D.确定性24.下列定义变量的语句中错误的是【 】。(分数

10、:60.00)A.int_int;B.double int_;C.char For;D.float US$;25.下列对于线性链表的描述中正确的是【 】。(分数:60.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的26.有以下程序: void f(int v , int w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f

11、(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z); 执行后输出结果是( )。 (分数:60.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,127.有以下程序 int fun(int n) if(n=1)return 1; else return(n+fun(n-1); main() int x; scanf(“d“, for(i=m;i=n;i-)ai+1=ai main() int i, aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+)printf(“%d“,ai); 程序运行后的

12、输出结果是【 】。(分数:60.00)A.10234B.12344C.12334D.1223429.有以下程序: float f1(float n) return n*n; float f2(float n) return 2*n; main() float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1:f1; p2=f2; y1=p2(p1(2.0); t=p1; p1=p2; p2=t; y2=p2(p1(2.0); printf(“%3.0f,%3.0f/n“,y1,y2); 程序运行后的输出结果是【 】。 (分数:60.00)A.8, 1

13、6B.8, 8C.16, 16D.4, 830.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是【 】。(分数:60.00)A.+x,y=x-B.x+l=yC.x=x+10=x+yD.double(x)1031.在 16 位编译系统上,若有定义 int a=10,20,30,*P= main( ) int s8=1,3,5,2,4,6,i,d=0; for (i=0;f(si);i+) d+=si; printf(“%d/n“,d); 程序运行后的输出结果是( )。 (分数:60.00)A.9B.11C.19D.2134.有以下程序 int *f(int *x,int *y)

14、 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); 执行后输出结果是( )。 (分数:60.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,835.以下程序中函数 f 的功能是:当 flag 为 1 时,进行由小到大排序;当 flag 为 0 时,进行由大到小排序。void f(int b,iIlt n,int flag) int i,j,t; for(i=0;ibj:biA.1,2,3,4,5,6,7,8,9,

15、10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,36.下列叙述中正确的是( )。(分数:60.00)A.计算机病毒只感染可执行文件B.计算机病毒只感染文本文件C.计算机病毒只能通过软件复制的方式进行传播D.计算机病毒可以通过网络或读写磁盘方式进行传播37.下列叙述中错误的是【 】。(分数:60.00)A.在数据库系统中,数据的物理结构必须与逻辑结构一致B.数据库技术的根本目标是要解决数据的共享问题C.数据库设计是指在已有数据库管理系统的基础上建立数据库D.数据库系统需要操作系统的支持38.已定义以下

16、函数: fun(char *p2, char *p1) while(*p2=*p1)!=/0) p1+;p2+; 此函数的功能是( )。 (分数:60.00)A.将 p1 所指字符串复制到 p2 所指内存空间B.将 p1 所指字符串的地址赋给指针 p2C.对 p1 和 p2 两个指针所指字符串进行比较D.检查 p1 和 p2 两个指针所指字符串中是否有/039.设有定义 int k=1,m=2;float f=7;,则以下选项中错误的表达式是【 】。(分数:60.00)A.k=k=kB.k+C.k%int(f)D.k=fm40.若有以下程序段(n 所赋的是八进制数) int m=32767,n

17、=032767; printf(“%d,%o/n“,m,n); 执行后输出结果是( )。 (分数:60.00)A.32767,32767B.32767,032767C.32767,77777D.32767,07777741.以下程序企图把从终端输入的字符输出到名为 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(

18、stdin); fclose(fout); 出错的原因是( )。 (分数:60.00)A.函数 fopen 调用形式有误B.输入文件没有关闭C.函数 fgetc 调用形式有误D.文件指针 stdin 没有定义42.有以下程序 main( ) int k=4,n=0; for( ; nk ; ) n+; if(n%3!=0) continue; k-; printf(“%d,%d/n“,k,n); 程序运行后的输出结果是( )。 (分数:60.00)A.1,1B.2,2C.3,3D.4,443.以下数组定义中错误的是【 】。(分数:60.00)A.int x 3:0;B.int x23=l,2,

19、3,4,5,6;C.int X 3=l,2,3,4,5,6;D.int x23=l,2,3,4,5,6;44.在 Windows 环境下,下列叙述中正确的是( )。(分数:60.00)A.在“开始“菜单中可以增加项目,也可以删除项目B.在“开始“菜单中不能增加项目,也不能删除项目C.在“开始“菜单中可以增加项目,但不能删除项目D.在“开始“菜单中不能增加项目,但可以删除项目45.有以下程序 main( ) union unsigned int n; unsigned char c; ul; ul.c=A; printf(“%c/n“,ul.n); 执行后输出结果是( )。 (分数:60.00)

20、A.产生语法错B.随机值C.AD.6546. 有以下程序 main( ) int i=10,j=1; printf(“%d,%d/n“,i-,+j); 执行后输出的结果是( )。 (分数:60.00)A.9,2B.10,2C.9,1D.10,147.从工程管理角度,软件设计一般分为两步完成,它们是【 】。(分数:60.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计48.有以下程序 main() int i , t3=9,8,7,6,5,4,3,2,1; for(i=0;iA.7 5 3B.3 5 7C.3 6 9D.7 5 149.有以下程序

21、 void fun(char *a, char *b) a=b; (*a)+; main( ) char c1=A,c2=a,*p1,*p2; p1= p2= fun(p1,p2); printf(“%c%c/n“,c1,c2); 程序运行后的输出结果是( )。 (分数:60.00)A.AbB.aaC.AaD.Bb50.有以下程序: #include string.h main(int argc ,char *argv ) int i,len=0; for(i=1;iargc;i+=2) len+=strlen(argvi); printf(“5d/n”,len); 经编译链接后生成的可执行文

22、件是 ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是( )。 (分数:60.00)A.14B.12C.8D.6二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)51.以下程序运行后的输出结果是 1。 struct NODE int num;struct NODE *next; ; main2 struct NODE s3=1,/0,2,/0,3,0,*p,*q,*r; int sum=0; s0.next=s+1;s1.next=s+2;s2.next=s; p=s; q=p-next; r=q-next; sum+

23、=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:2.00)填空项 1:_52.以下程序运行后的输出结果是 1。 main( ) int i,m=0,n=0,k=0; for(i=9; i=11;i+) switch(i/10) case 0: m+;n+;break; case 10: n+; break; default: k+;n+; printf(“%d %d %d/n“,m,n,k); (分数:2.00)填空项 1:_53.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b

24、、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+ca。请填空。 main1 float a,b,C; scanf(“fff“, switch(x) case 1:switch(y) case 0:a+; break; case 1:b+; break; case 2:a+;b+; break; printf(“%d %d/n“,a,b); (分数:2.00)填空项 1:_55.下面程序和运行运行结果是 1。 typedef union student char name 10; long sno; char sex; float s

25、core 4; STU; main ( ) STU a5; prinff( “% d/n“, sizeof(a) ); (分数:2.00)填空项 1:_56.下列程序的运行结果是: 1 #include string.h char *ss(char *s) return s+strlen(s)/2; main( ) char *p,*str=”abcdefgh”; p=ss(str); printf(“%s/n”,p); (分数:2.00)填空项 1:_57.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main1 int t=0,s=0,i; for(i=1;i

26、=5;i+)t=i+ 2; s=s+t; printf(“s=%d/n“,s); (分数:2.00)填空项 1:_58.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_59.设有定义:int n,* K=n;以下语句将利用指针变量 k 读写变量 n 中的内容,请将语句补充完整。 scanf(“%d“, 1); printf(“%d/n“, 2); (分数:2.00)填空项 1:_60.按“先进后出“原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_61.有以下语句段 int n1=10,n2=20; p

27、rintf(“ 1”,n1.n2); 要求按以下格式输出 n1 和 n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 (分数:2.00)填空项 1:_62.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_63.Windows 窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要用鼠标拖动 1。(分数:2.00)填空项 1:_64.设有以下定义 stuct ss int info; struct ss *link;x,y,z; 且已建立如下图所示链表结构: (分数:2.00)填空项 1:_65.程序测试分为静态分析和动态测试。其中 1 是指不执行

28、程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_66.设有定义:float x=123.4567;,则执行以下语句后的输出结果是 1。prinff(“fn“,(int)(x*100+0.5)100.0);(分数:2.00)填空项 1:_67.假设在当前盘的当前目录下有两个文件 A.TXT 和 B.TXT,现在要将文件 B.TXT 合并连接到文件 A.TXT的后面。若使用 COPY 命令,则完整的命令为 1。(分数:2.00)填空项 1:_68.问题处理方案的正确而完整的描述称为 1。(分数:2.00)填空项 1:_69.以下程序中,fun

29、 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)4,int*); main1 int a 34=1,2,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b,); for(i=0;i3;1+)printf(“%4d“,bi); printf(“/n“); void fun(int m,int n,int ar4,int*br) int i,j,x; for(i=0;im;i+) x=ari0; for(j=0;jn;j+)if(xarij)x=arij; 2=x; (分数:2.00)

30、填空项 1:_70.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 1。 (分数:2.00)填空项 1:_计算机二级(C)36 答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.以下不合法的字符常量是【 】。(分数:60.00)A.018 B.C.D.xcc解析:字符常量是括在一对单引号内的字符。选项 A)018是八进制字符串格式,所以里面的数不能大于 8。选项 B、C、D 都是转义字符。2.有以下

31、程序: main( ) char str 10=“China“,“Beijing“,*p=str; printf(“%s/n“,p+10); 程序运行后的输出结果是( )。 (分数:60.00)A.ChinaB.Bejing C.ngD.ing解析:3.下列程序的输出结果是( )。 main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%d/n”,s); (分数:60.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和 解析:4.与十进制数 511 等值的十六进制数为(

32、)。(分数:60.00)A.1FF B.2FFC.1FED.2FE解析:5.若要说明一个类型名 STP,使得定义语句 STP s;等价于 char *s;,以下选项中正确的是(分数:60.00)A.typedef STP char *s;B.typedef *char STP;C.typedef STP *char;D.typedef char* STP ; 解析:6.有以下程序: main( ) int a=3,b=4,c=5,d=2; if(ab) if(bc) printf(“%d“,d+ +1); else printf(“%d“,+d +1); printf(“%d/n“,d); 程

33、序运行后的输出结果是( )。 (分数:60.00)A.2 B.3C.43D.44解析:7.有以下程序: void swapl(int c0,int c1) int t; t=c00; c00=c10;c10=t; void swap2(int *c0,iht *c1) int t; t=*c0; *c0=*c1; *c1=t; main() int a2=3,5,b2=3,5;swapl(a,a+1); swap2( printf(“%d/n“,x/y 程序运行后的输出结果是( )。 (分数:60.00)A.3B.2C.1D.0 解析:11.有以下程序 #include main() FILE

34、 *fp; int i; char ch=“abcd“,t; fp=fopen(“abc.dat“, “wb+“); for(i=0;iA.dB.c C.bD.a解析:fseek(fp,-2L,SEEK_END);语句将位置指针从文件未尾处向后退 2 个字节,此时指向的是字符c,语句 fread( float sum=0; for(i=0;i3;i+) sum=sum+p-scorei; printf(“%6.2f/n“,sum); 程序运行后的输出结果是( )。(分数:60.00)A.260B.270 C.280D.285解析:给结构体数组赋韧值时,由于数组中的每个元素都是一个结构体,因此要

35、将其成员的值依次放在一对 花括号中,以便区分各元素。s0=“20021“,90,95,85 ,s1= “20022,95,80,75 ,s2:“20023“, 100,95,90 。14.有以下程序: 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字符前的所有字符的个数。数组定义以后系统就为其分配相应大小的内存空间,而不

36、论其中有没有内容。 15.下列关于 C 语言数据文件的叙述中正确的是( )。 (分数:60.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 解析:16.以下选项中合法的实型常数是( )。(分数:60.00)A.5E2.0B.E-3C.0.2 D.1.3E解析:本题主要考查指数形式的表示方法。C 语言规定字母 e(或 E)之前,必须要有数字,且其后的指 数,也必须为整数。17.有以下程

37、序: prt(int*m,int n) int i; for(i=0;in;i+)mi)+; main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i5;i+) printf(“%d,“,ai); 程序运行后的输出结果是【 】。(分数:60.00)A.1,2,3,4,5,B.2,3,4,5,6, C.3,4,5,6,7,D.2,3,4,5,1,解析:用数组名作函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。 18.有以下程序 main( ) int a; char c=10; float f=

38、100.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是( )。 (分数:60.00)A.1 65 1 6.5B.1 65 1.5 6.5 C.1 65 1.0 6.5D.2 65 1.5 6.5解析:19.Internet 的通信协议是( )。(分数:60.00)A.TCP/IP B.BBSC.WWWD.FTP解析:20.有以下程序 main( ) int i; for(i=0;i3;i+) switch(i) case 1: printf(“%d“,i); case 2: pri

39、ntf(“%d“,i); default: printf(“%d“,i); 执行后输出的结果是( )。 (分数:60.00)A.011122 B.012C.012020D.120解析:21.十六进制数 100 转换为十进制数为( )。(分数:60.00)A.256 B.512C.1024D.64解析:22.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是【 】。(分数:60.00)A.#define N 10B.#define n 5int aN; int a2*n;C.int a5+5;D.int n=10,an. 解析:在选项 D)中,n 是一个整型的变量。

40、C 语言规定,在一维数组的定义中,其下标只能是常量表达式,不能包含变量。23.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:60.00)A.有穷性B.简洁性 C.可行性D.确定性解析:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的基本特性。 24.下列定义变量的语句中错误的是【 】。(分数:60.00)A.int_int;B.double int_;C.char For;D.float US$; 解析:C 语言规定,变量的标识符只能由字母、数字或下划线 3 种字符组成,且第一个字符必须为字母或下划线。在 C 语言中大写字母和小写字母被认为是两个不同的字符。据

41、此规定 A)、B)、C)三个选项是正确的,而 D)选项因为包含有特殊字符$,因而其不是合法的变量名称。25.下列对于线性链表的描述中正确的是【 】。(分数:60.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的 解析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来来确定的。 26.有以下程序: void f(int v , i

42、nt w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z); 执行后输出结果是( )。 (分数:60.00)A.1,2,3B.3,1,2C.1,3,2 D.2,3,1解析:27.有以下程序 int fun(int n) if(n=1)return 1; else return(n+fun(n-1); main() int x; scanf(“d“, for(i=m;i=n;i-)ai+1=ai main(

43、) int i, aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+)printf(“%d“,ai); 程序运行后的输出结果是【 】。(分数:60.00)A.10234B.12344C.12334 D.12234解析:本题函数 fun 的作用是将指定的数组元素(从下标 n 到下标 m)向后移一位。由函数调用“fun(a,2,9);“可知,函数 fun 用于将 a2到 a9的各元素依次向后移一位,移完后,a 数组中各元素的值分别为1,2,3,4,5,6,7,8,9,10,故输出的前 5 个数组元素为 12334。 29.有以下程序: float

44、f1(float n) return n*n; float f2(float n) return 2*n; main() float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1:f1; p2=f2; y1=p2(p1(2.0); t=p1; p1=p2; p2=t; y2=p2(p1(2.0); printf(“%3.0f,%3.0f/n“,y1,y2); 程序运行后的输出结果是【 】。 (分数:60.00)A.8, 16 B.8, 8C.16, 16D.4, 8解析:题中“(*p1)(float)“定义了一个指向函数的指针变量 p1,此函数的

45、返回值是 float 类型。在 main函数中,使得 p1 指向了函数 f1,P2 指向了函数缀。语句“y1=p2(p1(2.0);“先调用了 p1 函数,将其返回值4.000000 传递给了 f2 的形参 n,并使其函数返回值 8.000000 赋值给 y1。然后在 main 函数中交换了p1、p2 指针变量的指向,使 p1 指向了函数侵,p2 指向了函数 f1,并先调用函数 f2,得到返回值 4.000000,使其传递给 f1 函数的形参 n,并带回返回值 16.000000 赋值给 y2。在输出 y1、y2 时,各浮点数占 3 列,小数位数为 0,即输出了 8,16。 30.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是【 】。(分数:60.00)A.+x,y=x- B.x+l=yC.x=x+10=x+yD.double(x)10解析:选项 A)为 C 语言中

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

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

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