[计算机类试卷]国家二级(C语言)笔试模拟试卷29及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷29及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷29及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 29及答案与解析 1 下列描述中正确的是 ( )。 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 2 用树形结构表示实体之间联系的模型是 ( )。 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上三个都是 3 下列关于栈的描述中错误的是 ( )。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入 与删除操作中,不需要改变栈底指针 4 在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
2、( )。 ( A) 63 ( B) 64 ( C) 6 ( D) 7 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n/2 ( B)冒泡排序为 n ( C)快速排序为 n ( D)快速排序为 n(n-1)/2 6 下列对于软件测试的描述中正确的是 ( )。 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行 结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 7 为了使模块尽可能独立,要求 ( )。 ( A)模块的内聚程度要尽量高,且各模块间的耦合
3、程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 8 下列对于线性链表的描述中正确的是 ( )。 ( A)存储空间不一定连续,且各元素的存储顺序是任 意的 ( B)存储空间不一定连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 9 数据独立性是数据库技术的重要特点之一,所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的
4、数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 10 数据的存储结构是指 ( )。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 11 现有以下结构体说明和变量定义,如图所示,指针 P, q, r分别指向一个链表中连续的三个结点。struct node char data; struct node *next; *p, *q, *r; 现要将 q和 r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是 ( )。 ( A) q- nex
5、t=r- next; p- next=r; r- next=q; ( B) p- next=r; q- next=r- next; r- next=q; ( C) q- next=r- next; r- next=q; p- next=r; ( D) r- next=q; P- next=r; q- next=r- next; 12 有以下程序: #include stdio.h main() union charch2; int d; s; s.d=0x4321; printf(“%x, %xn“, s.ch0, s.ch1); 在 16位编译系统 上,程序执行后的输出结果是 ( )。 (
6、A) 21, 43 ( B) 43, 21 ( C) 43, 00 ( D) 21, 00 13 以下四个程序中,完全正确的是 ( )。 ( A) #include stdio.h main( ); /* programmlng* / printf( “programming! n“ ); ( B) #include stdio.h main( ) /*/programming printf(“programming! n“); ( C) #include stdio.h main( ) /*programming* / printf( “programming! n“ ); ( D) inc
7、lude stdio.h main ( ) /*/* programming*/*/ printf( “programming! n“ ); 14 有以下程序 :int fun1 (double a) return a * =a;int fun2 ( double x, double y ) double a=0,b=0; a = fun1 (x) ;b = fun1 (y); return(int) (a + b); main() doublew; w=fun2(1.1, 2.0); 程序执行后变量 w中的值是 ( )。 ( A) 5.21 ( B) 5 ( C) 5 ( D) 0 15 以
8、下能正确定义字符串的语句是 ( )。 ( A) char str=064; ( B) char str=“x43“; ( C) char str=“; ( D) char str=“0“; 16 以下数组定义中错误的是 ( )。 ( A) int x3=0; ( B) int x2 3=1, 2, 3, 4, 5, 6; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) int x23=1, 2, 3, 4, 5, 6; 17 若要求从键盘读人含有空格字符的字符串,应该 使用函数 ( )。 ( A) getc() ( B) gets() ( C) getchar() ( D
9、) scanf() 18 以下叙述中错误的是 ( )。 ( A) C程序中的 #include和 #define行均不是 C语句 ( B)除逗号运算符外,赋值运算符的优先级最低 ( C) C程序中, j+;是赋值语句 ( D) C程序中, +、 -、 *、 /、 %是算术运算符,可用于整型和实型数的运算 19 以下不合法的字符常量是 ( )。 ( A) 018 ( B) “ ( C) ( D) xcc 20 若下列各选项中所有变量已正确定义,函数 fun通过 return语句返回一个函数值,以下选项中错误的程序是 ( )。 ( A) main( ) x = fun(2,10); float f
10、un(int a, int b) ( B) float fun( int a,int b) main( ) x = fun(i,j); ( C) float fun(int, int); main( ) x=fun(2,10); float fun(iht a, int b) ( D) main( ) float fun(int i, int j); x = fun(i,j); float fun(int a,int b) 21 以下程序的输出结果是 ( )。 #include stdio.h main() int k=17; printf(“%d,%o,%xn“,k,k,k); ( A) 1
11、7, 021, 0x11 ( B) 17, 17, 17 ( C) 17, 0x11, 021 ( D) 17, 21, 11 22 以下说法中正确的是 ( )。 ( A) #define和 printf都是 C语句 ( B) #define是 C语句,而 printf不是 ( C) printf是 C语句,但 #define不是 ( D) #define和 printf都不是 C语句 23 以下选项中,能定义 s为合法的结构体变量的是 ( )。 ( A) typedef struct abc double a; char b10; s; ( B) struct double a; char
12、b10; s; ( C) struct ABC double a; char b10; ABC s; ( D) typedef ABC double a; char b10; ABC s; 24 以下程序的输出结果是 ( )。 #include stdio.h main() int i,x33=9,8,7,6,5,4,3,2,1,*p= for(i=0;i 4;i+=2) printf(“%d“,pi); ( A) 52 ( B) 51 ( C) 53 ( D) 97 25 已知字符 0的 ASCII码为十六进制的 30,现有程序如下: #include stdio.h main() unio
13、n unsigned char c; unsigned int i4; z; z.i0=0x39; z.i1=0x36; printf(“%cn“,z.c); 此程序的输出结果是 ( )。 ( A) 6 ( B) 9 ( C) 0 ( D) 3 26 在 C语言中,下列各选项为不正确的 int类型的常数足 ( )。 ( A) 32768 ( B) 0 ( C) 37 ( D) 0xAF 27 以下程序的输出结果是 ( )。 #include stdio.h int fan(int); main() int w=5; fun(w); printf(“n“); fun(int k) if(k 0)
14、 fun(k-1); printf(“%d“,k); ( A) 5 4 3 2 1 ( B) 0 1 2 3 4 5 ( C) 1 2 3 4 5 ( D) 5 4 3 2 1 0 28 有以下程序: #include stdio.h union pw int i; char ch2; a; main() a.ch0=13; a.ch1=0; printf(“%dn“,a.i); 程序的输出结果是 (注意:ch0在低字节, ch1在高字节 )( )。 ( A) 13 ( B) 14 ( C) 208 ( D) 209 29 若有以下说明和语句,则四个选项中是对 c数组元素的正确引用的是 ( )
15、。 int c45,(*cp)5; cp=c; ( A) cp+1 ( B) *(cp+3) ( C) *(cp+1)+3 ( D) *(*cp+2) 30 请读程序: #include stdio.h main() int a,b; for(a = 1,b = 1 ;a = 100;a+) if(b =20) break; if(b%3 =1) b +=3;continue; b-=5; printf(“%dn“,a); 上面程序的输出结果是 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 31 以下程序的输出结果是 ( )。 #include stdio.h main(
16、) int n=4; while(n-) printf(“%d “,-n); ( A) 2 0 ( B) 3 1 ( C) 3 2 1 ( D) 2 1 0 32 请选出可用作 C语言用户标识符的一组 ( )。 ( A) void define WORD ( B) a3_b3 _123 IF ( C) For _abc case ( D) 2a DO sizeof 33 请读程序: #include stdio.h #include string.h main() char *s1=“AbCdEf“, *s2=“aB“; s1+; s2+; printf(“%dn“,strcmp(s1,s2)
17、; 上面程序的输出结果是 ( )。 ( A)正数 ( B)负数 ( C)零 ( D)不确定的值 34 请选出以下程序的输出结果 ( )。 #include stdio.h #define MIN(x,y) (x y)? x:y main() int i,j,k; i=10;j=15; k=10*MIN(i,j); printf(“%dn“,k); ( A) 15 ( B) 100 ( C) 10 ( D) 150 35 若 x是 int型变量,且有下面的程序段: for(x=3;x 6;x+) printf(x%2)?(“*%d“):(“#%dn“),x); 此程序段的输出结果是 ( )。 (
18、 A) *3 #4 *5 ( B) #3 *4 #5 ( C) #3 *4#5 ( D) * 3#4 *5 36 若已定义: int a9,*p=a;并在以后的语句中未改变 p的值,下列 选项中不能表示 a1地址的表达式是 ( )。 ( A) p+1 ( B) a+1 ( C) a+ ( D) #NAME? 37 设有如下的程序段: char str=“Hello“; char *ptr; ptr=str; 执行完上面的程序段后, *(ptr+5)的值为 ( )。 ( A) o ( B) 0 ( C)不确定的值 ( D) o的地址 38 C语言中,下列叙述正确的是 ( )。 ( A)不能使用
19、do-while语句构成的循环 ( B) do-while语句构成的循环,必须用 break语句才能退出 ( C) do-while语句构成的循环,当 while语句中的表达式值为非零时结束循环 ( D) do-while语句构成的循环,当 while语句中的表达式值为零时结束循环 39 设有说明语句如下: static char str=“Beijing“; 若执行下列输出语句: printf(“%dn“,strlen(strcpy(str,“China“);则输出结果为 ( )。 ( A) 5 ( B) 7 ( C) 12 ( D) 14 40 以下程序的输出结果是 ( )。 #inclu
20、de stdio.h #include string.h main() char str12=s,t,r,i,n,g; printf(“%dn“,strlen(str) ); ( A) 6 ( B) 7 ( C) 11 ( D) 12 41 下列描述中不正确的是 ( )。 ( A)字符型数组中可以存放字符串 ( B)可以对字符型数组进行整体输入、输出 ( C)可以对整型数组进行整体输入、输出 ( D)不能在赋值语句中通过赋值运算符 “=”对字符型数组进行整体赋值 42 设有以下语句: char str412=“aaa“,“bbbb“,“ccccc“,“dddddd“,*strp4; int i
21、; for(i=0;i 4;i+) strpi=stri; 下列选项不是对字符正确引用的是 (其中 0k4)( )。 ( A) strp ( B) strkk ( C) * strpk ( D) * strp 43 请选出以下程序的输出结果 ( )。 #include stdio.h sub(int *s,int y) static int t=3; y=st;t-; main() int a=1,2,3,4,i,x=0; for(i=0;i4;i+) sub(a,x);printf(“%d“,x); printf(“n“); ( A) 1234 ( B) 4321 ( C) 0 ( D) 4
22、444 44 请读程序: #include stdio.h int a=2,4,6,8,; main() int i; int *p=a; for( i=0;i 4;i+) ai=*p+; priatf(“%dn“,a2); 上面程序的输出结果是 ( )。 ( A) 6 ( B) 8 ( C) 4 ( D) 2 45 若有以下的说明和语句,则在执行 for语句后, *(*(pt+1)+2)表示的数组元素是( )。 int t33,*Pt3,k; for(k=0;k 3;k+) ptk= ( A) t20 ( B) t22 ( C) t12 ( D) t21 46 读程序: #include s
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 29 答案 解析 DOC
