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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

[计算机类试卷]国家二级(C语言)机试模拟试卷63及答案与解析.doc

1、国家二级( C语言)机试模拟试卷 63及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)算法复杂度是指算法控制结构的复杂程度 ( B)算法复杂度是指设计算法的难度 ( C)算法的时间复杂度是指设计算法的工作量 ( D)算法的复杂度包括时间复杂度与空间复杂度 2 设循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。现经过一系列入队与退队操作后, front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为 ( A) 2 ( B) 1 ( C) 3 ( D) 52 3 一棵完全二叉树共有 360个结点,则在该二叉树中度为 1的结点个数为 ( A

2、) 0 ( B) 1 ( C) 180 ( D) 181 4 设某二叉树的后序序列与中序序列均为 ABCDEFGH,则该二叉树的前序序列为 ( A) HGFEDCBA ( B) ABCDEFGH ( C) EFGHABCD ( D) DCBAHGFE 5 在排序过程中,每一次数据元素的移动会产生新的逆序的排序方法是 ( A)快速排序 ( B)简单插入排序 ( C)冒泡排序 ( D)以上说法均不正确 6 下面对软件工程描述正确的是 ( A)软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法 ( B)软件工程的三要素是方法、工具和进程 ( C)软件工程是用于软件的定义

3、、开发和维护的方法 ( D)软件工程是为了解决软件生产率问题 7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( A)内聚性是指模块间互相连接的紧密程度 ( B)提高耦合性降低内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)降低耦合性提高内聚性有利于提高模块的独立性 8 下列关于数据库系统的叙述中正确的是 ( A)数据库系统中数据的一致性是指数据类型一致 ( B)数据库系统避免了一切冗余 ( C)数据库系统减少了数据冗余 ( D)数据库系统比文件系统能管理更多的数据 9 一名演员可以出演多部电影,则实体演员和电影之间的联系是

4、 ( A)多对多 ( B)一对一 ( C)多对一 ( D)一对多 10 软件设计中模块划分应遵循的准则是 ( A)低内聚低耦合 ( B)高耦合高内聚 ( C)高内聚低耦合 ( D)以上说法均错误 11 有以下程序 #include stdio.h main() int a=2,b=3,c=4; a*=16 +(b+) - (+c); printf(“%d n“,a ); 程序运行后的输出结果是 ( A) 15 ( B) 30 ( C) 28 ( D) 14 12 以下叙述正确的是 ( A)通过分解成简单子任务,可以完成任何复杂任务 ( B)每个结构化程序都要包含全部三种基本结构 ( C) C语

5、言程序的所有自定义函数只能写在同一个源文件中 ( D) C语言程序允许使用多个 main函数,只要它们的函数体各不 相同即可 13 以下选项中,合法的 C语言实数是 ( A) E4.8 ( B) 4.3e0.2 ( C) 4.00E-01 ( D) 0.29E 14 设 a,b,c已定义为整型变量,以下选项中不正确的赋值表达式是 ( A) a = 3 = (b = 2) = 1; ( B) a = (b = 0) * c + 1; ( C) a = (b = 0) * c + 1; ( D) a = 10 % (b = c = 2.0); 15 若变量已正确定义并赋初值,以下合法的赋值语句是

6、( A) k=(m=n); ( B) k=-m-n ( C) k=int(m+n); ( D) k=m*n=1; 16 以下关于逻辑运算符两侧运算对象的叙述中正确的是 ( A)只能是整数 0或 1 ( B)只能是整数 0或非 0整数 ( C)可以是结构体类型的数据 ( D)可以是任意合法的表达式 17 以下选项中错误的是 ( A) printf(“%sn“, s); ( B) printf(“%d %cn“, s,s); ( C) printf(“%cn“, s- 32); ( D) printf(“%cn“, 65); 18 若有定义: char ch;当执行以下循环时从键盘输入 abcde

7、回车,将输出 *的个数是 while(ch=getchar()=e) printf(“*“); ( A) 4 ( B) 0 ( C) 5 ( D) 1 19 有以下程序 #include stdio.h main() int x=10,y=11,z=12; if( y z ) x=y; y=z; z=x; printf(“x=%d y=%d z=%dn“, x, y, z ); 程序运行后的输出结果是 ( A) x=11 y=12 z=11 ( B) x=10 y=10 z=10 ( C) x=11 y=11 z=10 ( D) x=10 y=10 z=12 20 对于 if(表达式 )语句,

8、以下叙述正确的是 ( A)表达式不能是变量 ( B)表达式的值只能是整数值 ( C)表达式可以是常量 ( D)表达式中不可以出现字符型变量的比较 21 有以下程序 #include stdio.h main( ) char ch = 1; while (ch 9) printf(“%d“, ch - 0); ch+; 程序运行后的输出结果是 ( A) 12345678 ( B) 1234567 ( C) 0 ( D) 1 22 以下与表达式 (!x=0) 的逻辑值不等价的选项是 ( A) x=1 ( B) x ( C) x!=0 ( D) x 0 | x 0 23 以下叙述正确的是 ( A)表

9、达式 9-0的值是数值 9 ( B)表达式 A+32的值是字母 A的 ASCII码 ( C)表达式 a-32的值是字母 a的 ASCII码 ( D)表达式 9+0的值是字符 9的 ASCII码 24 有以下程序 #include stdio.h int fun (int x, int y ) if (x!=y) return ( (x+y) /2 ); else return ( x ); main() int a=4, b=5, c=6; printf( “%dn“ , fun(2*a, fun( b, c ) ) ); 程序运行后的输出结果是 ( A) 3 ( B) 6 ( C) 8 (

10、D) 12 25 有以下程序 #include stdio.h int f( int x,int y) return(y-x)*x); main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(“%dn“,d); 程序运行后的输 出结果是 ( A) 8 ( B) 10 ( C) 9 ( D) 7 26 有以下程序 #include stdio.h void fun( int a , int n, int flag ) int i=0,j, t; for ( i=0; i n-1; i+ ) for ( j=i+1; j n; j+ ) if ( f

11、lag ) if ( ai aj ) t = ai; ai = aj; aj = t; else if ( ai aj ) t = ai; ai = aj; aj = t; main( ) int c10= 7,9,10,8,3,5,1,6,2,4 ,i; fun( c, 4, 1 ); fun( c+4, 6, 0 ); for ( i=0;i 10; i+ ) printf( “%d,“, ci ); printf(“n“); 程序运行后的输出结果是 ( A) 7,8,9,10,6,5,4,3,2,1, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 10,9,8,7,1,

12、2,3,4,5,6, ( D) 1,2,3,4,5,6,7,8,9,10, 27 有以下程序 #include stdio.h int m1(int x, int y ) if( x = y ) return 2*x+1; else return y; int m2(int x, int y ) if( x = y ) return 2*y+1; else return x; main() int i, t1=10, t2=0; for( i=1; i =4; i+ ) t1=m1( i,t1 ); t2=m2( i,t2 ); printf(“t1=%d t2=%d n“, t1, t2 )

13、; 程序运行后的输出结果是 ( A) t1=9 t2=4 ( B) t1=4 t2=9 ( C) t1=9 t2=9 ( D) t1=1 t2=4 28 有以下程序 #include stdio.h void f1(char *a, char b ) char c; c=*a; *a=b; b=c; void f2(char a, char b ) char c; c=a; a=b; b=c; void f3(char *a, char *b ) char c; c=*a; *a=*b; *b=c; main() char t1, t2; t1 = A; t2 = B; f3( putchar

14、(t1); putchar(t2); t1 = A; t2 = B; f2( t1, t2 ); putchar(t1); putchar(t2); t1 = A; t2 = B; f1( putchar(t1); putchar(t2); printf(“n“); 程 序运行后的输出结果是 ( A) ABBABB ( B) BAABBB ( C) BABABA ( D) BABAAB 29 以下叙述正确的是 ( A) char c1, *c2, *c310; 是合法的变量定义语句 ( B)数组说明符的一对方括号中不能使用表达式 ( C)数组元素下标可以是非整数 ( D)若有定义 char a

15、rray4; 则语句 printf(“%c“, array“3“);是合法的 30 有以下程序 #include stdio.h main( ) int a33=1,3,5, 7,9,11, 13,15,17; int (*p)3=a, i,j,n=0; for(i=0;i 3;i+) for(j=0;j 2;j+) n+=*(*(p+i)+j); printf(“%dn“,n); 程序运行后的输出结果是 ( A) 54 ( B) 60 ( C) 36 ( D) 48 31 设有定义: char p=1, 2, 3,*q=p; 以下不能计算出一个 char型数据所占字节数的表达式是 ( A)

16、sizeof(*q) ( B) sizeof(char) ( C) sizeof(p) ( D) sizeof(p0) 32 有以下程序 #include stdio.h 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(“%dn“,k); 执行后的输出结果是 ( A) 5, 11 ( B) 5, 5 ( C) 11, 11 ( D) 11, 5 33 有以下程序 #in

17、clude stdio.h int f( int x, int n ) if ( n 1) return xn-1+ f(x, n-1)*10; else return x0; main( ) int z3 = 1,2,3, y; y = f(z,3); printf( “%dn“, y ); 程序运行后的输出结果是 ( A) 321 ( B) 123 ( C) 1 ( D) 3 34 有以下程序 #include stdio.h #include string.h main() char ss10=“12345“; strcat( ss, “6789“ ); gets( ss ); prin

18、tf(“%sn“, ss ); 执行时输入: ABC回车,则输出结果是 ( A) 123456ABC ( B) ABC9 ( C) ABC ( D) ABC456789 35 有以下程序 #include stdio.h #include string.h main() printf(“%dn“, strlen(“0tn0C0111“); 程序运行后的输出 结果是 ( A) 3 ( B) 13 ( C) 1 ( D) 0 36 有以下程序 #include stdio.h int show( char *str ) while (*str) putchar(*str+1); str+; ret

19、urn *str+1; main( ) printf(“%dn“, show(“ABCD“); 程序运行后的输出结果是 ( A) ABCD0 ( B) BCDE0 ( C) BCDE1 ( D) ABCD1 37 有以下程序 #include stdio.h void my_put() char ch; ch = getchar(); if (ch != C) my_put(); putchar(ch); main( ) my_put(); 执行时输入: ABC回车,则输出结果是 ( A) ABC ( B) CBA ( C) AB ( D) ABCC 38 有以下程序 #include std

20、io.h void fun(int n) static int x3=1,2,3; int k; for( k=0; k 3; k+ ) xk += xk-n; for( k=0; k 3; k+ ) printf(“%d,“,xk); main() fun(0); fun(1); 程序运行后的输出结果是 ( A) 1,2,3,0,1,2, ( B) 2,4,6,1,3,5, ( C) 2,4,6,3,7,11, ( D) 2,4,6,4,8,12, 39 有以下定义 struct person char name10; int age; ; struct person class10= “J

21、ohu“,17, “Paul“,19, “Mary“,18, “Adam“,16, ; 能输出字母 M的语句是 ( A) printf(“%c n“, class2.name0 ); ( B) printf(“%c n“, class3.name0 ); ( C) printf(“%c n“, class3.name1 ); ( D) printf(“%c n“, class2.name1 ); 40 若要通过位运算使整型变量 a中的各位数字全部清零,以下选项正确的是 ( A) a=a0; ( B) a=a|0; ( C) a=a ( D) a=!a; 二、程 序填空题 41 给定程序中,函数

22、 fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为 10、 4、 2、 8、 6,排序后链表结点数据域从头至尾的数据为 2、 4、 6、 8、 10。 请在程序的下画线处填入止确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h #include stdlib h #define N 6 typedef struct node int data; struct node*next; NODE; void fun(NODE*h)

23、NODE*P, *q; int t; P=h; while(P) /*found*/ q=【 1】 ; /*found*/ while(【 2】 ) if(P一 data q一 data) t=P一 data; P一 data=q一 data; q一 data=t, q=q一 next; /*found*/ p=【 3】 ; NODE*creatlist(int a) NODE*h, *P, *q; int i; h=NULL; for(i=0; i N; i+) q=(NODE*)malloc(sizeof(NODE), q一 data=ai, q一 next=NULL: if(h=NULL

24、)h=P=q; elseP一 next=q; P=q;) return h; void outlist(NODE*h) NODE*P; P=h; if(P=NULL) printf(“The list is NULL! n”); olse printf(“ nHead”); do fprintf(“一 d”, P一 data), P=P一 next; while(P!=NULL), printf(“一 End n”); main() NODE*head, int aN=0, 10, 4, 2, 8, 6; head=creatliSt(a); printf(“ nThe original li

25、st: n”); outlist(head); fun(head); printf (“nThe list after inverting: n”); outliSt(head), 三、程序修改题 42 下列给定程序中函数 fun的功能是:用冒泡法埘 6个字符串按 m4,到大的顺序进行排序。 请改止程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdlib h #include string h #include conio h #include stdio h #define MAXLINE 20

26、fun(char*pstr6) int i, j; char*P; for(i=0, i 5; i+) /*found*/ for(j=i+1, j 6, j+) if(strcmp(*(pstr+i), (pstr+ j) 0) P=*(pstr+i); /*found*/ *(pstr+i)=pstr+j; *(pstr+j)=P; void main() int i; char*pstr6, str6MAXLINE; system(“CLS”); for(i=0; i 6; i+) pstri=stri; printf(“ nEnter 6 string(1 string at each

27、 line): n”); for(i=0; i 6;i+) scanf(“ S”, pstri); fun(pstr); printf(“The strings after sorring: n”), for(i=0; i 6; i+) printf(“ s n”, pstri); 四、程序设计题 43 编写函数 fun,其功能是:求出 1 1000之间能被 7或 11整除,但不能同时被7和 11整除的所有整数,并将其放在 a所指的数组中,通过 n返回这些数的个数。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试

28、题程序: #include Stdlib h #include conio h #include stdio h void fun(int*a, int*n) voidmain() int aa1000, n, k; system(“CLS”); fun(aa, n); for(k=0; k n; k+) if(k+1) 10=0) printf(“ 5d”, aak); printf(“ n”); ) *一行写 9个数 * else printf(“ 5d”, aak); 国家二级( C语言)机试模拟试卷 63答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 算法的复杂度是指运行该

29、算法所需要的计算机资源的多少,所需的资源越多,该算法的复杂度越高;反之,所需资源越少,复杂度越低。算法复杂度包括算法的时间复杂度和算法的空间复杂度,算法的时间复杂度是指执行算法所需要的计算工作量,算法空间复杂度指执行这个算法所需要的内存空间。故选择 D选项 2 【正确答案】 A 【试题解析】 循环队列是队列的一种顺序存储结构,用队尾指针 rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置。循环队列长度为 50,由初始状态为 front=rear=50可知此时循环队列为空。入队运算时,首先队尾指针进1(即 rear+1),然后在 rear指针指向的位置插入新元素。特别的,当队尾指针

30、rear=50+1时,置 rear=1。退队运算时,排头指针进 1(即 front+1),然后删除front指针指向的位置上的元素,当排头指针 front=50+1时,置 front=1。 若经过运算, front=rear=1可知队列空或者队列满。此后又正常地插入了两个元素说明插入前队列为空,则插入后队列元素个数为 2。故选 A选项 3 【正确答案】 B 【试题解析】 在二叉树中,一个结点所拥有的后件个数称为该结点的度。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。由定义可以知道,完全二叉树中度为 1的结点个数为 1或者 0。若结点总数为偶数,则有

31、 1个度为 1的结点;若结点总数为奇数,没有度为 1的结点。由于题目中的完全二叉树共有 360个结点,则度为 1的结点个数为 1。故选择B选项 4 【正确答案】 A 【试题解析】 二叉树遍历可以分为 3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访 问右子树两者之间)、后序遍历(访问根结点在访问左子树和访问右子树之后)。 二叉树的后序序列与中序序列相同,说明此树结点没有右子树,且最后一个节点H为根节点,而前序遍历中根节点应在最先被访问,即节点 H在最先出现,由此推断前序遍历为 HGFEDCBA,故 A选项正确 . 5 【正确答案】 A 【试题解析】

32、 冒泡排序只交换相邻元素,但不是每次移动都产生新的逆序。简单插入排序的元素移动不会产生新的逆序。快速排序每一次交换移动都会产生新的逆序,因为当不会有新的逆序产生时,本轮比较结束。故选择 A选项 6 【正确 答案】 A 【试题解析】 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 C选项叙述不全面。 软件工程包含个要素:方法、工具和过程。 B选项错误。 软件工程的目标是:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品,追求这些目标有助于提高软件产品的质量和开发效

33、率,减少维护的困难。 D选项错误。 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法 。 故本题选 A选项 . 7 【正确答案】 D 【试题解析】 模块的独立程度可以由两个定性标准度量,一个是耦合性,用来衡量不同模块彼此间互相依赖(连接)的紧密程度。另一个是内聚性,用来衡量一个模块内部各个元素彼此结合的紧密程度。 一般来说,要求模块之间的耦合尽可能弱,即模块尽可能独立,且要求模块的内聚程度尽可能高。故选 D选项。 8 【正确答案】 C 【试题解析】 数据管理技术的发展经历了个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。 数据库系统共享性大,冗余度小,但只是

34、减少了冗余,并 不是避免一切冗余。 数据的一致性是指在系统中同一数据在不同位置的出现应保持相同的值,而不是数据类型的一致。 数据库系统比文件系统有更强的管理控制能力,而不是管理更多的数据。 故本题选 C选项。 9 【正确答案】 A 【试题解析】 实体集之间通过联系来建立联接关系分为三类:一对一联系( 1:1)、一对多联系( 1:m)、多对多联系( m:n)。 由于一名演员可以出演多部电影,而一部电影必定有多个演员参演,则实体演员和电影之间的联系属于多对多。故选 A选项 . 10 【正确答案】 C 【试题解析】 根据 软件设计原理提出如下优化准则: 划分模块时,尽量做到高内聚、低耦合,保持模块相

35、对独立性,并以此原则优化初始的软件结构。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 软件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。 C正确。 11 【正确答案】 C 【试题解析】 1、后置自增运算: k+表示先运算,后自加。 2、前置自增运算:+k表示先自加,后运算。 +单目运算符的优先级高于赋值运算符。 a*=16 +(b+) - (+c);可转化 为: a=a*(16+b-(c+1);b=b+1;代入值计算可得值 a=28。答案为 C选项 . 12 【正确答案】 A 【试题解析】 算法的三种基本结构:循环、顺序、条件。有的简单

36、的程序只包含其中的若干个,因此 B选项错误, C语言程序的自定义函数可以放在多个 .c文件中,只要包含其引用的头文件即可链接到,因此选项 C错误。 C语言程序有且只有一个 main函数,因此 D选项错误。故答案为 A选项。 13 【正确答案】 C 【试题解析】 C语言 “标准化指数形式 “:其数值部分是一个小数,小数点前的数字是零,小 数点后的第一位数字不是零。一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式。在 C语言中 e后面的指数必须是整数。因此只有C选项正确。 14 【正确答案】 A 【试题解析】 根据 ()和 =运算符的优先级,运算过程为 b=2, b=1,之后 3=1为

37、非法赋值运算。, ,C语言规定常量只能做为右值,不能做左值,因此选项 A的表达式错误。 15 【正确答案】 A 【试题解析】 m,n的变量类型未知,但题目中已定义和赋值。选项 B的 -m-n对于整型与浮点数类型可以这样操作,但若变量为字符类型,则错误 。选项 C,编译类型错误,强制转化使用错误。选项 D, m*n是常量,只能用作表达式的右值,不能作为左值。故答案为 A选项。 16 【正确答案】 D 【试题解析】 与运算符 (此时 x=11;y=11;z=12 再执行 y=z;z=x;此时 y=12;z=11; 最后 x=11;y=12;z=11;故答案为 A选项。 20 【正确答案】 C 【试

38、题解析】 C语言没有规定 if(表达式 )中的 “表达式 “的形式,可以是任意合法表达式。故答案为 C选项。 21 【正确答案】 A 【试题解析】 将字符转为数字,并输出打印的格式为 %d,while循环从 1-8,因此打印的结果是 12345678。故答案为 A选项。 22 【正确答案】 A 【试题解析】 !与 =运算, !的优先级高于 =,即等价于 (!x)=0。如果 x 0,则表达式为真,否则表达式为假,因此可以验证选项,只有选项 A不符合。故答案为 A选项。 23 【正确答案】 D 【试题解析】 表达式 9- 0的值是数值 9-48=-39,故选项 A错误, 表达式 A +32的值是字

39、母 a的 ASCII码 , 故选项 B错误, 表达式 a -32的值是字母 A的 ASCII码 , 故选项 C错误。故答案为 D选项 . 24 【正确答案】 B 【试题解析】 fun函数的功能是获取二个数的平均数 ,注意平均数是整型数,小数会被截断。 fun(2*4,fun(5,6): fun(8,5): 6,因此答案为 C选项 25 【正确答案】 C 【试题解析】 f(a,b)=f(3,4)=(4-3)*3=3;f(a,c)=f(3,5)=(5-3)*3=6;f(3,6)=(6-3)*3=9; 因此, d=f(f(a,b),f(a,c)=9,答案为 C选项。 26 【正确答案】 C 【试题解

40、析】 fun()函数作用冒泡法排序, flag控制升序( 0)或者降序( 1)。 n为参与排序的个数。 a为数组的起始地址。因此, fun(a,4,1),数组的前四个降序排序, fun(a+4,6,0)从数组的第四项,后六个升序排序。故结果为10,9,8,7,1,2,3,4,5,6。答案为 C选项。 27 【正确答案】 A 【试题解析】 函数 m1(x,y),若 x y,返回 2*x+1,否则返回 y, 函数 m2(x,y),若 x =y,返回 2*y+1,否则返回 x,for循环对 t1=m1(i,t1),执行 4次,可知答案为 9,t2=m2(i,t2), 执行 4次,可知答案为 4,因此

41、答案为 A选项。 28 【正确答案】 B 【试题解析】 f1(*a,b),*a地址传递, b值传递,将 b值传给 *a,则 f1(i =1000; i+) *求 1到 1000之内能被 7或 11整除但不能 同时被 7和11整除的所有整数,并放入数组 a中 * if(i 7=0 |i 11=0) i 77! =0) aj+=i; *n=j; *传回满足条件的数的个数 * 【试题解析】 该题需要运用循环判断结构来实现,其中循环语句比较容易,只要确定循环变量的范围即可,下面来看判断语句。题目要求找出能被 7或 11整除,但不能同时被 7和 11整除的所有整数,能同时被 7和 11整除的整数一定能被 77整除,且不能被 77整除的数不一定就是能被 7或 11整除的数,因而,可得出程序中的 if语 句。注意 (i 7=0| 11=0)两边必须要有小括号。

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