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

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

1、二级 C 语言-119 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制2.C 语言中,字符(char)型数据在微机内存中的存储形式是_。(分数:1.00)A.反码B.补码C.EBCDIC 码D.ASCII 码3.C 语言中,下列不合法的字符串常量是_。(分数:1.00)A.“/121“B.“y=“C.“/n/n“D.“ABCD/x6d“4.下面描述中,不属于软件危机的表现的是_。(

2、分数:1.00)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高5.VC 6.0 中 int 类型变量所占字节数是_。(分数:1.00)A.1B.2C.3D.46.为表示关系:xyz,应使用的 C 语言表达式是_。(分数:1.00)A.(x=y) long b; double x, y;”,则以下选项中正确的表达式是_。(分数:1.00)A.a%(int x-y)B.a=x!=y;C.(a*y)%bD.y=x+y=x15.以下选项中能表示合法常量的是_。(分数:1.00)A.整数:1,200B.实数:1.5E2.0C.字符斜杠:“D.字符串:“/007“16.表达

3、式 a+=a-=a=9 的值是_。(分数:1.00)A.9B.-9C.18D.017.若变量已正确定义,在语句“if(W)printf(“%d/n“, k);”中,以下不可替代 W 的是_。(分数:1.00)A.ab+cB.ch=getchar()C.a=b+cD.a+18.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:1.00)A.while(*t=*s)t+; s+;B.for(i=0; ti=si; i+);C.do*t+=*s+;while(*s);D.for(i=0, j=0; ti+=sj+; );19.以下程序段完全正确的是_。(分数:1.00)A.int

4、*p; scanf(“%d“, B.int*p; scanf(“%d“, p);C.int k, *p= scanf(“%d“, p);D.int k, *p; *p= scanf(“%d“, p);20.有以下程序: #includestdio.h main() int a=1, b=2; while(a6)b+=a; a+=2; b%=10; printf(“%d, %d/n“, a, b); 程序运行后的输出结果是_。(分数:1.00)A.5,11B.7,1C.7,11D.6,121.有以下程序: #includestdio.h main() int y=10; while(y-); p

5、rintf(“y=%d/n“, y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1C.y=1D.while 构成无限循环22.有以下程序: #includestdio.h main() char s=“rstuv“; printf(“%c/n“, *s+2); 程序运行后的输出结果是_。(分数:1.00)A.tuvB.字符 t 的 ASCII 码值C.tD.出错23.有以下程序: #includestdio.h #includestdlib.h main() int*a, *b, *c; a=b=c=(int*)malloc(sizeof(int); *a=1; *b=

6、2, *c=3; a=b; printf(“%d, %d, %d/n“, *a, *b, *c); 程序运行后的输出结果是_。(分数:1.00)A.3,3,3B.2,2,3C.1,2,3D.1,1,324.有以下程序: #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; 程序运行后的输出结果是_。(分数:1.00)A.1B.2C.4D.825.若有定义语句“int a, b; double x;”,则下列选项中没有错误的是_。(分数:1.

7、00)A.switch(x%2) case 0: a+; break;case 1: b+; break;default: a+; b+;B.switch(int)x/2.0) case 0: a+; break;case 1: b+; break;default: a+; b+;C.switch(int)x%2) case 0: a+; break;case 1: b+; break;default: a+; b+;D.switch(int)(x)%2) case 0.0: a+; break;case 1.0: b+; break;default: a+; b+;26.有定义语句:“int

8、*p4;”,以下选项中与此语句等价的是_。(分数:1.00)A.int p4;B.int*p;C.int*(p4);D.int(*p)4;27.有以下程序 #includestdio.h void fun(int x) if(x/21) fun(x/2); printf(“%d“, x); main() fun(7); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.1 3 7B.7 3 1C.7 3D.3 728.若要定义一个具有 5 个元素的整型数组,以下错误的定义语句是_。(分数:1.00)A.int a5=0;B.int b=0, 0, 0, 0, 0;C.i

9、nt c2+3j;D.int i=5, di;29.有以下程序: #includestdio.h void f(int *p); main() int a5=1, 2, 3, 4, 5, *r=a; f(r); printf(“%d/n“, *r); void f(int *p) p=p+3; printf(“%d, “, *p); 程序运行后的输出结果是_。(分数:1.00)A.1,4B.4,4C.3,1D.4,130.有以下程序: #includestdio.h main() short c=124; c=c_; printf(“%d/n“, c); 若要使程序的运行结果为 248,应在横

10、线处填入的是_。(分数:1.00)A.2B.|248C.B.if(s1=s2)ST;C.if(strcpy(s1, s2)=1)ST;D.if(s1, s2=0)ST;32.有以下程序: #includestdio.h #includestring.h main() char x=“STRING“; x0=0; x1=“/0“; x2=“0“; printf(“%d%d/n“, sizeof(x), strlen(x); 程序运行后的输出结果是_。(分数:1.00)A.6 1B.7 0C.6 3D.7 133.有以下程序(strcat 函数用以连接两个字符串) #includestdio.h

11、#includestring.h main() char a20=“ABCD/0EFG/0“, b=“IJK“; strcat(a, b); printf(“%s/n“, a); 程序运行后的输出结果是_。(分数:1.00)A.ABCDE/0FG/0IJKB.ABCDIJKC.IJKD.EFGIJK34.有以下程序,程序中库函数 islower(ch)用以判断 ch 中的字母是否为小写字母 #includestdio.h #includectype.h void fun(char *p) int i=0; while(pi) if(pi=“ i+; main() char s1100=“ab

12、cd EFG!“; fun(a1); printf(“%s/n“, s1); 程序运行后的输出结果是_。(分数:1.00)A.ab cd EFG!B.Ab Cd EFg!C.aB cD EFG!D.ab cd EFg!35.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.#define N 10int xN;C.int x010;D.int x;36.有以下程序: #includestdio.h int fun() static int x=1; x+=1; return x; main() int i, s=1; for(i=1; i=s; i+)

13、s+=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.11B.21C.6D.12037.以下选项中,合法的一组 C 语言数值常量是_。(分数:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0C1774e1.50abcD.0x8A10,0003.e538.有以下程序: #includestdio.h main() int s, t, A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(“%d, %d/n“, s, t); 在 VC6 平台上编译运行,程序运行后的输出结果是_。

14、(分数:1.00)A.2,4B.1,4C.4,8D.10,639.若有以下语句: typedef struct S int g; char h; T; 以下叙述中正确的是_。(分数:1.00)A.可用 S 定义结构体变量B.可用 T 定义结构体变量C.S 是 struct 类型的变量D.T 是 struct S 类型的变量40.有以下程序(函数 fun 只对下标为偶数的元素进行操作): #includestdio.h void fun(int*a, int n) int i, j, k, t; for(i=0; in-1; i+=2) k=i; for(j=i; jn; j+=2)if(aja

15、k)k=j; t=ai; ai=ak; ak=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, a; fun(aa, 7); for(i=0; i7; i+)printf(“%d, “, aai); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.7,2,5,4,3,6,1,B.1,6,3,4,5,2,7,C.7,6,5,4,3,2,1,D.1,7,3,5,6,2,1,二、程序填空题(总题数:1,分数:18.00)41.请补充函数 proc(),其功能是:计算并输出给定 10 个数的方差。 例如,给定的 10 个数为 12.0,9.0,2

16、6.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includemath.h double proc(double x10) int i; double avg=0.0; double sum=0.0; double abs=0.0; double sd; for(i-0; i10; i+) 1; avg=sum/10; for(i=0; i10; i+) 2;

17、sd= 3; return sd; void main() double s, str10=12.0, 9.0, 26.0, 5.0, 6.0, 31.0, 9.0, 3.0, 8.0, 18.0; int i; printf(“/nThe original data is: /n“); for(i=0; i10; i+) printf(“%6.1f“, stri); printf(“/n/n“); s=proc(str); printf(“s=%f/n/n“, s); (分数:18.00)三、程序改错题(总题数:1,分数:24.00)42.下列给定程序中,函数 proc()的功能是:从字符串

18、 str 中,删除所有大写字母“F“。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h void proc(char*str) int i, j; /*found* for(i=j=0; stri!=“0“; i+) if(stri!=“F“) /*found* strj=stri; strj=“/0“; void main() char str80; printf(“/nEnter a string: “); gets(str); printf(“The original stri

19、ng: “); puts(str); proc(str); printf(“The string after deleted: “); puts(str); printf(“/n/n“); (分数:24.00)_四、程序设计题(总题数:1,分数:18.00)43.假定输入的字符串中只包含字母和*号。请编写函数 proc(),它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。 例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的内容则应当是 a*bc*def*g*。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc(

20、)的花括号中填入所编写的若干语句。 试题程序: #includestdio.h #includeconio.h void proc(char*str) void main() char str81; printf(“Enter a string: /n“); gets(str); proc(str); printf(“The string after deleted: /n“); puts(str); (分数:18.00)_二级 C 语言-119 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.面向对象方法中,继承是指_。(分数:1.00)A

21、.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制 解析:解析 在程序设计中,继承是指子类自动享用父类的属性和方法,并可以追加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承。单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承多个父类的属性和操作。Java 是一种单重继承语言,而 C+是一种多重继承语言。2.C 语言中,字符(char)型数据在微机内存中的存储形式是_。(分数:1.

22、00)A.反码B.补码C.EBCDIC 码D.ASCII 码 解析:解析 ASCII 码其他 3 个是用来进行数值处理的。3.C 语言中,下列不合法的字符串常量是_。(分数:1.00)A.“/121“B.“y=“ C.“/n/n“D.“ABCD/x6d“解析:解析 B 项中字符串常量必须用双引号,B 项中表示是不合法的。4.下面描述中,不属于软件危机的表现的是_。(分数:1.00)A.软件过程不规范 B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:解析 软件危机的表现:对软件开发的进度和费用估计不准确;用户对已完成的软件系统不满意的现象时常发生;软件产品的质量往往靠不住;软件

23、常常是不可维护的;软件通常没有适当的文档;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及、深入的趋势。5.VC 6.0 中 int 类型变量所占字节数是_。(分数:1.00)A.1B.2C.3D.4 解析:解析 VC6.0 中基本整型 int 占 4 个字节。6.为表示关系:xyz,应使用的 C 语言表达式是_。(分数:1.00)A.(x=y) long b; double x, y;”,则以下选项中正确的表达式是_。(分数:1.00)A.a%(int x-y)B.a=x!=y;C.(a*y)%bD.y=x+y=x 解析:解析 选项 A、

24、C,取模运算符(%)用于计算两个整数相除所得的余数,int x-y 与 a*y 的结果是双精度,因此不能使用取模运算符;选项 B,a 是属于整型变量,x、y 属于双精度变量,因此不能将 x 赋值给 a。15.以下选项中能表示合法常量的是_。(分数:1.00)A.整数:1,200B.实数:1.5E2.0C.字符斜杠:“D.字符串:“/007“ 解析:解析 选项 A:整数中不能用逗号分隔,选项 B:实数中 E 后数值必须是整数,选项 C:C 语言里字符串中的字符“/”需转义,应为“/”。16.表达式 a+=a-=a=9 的值是_。(分数:1.00)A.9B.-9C.18D.0 解析:解析 +=、-

25、=、=等符号优先级相同结合性是由右至左,所以选 D。17.若变量已正确定义,在语句“if(W)printf(“%d/n“, k);”中,以下不可替代 W 的是_。(分数:1.00)A.ab+c B.ch=getchar()C.a=b+cD.a+解析:解析 符号不是 C 语言中的运算符,所以不能替代。18.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:1.00)A.while(*t=*s)t+; s+;B.for(i=0; ti=si; i+);C.do*t+=*s+;while(*s); D.for(i=0, j=0; ti+=sj+; );解析:解析 C 项复制时没有

26、复制结束串“/0”。19.以下程序段完全正确的是_。(分数:1.00)A.int*p; scanf(“%d“, B.int*p; scanf(“%d“, p);C.int k, *p= scanf(“%d“, p); D.int k, *p; *p= scanf(“%d“, p);解析:解析 选项 A 中 p 是指针,没有初始化,且取 p 的地址即类型为指向地址的地址,与输出参数类型不符。选项 B 中指针 p 没有初始化,且 p 所指变量值不明。D*p 是整型变量, while(a6)b+=a; a+=2; b%=10; printf(“%d, %d/n“, a, b); 程序运行后的输出结果

27、是_。(分数:1.00)A.5,11B.7,1 C.7,11D.6,1解析:解析 “b+=a;”等价于“b=b+a;”,“a+=2;”等价于“a=a+2;”,“b%=10;”等价于“b=b%10;”。循环体执行 3 次,最终结果为 7,1。21.有以下程序: #includestdio.h main() int y=10; while(y-); printf(“y=%d/n“, y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1 C.y=1D.while 构成无限循环解析:解析 y-的作用是先取其值作为表达式的值,然后 y 的值减 1 存入 y。当 y0 时循环继续,直

28、到 y=0 时循环结束,然后 y 值减 1 存入 y 中,所以选 B。22.有以下程序: #includestdio.h main() char s=“rstuv“; printf(“%c/n“, *s+2); 程序运行后的输出结果是_。(分数:1.00)A.tuvB.字符 t 的 ASCII 码值C.t D.出错解析:解析 本题中,语句 printf 函数输出的是字符指针 s 所指变量的 ASCII 表对应值,即 ASCII 表中值为 s0+2 的字符。所以选 C。23.有以下程序: #includestdio.h #includestdlib.h main() int*a, *b, *c;

29、 a=b=c=(int*)malloc(sizeof(int); *a=1; *b=2, *c=3; a=b; printf(“%d, %d, %d/n“, *a, *b, *c); 程序运行后的输出结果是_。(分数:1.00)A.3,3,3 B.2,2,3C.1,2,3D.1,1,3解析:解析 本题中,首先创建一个动态内存,然后将地址分别存入指针 a、b、c 中,即 a、b、c 都指向相同的变量。分别给 a、b、c 所指的变量赋值,最终 a、b、c 所指的变量中的值为 3,最后打印a、b、c 所指的变量的值,即 3,3,3。所以选 A。24.有以下程序: #includestdio.h in

30、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; 程序运行后的输出结果是_。(分数:1.00)A.1B.2C.4D.8 解析:解析 本题考查函数返回值作参数,最初 n=1,f(n)=f(1)=2,将 f(n)的结果代入第二个 f(n)中,即 f(f(n)=f(2)=4,所以 f(f(f(f(n)=f(4)=8。25.若有定义语句“int a, b; double x;”,则下列选项中没有错误的是_。(分数:1.00)A.switch(x%2) case 0: a+; br

31、eak;case 1: b+; break;default: a+; b+;B.switch(int)x/2.0) case 0: a+; break;case 1: b+; break;default: a+; b+;C.switch(int)x%2) case 0: a+; break;case 1: b+; break;default: a+; b+; D.switch(int)(x)%2) case 0.0: a+; break;case 1.0: b+; break;default: a+; b+;解析:解析 C 语言中,switch 语句中的表达式和 case 表达式都不能是浮点类

32、型。所以选 C。26.有定义语句:“int*p4;”,以下选项中与此语句等价的是_。(分数:1.00)A.int p4;B.int*p;C.int*(p4); D.int(*p)4;解析:解析 题目中声明的 p 表示的是有 4 个整数指针元素的数组。A 选项表示有四个整数元素的数组。B 选项表示一个指向整数指针的指针。D 选项声明了一个指针变量,它指向的是含 4 个元素一维数组。所以本题答案为 C。27.有以下程序 #includestdio.h void fun(int x) if(x/21) fun(x/2); printf(“%d“, x); main() fun(7); printf(

33、“n“); 程序运行后的输出结果是_。(分数:1.00)A.1 3 7B.7 3 1C.7 3D.3 7 解析:解析 本程序主要考查递归函数。fun(7),首先将参数代入函数,因为(7/2)1,所以执行 f(3),依此类推直到 f(1.5),(1.5/2)1,所以执行打印函数,此时 x 值为 3,然后退出 f(1.5),返回 f(3),打印 x 值即 7。所以选 D。28.若要定义一个具有 5 个元素的整型数组,以下错误的定义语句是_。(分数:1.00)A.int a5=0;B.int b=0, 0, 0, 0, 0;C.int c2+3j;D.int i=5, di; 解析:解析 选项 A

34、中,其他元素会自动以 0 填充。选项 C 中维数是常量表达式,故没错。29.有以下程序: #includestdio.h void f(int *p); main() int a5=1, 2, 3, 4, 5, *r=a; f(r); printf(“%d/n“, *r); void f(int *p) p=p+3; printf(“%d, “, *p); 程序运行后的输出结果是_。(分数:1.00)A.1,4B.4,4C.3,1D.4,1 解析:解析 本题考查参数的按值传递。调用 f(r),函数创建一个整型指针 p,然后将 r 的值传给 p,即 p 也指向 a,p=p+3,输出 p 所指变量

35、的值,即数组右移 3 位,即 a0+3的值 4,然后函数结束,指针p 被销毁,r 中的值不变,还指向 a0,所以输出为 4,1。30.有以下程序: #includestdio.h main() short c=124; c=c_; printf(“%d/n“, c); 若要使程序的运行结果为 248,应在横线处填入的是_。(分数:1.00)A.2B.|248C. B.if(s1=s2)ST;C.if(strcpy(s1, s2)=1)ST;D.if(s1, s2=0)ST;解析:解析 strcmp(char*,char*),函数 strcmp 用于比较两个字符串的长度,长者为大,若字符个数也一

36、样,则从左至右依次比较相同位上的字符,字符大小按 ASCII 表值计算,直到最后一个字符,若还相同,则两个字符串相等,返回值 0。选项 A 中 if(strcmp(s2,s1)=0)ST,若 s2 等于 s1,则返回值 0,0等于 0,所以逻辑表达式 strcmp(s2,s1)=0 为真,执行 ST。32.有以下程序: #includestdio.h #includestring.h main() char x=“STRING“; x0=0; x1=“/0“; x2=“0“; printf(“%d%d/n“, sizeof(x), strlen(x); 程序运行后的输出结果是_。(分数:1.0

37、0)A.6 1B.7 0 C.6 3D.7 1解析:解析 字符数组长度为 7,因为 C 语言中系统会在字符串末尾加入一个字符“/0“,而 x0=0 的作用是将一个整数 0 存入字符数组中,系统会自动将整型数 0 转换成字符“/0“。所以输出为 7,0。33.有以下程序(strcat 函数用以连接两个字符串) #includestdio.h #includestring.h main() char a20=“ABCD/0EFG/0“, b=“IJK“; strcat(a, b); printf(“%s/n“, a); 程序运行后的输出结果是_。(分数:1.00)A.ABCDE/0FG/0IJKB

38、.ABCDIJK C.IJKD.EFGIJK解析:解析 C 语言中以字符“/0“作为字符串结束的标志。本题中字符串 a 实际为“ABCD”,函数strcat 将串 a 和串 b 连接,所以选 B。34.有以下程序,程序中库函数 islower(ch)用以判断 ch 中的字母是否为小写字母 #includestdio.h #includectype.h void fun(char *p) int i=0; while(pi) if(pi=“ i+; main() char s1100=“ab cd EFG!“; fun(a1); printf(“%s/n“, s1); 程序运行后的输出结果是_。

39、(分数:1.00)A.ab cd EFG!B.Ab Cd EFg!C.aB cD EFG! D.ab cd EFg!解析:解析 循环语句 while(pi),依次从字符串的首字符开始处理,若处理到了最后一个字符即 pi=“/0“则停止。“pi-1=pi-1=“a“+“A“;”实现字符的替换。35.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.#define N 10int xN;C.int x010;D.int x; 解析:解析 选项 A、B 中 n 为变量,C 语言中不允许动态定义数组维数,即维数不能是变量。选项 C 无此语法。36.有以下程序:

40、 #includestdio.h int fun() static int x=1; x+=1; return x; main() int i, s=1; for(i=1; i=s; i+)s+=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.11B.21 C.6D.120解析:解析 本题考查静态变量,C 语言中静态变量的生存期是从程序的开始到结束。本题中静态变量x,随着每次进入循环不断增长 5 次,返回的值分别为 2、3、4、5、6。所以 s=1+2+3+4+5+6=21,选 B。37.以下选项中,合法的一组 C 语言数值常量是_。(分数:

41、1.00)A.028.5e-3-0xfB.12.0Xa234.5e0 C1774e1.50abcD.0x8A10,0003.e5解析:解析 C 语言中,八进制数其开头必须是数字“0”,其数字包括 07,因此选项 A 错误。浮点数据的指数形式表示中,字母 e 或 E 之后的指数必须为整数,所以选项 C 错误。选项 D 中,整型数据10,000 的表示形式是错误的。38.有以下程序: #includestdio.h main() int s, t, A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(“%d, %d/n“, s, t); 在 VC6

42、 平台上编译运行,程序运行后的输出结果是_。(分数:1.00)A.2,4B.1,4C.4,8 D.10,6解析:解析 函数 sizeof()的参数为 C 中定义或者用户自定义的数据,作用是返回参数所指的数据类型所占用的内存空间的字节数。本题中 A 是整型,B 是双精浮点数,分别占 4 个字节和 8 个字节。所以选C。39.若有以下语句: typedef struct S int g; char h; T; 以下叙述中正确的是_。(分数:1.00)A.可用 S 定义结构体变量B.可用 T 定义结构体变量 C.S 是 struct 类型的变量D.T 是 struct S 类型的变量解析:解析 语句

43、 typedef struct Sint g; char h; T 的作用是用工作为 struct Sint g; char h; 的简写,所以选 B。40.有以下程序(函数 fun 只对下标为偶数的元素进行操作): #includestdio.h void fun(int*a, int n) int i, j, k, t; for(i=0; in-1; i+=2) k=i; for(j=i; jn; j+=2)if(ajak)k=j; t=ai; ai=ak; ak=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, a; fun(aa, 7); for(i=0;

44、 i7; i+)printf(“%d, “, aai); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.7,2,5,4,3,6,1, B.1,6,3,4,5,2,7,C.7,6,5,4,3,2,1,D.1,7,3,5,6,2,1,解析:解析 对下标为偶数的元素进行降序排序,下标为奇数的元素保持不变。二、程序填空题(总题数:1,分数:18.00)41.请补充函数 proc(),其功能是:计算并输出给定 10 个数的方差。 例如,给定的 10 个数为 12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。 注

45、意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includemath.h double proc(double x10) int i; double avg=0.0; double sum=0.0; double abs=0.0; double sd; for(i-0; i10; i+) 1; avg=sum/10; for(i=0; i10; i+) 2; sd= 3; return sd; void main() double s, str10=12.0, 9.0, 26.0, 5.0, 6.0, 31.0, 9.0, 3.0, 8.0, 18.0; int i; printf(“/nThe original data is: /n“); for(i=0; i10; i+) printf(“%6.1f“, stri); printf(“/n/n“); s=proc(str); printf(“s=%f/n/n“, s); (分数:18.00)解析:sum+=xi abs+=

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

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

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