[计算机类试卷]国家二级(C语言)笔试模拟试卷5及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷5及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷5及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 5及答案与解析 1 下列选项中不符合良好程序设计风格的是 ( )。 ( A)源程序要文档化 ( B)数据说明的次序要规范化 ( C)避免滥用 goto语句 ( D)模块设计要保证高耦合、高内聚 2 下列关于队列的叙述中正确的是 ( )。 ( A)在队列中只能插入数据 ( B)在队列小只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 3 下列选项中不属于软件生命周期开发阶段任务的是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维 护 ( D)详细设计 4 下列叙述中正确的是 ( )。 ( A)线性链表中的各元素在存储空间
2、中的位置必须是连续的 ( B)线性链表中的表头元素一定存储在其他元素的前面 ( C)线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 ( D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 5 下列叙述中正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结 点的二叉树是线性结构 6 下列叙述中正确的是 ( )。 ( A)黑箱 (盒 )测试方法完全不考虑程序的内部结构和内部特征 ( B)黑箱 (盒 )测试方法主要考虑程序的内部结构和内部特征
3、( C)白箱 (盒 )测试不考虑程序内部的逻辑结构 ( D)上述 3种说法都不对 7 下列叙述中正确的是 ( )。 ( A)接口复杂的模块,其耦合程度一定低 ( B)耦合程度弱的模块,其内聚程度一定低 ( C)耦合程度弱的模块,其内聚程度一定高 ( D)上述 3种说法都不对 8 下列描述中正确的是 ( )。 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 9 用树形结构来表示实体之间联系的模型称为 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 10 数据库 DB、数
4、据库系统 DBS、数据库管理系统 DBMS之间的关系是 ( )。 ( A) DB包含 DBS和 DBMS ( B) DBMS包含 DB和 DBS ( C) DBS包含 DB和 DBMS ( D)没有任何关系 11 算法具有 5个特性,以下选项中不属于算法特 性的是 ( )o ( A)有穷性 ( B)简洁性 ( C)可行性 ( D)确定性 12 以下选项中可作为 C语言合法整数的是 ( )。 ( A) 10110B ( B) 386 ( C) 0Xffa ( D) x2a2 13 以下不合法的字符常量是 ( )。 ( A) 018 ( B) ( C) ( D) xcc 14 表达式 3.6-5/
5、2+1.2+5%2的值是 ( )。 ( A) 4.3 ( B) 4.8 ( C) 3.3 ( D) 3.8 15 以下非法的赋值语句是 ( )。 ( A) n=(i=2, +i) ( B) j+; ( C) +(i+1) ( D) x=j 0; 16 若有以下程序段 (n所赋的是八进制数 ): int m=32767,n=032767; printf(“%d,%n“, m, n); 执行后输出结果是 ( )。 ( A) 32767, 32767 ( B) 32767, 032767 ( C) 32767, 77777 ( D) 32767, 077777 17 设有定义: float a=2,
6、b=4,h=3;以下 c语言表达式中与代数式 (a+B) h计算结 果不相符的是 ( )。 ( A) (a+B) *h/2 ( B) (1/2)*(a+B) )*h ( C) (a+B) *h*1/2 ( D) h/2*(a+B) 18 以下程序段的输出结果是 ( )。 int a=1234; printf(“%2dn“,A) ; ( A) 12 ( B) 34 ( C) 1234 ( D)提示出错,无结果 19 有以下程序: main() int m,n,p; scan f(“m=%dn=%dp=%d“, for(b=1;b =c;b+)s=s+1; 则与上述程序段功能等价的赋值语句是( )
7、。 ( A) s=a+b; ( B) s=a+c; ( C) s=s+c; ( D) s=b+c; 23 已有定义: char c;,程序前面已在命令行中包含 ctype.h文件。不能用于判断 c中的字符是否为大写字母的表达式是 ( )。 ( A) isupper(c) ( B) A =c =Z ( C) A =ci =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(1 =5) 26 有以下程序: main() char
8、a,b,c,d; scanf(“%c,%c,%d,%d“, printf(“%c,%c,%c,%cn“,a,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 有以下程序: 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
9、“,k); 执行后的输出结果是 ( )。 ( A) 5,5 ( B) 5,11 ( C) 11,11 ( D) 11,5 28 设有定义: int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是 ( )。 ( A) *p=*q; ( B) p=q; ( C) *p= ( D) p=*q; 29 有以下程序: #include stdio.h main() char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c, c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%cn,c5,c
10、6); 程序运行后,若从键 盘输入 (从第 1列开始 ) 123回车 45678回车 则输出结果是 ( )。 ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 30 有以下程序: #include stdio.h main() printf(“%dn“,NULL); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) -1 ( D) NULL没定义,出错 31 以下程序中函数 sort的功能是对 a所指数组中的数据进行 由大到小的排序; void sort(int a,int n) int i,j,t; for(i=0;i n-1;i+) fo
11、r(j=i+1,j n;j+) if(ai aj) t=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort( for(i=0;i 10;i+)print(“%d,“,aai); printf(n“); 程序运行后的输出结果是 ( )。 ( A) 1,2,3,4,5,6,7,8,9,10 ( B) 10,9,8,7,6,5,4,3,2,1, ( C) 1,2,3,8,7,6,5,4,9,10 ( D) 1,2,10,9,8,7,6,5,4,3, 32 有以下程序: main() char p=a,b,c,q=“abc“; pri
12、ntf(“%d %dn“,sizeof(p),sizeof(q); 程序运行后的输出结果是 ( )。 ( A) 4 4 ( B) 3 3 ( C) 3 4 ( D) 4 3 33 若有定义语句: int a23,*p3;,则以下语句中正确的是 ( )。 ( A) p=a; ( B) p0=a; ( C) p0= ( D) p1= 34 有以下程序: void change(int k)k0=k5; main() int x10=(1,2,3,4,5,6,7,8,9,10,n=0; while(n =4) change(n+; for(n=0;n 5;n+) printf(“%d“,xn); p
13、rintf(“n“); 程序运行后输出的结果是( )。 ( A) 6 7 8 9 10 ( B) 1 3 5 7 9 ( C) 1 2 3 4 5 ( D) 6 2 3 4 5 35 有以下程序: #include stdio.h main() char c1=1,c2=2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当运行时输入: a回车后,以下叙述正确的是 ( )。 ( A)变量 c1被赋予字符 a, c2被赋予回车符 ( B)程序将等待用户输入第 2个字符 ( C)变量 c1被赋予字符 a, c2中仍是原有字符 2 ( D
14、)变量 c1被赋予字符 a, c2中将无确定值 36 有以 下程序: main() char s=“n123“; printf(“%d,%dn“,strlen(s),sizeof(s); 执行后输出结果是 ( )。 ( A)赋初值的字符串有错 ( B) 6,7 ( C) 5,6 ( D) 6,6 37 阅读以下函数: fun(char *s1,char *s2) int i=0; while(s1i=s2i return(s1i=0 此函数的功能是 ( )。 ( A)将 s2所指字符串赋给 s1 ( B)比较 s1和 s2所指字符串的大小,若 s1比 s2的大,函数值为 1,否则函数值为 0
15、( C)比较 s1和 s2所指字符串是否相等,若相等,函数值为 1,否则函数值为 0 ( D)比较 s1和 s2所指字符串的长度,若 s1比 s2的长,函数值为 1,否则函数值为 0 38 以下叙述中正确的是 ( )。 ( A)全局变量的作用域一定比局部变量的作用域范围大 ( B)静态 (static)类别变量的生存期贯穿于整个程序的运行期间 ( C)函数的形参都属于全局变量 ( D)未在定义语句中赋初值的 auto变量和 static变量的初值都是随机值 39 有以下程序: #include string.h void f(char p10,int n)/* 字符串从小到大排序 */ cha
16、r t10; int i,j; for(i=0;i n-1;i+) for(j=i+1;j n;j+) if(strcmp(pi,pj) 0) strcpy(t,pi); strcpy(pi,pj); strcpy(pj,t); main() char p510=“abc“,“aabdog“,“abbd“,“dcdbe“,“cd“; f(p,5); printf(“%dn“,strlen(p0); 程序运行后的输 出结果是 ( )。 ( A) 2 ( B) 4 ( C) 6 ( D) 3 40 设有如下说明: typedef struct ST long a;int b;char c2; NE
17、W; 则下面叙述中正确的是 ( )。 ( A)以上的说明形式非法 ( B) ST是一个结构体类型 ( C) NEW是一个结构体类型 ( D) NEW是一个结构体变量 41 有以下程序: #include string.h main() char p=a,b,c,q10=a,b,c; printf(“%d %dn“,strlen(p),strlen(q); 以下叙述中正确的是 ( )。 ( A)在给 p和 q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3 ( B)由于 p数组中没有字符串结束符,长度不能确定;但 q数组中字符串长度为3 ( C)由于 q数组中没有字符串结束符,长度
18、不能确定;但 p数组中字符串长度为3 ( D)由于 p和 q数组中都没有字符串结束符,故长度都不能确定 42 有以下程序: int a=4; int f(int n) int t=0; static int a=5; if(n%2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+; main() int s=a,i=0; for(;i 2; i+) s+=f(i); printf(“%dn“,s); 程序运行后的输出结果 是 ( )。 ( A) 24 ( B) 28 ( C) 32 ( D) 36 43 有以下程序; void ss(char
19、*s,char t) while(*s) if(*s=t) *s=t-a+A; s+; main() char str1100=“abcddfefdbd“,c=d; ss(str1,c);printf(“%sn“,str1); 程序运行后的输出结果是 ( )。 ( A) ABCDDEFEDBD ( B) abeDDfefDbD ( C) abcAAfefAbA ( D) Abcddfefdbd 44 设有以下语句: typedef struct TT char c; int a4;CIN; 则下面叙述中正确的是 ( )。 ( A)可以用 TT定义结构体变量 ( B) TT是 struct类型的
20、变量 ( C)可以用 CIN定义结构体变量 ( D) CIN是 struct TT类型的变量 45 有以下程序: #include stdio.h stxuct tt int x;struct tt *y;*p; struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;i =2;i+) printf(“%d,“,p- x ); p=p- y; 程序的运行结果是 ( )。 ( A) 20,30, ( B) 30,17 ( C) 15,30, ( D) 20,15, 46 有以下程序: main() int x=1,3,
21、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;i+) for(j=4;j 7-i;j+) if(xj xj+1) k=xj; xj=xj+1; xj+1=k; for(i=0;i 8;i+) printf(“%d“,xi); printf(“n“); 程序运行后的输出结果是 ( )。 ( A) 75310246 ( B) 1234567 ( C) 76310462 ( D) 13570246 47 设有以下定义: union data int
22、d1; float d2; demo; 则下面叙述中错误的是 ( )。 ( A)变量 demo与成员 d2所占的内存字节数相同 ( B)变量 demo中各成员的地址相同 ( C)变量 demo和各成员的地址相同 ( D)若给 demo.d1赋 99后, demo.d2中的值是 99.0 48 有以下程序: #include stdlib.h struct NODE int nurn; struct NODE *next; ; main() struct NODE *p,*q,*r; int sum=0; P=(struct NODE*)malloc(sizeof(struct NODE); q
23、=(struct NODE*)malloc(sizeof(struct NODE); r=(struct NODE*)malloc(sizeof(struct NODE); p- num=1;q- num=2;r- num=3; p- next=q;q- next=r;r- next=NULL; sum+=q- next- num;sum+=p- num; Printf(“%dn“,sum); 执行后的输出结果是 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 49 有以下程序: #include stdlib.h main() char *p,*q; p=(char*)ma
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 答案 解析 DOC
