[计算机类试卷]国家二级(C语言)笔试模拟试卷130及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷130及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷130及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 130及答案与解析 1 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 ( A) PAD图 ( B) N-S图 ( C)结构图 ( D)数据流图 2 下面不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)白底向上 ( D)信息隐蔽 3 为了使模块尽可能独立,要求 ( A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要 尽量低,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度
2、要尽量强 4 下列叙述中,不属于软件需求规格说明书的作用的是 ( A)便于用户、开发人员进行理解和交流 ( B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 5 算法的有穷性是指 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 6 已知数 据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是 ( A)堆排序 ( B)直接插入排序 ( C)快速排序 ( D) )和 ) 7 如果进栈序列为 e1, e2, e3, e4
3、,则可能的出栈序列是 ( A) e3, e1, e4, e2 ( B) e2, e4, e3, e1 ( C) e3, e4, e1, e2 ( D)任意顺序 8 数据库设计包括两个方面的设计内容,它们是 ( A)概念设计和逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计 9 有三个关系 R、 S和 T如下:由关系 R和 S通过运算得到关系 T,则所使用的运算为 ( A)并 ( B)自然连接, ( C)笛卡尔积 ( D)交 10 设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号 ),课程 C(课号,课名 ),选课 SC
4、(学号,课号,成绩 ),则表 SC的关键字 (键或码 )为 ( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,成绩 11 以下不正确的叙述是 ( A)在 C程序中,逗号运算符的优先级最低 ( B)在 C程序中, APH和 aph是两个不同的变量 ( C)若 a和 b类型相同,在计算了赋值表达式 a=b后, b中的值将放入 a中,而 b中的值不变 ( D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 12 下列可用于 C语言用户标识符的一组是 ( A) void, define, WORD ( B) a3_b3, _123, Car
5、 ( C) For, -abc, IF Case ( D) 2a, DO, sizeof 13 以下选项中,不能作为合法常量的是 ( A) 1.23E+04 ( B) 1.234e0.4 ( C) 1.23E+04 ( D) 1.23E+00 14 若有语句: char*line5;,以下叙述中正确的是 ( A)定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量 ( B)定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组 ( C)定义 line是一个指针数组,语句中的。号称为间址运算符 ( D)定义 line是一个指向字符型函数的指针 15 若变量均已
6、正确定义并赋值,以下合法的 C语言赋值语句是 ( A) x=y=5; ( B) x=n%2.5; ( C) x+n=i; ( D) x=5=4+1; 16 有以下程序段 char ch; int k; ch=a; k=12; printf(“%c, %d, “,ch, ch, k); printf(“k=%dn“, k); 已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是 ( A)因变量类型与格式描述符的类型不匹配输出无定值 ( B)输出项与格式描述符个数不符,输出为零值或不定值 ( C) a, 97, 12k=12 ( D) a, 97, k=12 17 已知字母 A的
7、ASCII代码值为 65,若变量 kk为 char型,以下不能正确判断出kk中的值为大写字母的表达式是 ( A) kk =A for (p=s+1;ps+4;p+ )printf(“%sn“,p); 程序运行后的输出结果是 _。 ( A) ABCD BCD CD D ( B) A B C D ( C) B C D ( D) BCD CD D 22 有以下程序: main() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0;i 3;i+) for (j=2;j =i;j-) if (xj+1) xj)k=xj;xj;xj+1);xj+1=k; for (i=0;i 3;
8、i+) for (j=4;j 7-i;j+) if (xj xj+1)k=x j;xj=xj+1;xj+1)=k; for(i=0;i8;i+)printf(“%d“,xi); printf(“n“); 程序运行后的输出结果是 _。 ( A) 75310246 ( B) 1234567 ( C) 76310462 ( D) 13570246 23 有以下程序: main() int i=0,s=0; for(;) if(i=3|i=5)continue; if(i=6)break; i+; s+=i; ; printf(“%dn“,s); 程序运行后的输出结果是 _。 ( A) 10 ( B)
9、 13 ( C) 21 ( D)程序进入死循环 24 以下叙述中错误的是 _。 ( A)对于 double类型数组,不可以直接用数组名对数组进行整体输入或输出 ( B)数组名代表的是数组所占存储区的首地址,其值不可改变 ( C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出 “下标越界 ”的出错信息 ( D)可以通过赋初值的方式确定数组元素的个数 25 以下能正确定义一维数组的选项是 _。 ( A) int num; ( B) #define N 100 int numN; ( C) int num0100; ( D) int N=100; int numN; 26 有以下程序
10、: # include stdio.h main() char*p,*q; p=(char *)malloc(sizeof(char)* 20);q=p; scanf(“%s %s“,p,q);printf(“%s %sn“,p,q); 若从键盘输入 ;abc def回车 ,则输出结果是 _。 ( A) def def ( B) abc def ( C) abe d ( D) d d 27 以下不能正确定义二维数组的选项是 _。 ( 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; 28
11、已知 i、 j、 k为 int型变量,若从键盘输入: 1,2,3回 车,使 i的值为 1、 j的值为 2、 k的值为 3,以下选项中正确的输入语句是 _。 ( A) sanf(“%2d %2d %2d“, ( B) scanf(“%d %d %d“, ( C) scanf(“%d,%d,%d“, ( D) scanf(“i=%d,j=%d,k=%d“, int i,j; for(i=0;i n-1;i+) for(j=i+1;jn;j+) if(strcmp(pi,pj) 0)t=pi;pi=pjpj=t; main() char *p5=“abc“,“aabdfg“,“abbd“,“dcdb
12、e“,“cd“; f(p,5); printf(“%dn“,strlen(p1); 程序运行后的输出结果是 _。 ( A) 2 ( B) 3 ( C) 6 ( D) 4 30 有以下程序: # include string.h main() char str20=“Hello“,“Beijing“,*p=str; printf(“%dn“,strlen(p+20); 程序运行后的输出结果是 _。 ( A) 0 ( B) 5 ( C) 7 ( D) 20 31 有以下程序: main() char s=“Yesn/No“,*ps=s; puts(ps+4); *(ps+4)=0; puts(s)
13、; 程序运行后的输出结果是 (选项 D中的第一行是空行 ) _。 ( A) n/No Yes /No ( B) /No Yes Yes ( C) n/No /No ( D) Yes /No 32 _语言负责数据的模式定义与数据的物理存取构建。 ( A)数据操纵语言 (DML) ( B)数据控制语言 (DCL) ( C)结构化查询语言 (SQL) ( D)数据定义语言 (DDL) 33 以下数据库除 _外,均为严格意义上的 DBMS系统。 ( A) Oracle ( B) Access ( C) Sybase的 PowerBuilder ( D) SQL Server 34 设函数 fun的定义
14、形式为: void fun(char ch,float x) 则以下对函数 fun的调用语句中,正确的是 _。 ( A) fun (“abc“,3.0); ( B) t=fun(D,16.5); ( C) fun(65,2,8); ( D) fun(32,32); 35 有以下程序: void sum(int a) a0=a-1)+a1; main() int a10=(1,2,3,4,5,6,7,8,9,10; sum( return y; main() int a=9,b=8,c=7; printf(“%cn“,fun(fun(a,b),fun(b,c) ); 程序的执行结果是 _。 (
15、A)函数调用出错 ( B) 8 ( C) 9 ( D) 7 38 有以下程序: void sum(int *a) a0= a1; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i =0;i-)sum( 执行后的输出结果是 _。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 39 设有定 义: int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是 _。 ( A) *p=*q; ( B) p=q; ( C) *p= 40 在 C语言中,函数的隐含存储类别是 _。 ( A) auto ( B) static ( C)
16、extern ( D)无存储类别 41 测试的目的是暴露错误,评价程序的可靠性;而【 】的目的是发现错误的位置并改正错误。 42 下面程序的运行结果:【 】。 int f(int a, int n) if(n 1) return a0+f( else return ao; main() int aa3=1, 2, 3, s; s=f( printf(“% dn“, s); 43 以下函数 rotate的功能是:将 a所指 N行 N列的二维数组中的最后一行放到 b所指二维数组的第 0列中,把 a所指二维数组中的第 0行放到 b所指二维数组的最后一列中, b所指二维数组中其他数据不变 。 # de
17、fine N 4 void rotate(int aN, int bN) int i, j; for(i=0; i N; i+) biN-1=a0i;【 】 =aN-1i; 44 有以下程序: main() int t=1, i=5; for(; i =0; i-)t*=i; printf(“% dn“, t); 执行后的输出结果是【 】 。 45 已知字符 A的 ASCII代码值为 65,以下程序运行时若从键盘输入: B33回车,则输出结果是【 】。 # include main() char a, b; a=getchar(); scanf(“% d“, a=a-A+0; b=b*2; p
18、rintf(“% c % cn“, a, b); 46 若有以下程序: main() int p, a=5; if(p=a!=0) printf(“% dn“, p); else printf(“% dn“, p+2); 执行后的输出结果是【 】。 47 以下主程序运行后的输出结果是【 】。 main() int i, m=0, n=0, k=0; for(i=9; i =ii; i+) switch(i/10) case 0:m+; n+; break; case 10:n+; break; default:k+; n+; printf(“% d % d % dn“, m, n, k); 4
19、8 设在主函数中有以下定义和函数调用语句,且 fun函数为 void类型 ;请写出fun函数的首部【 】,要求形参名为 b。 main() double s1022; int n; fun(s); 49 以下程序中, fun函数的功能是求 3行 4列二维数组每行元素中的最大值,请填空。 void fun(int, int, int(*)4, int*); main() int a34=12, 41, 36, 28, 19, 33, 15, 27, 3, 27, 19, 1, b3, i; fun(3, 4, a, b); for(1=0; i 3; i+)printf(“% 4d“, bi);
20、 printf(“n“); void fun(int m, int n, int ar4, int * bar) int i, j, x; for(i=0; i m; i+) x=ari0; for(j=0; j n; j+)if(x arij)x=arij; 【 】 =x; 50 以下程序的输出结果是【 】。 # define MCNA(m)2*m # define MCNB(n, m)2*MCRA(n)+m # define f(x)(x*x) main() int i=2, j=3; printf(“% dn“, MCRB(j, MCRA(i); 51 以下程序运行后的输出结果是【 】。
21、 fun(int a) int b=0; static int c=3; b+; c+; return(a+b+c); main() int i, a=5; for(i=0; i 3; i+)printf(“% d % d“, i, fun(a); printf(“n“); 52 以下程序运行后的输出结果是【 】。 # include string. h cbar *ss(char *s) char *p, t; p=s+1; t=*s; while(-p)*(p-1)=*p; p+; *(p-1)=t; return s; main() char *p, str10=“abcdefgh“;
22、p=ss(str); printf(“% sn“, p); 53 下面程序 的功能:将字符数组 a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 # include stdio. h # include string. h main() char a=“clanquage“, t; int i, j, k; k=strlen(A) ; for(i=0; i =k-2; i+=2) for(j=i+2; j k; j+=2) if(【 】 ) t=ai; ai=aj; aj=t; puts(A) ; printf(“n“); 54 下面程序的功能:输出 100以内能被 3整除且个位数为
23、 6的所有整数,请填空。 # include stdio. h main() int i, j; for(i=0; i 10或 i =9; i+) j=i*10+6; if(【 】 )continue; printf(“% d“, j); 国家二级( C语言)笔试模拟试卷 130答案与解析 1 【正确答案】 B 【试题解析】 N-s图是由 Nassi和 Shneiderman提出的一种符合程序化结构设计原则的图形描述工具。它的提出是为了避免流程图在描述程序逻辑时的灵活性。 2 【正确答案】 C 【试题解析】 软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 130 答案 解析 DOC
