[计算机类试卷]国家二级(C语言)机试模拟试卷35及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷35及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷35及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 35 及答案与解析 一、选择题 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的结点个数为 (
2、A) 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) int x23 1,2,3,4,5,6; ( B) int x3 0; ( C) int x3 1,2,3, 4,5,6; ( D) int x23 1,2, 3,4, 5,6; 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)通过
5、分解成简单子任务,可以完成任何复杂任务 ( B) 每个结构化程序都要包含全部三种基本结构 ( C) C语言程序的所有自定义函数只能写在同一个源文件中 ( 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)
6、a = 10 % (b = c = 2.0); 15 若变量已正确定义并赋初值,以下合法的赋值语句是 ( 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) prin
7、tf(“%cn“, 65); 18 若有定义: char ch;当执行以下循环时从键盘输入 abcde回车,将输出 *的个数是 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
8、=11 y=11 z=10 ( D) x=10 y=10 z=12 20 对于 if(表达式 )语句,以下叙述正确的是 ( 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
9、=1 ( B) x ( C) x!=0 ( D) x 0 | x 0 23 以下叙述正确的是 ( A)表达式 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,
10、fun( b, c ) ) ); 程序运行后的输出结果是 ( A) 3 ( B) 6 ( C) 8 ( 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; f
11、or ( i=0; i n-1; i+ ) for ( j=i+1; j n; j+ ) if ( flag ) 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
12、,3,2,1, ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 10,9,8,7,1,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
13、 ); t2=m2( i,t2 ); printf(“t1=%d t2=%d n“, t1, t2 ); 程序运行后的输出结果是 ( 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
14、=c; main() char t1, t2; t1 = A; t2 = B; f3( putchar(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)数组
15、说明符的一对方括号中不能使用表达式 ( C)数组元素下标可以是非整数 ( D)若有定义 char array4; 则语句 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
16、 p=1, 2, 3,*q=p; 以下不能计算出一个 char型数据所占字节数的表达式是 ( A) 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
17、, 11 ( B) 5, 5 ( C) 11, 11 ( D) 11, 5 33 有以下程序 #include 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 ss
18、10=“12345“; strcat( ss, “6789“ ); gets( ss ); printf(“%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( c
19、har *str ) while (*str) putchar(*str+1); str+; return *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) AB
20、C ( B) CBA ( C) AB ( D) ABCC 38 有以下程序 #include stdio.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
21、 char name10; int age; ; struct person class10= “Johu“,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; (
22、B) a=a|0; ( C) a=a ( D) a=!a; 二 、程序填空题 41 下列给定程序中,函数 fun的功能是:计算如下公式前 n项的和,并作为函数值返回。 例如,当形参 n的值为 10时,函数返同值为 9 612558。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include Stdio h double fun(int n)( int i;double s, t; /*found*/ s=【 1】;/*found*/ for(i=1; i =【 2】; i+) t=
23、2 0 i,/*found*/ s=s+(2 0*i1)*(2 0*i+1)【 3】; return s; void main() int n=一 1; while(n 0) printf(”Please input(n 0): ”); scanf(”ct”, n); ) printf(” nThe result is: f n”, fun(n); 三、程序修改题 42 下列给定程序中函数 fun的功能是:逐个比较 p、 q所指两个字符串对应位置上的字符,并把 ASCII值大或相等的字符依次存放到 c所指的数组中,形成一个新的字符串。 例如,若主函数中 a字符串为 “aBCDeFgH”, b字
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 35 答案 解析 DOC
