全国计算机等级考试二级C语言模拟试题9
答案
一、选择题(每题2分,共计70分) |
| 1.最简单的交换排序方法是 A)快速排序 B)选择排序 C)堆排序 D)冒泡排序 |
| A B C D |
| 2.栈通常采用的两种存储结构是 A)线性存储结构和链表存储结构 B)散列方式和索引方式 C)链表存储结构和数组 D)线性存储结构和非线性存储结构 |
| A B C D |
| 3.线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构 |
| A B C D |
| 4.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 A)黑箱测试法 B)白箱测试法 C)错误推测法 D)安装测试法 |
| A B C D |
| 5.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 |
| A B C D |
答案
| 6.下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公用耦合 |
| A B C D |
| 7.一个关系中属性个数为1时,称此关系为 A)对应关系 B)单一关系 C)一元关系 D)二元关系 |
| A B C D |
| 8.为用户与数据库系统提供接口的语言是 A)高级语言 B)数据描述语言(DDL) C)数据操纵语言(DML) D)汇编语言 |
| A B C D |
| 9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 A)可重用性差 B)安全性差 C)非持久性 D)冗余性 |
| A B C D |
| 10.需求分析阶段的任务是确定 A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能 |
| A B C D |
答案
| 11.以下说法错误的是 A)一个算法应包含有限个步骤 B)在计算机上实现的算法是用来处理数据对象的 C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现 D)算法的目的是为了求解 |
| A B C D |
| 12.下列选项中不是结构化程序基本结构的是 A)顺序结构 B)跳转分支结构 C)选择结构 D)循环结构 |
| A B C D |
| 13.已知int k,m=1;执行语句k=-m++;后,k的值是 A)-1 B)0 C)1 D)2 |
| A B C D |
| 14.下面各选项中,均是C语言标识符的选项组是 A)33weauto B)_23me_3ew C)_433e_ else D)ER -DF32 |
| A B C D |
| 15.已知int k;float m=-3;执行语句k=m%2;后,变量k的值是 A)-1 B)0 C)1 D)语句有错误 |
| A B C D |
答案
| 16.不能进行++和--运算的数据类型为 A)指针 B)整型 C)长整型 D)常量 |
| A B C D |
| 17.已知int k=10,m=3,n;则下列语句输出结果是 printf("%d\n",n=(k%m,k/m)); A)2 B)3 C)4 D)5 |
| A B C D |
| 18.下列程序的运行结果是 #include "stdio.h" main() { int x=-9,y=5,z=8; if(x else z+=1; printf("%d\n",z); } A)6 B)7 C)8 D)9 |
| A B C D |
| 19.以下程序的运行结果为 #include "stdio.h" main() { int m,n; for(m=0,n=10;m } A)6,7 B)7,6 C)9,7 D)7,9 |
| A B C D |
| 20.阅读下列程序,程序的输出结果是 #include "stdio.h" main() { int m,n; float k; for(m=6;m>2;m--) { k=0; for(n=m;n>1;n--) k=k+m*n; } printf("%f\n",k); } A)5.000000 B)15.000000 C)25.000000 D)35.000000 |
| A B C D |
答案
| 21.下列程序的输出结果是 #include "stdio.h" main() { int i,a=0,b=0; for(i=1;i<10;i++) { if(i%2==0) { a++; continue; } b++;} printf("a=%d,b=%d",a,b);} A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5 |
| A B C D |
| 22.下面对C语言的描述中,正确的是 A)函数一定有返回值,否则无法使用函数 B)C语言函数既可以嵌套定义又可以递归调用 C)在C语言中,调用函数时,只能将实参的值传递给形参 D)C语言程序中有调用关系的所有函数都必须放在同一源程序文件中 |
| A B C D |
| 23.阅读下面程序段,则执行后的结果为 #include "stdio.h" main() { int m=4,n=2,k; k=fun(m,n); printf("%d\n",k); } fun(int m,int n) {return(m*m*m-n*n*n);} A)64 B)8 C)56 D)0 |
| A B C D |
| 24.阅读下面程序段,则执行后输出的结果是 #include "stdio.h" main() { char fun(char,int); char a=′A′; int b=13; a=fun(a,b); putchar(a); } char fun(char a,int b) { char k; k=a+b; return k; } A)A B)M C)N D)L |
| A B C D |
| 25.阅读下面程序,执行后的结果为 #include "stdio.h" void fun(int *a,int *b) { int k; k=5; *a=k; *b=*a+k; } main() { int *a,*b,x=10,y=15; a=&x; b=&y; fun(a,b); printf("%d,%d\n",*a,*b); } A)10,15 B)5,15 C)5,10 D)15,10 |
| A B C D |
答案
| 26.阅读下面程序,在程序执行后的结果为 #include "stdio.h" int *fun(int *a,int *b) { int m; m=*a; m+=*b-3; return(&m); } main() { int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k); } A)53 B)21 C)35 D)14 |
| A B C D |
| 27.阅读下列程序,则运行结果为 #include "stdio.h" fun() { staticint x=5; x++; return x; } main() { int i,x; for(i=0;i<3;i++) x=fun(); printf("%d\n",x); } A)5 B)6 C)7 D)8 |
| A B C D |
| 28.下列程序的输出结果是 #include "stdio.h" #defineM(x,y)x%y main() { int a,m=12,n=100; a=M(n,m); printf("%d\n",a--); } A)2 B)3 C)4 D)5 |
| A B C D |
| 29.阅读下面程序,则程序段的功能是 #include "stdio.h" main() { int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i<7;i++) { t=c[i];j=i-1; while(j>=0 && t>c[j]) { c[j+1]=c[j];j--;} c[j+1]=t; } for(i=0;i<7;i++) printf("%d ",c[i]); putchar(′\n′); } A)对数组元素的升序排列 B)对数组元素的降序排列 C)对数组元素的倒序排列 D)对数组元素的随机排列 |
| A B C D |
| 30.阅读下列程序,则在执行后,程序的运行结果为 #include "stdio.h" #include "string.h" main() { char a[30]="nice to meet you!"; strcpy(a+strlen(a)/2,"you"); printf("%s\n",a); } A)nice to meet you you B)nice to C)meet you you D)nice to you |
| A B C D |
答案
| 31.阅读下面程序,则执行后的结果是 #include "stdio.h" main() { char str[]="tomeetme",*p; for(p=str;p } A)tomeetme B)tmem C)oete D)tome |
| A B C D |
| 32.下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车> 则程序输出的结果是 #include "stdio.h" main(argc,argv) int argc;char *argv[]; { int i; printf("%d\n",argc); } A)3 B)4 C)2 D)以上答案都不正确 |
| A B C D |
| 33.阅读下面程序,则执行后的结果为 #include "stdio.h" long fun(int n) { if(n>2) return(fun(n-1)+fun(n-2)); else return(2); } main() { printf("%ld\n",fun(5));} A)10 B)15 C)20 D)以上3个答案都不正确 |
| A B C D |
| 34.已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a *f(int t1,int *t2,strcut a t3,struct a *t4) struct a p,*p1;int i; 则正确的函数调用语句为 A)&p=f(10,&i,p,p1); B)p1=f(i++,(int *)p1,p,&p); C)p=f(i+1,&(i+2),*p,p); D)f(i+1,&i,p,p); |
| A B C D |
| 35.假定当前盘符下有两个文本文件,如下 文件名 a1.txta2.txt 内容123# 321# 则下面程序段执行后的结果为 #include "stdio.h" void fc(FILE *p) { char c; while((c=fgetc(p))!=′#′)putchar(c); } main() { FILE *fp; fp=fopen("a1.txt","r"); fc(fp); fclose(fp); fp=fopen("a2.txt","r"); fc(fp); fclose(fp); putchar(′\n′); } A)123321 B)123 C)321 D)以上答案都不正确 |
| A B C D |
答案
二、填空题(每空2分,共计30分) | |
| 1.栈和队列通常采用的存储结构是 【1】 。 | |
| 输入答案,中间不含空格: | |
| 2.在程序设计阶段应该采取 【2】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 | |
| 输入答案,中间不含空格: | |
| 3.软件结构是以 【3】 为基础而组成的一种控制层次结构。 | |
| 输入答案,中间不含空格: | |
| 4.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 【4】 两个含义。 | |
| 输入答案,中间不含空格: | |
| 5.数据库保护分为:安全性控制、 【5】 、并发性控制和数据的恢复。 | |
| 输入答案,中间不含空格: | |
答案
| 6.以下程序的输出结果是 【6】 。 #include "stdio.h" main() { int a=065; printf("%d\n",--a); } |
| 输入答案,中间不含空格: |
| 7.阅读下面程序,则执行后的输出结果是 【7】 。 #include "stdio.h" main() { int x,y,z; x=1;y=2;z=3; if(x>y)if(x>z)printf("%d",x); else printf("%d",y); printf("%d\n",z); } |
| 输入答案,中间不含空格: |
| 8.阅读下面程序,则程序的执行结果为 【8】 。 #include "stdio.h" main() { int a=30,b=20,z; z=fun(a+b,a-b); printf("%d\n",z); } fun(int a,int b) { int z; z=a/b; return z; } |
| 输入答案,中间不含空格: |
| 9.下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。 fun(int *p,int n) { int *q; int max,min; max=min=*p; for(q=p; 【9】 ;q++) if( 【10】 )max=*q; else if( 【11】 )min=*q; } |
| 输入答案,中间不含空格: |
| 10.下面函数的功能是将一个字符串的内容颠倒过来,请填空。 void fun(char str[]) { int i,j, 【12】 ; for(i=0,j= 【13】 ;i str[i]=str[j]; str[j]=k; } } |
| 输入答案,中间不含空格: |
答案
| 11.阅读下面程序,则程序的执行结果为 【14】 。 #include "stdio.h" fun(int k,int *p) { int a,b; if(k==1||k==2) *p=1; else{ fun(k-1,&a); fun(k-2,&b); *p=a+b; } } main() { int x; fun(6,&x); printf("%d\n",x); } |
| 输入答案,中间不含空格: |
| 12.阅读下列程序,则程序的输出结果为 【15】 。 #include "stdio.h" struct ty { int data; char c; }; main() { struct ty a={30,′x′}; fun(a); printf("%d%c",a.data,a.c); } fun(struct ty b) { b.data=20; b.c=′y′; } |
| 输入答案,中间不含空格: |