[计算机类试卷]国家二级(C语言)笔试模拟试卷11及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷11及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷11及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 11及答案与解析 1 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程序的可移植性 2 视图设计一般有三种设计次序,下列不属于视图设计的是 ( )。 ( A)自顶向下 ( B)由外向内 ( C)由内向外 ( D)自底向上 3 下列关于栈的叙述中正确的是 ( )。 ( A)在栈中只能插入数据 ( B)在栈中只能删除数据 ( C)栈是先进先出的线性表 ( D)栈是先进后出的线性表 4 在软 件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 ( )。 ( A)概要设计 ( B)详
2、细设计 ( C)可行性分析 ( D)需求分析 5 下列说法中,不属于数据模型所描述的内容的是 ( )。 ( A)数据结构 ( B)数据操作 ( C)数据查询 ( D)数据约束 6 以下数据结构中不属于线性数据结构的是 ( )。 ( A)队列 ( B)线性表 ( C)二叉树 ( D)栈 7 对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 ( )。 ( A) n+1 ( B) n ( C) (n+1)/2 ( D) n/2 8 下列有关数据库的描述,正确的是 ( )。 ( A)数据库是一个 DBF文件 ( B)数据库是一个关系 ( C)数据库是一个结构化的数据集合 ( D)数据库
3、是一组文件 9 下面不属于软件设计原则的是 ( )。 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐蔽 10 在结构化方法中,用数据流图 (DFD)作为描述工具的软件开发阶段是 ( )。 ( A)可行性分析 ( B)需求分析 ( C)详细设计 ( D)程序编码 11 程序中若有如下说明和定义语句: char fun(char *); main() char * s=“one“, a5=0, (* f1)()=fun,ch; 以下选项中对函数 fun的正确调用语句是( )。 ( A) (* f1)(a); ( B) * f1(* s); ( C) fun( printf( “%
4、d% d“ ,m+ , +n); printf(“% d% d n“ ,n + , +m); 程序运行后的输出结果是 ( )。 ( A) 12353514 ( B) 12353513 ( C) 12343514 ( D) 12343513 16 有以下程序 :#include stdio. h main( ) int a = 1,2,3,4,5,6,7,8,9,0 , * p; for(p =a;p a+10;p+) printf(“%d,“ , *p); 程序运行后的输出结果是 ( )。 ( A) 1,2,3,4,5,6,7,8,9,0, ( B) 2,3,4,5,6,7,8,9,10,1,
5、 ( C) 0,1,2,3,4,5,6,7,8,9, ( D) 1,1,1,1,1,1,1,1,1,1, 17 有定义语句 :int b;char c10 ;则正确的输入语句是 ( )。 ( A) seanf(“%d%s“ , ( B) scanf(“%d%s“, ( C) seanf(“%d%s“,b,c); ( D) scanf(“%d%s“,b, 18 若有以下说明和定义: union dt int a; char b; double c; data; 以下叙述中错误的是 ( )。 ( A) data的每个成员起始地址都相同 ( B)变量 data所占的内存字节数与成员 c所占字节数相等
6、 ( C)程序段: data.a=5; printf(“%fn“,data.c);输出结果为 5.000000 ( D) data可以作 为函数的实参 19 有以下程序: #include stdio.h main( ) int a,b,d =25; a = d/10%9;b = a printf(“% d,% dn“ ,a,b); 程序运行后的输出结果是( )。 ( A) 6,1 ( B) 2,1 ( C) 6,0 ( D) 2,0 20 有以下程序 : #include stdio.h main( ) int num44=1,2,3,4,5,6,7,8,9,10,11,12,13;14,1
7、5,16,i,j; for(i =0;i 4;i + ) for(j=0;j =i;j+)printf(“%4c“,“); for(j=_;j 4;j + )printf( “%4d“ ,humi j ); printf(“ n“ ); 若要按以下形式输出数组右上半三角 ; 1 2 3 4 6 7 8 11 12 16则在程序下划线处应填入的是 ( )。 ( A) i-1 ( B) i ( C) i+1 ( D) 4-i 21 若已定义 c为字符型变量,则下列语句中正确的是 ( )。 ( A) c=97 ( B) c=“97“; ( C) c=97; ( D) c=“a“; 22 设变量 x为
8、 float型且已赋值,则以下语句中能将 x中的数值保留到小数点后两位,并将第三位四舍五入的是 ( )。 ( A) x=x*100+0.5/100.0; ( B) x=(x*100+0.5)/100.0 ( C) x=(int)(x*100+0.5)/100.0; ( D) x=(x/100+0.5)/100.0; 23 有以下程序: #include stdio.h main() int k=4,n=0; for( ;n k;) n+; if(n%3! =0) continue; k-; printf(“%d,%dn“,k,n); 程序运行后的输出结果是 ( )。 ( A) 1, 1 ( B
9、) 2, 2 ( C) 3, 3 ( D) 4, 4 24 以下程序的功能是计算: 。 #include stdio.h main() int n; float s; s=1.0; for(n=10;n 1;n-) s=s+1/n; printf(“%6.4fn“,s); 程序运行后输出结果错误,导致错误结果的程序行是 ( )。 ( A) s=1.0; ( B) for(n=10;n 1;n-) ( C) s=s+1/n; ( D) printf(“%6.4fn“,s); 25 若有如下程序段,其中 s, a, b, c均已定义为整型变量,且 a, c均已赋值 (c大于 0): s=a; fo
10、r(b=1;b =c;b+) s=s+1;则与上述程序段功能等价的赋值语句是( )。 ( A) s=a+b; ( B) s=a+c; ( C) s=s+c; ( D) s=b+c; 26 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 ( )。 ( A)函数调用可以作为独立的语句存在 ( B)函数调用可以作为一个函数的实参 ( C)函数调用可以出现在表达式中 ( D)函数调用可以作为一个函数的形参 27 有以下函数定义: void fun(int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是 ( )。 ( A) fun(int
11、y,double m); ( B) k=fun(10,12.5); ( C) fun(x,n); ( D) void fun(n,x); 28 有以下程序: #include stdio.h void fun(char *a, char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2; p1= P2= fun(p1,p2); printf(“%c%cn“,c1,c2); 程序 运行后的输出结果是 ( )。 ( A) Ab ( B) aa ( C) Aa ( D) Bb 29 有以下程序: #include stdio.h main() int a=1
12、,b=2,m=0,n=0,k; k=(n=b a)|(m=a b); printf(“%d,%dn“,k,m); 程序运行后的输出结果是( )。 ( A) 0, 0 ( B) 0, 1 ( C) 1, 0 ( D) 1, 1 30 以下叙述中正确的是 ( )。 ( A) C程序中注释部分可以出现在程序中任意合适的地方 ( B)花括号 “”和 “”只能作为函数体的定界符 ( C)构成 C程序的基本单位是函数,所有函数名都可以由用户命名 ( D)分号是 C语句之间的分隔符,不是语句的一部分 31 下列函数定义中,会出现编译错误的是 ( )。 ( A) max(int x,int y,int *z)
13、 *z=x y?x:y; ( B) int max(int x,y) int z; z=x y?x:y; return z; ( C) max(int x,int y) int z; z=x y? x:y; return(z); ( D) int max(int x,int y) return(x y? x:y); 32 以下不能正确定义二维数组的选项是 ( )。 ( A) int a22=1,2; ( B) int a2=1,2,3,4; ( C) int a22=1,2,3; ( D) int a2=1,2,3,4; 33 有以下程序: #include stdio.h main() in
14、t s=0,a=1,n; scanf(“%d“, do s+=1;a=a-2; while(a!=n); printf(“%dn“,s); 若要使程序的输出值为 2,则应该从键盘给 n输入的值是 ( )。 ( A) -1 ( B) -3 ( C) -5 ( D) 0 34 以下能正确定义一维数组的选 项是 ( )。 ( A) int num; ( B) #define N 100 int numN; ( C) int num0100; ( D) int N=100; int numN; 35 有以下程序: #include stdio.h main() int a; char c=10; fl
15、oat f=100.0; double x; a=f/=c*=(x=6.5); printf(“%d%d%3.1f%3.1fn“,a,c,f,x); 程序运行后的输出结果是 ( )。 ( A) 1 65 1 6.5 ( B) 1 65 1.5 6.5 ( C) 1 65 1.0 6.5 ( D) 2 65 1.5 6.5 36 已定义以下函数: fun(char *p2, char *p1) while(*p2=*p1)! =0)p1+;p2+; 此函数的功能是 ( )。 ( A)将 p1所指字符串复制到 p2所指内存空间 ( B)将 p1所指字符串的地址赋给 指针 p2 ( C)对 p1和
16、p2两个指针所指字符串进行比较 ( D)检查 p1和 p2两个指针所指字符串中是否有 0 37 以下选项中不能正确把 cl定义成结构体变量的是 ( )。 ( A) typedef struct int red; int green; int blue; COLOR; COLOR cl; ( B) struct color cl int red; int green; int blue; ( C) struct color int red; int green; int blue; cl; ( D) struct int red; int green; int blue; cl; 38 有以下程
17、序: #include stdio.h #define F(x,y) (x)*(y) main() int a=3,b=4; printf(“%dn“,F(a+,b+); 程序运行后的输出结果是 ( )。 ( A) 12 ( B) 15 ( C) 16 ( D) 20 39 有以下程序: #include stdio.h fun(int a, int b) if(a b) return(a); else return(b); main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(“%dn“,r); 程序运行后的输出结果是 ( )。 ( A)
18、 3 ( B) 6 ( C) 8 ( D) 12 40 有以下程序: #include stdio.h main() printf(“%dn“,NULL)“ 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) -1 ( D) NULL没定义,出错 41 有定义: int x,y;若要通过 scanf(“%d,%d“, scanf(“%d“,i); ( B) float *f=NULL; *f=10.5; ( C) char t=m,*c; *c= ( D) long *L; L=0; 43 以 下不能定义为用户标识符的是 ( )。 ( A) scanf ( B) Void
19、( C) _3com_ ( D) int 44 以下程序中函数 scmp的功能是返回形参指针 s1和 s2所指字符串中较小字符串的首地址。 #include stdio.h #include string.h char *scmp(char*s1,char*s2) if(strcmp(s1,s2) 0) return(s1); else return(s2); main() int i; char string20,str320; for(i=0;i 3;i+) gets(stri); strcpy(string,scmp(str0,str1); /*库函数 strcpy对字符串进行复制 */
20、 strcpy(string,scmp(string,str2); printf(“%sn“,string); 若运行时依次输入:abcd、 abba和 abc三个字符串 ,则输出结果为 ( )。 ( A) abcd ( B) abba ( C) abc ( D) baca 45 有定义: int a=1,b=2,c=3,x;则以下选项中各程序段执行后, x的值不为 3的是( )。 ( A) if(c a) x=1; else if(b a) x=2; else x=3; ( B) if(a 3) x=3; else if(a 2) x=2; else x=1; ( C) if(a 3) x=
21、3; if (a 2) x=2; if (a 1) x=1; ( D) if (a b) x=b; if (b c) x=c; if (c a) x=a; 46 有以下程序: #include stdio.h main() int x=3,y=2,z=1; printf(“%dn“,x/y 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 2 ( C) 1 ( D) 0 47 若 fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数 feof(fp)的值为 ( )。 ( A) 0 ( B) 1 ( C) -1 ( D)一个非 0值 48 已定义 ch为字符型变量,以下赋值语句中错
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 11 答案 解析 DOC
