[计算机类试卷]国家二级(C语言)笔试模拟试卷20及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷20及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷20及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 20及答案与解析 1 下列选项中不属于算法的特性的是 ( A)确定性 ( B)可行性 ( C)有输出 ( D)无穷性 2 下列叙述中正确的是 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是线性结构 3 设有下列二叉树: 对此二叉树中序遍历的结果为 ( A) ABCDEF ( B) DAECF ( C) BDAECF ( D) DBEFCA 4 结构化程序设计主要强调的是 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程序的可移植性 5 在面向对象设计中,对象有很多基本特点,其中
2、 “从外面看只能看到对象的外部特性,而对象的内部对外是不可见的 ”这一性质指的是对象的 ( A)分类性 ( B)标识惟一性 ( C)多态性 ( D)封装性 6 用黑盒技术测试用例的方法之一为 ( A)因果图 ( B)逻辑覆盖 ( C)循环覆盖 ( D)基本路径测试 7 在进行单元测试时,常用的方法是 ( A)采用白盒测试,辅之以黑盒测试 ( B)采用黑盒测试,辅之以白盒测试 ( C)只使用白盒测试 ( D)只 使用黑盒测试 8 下面四个选项中,不属于数据库管理系统提供的数据语言的是 ( A)数据定义语言 ( B)数据查询语言 ( C)数据操纵语言 ( D)数据控制语言 9 在关系数据库模型中,
3、通常可以把 ( )称为属性,其值称为属性值。 ( A)记录 ( B)基本表 ( C)模式 ( D)字段 10 实体联系模型中实体与实体之间的联系不可能是 ( A)一对一 ( B)多对多 ( C)一对多 ( D)对零 11 下列叙述中正确的是 ( A) C语言中既有逻辑类型也有集合类型 ( B) C语言中没有逻辑类 型但有集合类型 ( C) C语言中有逻辑类型但没有集合类别 ( D) C语言中既没有逻辑类型也没有集合类型 12 若以下选项中的变量已正确定义,则正确的赋值语句足 ( A) x1=26.8%3; ( B) 1+2=x2 ( C) x3=0x12; ( D) x4=1+2=3; 13
4、有以下程序 main() int m=3 n=4, X; X=-m+; x=x+8/+n; printf(“%dn“,x); 程序运行后的输出结果是 ( A) 3 ( B) 5 ( C) -1 ( D) -2 14 设有如下关系表: 则下列操作中正确的是 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R/S 15 设有定义: longx -123456L;,则以下能够正确输出变量 x值的语句是 ( A) printf(“x=%dn“,x); ( B) printf(“x=%1dn“,x); ( C) printf(“x=%8dLn“, x); ( D) print
5、f(“x=%LDn“,x); 16 有以下程序 main() int i; for(i=0;i 3;i+) switch(i) case 0: prinft(“%d“,i); case 2: prinft(“%d“,i); default:prinft(“%d“,i); 程序运行后的输出结果是 ( A) 22111 ( B) 21021 ( C) 122 ( D) 12 17 有以下程序 main() int i=1, j=l,k=2; if( (j+|k+) 执行后输出的结果是 ( A) 1,1,2 ( B) 2,2,1 ( C) 2,2,2 ( D) 2,2,3 18 有一函数 以下程序段
6、中不能根据 x值正确计算出 y值的是 ( A) if(x 0) y=1; else if(x=0) y=0; else y=-1; ( B) y=0; if(x 0) y=1; else if(x 0) y=-l; ( C) y=0; if(x =0); if(x 0) y=1; else y=-1; ( D) if(x =0) if(x 0) y=1; else y=0; else y=-l; 19 以下叙述中正确的是 ( A)调用 printf函数时,必须要有输出项 ( B)使用 putchar函数时,必须在之前包含头文件 stdio.h ( C)在 C语言中,整数可以以十二进制、八进制或
7、十六进制的形式输出 ( D)调用 getchar函数读入字符时,可以从键盘上输入字符所对应的 ASCII码 20 以下关于函数的叙述中正确的是 ( A)每个函数都可以被其他函数调用 (包括 main函数 ) ( B)每个函数都可以被单独编译 ( C)每个函数都可以单独运行 ( D)在一个函数内部可以定义另一个函数 21 以下程序段中与语句 k=a b?(b c?1:0):0;功能等价的是 ( )。 ( A) if(a B) else k=0; ( B) if(a B) (b C) k=1; else k=0; ( C) if(a =B) k=0; else if(b =e) k=1; ( D)
8、 if(a B) k=1; else if(b C) k=1; else k=0; 22 有以下程序: #include stdio.h main() int y=9; for( ; y 0; y-) if(y%3=0) printf(“%d“, -y); 程序的运行结果是 ( )。 ( A) 741 ( B) 963 ( C) 852 ( D) 875421 23 已定义以下函数; int fun(int *p) return*p; fun函数返回值是 ( )。 ( A)不确定的值 ( B)一个整数 ( C)形参 p中存放的值 ( D)形参 p的地址值 24 以下程序的输出结果是 ( )。
9、main() int a=5,b=4,c=6,d; printf(“%dn“,d=a b?(a c?a:C) :(B) ); ( A) 5 ( B) 4 ( C) 6 ( D)不确定 25 有以下程序: mam() int i=10,j=1; printf(“%d,%dn“,i-,+j); 执行后输出的结果是 ( )。 ( A) 9,2 ( B) 10,2 ( C) 9,1 ( D) 10,1 26 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 ( )。 ( A)函数调用可以作为独立的语句存在 ( B)函数调用可以作为一个函数的实参 ( C)函数调用可以出现在表达式中 ( D)
10、函数调用可以作为一个函数的形参 27 有以下函数定义: void fun(int n, doub x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是 ( )。 ( A) fun(int y,double m); ( B) k=fun(10,12.5); ( C) fun(x,n); ( D) void fum(n,x); 28 有以下程序: fun(int x) int p; if(x=0x 1)return(3); p=x-fun(x-2); return p; main() printf(“%dn“,fun(7); 执行后的输出结果是 ( )。 ( A) 7 (
11、B) 3 ( C) 2 ( D) 0 29 有以下程序: main() int a33,*p.i; p=i9;i+)pi=i; for(i=0;i 3;i+)printf(“%d“,a1i); 程序运行后的输出结果是 ( )。 ( A) 0 1 2 ( B) 1 2 3 ( C) 2 3 4 ( D) 3 4 5 30 设函数 fun的定义形式为 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,
12、32); 31 若有定义; int w35;,则以下不能正确表示该数组元素的表达式是 ( )。 ( A) *(*w+3) ( B) *(w+1)4 ( C) *(*(w+1) ( D) *(i 6;i+) bi*=2; main() int a10=1,2,3,4,5,6,7,8,9,10,i; f(A) ; for(i=0;i 10;i+) printf(“%d,“,ai); 程序运行后的输出结果是 ( )。 ( A) 1,2,3,4,5,6,7,8,9,10, ( B) 1,2,6,8,10,12,7,8,9,10, ( C) 1,2,3,4,10,12,14,16,9,10, ( D)
13、1,2,6,8,10,12,14,16,9,10, 33 有以下程序: int fun1(double A) return a*=a; int fun2(double x,double y) double a=0,b=0; a=fun1(x);b=funl(y); return(int)(a+B) ; main() double w; w=fun2(1.1,2.0); 程序执行后变量 w中的值是 ( )。 ( A) 5.21 ( B) 5 ( C) 5 ( D) 0 34 以下能正确定义一维数组的选项是 ( )。 ( A) int num; ( B) #define N 100 int num
14、N; ( C) int num0100; ( D) int N=100; int numN; 35 有以下程序: #defme P 3 void P(int x)return(p*x*x); main() pritnf(“%dn“,F(3+5); 程序运行后的输出结果是 ( )。 ( A) 192 ( B) 29 ( C) 25 ( D)编译出错 36 有以下程序: mam() char s=“ABCD“,*p; for( p=s+1;ps+4;p+)printf(“%sn“,p); 程序运行后的输出结果是 ( )。 ( A) ABCD BCD D ( B) A B C D ( C) B C
15、D ( D) BCD CD D 37 有以下程序: void fun1(char*p) char *q; q=p; while(*q!=0) (*q)+; q+; main() char a=“Program“),*p; p= fun1(p) printf(“%sn“,A) ; 程序执行后的输出结果是 ( )。 ( A) Prohsbn ( B) Prphsbn ( C) Progsbn ( D) Program 38 有以下程序: #include studio.h #defme F(X,Y) (X)*(Y) main() int a=3, b=4; printf(“%dn“,F(a+,b+
16、); 程 序运行后的输出结果是( )。 ( A) 12 ( B) 15 ( C) 16 ( D) 20 39 以下语句或语句组中,能正确进行字符串赋值的是 ( )。 ( A) char *sp; *sp=“right!“; ( B) char s10; s=“right!“; ( C) char s10; *s=“right!“; ( D) char *sp=“right!“; 40 若有定义 “int*p3;“,则以下叙述中正确的是 ( )。 ( A)定义了一个基类型为 int的指针变量 p,该变量具 有 3个指针 ( B)定义了一个指针数组 p,该数组含有 3个元素,每个元素都是基类型为
17、int的指针 ( C)定义了 个名为 *p的整型数组,该数组含有 3个 int类型元素 ( D)定义了一个可指向一维数组的指针变量 p,所指一维数组应具有 3个 int类型元素 41 有以下程序: int fa(int x) return x*x; int fb(int x) return x*x*x; int f(int(*f1)(),int(*f2)(),int x) return f2(x)-f1(x); main() int i; i=f(fa,fb,2);printf(“%dn“,i); 程序运行后的输出结果是 ( )。 ( A) 1 2 6 8 ( B) 8 6 2 1 ( C)
18、8 1 6 2 ( D) 8 6 1 2 42 有以下程序: main() int a3=1,2,3,4,5,0,(*pa)3,i; pa=a; for(i=0;i 3;i+) if(i 2) pa1i=pa1i-1; else pa1i=1; printf(“%dn“,a01+a11+a12); 执行后输出结果是 ( )。 ( A) 7 ( B) 6 ( C) 8 ( D)无确定值 43 有以下函数: fun(char *a, char *b) while(*a!=0) b+; return(*a-*b); 该函数的功能是 ( )。 ( A)计算 a和 b所指字符串的长度之差 ( B)将 b
19、所指字符串复制到 a所指字符串中 ( C)将 b所指字符串连接到 a所指字符串后面 ( D)比较 a和 b所指字符串的大小 44 有以下程序: void fun(int *a,int i,int j) int t; if(i j) t=ai;ai=aj;aj=t; i+; j-; fun(a,ij); main() int x=2,6,1,8,i; fun(x,0,3); for(i=0;i 4;i+) printf(“%2d“,xi); printf(“n); 程序运行后的输出结果是 ( )。 ( A) 1 2 6 8 ( B) 8 6 2 1 ( C) 8 1 6 2 ( D) 8 6 1
20、 2 45 以下程序的输出结果是 ( )。 #include stdio.h #include string.h mam() char b18=“abcdefg“,b28,*pb=b1+3; while(-pb =b1) strcpy(b2,pB) ; printf(“%dn“,strlen(b2); ( A) 8 ( B) 3 ( C) 1 ( D) 7 46 有以下程序: main() int x=3,y=2,z=1; printf(“%dn“,x/y ( B) scanf(“%st“, ( C) scanf(“%c“, ( D) scanf(“%c“, 48 有以下程序: main()
21、unsigned char a,b,c; a=0x3;b=a0x8;c=b1; printf(“%d%dn“,b,C) ; 程序运行后的输出结果是 ( )。 ( A) -11 12 ( B) -19 ( C) 12 24 ( D) 11 22 49 以下与函数 fseek(fp,0L,SEEK_SE乃有相同作用的是 ( )。 ( A) feof(fp) ( B) ftell(fp) ( C) fgetc(fp) ( D) rewind(fp) 50 设有以下说明语句: typedef struet int n; char ch8; PER; 则下面叙述中正确的是 ( )。 ( A) PER是结
22、构体变量名 ( B) PER是结构体类型名 ( C) typedef struct是结构体类型 ( D) struct是结构体类型名 51 实现算法所需的存储单元多少和算法的工作量大小分别为算法的【 】。 52 数据结构包括数据的逻辑结构、数据的【 】以及对数据的操作运算。 53 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【 】。 54 面向对象的模型中,最基本的概念是对象和【 】。 55 软件维护活动包括以下几类:改正性维护、适应性维护、【 】维护和预防性维护 o 56 下面程序的输出是【 】。 main() int arr10,i,k=0; for(i=0;
23、i 10;i+) arri=i; for(i=1;i 4;i+) k+=arri+i; printf(“%dn“k); 57 若 a=10, b=20,则表达式 !(a b)的值是【 】。 58 有以下程序 int fa(int x)return x*x; int fb(int x) return x*x*x; int f(ing(*f1)(),int (*f2)(),int x) return f2(x)-f1(x); main() int i;i=f(fa,fb,2),printf(“%dn“,i); 程序运行后,输出结果是【 】。 59 下面程序的输出是【 】。 main() enum
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 20 答案 解析 DOC
