【计算机类职业资格】二级C语言-268及答案解析.doc

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

1、二级 C 语言-268 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:100.00)1.有以下程序 #includestdio.h int f(int x); main() int a, b=0; for(a=0; a3; a+=1) b+=f(a); putchar(“A“+b); int f(int x) return x*x+1; 程序运行后输出结果是_。(分数:2.00)A.BDIB.BCDC.ABED.BCF2.有以下程序 #includestdio.h int add(int a, int h)return(a+b); main() int

2、k, (*f)(int, int), a=5, b=10; f=add; 则以下函数调用语句错误的是_。(分数:2.00)A.k=*f(a, b);B.k=add(a, b);C.k=(*f)(a, b);D.k=f(a, b);3.有以下程序 #includestdio.h int f(int x); main() int n=1, m; m=f(f(f(n); printf(“%d/n“, m); int f(int x) return x*2; 程序运行后的输出结果是_。(分数:2.00)A.4B.2C.8D.14.以下叙述中正确的是_。(分数:2.00)A.简单递归不需要明确的结束递归

3、的条件B.任何情况下都不能用函数名作为实参C.函数的递归调用不需要额外开销,所以效率很高D.函数既可以直接调用自己,也可以间接调用自己5.设有如下函数定义 #includestdio.h int fun(int k) if(k1)return 0; else if(k=1)return 1; else return fun(k-1)+1; 若执行调用语句:n=fun(3);,则函数 fun 总共被调用的次数是_。(分数:2.00)A.3B.2C.4D.56.有以下程序 #includestdio.h int fun(int x) int p; if(x=0|x=1) return(3); p=

4、x-fun(x-2); return p; main() printf(“%d/n“, fun(7); 执行后的输出结果是_。(分数:2.00)A.2B.3C.7D.07.若有以下程序 #includestdio.h int f(int a, int n) if(n1) int t; t=f(a, n-1); returntan-1?t:an-1; else return a0; main() int a=8, 2, 9, 1, 3, 6, 4, 7, 5; printf(“%d/n“, f(a, 9); 则程序的输出结果是_。(分数:2.00)A.1B.9C.8D.58.有以下程序 #inc

5、ludestdio.h void fun(int n, int*s) int f; it(n=1)*s=n+1; else fun(n-1, *s=f; main() int x=0; fun(4, printf(“%d/n“, x); 程序运行后的输出结果是_。(分数:2.00)A.3B.1C.2D.49.有以下程序 #includestdio.h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i10; i+=2) fun(ci, ci

6、+1); for(i=0; i10; i+) printf(“%d,“, ci); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 0,B.2, 1, 4, 3, 6, 5, 8, 7, 0, 9,C.0, 9, 8, 7, 6, 5, 4, 3, 2, 1,D.0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10.有以下程序 #includestdio.h void fun(int a, int n) int i, t; for(i=0; in/2; i+)t=ai; ai=an-1-i; an-1-i=t

7、; main() int k10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i8; i+)printf(“%d“, ki); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.345678B.876543C.1098765D.32167811.有以下程序 #includestdio.h #define N 4 void fun(int aN, int b) int i; for(i=0; iN; i+) bi=aii-aiN-1-i; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8

8、, 9, 10, 11, 12, 13, 14, 15, 16, yN, i; fun(x, y); for(i=0; iN; i+)printf(“%d,“, yi); printf(“/n“); 程序运行后的输出结果是()。(分数:2.00)A.-3, -1, 1, 3,B.-12, -3, 0, 0,C.0, 1, 2, 3,D.-3, -3, -3, -3,12.有以下程序 #includestdio.h void f(int*q) int i=0; for(;i5; i+)(*q)+; main() int a5=1, 2, 3, 4, 5, i; f(a); for(i=0; i5

9、; i+)printf(“%d,“, ai); 程序运行后的输出结果是_。(分数:2.00)A.2, 2, 3, 4, 5,B.6, 2, 3, 4, 5,C.1, 2, 3, 4, 5,D.2, 3, 4, 5, 6,13.有以下程序 #includestdio.h int fun(int(*s)4, int n, int k) int m, i; m=s0k; for(i=1; in; i+) if(sikm) m=sik; return m; main() int a44=1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34

10、; printf(“%d/n“, fun(a, 4, 0); 程序的运行结果是_。(分数:2.00)A.31B.34C.4D.3214.若有以下程序 #includestdio.h #define N 4 void fun(int aN, int b, int flag) int i, j; for(i=0; iN; i+) bi=ai0; for(j=1; jN; j+) if(flag?(biaij):(biaij) bi=aij; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, yN, i; fu

11、n(x, y, 1); for(i=0; iN; i+)printf(“%d,“, yi); fun(x, y, 0); for(i=0; iN; i+)printf(“%d,“, yi); printf(“/n“); 则程序的输出结果是_。(分数:2.00)A.1, 2, 3, 4, 13, 14, 15, 16,B.4, 8, 12, 16, 1, 5, 9, 13,C.1, 5, 9, 13, 4, 8, 12, 16,D.13, 14, 15, 16, 1, 2, 3, 4,15.若有以下程序 #includestdio.h void fun(int a, int n) int t,

12、i, j; for(i=1; in; i+=2) for(j=i+2; jn; j+=2) if(aiaj)t=ai; ai=aj; aj=t; main() int c10=10, 9, 8, 7, 6, 5, 4, 3, 2, 1, i; fun(c, 10); for(i=0; i10; i+)printf(“%d,“, ci); printf(“/n“); 则程序的输出结果是_。(分数:2.00)A.2, 9, 4, 7, 6, 5, 8, 3, 10, 1,B.10, 9, 8, 7, 6, 5, 4, 3, 2, 1,C.10, 1, 8, 3, 6, 5, 4, 7, 2, 9,

13、D.1, 10, 3, 8, 5, 6, 7, 4, 9, 2,16.有以下程序 #includestdio.h int f(int n) int t=0, a=5; if(n/2)int a=6; t+=a+; elseint a=7; t+=a+; return t+a+; main() int s=0, i=0; for(;i2; i+)s+=f(i); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:2.00)A.36B.28C.32D.2417.以下叙述中正确的是_。(分数:2.00)A.只要是用户定义的标识符,都有一个有效的作用域B.只有全局变量才有自己的作

14、用域,函数中的局部变量没有作用域C.只有在函数内部定义的变量才是局部变量D.局部变量不能被说明为 static18.以下叙述中正确的是_。(分数:2.00)A.在复合语句中不能定义变量B.对于变量而言,“定义”和“说明”这两个词实际上是同一个意思C.全局变量的存储类别可以是静态类D.函数的形式参数不属于局部变量19.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是_。(分数:2.00)A.extern 和 registerB.auto 和 registerC.auto 和 staticD.staric 和 register20.以下选项中叙述错误的是_。(分数:2.00)A.在

15、C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内B.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值C.C 程序函数中定义的自动变量,系统不自动赋确定的初值D.C 程序函数的形参不可以说明为 static 型变量21.有以下程序 #includestdio.h int fun(int x, int y) static int m=0, i=2; i+=m+1; m=i+x+y; return m; main() int j=1, m=1, k; k=fun(j, m); printf(“%d“, k); k=fun(j, m); printf(“%d/

16、n“, k); 执行后的输出结果是_。(分数:2.00)A.5, 11B.5, 5C.11, 11D.11, 522.有以下程序 #includestdio.h int fun() static int x=1; x*=2; return x; main() int i, s=1; for(i=1; i=3; i+)s*=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:2.00)A.30B.10C.0D.6423.有以下程序 #includestdio.h int fun() statie int x=1; x+=1; return x; main() i

17、nt i, s=1; for(i=1; i=5; i+)s+=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:2.00)A.21B.11C.6D.12024.有以下程序 #includestdio.h int a=4; int f(int n) int t=0; static int a=5; if(n%2)(int a=6; t+=a+;) elseint a=7; t+=a+;) return t+a+; main() int s=a, i=0; far(;i2; i+)s+=f(i); printf(“%d/n“, s); 程序运行后的输出结果是_。

18、(分数:2.00)A.36B.24C.32D.2825.若有定义语句: double a, *p= 以下叙述中错误的是_。(分数:2.00)A.定义语句中的 p 只能存放 double 类型变量的地址B.定义语句中的*号是一个说明符C.定义语句中的*号是一个间址运算符D.定义语句中*p= 执行 px= py= 正确的输入语句是_。(分数:2.00)A.scanf(“%lf%lf“, px, py);B.scanf(“%f%f“C.scanf(“%f%f“, x, y);D.scanf(“%lf%lf“, x, y);27.以下程序段完全正确的是_。(分数:2.00)A.int *p; scan

19、f(“%d“, p)p;B.int k, *p= scanf(“%d“, p);C.int *p; scanf(“%d“, D.int k, *p; *p= scanf(“%d“, p);28.有以下程序 #includestdio.h void fun(char *c, int d) *c=*c+1; d=d+1; printf(“%c, %c,“, *c, d); main() char b=“a“, a=“A“; fun( printf(“%c, %c/n“, b, a); 程序运行后的输出结果是_。(分数:2.00)A.b, B, b, AB.b, B, B, AC.a, B, B,

20、aD.a, B, a, B29.设有定义: int x=0, *p; 紧接着的赋值语句正确的是_。(分数:2.00)A.*p=x;B.*p=NULL;C.p=x;D.p=NULL;30.设已有定义: float x; 则以下对指针变量 p 进行定义且赋初值的语句中正确的是_。(分数:2.00)A.float *p=B.int *p=(float)x;C.float p=D.float *p=1024;31.若有以下程序 #includestdio.h void sp(int *a) int b=2; a= *a=*a*2; printf(“%d,“, *a); main() int k=3,

21、*p= sp(p); printf(“%d, %d/n“, k, *p); 则程序的输出结果是_。(分数:2.00)A.4, 3, 4B.4, 3, 3C.6, 3, 6D.6, 6, 632.若有以下程序 #includestdio.h int *f(int *s, int *t) int *k; if(*s*t)k=s; s=t; t=k; return s; main() int i=3, j=5, *p= r=f(p, q); printf(“%d, %d, %d, %d, %d/n“, i, j, *p, *q, *r); 则程序的输出结果是_。(分数:2.00)A.5, 3, 5,

22、 3, 5B.3, 5, 5, 3, 5C.3, 5, 3, 5, 5D.5, 3, 3, 5, 533.若有定义语句: int year=2009, *p= 以下不能使变量 year 中的值增至 2010 的语句是_。(分数:2.00)A.*p+;B.(*p)+;C.+(*p);D.*p+=1;34.以下叙述中正确的是_。(分数:2.00)A.在对指针进行加、减算术运算时,数字 1 表示 1 个存储单元的长度B.如果 p 是指针变量,则*p 表示变量 p 的地址值C.如果 p 是指针变量,则 r=p; p=q; q=r; printf(“%d, %d, %d, %d/n“, m, n, *p

23、, *q); 程序运行后的输出结果是_。(分数:2.00)A.1, 2, 1, 2B.1, 2, 2, 1C.2, 1, 2, 1D.2, 1, 1, 237.有以下程序 #includestdio.h main() int c6=10, 20, 30, 40, 50, 60, *p, *s; p=c; s= printf(“%d/n“, *(s-p); 程序运行后的输出结果是_。(分数:2.00)A.5B.50C.6D.6038.有以下程序 #includestdio.h void fun(int x, int y, int *c, int *d) *c=x+y; *d=x-y; main(

24、) int a=4, b=3, c=0, d=0; fun(a, b, printf(“%d%d/n“, c, d); 程序的输出结果是_。(分数:2.00)A.7 1B.4 3C.3 4D.0 039.有以下程序 #includestdio.h void fun(int *p, int*q) int t; t=*p; *p=*q; *q=t; *q=*p; main() int a=0, b=9; fun( printf(“%d%d/n“, a, b); 程序的输出结果是_。(分数:2.00)A.0 9B.0 0C.9 0D.9 940.有以下程序 #includestdio.h main(

25、) int a=2, 4, 6, 8, 10, x, *p, y=1; p= for(x=0; x3; x+)y+=*(p+x); printf(“%d/n“, y); 程序的输出结果是_。(分数:2.00)A.19B.13C.11D.1541.若有以下定义 int x10, *pt=x; 则对 x 数组元素的正确引用是_。(分数:2.00)A.* for(i=0; i9; i+=2)s+=*(t+i); printf(“%d/n“, s); 程序执行后的输出结果是_。(分数:2.00)A.25B.20C.45D.3643.设有定义 double a10, *s=a; 以下能够代表数组元素 a

26、3的是_。(分数:2.00)A.(*s)3B.*(s+3)C.*s3D.*s+344.若有定义语句: int a23, *p3; 则以下语句中正确的是_。(分数:2.00)A.p0=B.p0=a;C.p=a;D.p1=45.若有定义: int w35; 则以下不能正确表示该数组元素的表达式是_。(分数:2.00)A.*(w+1)4B.*(*w+3)C.*(*(w+1)D.*( for(i=0; i3; i+) for(j=0; j2; j+)k=k+*(*(p+i)+j); pfintf(“%d/n“, k); 程序运行后的输出结果是_。(分数:2.00)A.99B.68C.60D.10847

27、.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:2.00)A.do*t+=*s+; while(*s);B.for(i=0; ti=si; i+);C.while(*t=*s)t+; s+;D.for(i=0, j=0; ti+=sj+;);48.有以下函数 int fun(char *x, char *y) int n=0; while(*x=*y) y+; n+; return n; 函数的功能是_。(分数:2.00)A.统计 x 和 y 所指字符串中相同的字符个数B.查找 x 和 y 所指字符串中是否有“/0“C.将 y 所指字符串赋给 x 所指存储空间D.统计

28、x 和 y 所指字符串中最前面连续相同的字符个数49.有以下程序 #includestdio.h main() char ch=“uvwxyz“, *pc; pc=ch; printf(“%c/n“, *(pc+5); 程序运行后的输出结果是_。(分数:2.00)A.0BzC.元素 ch5的地址D.字符 y 的地址50.设有如下程序段 #includestdio.h char s20=“Beijing“, *p; p=s; 则执行 p=s;语句后,以下叙述正确的是_。(分数:2.00)A.可以用*p 表示 s0B.s 数组中元素的个数和 p 所指字符串长度相等C.s 和 p 都是指针变量D.数

29、组 s 中的内容和指针变量 p 中的内容相同二级 C 语言-268 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:100.00)1.有以下程序 #includestdio.h int f(int x); main() int a, b=0; for(a=0; a3; a+=1) b+=f(a); putchar(“A“+b); int f(int x) return x*x+1; 程序运行后输出结果是_。(分数:2.00)A.BDI B.BCDC.ABED.BCF解析:解析 第一次循环,b 为 1,输出为 B,第二次循环 b 为 3,输出为 D,第三次循环

30、 b 为 8,输出为I,所以选择 A。2.有以下程序 #includestdio.h int add(int a, int h)return(a+b); main() int k, (*f)(int, int), a=5, b=10; f=add; 则以下函数调用语句错误的是_。(分数:2.00)A.k=*f(a, b); B.k=add(a, b);C.k=(*f)(a, b);D.k=f(a, b);解析:解析 A 选项中*f(a, b)表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,因此不能将其赋值给整型变量 k。3.有以下程序 #includestdio.h in

31、t f(int x); main() int n=1, m; m=f(f(f(n); printf(“%d/n“, m); int f(int x) return x*2; 程序运行后的输出结果是_。(分数:2.00)A.4B.2C.8 D.1解析:解析 第一次调用 m=f(f(f(1),第二次为 m=f(f(2),第三次为 m=f(4),即返回值为 8,选项C 正确。4.以下叙述中正确的是_。(分数:2.00)A.简单递归不需要明确的结束递归的条件B.任何情况下都不能用函数名作为实参C.函数的递归调用不需要额外开销,所以效率很高D.函数既可以直接调用自己,也可以间接调用自己 解析:解析 函数

32、直接或间接调用自己,称为递归调用,所以选择 D。5.设有如下函数定义 #includestdio.h int fun(int k) if(k1)return 0; else if(k=1)return 1; else return fun(k-1)+1; 若执行调用语句:n=fun(3);,则函数 fun 总共被调用的次数是_。(分数:2.00)A.3 B.2C.4D.5解析:解析 首先 n=fun(3),3 被当作参数传递进去,进行了第一次调用,3 被当作参数传进去后,程序会执行语句 else return fun(k-1)+1,进行了第二次调用,而参数是 3-1 也就是 2。2 被当作参数

33、传进去后,程序会执行语句 else return fun(k-1)+1,进行了第三次调用,而参数是 2-1 也就是 1。1 被当作参数传进去后,程序会执行语句 else if(k=1)return 1;不再递归调用,因此最终结果为 3 次,选项 A正确。6.有以下程序 #includestdio.h int fun(int x) int p; if(x=0|x=1) return(3); p=x-fun(x-2); return p; main() printf(“%d/n“, fun(7); 执行后的输出结果是_。(分数:2.00)A.2 B.3C.7D.0解析:解析 本题考查的是递归算法的

34、分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的 fun()函数在 x 等于 0 或 1 时返回 3,而在其余情况下返回 x-fun(x-2),所以本题的递归算法可以这样表示: fun(x)=3(x=0 或 x=1)(初始值) fun(x)=x-fun(x-2)(x0 且 x1)(递归关系) 在主函数中输出的结果是 fun(7),而 fun(7)=7-fun(5)=7-(5-fun(3)=7-(5-(3-fun(1)。7.若有以下程序 #includestdio.h int f(int a, int n) if(n1) int t;

35、 t=f(a, n-1); returntan-1?t:an-1; else return a0; main() int a=8, 2, 9, 1, 3, 6, 4, 7, 5; printf(“%d/n“, f(a, 9); 则程序的输出结果是_。(分数:2.00)A.1B.9 C.8D.5解析:解析 f 函数为递归调用,返回的为数组 a 的最大值。所以选择 B。8.有以下程序 #includestdio.h void fun(int n, int*s) int f; it(n=1)*s=n+1; else fun(n-1, *s=f; main() int x=0; fun(4, prin

36、tf(“%d/n“, x); 程序运行后的输出结果是_。(分数:2.00)A.3B.1C.2 D.4解析:解析 fun 函数是递归函数,调用到 n 为 0 时*s=1+1 为 2,返回主函数,x 为 2。9.有以下程序 #includestdio.h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i10; i+=2) fun(ci, ci+1); for(i=0; i10; i+) printf(“%d,“, ci); printf(“/

37、n“); 程序的运行结果是_。(分数:2.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 0, B.2, 1, 4, 3, 6, 5, 8, 7, 0, 9,C.0, 9, 8, 7, 6, 5, 4, 3, 2, 1,D.0, 1, 2, 3, 4, 5, 6, 7, 8, 9,解析:解析 函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参,而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组 c 中的元素的值并没有变化,故选择 A。10.有以下程序 #includestdio.h void fun(int a,

38、int n) int i, t; for(i=0; in/2; i+)t=ai; ai=an-1-i; an-1-i=t; main() int k10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i8; i+)printf(“%d“, ki); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.345678B.876543C.1098765D.321678 解析:解析 本题中函数 fun()的功能是将数组 k 中前 5 个元素倒序,因此返回后数组 k 中的元素排列是 5, 4, 3, 2, 1, 6, 7,

39、8, 9, 10。程序打印输出 k2到 k7元素的值,即 321678,所以选择 D。11.有以下程序 #includestdio.h #define N 4 void fun(int aN, int b) int i; for(i=0; iN; i+) bi=aii-aiN-1-i; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, yN, i; fun(x, y); for(i=0; iN; i+)printf(“%d,“, yi); printf(“/n“); 程序运行后的输出结果是()。(分数:2

40、.00)A.-3, -1, 1, 3, B.-12, -3, 0, 0,C.0, 1, 2, 3,D.-3, -3, -3, -3,解析:解析 本题中由 fun 函数可知,b0=a00-a03=1-4=-3,b1=a11-a12=6-7=-1,b2=a22-a21=11-10=1,b3=a33-a30=16-13=3。因此主函数中输出 y 数组元素的值为 A 选项。12.有以下程序 #includestdio.h void f(int*q) int i=0; for(;i5; i+)(*q)+; main() int a5=1, 2, 3, 4, 5, i; f(a); for(i=0; i5

41、; i+)printf(“%d,“, ai); 程序运行后的输出结果是_。(分数:2.00)A.2, 2, 3, 4, 5,B.6, 2, 3, 4, 5, C.1, 2, 3, 4, 5,D.2, 3, 4, 5, 6,解析:解析 f 函数将 a0自增 5 次,所以答案选择 B。13.有以下程序 #includestdio.h int fun(int(*s)4, int n, int k) int m, i; m=s0k; for(i=1; in; i+) if(sikm) m=sik; return m; main() int a44=1, 2, 3, 4, 11, 12, 13, 14,

42、 21, 22, 23, 24, 31, 32, 33, 34; printf(“%d/n“, fun(a, 4, 0); 程序的运行结果是_。(分数:2.00)A.31 B.34C.4D.32解析:解析 本题考查的是二维数组的定义、赋初值和对二维数组元素的引用。在 fun()函数中,首先将 s0k的值赋给 m,然后通过 for 循环,遍历 s1ksn-1k之中的数,将遇到的比 m 大的数保存到 m 中。很显然,这是搜索最大值的算法,搜索的是 s0ksn-1k之间的最大值。所以,主函数中 fun(a, 4, 0)的功能就是搜索 a00a30之间的最大值,这 4 个值分别是 1、11、21、31

43、,所以最终输出结果是 31,应该选择 A。14.若有以下程序 #includestdio.h #define N 4 void fun(int aN, int b, int flag) int i, j; for(i=0; iN; i+) bi=ai0; for(j=1; jN; j+) if(flag?(biaij):(biaij) bi=aij; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, yN, i; fun(x, y, 1); for(i=0; iN; i+)printf(“%d,“, yi

44、); fun(x, y, 0); for(i=0; iN; i+)printf(“%d,“, yi); printf(“/n“); 则程序的输出结果是_。(分数:2.00)A.1, 2, 3, 4, 13, 14, 15, 16,B.4, 8, 12, 16, 1, 5, 9, 13,C.1, 5, 9, 13, 4, 8, 12, 16, D.13, 14, 15, 16, 1, 2, 3, 4,解析:解析 flag 为 1 求出每行的最小值,flag 为 0 求出每行的最大值,所以选择 C。15.若有以下程序 #includestdio.h void fun(int a, int n) i

45、nt t, i, j; for(i=1; in; i+=2) for(j=i+2; jn; j+=2) if(aiaj)t=ai; ai=aj; aj=t; main() int c10=10, 9, 8, 7, 6, 5, 4, 3, 2, 1, i; fun(c, 10); for(i=0; i10; i+)printf(“%d,“, ci); printf(“/n“); 则程序的输出结果是_。(分数:2.00)A.2, 9, 4, 7, 6, 5, 8, 3, 10, 1,B.10, 9, 8, 7, 6, 5, 4, 3, 2, 1,C.10, 1, 8, 3, 6, 5, 4, 7, 2, 9, D.1, 10, 3, 8, 5, 6, 7, 4, 9, 2,解析:解析 fun 函数功能为,把下标为奇数的元素按值的从小到大排列,所以答案选择 C。16.有以下程序 #includestdio.h int f(int n) int t

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

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

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