[计算机类试卷]国家二级(C语言)机试模拟试卷99及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷99及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷99及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 99及答案与解析 一、选择题 1 下列数据结构中,属于非线性结构的是 ( )。 ( A)循环队列 ( B)带链队列 ( C)二叉树 ( 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)自顶向下 ( C)模块化 ( D)逐步求精 7 软件详细设计生产的图如图:该图是 ( )。 ( A) NS图 ( B) PAD图 ( C)程序流程图 ( D) ER图 8 数据库管理系统是 ( )。 ( A)操作系统的一部分 ( B)在操作系统支持下的系统软件 ( C)一种编
3、译系统 ( D)一种操作系统 9 在 ER图中,用来表示实体联系的图形是 ( )。 ( A)椭圆形 ( B)矩形 ( C)菱形 ( D)三角形 10 有三个关系 R、 S和 T如下: 其中关系 T由关系 R和 S通过某种操作得到,该操作为 ( )。 ( A)选择 ( B)投影 ( C)交 ( D)并 11 以下关于结构 化程序设计的叙述中正确的是 ( )。 ( A)结构化程序使用 goto语句会很便捷 ( B)在 C语言中,程序的模块化是利用函数实现的 ( C)一个结构化程序必须同时由顺序、分支、循环三种结构组成 ( D)由三种基本结构构成的程序只能解决小规模的问题 12 对于一个正常运行的
4、C程序,以下叙述中正确的是 ( )。 ( A)程序的执行总是从 main函数开始,在程序的最后一个函数中结束 ( B)程序的执行总是从程序的第一个函数开始,在 main函数结束 ( C)程序的执行总是从 main函数开始 ( D)程序的执行总 是从程序的第一个函数开始,在程序的最后一个函数中结束 13 以下选项中能表示合法常量的是 ( )。 ( A) 1, 200 ( B) 1 5E2 0 ( C) ( D) 007 14 以下定义语句中正确的是 ( )。 ( A) int a=b=0; ( B) char A=65+1, b=h; ( C) float a=1, *b=&a, *c=&b;
5、( D) double a=0 0; b=1 1; 15 若变量 x、 y已正确定义并赋值,以下符合 C语言语法的表达式是 ( )。 ( A) x+1=y ( B) +x, y=x- ( C) x=x+10=x+y ( D) double(x) 10 16 若变量已正确定义为 int型,要通过语句: scanf(“ d, d, d“, &a, &b, &c); 给 a赋值 1、给 b赋值 2、给 c赋值 3,以下输入形式中错误的是 ( )。 (注: 代表一个空格符 ) ( A) 1, 2, 3回车 ( B) 1, 2, 3回车 ( C) 1, 2, 3同车 ( D) 123回车 17 以下不能
6、输出字符 A的语句是 ( )。 (注:字符 A的 ASCII码值为 65,字符 a的ASCII码值为 97) ( A) printf(“ c n“, a-32); ( B) printf(“ d n“, A); ( C) printf(“ c n“, 65); ( D) printf(“ c n“, B-1); 18 若 a是数值类型,则逻辑表达式 (a=1)|(a!=1)的值是 ( )。 ( A) 1 ( B) 0 ( C) 2 ( D)不知道 a的值,不能确定 19 设有定义: int a=1, b=2, c=3; 以下语句中执行效果与其他三个不同的是 ( )。 ( A) if(a b)
7、c=a, a=b, b=c; ( B) if(a 1) c=a, a=b, b=c; ; ( C) if(a b) c=a; a=b; b=c; ( D) if(a b) c=a; a=b; b=c; ; 20 有以下程序: #include stdio h main() int y=lO; while(y-); printf(“y= d n“, y); 程序执行后的输出结果是 ( )。 ( A) y=0 ( B) y=-1 ( C) y=1 ( D) while构成无限循环 21 有以下程序: #include stdio h main() int i, j; for(i=1; j 4; i
8、+) for(j=i; j 4; j+)printf(“ d* d= d“, i, j, i*j); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) 1*1=1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 ( B) 1*1=1 1*2=2 1*3=3 2*1=1=2 2*2=4 3*1=3 ( C) 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ( D) 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 22 有以下程序: #include stdio h main() int i=5; do if(i
9、 3=1) if(i 5=2) printf(“* d“, i); break; i+: while(i!=0); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) *2*6 ( B) *3*5 ( C) *5 ( D) *7 23 有以下程序: #include stdio h double f(double x); main() double a=0; int i; for(i=0; i 30; i+=10)a+=f(double)i); printf(“ 3 0f n“, a); double f(double x) return x*x+1; 程序运行后的输出结果
10、是 ( )。 ( A) 500 ( B) 401 ( C) 503 ( D) 1404 24 若有以下函数首部: int fun(double x10, int; *n) 则下面针对此函数的函数声明语句中正确的是 ( )。 ( A) int fun(double, int); ( B) int fun(double*, int*); ( C) int fun(double*x, int n); ( D) int fun(double x, int*n); 25 有以下程序: #include stdio h main() int m=1, n=2, *p=&m, *q=&n, *r; r=p;
11、 p=q; q=r; printf(“ d, d, d, d n“, m, n, *p, *q); 程序运行后的输出结果是 ( )。 ( A) 2, 1, 1, 2 ( B) 1, 2, 1, 2 ( C) 2, 1, 2, 1 ( D) 1, 2, 2, 1 26 若有以下定义: int x10, *pt=x; 则对 x数组元素的正确引用是 ( )。 ( A) pt+3 ( B) *&x10 ( C) *(pt+10) ( D) *(x+3) 27 有以下程序: #include stdio h main() int i, s=0, t=1, 2, 3, 4, 5, 6, 7, 8, 9;
12、for(i=0; i 9; i+=2)s+=*(t+i); printf(“ d n“, S); 程序执行后的输出结果是 ( )。 ( A) 20 ( B) 25 ( C) 45 ( D) 36 28 有以下程序: #include stdio h #define N4 void fun(int aN, int b) int i; for(i=0; i N; i+)bi=aii; main() int xN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, yN, i; fun(x, y); for(i=0; i N; i+)printf(“ d, “, yi); printf(“
13、 n“); 程 序运行后的输出结果是 ( )。 ( A) 1, 0, 7, 0, ( B) 1, 2, 3, 4, ( C) 1, 4, 5, 9, ( D) 3, 4, 8, 10, 29 设有定义: char*c; 以下选项中能够使 c正确指向一个字符串的是 ( )。 ( A) char str()=“string“; c=str; ( B) seanf(“ s“, c); ( C) c=getehar(); ( D) *c=“string“; 30 若有定义语句: char s10=“1234567 0 0“; 则 strlen(s)的值是 ( )。 ( A) 7 ( B) 8 ( C)
14、 9 ( D) 10 31 有以下程序: #include stdio h #include string h main() char p20=a, b, c, d, q=“abc“, r=“abcde“; streat(p, r); strepy(p+strlen(q), q); printf(“ d n“, strlen(p); 程序运行后的输出结果是 ( )。 ( A) 11 ( B) 9 ( C) 6 ( D) 7 32 有以下程序 (说明:字母 A的 ASCII码值是 65): #include stdio h void fun(char*s) while(*s) if(*s 2)p
15、rintf(“ c“, *s); s+: main() char a()=“BYTE“; fun(a); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) BT ( B) YE ( C) YT ( D) BY 33 有以下程序: #include stdio h int fun() static int x=1: x+=1: return x; main() int i, s=1; for(i=1; i =5; i+) s+=fun(); printf(“ d n“, s); 程序运行后的输出结果是 ( )。 ( A) 120 ( B) 1 ( C) 6 ( D) 21
16、34 有以下程序: #include stdio h void fun2(char a, char b) pfintf(“ c c“, a, b); char a=A, b=B; void fun1() a=C:; b=D; main() fun1(); printf(“ c c“, a, b); fun2(E, F); 程序运行后的输出结果是 ( )。 ( A) A B E F ( B) C D E F ( C) A B C D ( D) C D A B 35 以下关于 typedef的叙述错误的是 ( )。 ( A)用 typedef可以增加新类型 ( B) typedef只是将已存在的类
17、型用一个新的名字来代替 ( C)用 typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名 ( D)用 typedef为类型说明一个新名,通常可以增加程 序的可读性 36 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、 p、 q均已正确定义,并用于指向链表结点,指针变量 s总是作为指针指向链表的第一个结点。 若有以下程序段: q=s; s=s- next; p=s; while(p- next)p=p- next: p- next=q; q- next=NULL; 该程序段实现的功能是 ( )。 ( A)删除尾结点 ( B)尾结点成为首结点 ( C)删除首结点
18、 ( D)首结点成为尾结点 37 有以下程序: #include stdio h #define S(x)4*(x)*x+1 main() int k=5, j=2; printf(“ d n“, S(k+j); 程序运行后的输出结果是 ( )。 ( A) 33 ( B) 197 ( C) 143 ( D) 28 38 符有以下稗序段: int r=8: printf(“ d n“, r 1): 程序运行后的输出结果是 ( )。 ( A) 16 ( B) 8 ( C) 4 ( D) 2 39 以下叙述中错误的是 ( )。 ( A) gets函数用于从终端读入字符串 ( B) getchar函数
19、用于从 磁盘文件读入字符 ( C) fputs函数用于把字符串输出到文件 ( D) fwrite函数用于以二进制形式输出数据到文件 40 有以下程序: #include sldio h main() FILE*pt; (thar*s1=si=“China“, *s2=“Beijing“; pf=fopen(“abc dat“, “wb+“); fwrite(s2, 7, 1 pf); rewind(pf); *文件位置指针回到文件开头 * fwrite(s1, 5, 1, pf); fclose(pf); 以上程序执行后 abc dat文件的内容是 ( )。 ( A) China ( B) C
20、hinang ( C) ChinaBeijing ( D) BeijingChina 二、程序填空题 41 下列给定程序的功能是:从键盘输入若十行字符串 (每行不超过 80个字符 ),写入文件 mvfile4 txt中,用 -1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数 ReadText和 Write Text实现。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include stdio h #include string h #include
21、stdlib h 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(“mytile4 txt“, “r“)=NULL) printf(“open fail! n“); exit(0); ReadText(fp); fclose(fp); *found* void WriteText(FILE1) char
22、str81; printf(“ nEnter string with-1 to end: n“); gets(str); while(strcmp(str, “-1“)!=0) *found* fputs(2, fw); fputs(“ n“, fw); gets(str); void ReadText(FILE*fr) char str81; printf(“ nRead file and output to screen: n“); fgets(str, 81, fr); while(!feof(fr) *found* printf(“ s“, 3); fgets(str, 81, fr)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 99 答案 解析 DOC
