[计算机类试卷]国家二级(C语言)笔试模拟试卷30及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷30及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷30及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 30及答案与解析 1 下列描述中正确的是 ( )。 ( A)软件工程只是解决软件项目的管理问题 ( B)软件工程主要解决软件产品的生产率问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 ( D)软件工程只是解决软件开发中的技术问题 2 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 3 设有如下关系表: 则下列操作中,正确的是 ( )。 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R/S 4 下列叙述中正确的是 (
2、)。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 5 下列关于栈的描述正确的是 ( )。 ( A)在栈中只能插入元素而不能删除元素 ( B)在栈中只能删除元素而不能插入元素 ( C)栈是特殊的线性表,只能在一端插入或删除元素 ( D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 6 下面的叙述正确的是 ( )。 ( A)程序设计就是编制程序 ( B)程序的测试必须由程
3、序员自己去完成 ( C)程序经份试改错后还应进行再测试 ( D)程序经调试改错后不必进行再测试 7 下列叙述中正确的是 ( )。 ( A)软件交付使用后还需要进行维护 ( B)软件一旦交付使用就不需要再进行维护 ( C)软件交付使用后其生命周期就结束 ( D)软件维护是指修复程序中被破坏的指令 8 数据库设计的根本目标是要解决 ( )。 ( A)数据共享问题 ( B)数据安全问题 ( C)大量数据存储问题 ( D)简化数据维护 9 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)数据库 ( D)数据库管理员 10 在软件设计中,不属于过程设计工具的是 ( )。
4、( A) PDL(过程设计语言 ) ( B) PAD图 ( C) N-S图 ( D) DFD图 11 下列说法不正确的是 ( )。 ( A) C语言程序是以函数为基本单位的,整个程序由 函数组成 ( B) C语言程序的一条语句可以写在不同的行上 ( C) C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写 ( D) C语言程序的每个语句都以分号结束 12 下列程序的执行结果是 ( )。 #include stdio.h main() int a,b,c; a=b=2; c=(a+)-1;printf(“%Ad,%d“,a,C) ; c+=-a+(+B) ;printf(“%
5、d,%d“,a,C) ; ( A) 3, 14, 1 ( B) 3, 14, 2 ( C) 2, 04, 1 ( D) 2, 14, 1 13 若 w、 x、 y、 z、 m均为 int型变量,则执行下列的语句后 m的值是 ( )。 w=2, x=3, y=4, z=5; m=(w x)?w:x; m=(m z)?m:z; m=(m y)?m:y; ( A) 2 ( B) 3 ( C) 5 ( D) 4 14 若有定义: int a=4,b=5;float x=3.4,y=2.1;,则下列表达式的值为 ( )。 (float)(a+B) /2+(int)x%(int)y ( A) 5.5 (
6、B) 55 ( C) 5.5 ( D) 55 15 在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码 ( )。 ( A)小 32 ( B)小 64 ( C)大 32 ( D)大 1 16 下列不是合法的 C语言语句是 ( )。 ( A) a=5 ( B) int i; i+; ( C); ( D) ; 17 下列写法正确的是 ( )。 ( A) main() int i=3,j; j=5 ( B) main() int i=3; ( C) main() ( D) main() ; 18 下列程序的输出结果是 ( )。 main() int a,b,d=25; a=d/10
7、%9; b=a ( A) 6,1 ( B) 2,1 ( C) 6,0 ( D) 2,0 19 下列程序的输出结果是 ( )。 #include stdio.h main() int a=3,b=2,c=1; if(a B) if(b 0) c=0; else c+; printf(“%dn“,C) ; ( A) 0 ( B) 2 ( C) 1 ( D) 3 20 下列程序的功能是给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错。 main() /* Beginning */ int r; float s; seanf(“%d“, s=*r*r; printf(“s=%fn“,s);
8、 出错的原因是 ( )。 ( A)注释语句书写位置错误 ( B)存放圆半径的变量 r不应该定义为整型 ( C)输出语句中格式描述符非法 ( D)计算圆面积的赋值语句中使用了非法变量 21 若 x和 y代表整型数,以下表达式中不能正确表示数学关系 |xy| 10的是( )。 ( A) abs(x-y) 10 ( B) x-y -10 *q=*(p+5); printf(“%d%dn“,*p,*q);程序运行后的输出结果是 ( )。 ( A)运行后报错觉 ( B) 6 6 ( C) 6 11 ( D) 5 10 23 下列条件语句中,功能与其他语句不同的是 ( )。 ( A) if(a) prin
9、tf(“%d n“ ,x); else printf(“% d n“ ,y); ( B) if(a =0) printf( “% d n“ ,y); else printf( “% d n“ ,x); ( C) if (a! =0) printf(“%d n“,x); else printf(“%d n“,y); , ( D) if(a=O) printf(“%d n“,x); else printf(“%d n“,y); 24 有以下程序 : #include stdio. h main ( ) inti=0.s=0; for(;) if( i = = 3 i = = 5 ) continu
10、e; if (i =6) break; i+; s+ =i; printf(“ % d n“ ,s);程序运行后的输出结果是 ( )。 ( A) 10 ( B) 13 ( C) 21 ( D)程序进入列 循环 25 以下能正确定义二维数组的是 ( )。 ( A) int a3; ( B) int a3 =2*3; ( C) int a3 =; ( D) int a23 =1,2,3,4: 26 有以下程序 :#include stdio.h main( ) char a,b,e,d; seanf(“% e,% e,% d,% d“ , printf(“% c,% c,% e,% c n“ ,a
11、,b,c,d);若运行时从键盘上输入 :6,5,65,66 回车,则输出结果是 ( )。 ( A) 6,5,A,B ( B) 6,5,65,66 ( C) 6,5,6,5 ( D) 6,5,6,6 27 s1和 s2已正确确定义并分别指向两个字符串。若要求:当 s1所指字符串大于s2所指字符串时,执行语句 S;则以下选项中正确的是 ( )。 ( A) if(s1 s2) S; ( B) if(strcmp(s1,s2) S; ( C) if(strcmp(s2,s1) 0) S; ( D) if(stremp(s1,s2) 0) S; 28 有以下程序 : #include stdio, h
12、main( ) int m =0256,n =256; printf( “% o % o n“ ,m,n); 程序运行后的输出结果是 ( ) 。 ( A) 0256 0400 ( B) 0256 256 ( C) 256 400 ( D) 400 400 29 若有以下说明和语句 : int c4 5 ,( * p) 5; p=e; 能够正确引用 c数组元素的是 ( )。 ( A) p+1 ( B) *(p+3) ( C) *(p+1)+3 ( D) *(p0+2) 30 有以下程序 : #include stdio. h int f(int a) return a% 2; main( ) i
13、nt s8 = 1,3,5,2,4,6 ,i,d =0; for (i=0;f(si);i+) d+ =si; prinff( “% d n“, d); 程序运行后的输出的结果是 ( ). ( A) 9 ( B) 11 ( C) 19 ( D) 21 31 有以下程序 : #include stdio, h main ( ) int a =666,b =888; printf( “%d n“, a,b); 程序运行后的输出结果是 ( )。 ( A)错误信息 , ( B) 666 ( C) 888 ( D) 666,888 32 设有定义语句 : int x6 = 2,4,6,8,5,7 , *
14、 p=x,i; 要求依次输出 x数组 6个元素中的值,不能完成此操作的语句是 ( )。 ( A) for(i=0; i 6;i+) printf(“%2d“,* (p+); ( B) for(i =0;i 6;i + ) printf( “%2d“ , * (p +i); ( C) for(i =0;i 6;i + ) printf(“ %2d“ , * p + ); ( D) for(i =0;i 6;i + ) printf(“%2d“ ,( * p) + ); 33 有以下程序 : #include stdio. h main ( ) int a=3,b=4,c=5,d=2; if(a
15、b) if(b c)printf(“%d“,d+ +1); else printf( “% d“, + + d + 1 ); printf( “% d n“ ,d); 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 3 ( C) 43 ( D) 44 34 设有以下定义和语句 : int a3 2=1,2,3,4,5,6, * p3; p0 =a1; 则 (P0+1)所代表的数组元素是 ( )。 ( A) a01 ( B) a10 ( C) s11 ( D) a12 35 在函数调用过程中,如果函数 funA调用了函数 funB,函数 funB又调用了函数funA,则 ( )。 (
16、A)称为函数的直接递归调用 ( B)称为函数的间接递归调用 ( C)称为函数的循环调用 ( D) C语言中 不允许这样的递归调用 36 有以下程序: #include stdio. h main ( ) char s = “ABCD“, * p; for(p=s+1;p s+4;p+) pfintf(“ % s n“ ,p); ( A) ABCD BCD CD D ( B) A B C ( C) B C D ( D) BCD CD D 37 有以下程序 : #include stdio.h main( ) chars =“Yesn/No“,*ps=s; puts(ps +4); * (pa +
17、4) =0; puts(s); 程序运行后的输出结果是 ( )。 ( A) n/No Yes /No ( B) /No Yes ( C) /NO Yes /No ( D) n/No Yes 38 有以下程序 : #include stdio. h main( ) ehar str 10 = “China“ ,“ Beijing“ , * p = stro; printf( “% s n“, p + 10); 程序运行后的输出结果是 ( )。 ( A) China ( B) Beijing ( C) ng ( D) ing 39 以下叙述中正确的是 ( )。 ( A)局部变量说明为 static
18、存储类,其生存期将得到延长 ( B)全局变量说明为 static存储类,其作用域将被扩大 ( C)任何存储类的变量在未赋初值时,其值都是不确定的 ( D)形参可以使用的存储类说明符与局部变 量完全相同 40 设有定义语句: charc1=92, c2=92;则以下表达式中值为零的是 ( )。 ( A) c1 c2 ( B) c1 c2 ( C) c2 ( D) c1|c2 41 有以下程序: #include stdio.h main ( ) int i; for(i =0;i 3 ;i + ) switch (i) case 0: printf(“ % d“ ,i); case 2: pri
19、ntf(“ % d“ , i); default: printf( “% d“ , i);程序运行后的输出结果是 ( )。 ( A) 22111 ( B) 21021 ( C) 122 ( D) 12 42 若变量已正确定义,要求程序段完成求 5! 的计算,不能完成此操作的程序段是( )。 ( A) for(i=1,p=1;i =5;i+) p* =i; ( B) for(i=1;i =5;i+) p=1; p* =i; ( C) i=1;p=1;while(i =5)p* =i; i+; ( D) i=1;p=1;dop* =i; i+; while(i =5); 43 有以下程序 : #i
20、nclude stdio. h main( ) unsigned int a; int b=-1; a=b; printf(“ % u“, a);程序运行后的输出结果是 ( )。 ( A) -1 ( B) 65535 ( C) 32767 ( D) -32768 44 有以下程序 :#include stdio, h void fun(iht * a,int i,int j) int t; if(i j) t=ai;ai =aj ;aj=t; i+;j-; fun(a,i,j);main ( ) int x : 2,6,1,8 ,i; fun(x,0,3); for( i=0;i 4;i +
21、) printf( “%2d“ ,xi ); printf(“ n“); ( A) 1268 ( B) 8621 ( C) 8162 ( D) 8612 45 有以下说明和定义语句 :struct studentint age; char num8 ;struct student stu 3 = 20, “200401“ , 21, “200402“ , 19, “200403“ ;stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是 ( )。 ( A) (p+) - num ( B) p- num ( C) ( *p).num ( D) stu3.ag
22、e 46 有以下程序 :#include stdio.h main( ) int a=7,b=8,* p,*q, *r; p=q= r=p; p=q;q=r; printf(“ % d,% d,% d,% d n“, * p, * q.a,b);程序运行后的输出结果是( )。 ( A) 8,7,8,7 ( B) 7,8,7,8 ( C) 8,7,7,8 ( D) 7,8,8,7 47 有如下程序 : #include stdio.h main ( ) FILE* fpl; fp1 = fopen(“ftxt“ ,“w“); fpfinff( fp1 ,“ abc“ ); fclose ( fp
23、1 ); 若文本文件 f1.txt中原有内容为: good,则运行以上程序后文件 f1.txt中的内容为 ( )。 ( A) goodabc ( B) abcd ( C) abc ( D) abegood 48 已有定义: int i, a10, *p;则合法的赋值语句是 ( )。 ( A) p=100; ( B) p=a5; ( C) p=a2+2; ( D) p=a+2; 49 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请填空。 #include stdlib.h stuct node char data; struet node *
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 30 答案 解析 DOC
