[计算机类试卷]国家二级(C语言)机试模拟试卷139及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷139及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷139及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 139及答案与解析 一、选择题 1 软件的需求分析主要产生的文档是 ( )。 ( A)可行性分析报告 ( B)软件需求规格说明书 ( C)概要设计说明书 ( D)集成测试计划 2 以下哪一项不是结构化程序设计的基本原则 ?( ) ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 3 软件设计中划分模块的基本准则是 ( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 4 箭头线在流程图中的意思是 ( )。 ( A)函数关系 ( B)数据流 ( C)控制流 ( D)判断关系 5 计算机算法中有穷性的意
2、思是 ( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 6 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n1) 2的排序方法是 ( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 7 关于计算机术语中的栈,说法正确的是 ( )。 ( A)栈按 “先进先出 ”组织数据 ( B)栈按 “先进后出 ”组织数据 ( C)只能在栈底插入数据 ( D)不能删除数据 8 在数据库设计过程的哪个阶段,需要将 E一 R图转换成关系数据模型 ( )。 ( A)需求分析
3、阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 9 有三个关系 R、 S和 T如下:由关系 R和 S通过运算得到关系 T,则所使用的运算为 ( )。 ( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)交 10 在数据库设计中,有三张关于学生选课的数据表,分别是学生信息表 Stu(其中包括:学生的学 号,姓名,性别,年龄,身份证号 ),课程信息表 Cou(其中包括:课程代号,课程名称 ),选课信息表 SC(其中包括:学生的学号,课程代号,课程成绩 ),则表 SC的关键字 (键或码 )为 ( )。 ( A)课程代号,课程成绩 ( B)学号,课程成绩 ( C)学号,课程
4、代号 ( D)学号,姓名,课程成绩 11 关于 C语言程序设计,以下叙述中不正确的是 ( )。 ( A) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 ( B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( C)用 C语言编写的程序称为源程序,它以 ASC 代码形式存放在一个文本文件中 ( D) C语言源程序经编译后生成后缀为 obj的目标程序 12 以下关于 C语言数值常量的选项中,合法的是 ( )。 ( A) 12 0Xa23 4 5e0 ( B) 028 5e一 3一 0xf ( C) 177 4e1 5 0abc ( D) 0x8A
5、 10, 000 3 e5 13 若有定义: double d=68; int i=0, k=21;,则以下选项中不符合 C语言规定的赋值语句是 ( )。 ( A) i一 (d+k) =(i+k); ( B) i=d 3; ( C) d=(d+, i+); ( D) i=(int)! d; 14 若有代数式 (其中 e仅代表自然对数的底数,不是变量 ),则以下能够正确表示该代数式的 C语言表达式是 ( )。 ( A) sqrt(fabs(pow(n, x)+exp(x) ( B) sqrt(fabs(pow(n, x)+pow(x, e) ( C) sqrt(abs(n x+e x) ( D)
6、 sqrt(fabs(pow(x, n)+exp(x) 15 有关 C语言标识符,以下选项中不合法的是 ( )。 ( A) &a ( B) FOR ( C) print ( D) _00 16 有以下序: #include void main() int num1, num2; int i=10; double d=12 34: nunl=sizeof(i); num2=sizeof(d); pfintf( d, d n, s1, s2); 在 VC 6 0平台上编译运行,程序运行后的输出结果是 ( )。 ( A) 16, 4 ( B) 2, 8 ( C) 4, 8 ( D) 1, 4 17
7、有以下程序: #nclude void main() char a, b, c, d; scanf( c c, &a, &b); c=getchar(); d=getchar(); pfintf( c c c c n, a, b, c, d); 运行程序后输入数据 (代表回车符 ) 34 56 则输出结果是 ( )。 ( A) 34 ( B) 3456 ( C) 34 ( D) 34 18 以下关于 C语言中逻辑运算符两侧运算对象的叙述中正确的是 ( )。 ( A)只能是整数 0或非 0整数 ( B)可以是任意合法的表达式 ( C)可以是结构体类型的数据 ( D)只能是整数 0或 1 19 有
8、以下程序: #nelude main() int a=0, b=0, C=0, d=0; if(a=1)b=1; c=2; else d=3; pfintf( d, d, d, d n, a, b, c, d); 程序运行后的输出结果是 ( )。 ( A) 1, 1, 2, 0 ( B) 0, 0, 0, 3 ( C)编译有错 ( D) 0, 1, 2, 0 20 有以下程序: #include main() int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; cas
9、e 2: a+; b+; break; case 3: a+; b+; printf(a= d, b= d n, a, b); 程序运行后的输出结果是 ( )。 ( A) a=2, b=2 ( B) a=2, b=1 ( C) a=1, b=1 ( D) a=1, b=0 21 以下程序段中的变量已正 确定义: for(i=0; i 4; i+, i+) for(k=l; k 3; k+); printf(*); 程序段的输出结果是 ( )。 ( A) * ( B) * ( C) * ( D) * 22 有以下程序段: #nclude int i, n; for(i=0; i 8; i+) n
10、=rand() 5; switch(n) case 1: case 3: printf( d n, n); break; case 2: case 4: printf( d n, n); continue; case 0: exit(0); pfintf( d n, n); 以下关于程序段执行情况的叙述,正确的是 ( )。 ( A) for循环语句固定执行 8次 ( B)当产生的随机数 n为 4时结束循环操作 ( C)当产生的随机数 n为 1和 2时不做任何操作 ( D)当产生的随机数 n为 0时结束程序运行 23 有以下程序: #include int f(int x); main() in
11、t n=1, m; m=f(f(f(n); printf( d n, m); int f(int x) retum x*2; 程序运行后的输出结果是 ( )。 ( A) 8 ( B) 2 ( C) 4 ( D) 1 24 以下叙述中错误的是 ( )。 ( A)可以给指针变量赋一个整数作为地址值 ( B)函数可以返回地址值 ( C)改变函数形参的值,不会改变对应实参的值 ( D)当在程序的开头包含头文件 stdio h时,可以给指针变量赋 NULL 25 设已有定义: float x;,则以下对指针变量 P进行定义且赋初值的语句中正确的是 ( )。 ( A) int*p=(float)x; (
12、B) float*p=&x; ( C) float p=&x; ( D) float*p=1024; 26 以下数组定义中错误的是 ( )。 ( A) int x 23=1, 2, 3, 4, 5, 6; ( B) int x3=0; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) int x 23=1, 2, 3, 4, 5, 6; 27 有以下程序: #include void fun(int a, int n) int i, t; for(i=0; i n 2; i+)t=ai; ai=an一 1一 i; an一 1一 i: t; main() int k10=1,
13、 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i 8; i+)printf( d, ki); printf( n); 程序运行后的输出结果是 ( )。 ( A) 321678 ( B) 876543 ( C) 1098765 ( D) 345678 28 有以下程序: #include #define N 4 void fun(int aN, int b) int i; for(i=0; i N; i+)bi=aii一 aiN一 1一 i; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
14、, 12, 13, 14, 15,16, yN, i; fun(x, y); for(i=0; i N; i+)printf( d, , yi); printf( n); 程序运行后的输出结果是 ( )。 ( A)一 3,一 1, 1, 3 ( B) 12, 3, 0, 0 ( C) 0, 1, 2, 3 ( D)一 3,一 3,一 3,一 3 29 设有定义: char s81; int i=0;,以下不能将一行 (不超过 80个字符 )带有空格的字符串正确读入的语句或语句组是 ( )。 ( A) gets(s); ( B) while(si+=getchar()! = n); si= 0;
15、 ( C) scanf( s, s); ( D) doscanf( c, &si); while(si+! = n); si= 0; 30 设有定义: char P=1, 2, 3, *q=p;,以下不能计算出一个 char型数据所占字节数的表达式是 ( )。 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof(*q) ( D) sizeof(p0) 31 有以下程序: #include #include main() char str20=One*World, One*Dream! , *p=str1; printf( d, , strlen(p); p
16、rintf( s n, p); 程序运行后的输出结果是 ( )。 ( A) 10, One*Dream! ( B) 9, One*Dream! ( C) 9, One*World ( D) 10, One*World 32 有以下程序: #nclude main() char s=012xy 08s34f4w2; int i, n=0; for(i=0; si! =0; i+) if(si =0&si =9)n+; printf( d n, n); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 3 ( C) 7 ( D) 8 33 有以下程序: #include fun(int x
17、, 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( d n, k); 程序执行后的输出结果是 ( )。 ( A) 5, 11 ( B) 5, 5 ( C) 11, 11 ( D) 11, 5 34 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( )。 ( A) auto和 static ( B) extem和 register ( C) auto和 register
18、( D) static和 register 35 下面结构体的定义语句中,错误的是 ( )。 ( A) struct ordint x; int y; int z; struct ord a; ( B) struct ordint x; int y; intz; ; struct ord a; ( C) struct ordint x; int y; int z; a; ( D) structim x; int y; int z; a; 36 有以下程序: #inelude typedef structint b, p; A; void f(A c) *注意: C是结构变量名 * int j;
19、 c b+=1: c p+=2; main() int i; A a=1, 2; f(a); printf( d, d n, a b, a p); 程序运行后的输出结果是 ( )。 ( A) 2, 4 ( B) 1, 2 ( C) 1, 4 ( D) 2, 3 37 读取二进制文件的函数调用形式为: fread(buffer, size, count, fp);,其中buffer代表的是 ( )。 ( A)一个内存块的字节数 ( B)一个整型变量,代表待读取的数据的字节数 ( C)一个文件指针,指向待读取的文件 ( D)一个内存块的首地址,代表读人数据存放的地址 38 有以下程序: #incl
20、ude #include int fun(int n) int*p; p=(int*)malloc(sizeof(int); *P=n; return*p; main() int a; a=fun(10); printf( d n, a+fun(10); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 10 ( C) 20 ( D)出错 39 有以下程序: #include main() unsigned char a=8, c; c=a 3; printf( d n, c); 程序运行后的输出结果是 ( )。 ( A) 16 ( B) 1 ( C) 32 ( D) 0 40 以下叙
21、述中正确的是 ( )。 ( A)在 C语言中,预处理命令行都以 “#”开头 ( B)预处理命令行必须位于 C源程序的起始位置 ( C) #include必须放在 C程序的开头 ( D) C语言的预处理不能实现宏定义和条件编译的功能 二、程序填空题 41 下列给定程序的功能是:从键盘输入若干行字符串 (每行 不超过 80个字符 ),写入文件 myfile4 txt中,用 #作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数 ReadText和 WriteText实现。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLAN
22、K1 C中。不得增行或删行,也不得更改程序的结构! #include #include #include void WriteText(FILE*); void ReadText(FILE*); main() FILE*fp; if(fp=fopen(myfile4 txt, W)=NULL) printf(open fail! n); exit(0); WriteText(fp); fclose(fp); if(fp=fopen(myfile4 txt, r)=NULL) printf(open fail! 1 n); exit(0); ReadText(fp); fclose(fp); *
23、found* void WfiteText(FILE【 1】 ) char str81; printf( nEnter string with #to end: n); gets(str); while(strcmp(str, #1)! =0) *found* fputs(【 2】 , tw); fputs( n, fw); gets(str); void ReadText(FILE*fr) char str81; printf(Read file and output to screen: n); fgets(str, 81, fr); while(! feof(fr) *found* pr
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 139 答案 解析 DOC
