1、二级C语言笔试模拟318二级C语言笔试模拟318一、选择题1、下列叙述中正确的是( )。 A栈是“先进先出”的线性表 B队列是“先进后出”的线性表 C循环队列是非线性结构 D有序线性表既可以采用顺序存储结构,也可以采用链式存储结构2、支持子程序调用的数据结构是( )。 A栈 B树 C队列 D二叉树3、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。 A10 B8 C6 D44、下列排序方法中,最坏情况下比较次数最少的是( )。 A冒泡排序 B简单选择排序 C直接插入排序 D堆排序5、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是( )。 A编
2、译程序 B操作系统 C教务管理系统 D汇编程序6、下列叙述中错误的是( )。 A软件测试的目的是发现错误并改正错误 B对被调试的程序进行“错误定位”是程序调试的必要步骤 C程序调试通常也称为Debug D软件测试应严格执行测试计划,排除测试的随意性7、耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。 A提高耦合性降低内聚性有利于提高模块的独立性 B降低耦合性提高内聚性有利于提高模块的独立性 C耦合性是指一个模块内部各个元素间彼此结合接的紧密程度 D内聚性是指模块间互相连接的紧密程度8、数据库应用系统中的核心问题是( )。 A数据库设计 B数据库系统设计 C数据库维护 D数
3、据库管理员培训9、有两个关系R、S如下: 由关系R通过运算得到关系S,则所使用的运算为( )。 A选择 B投影 C插入 D连接10、将E-R图转换为关系模式时,实体和联系都可以表示为( )。 A属性 B键 C关系 D域11、下列选项合法的标识符是( )。 A1_1 B1-1 C_11 D1_12、若函数中有定义语句“int k;”,则( )。 A系统将自动给k赋初值0 B这时k中的值无定义 C系统将A动给k赋初值-1 D这时k中无任何值13、下列选项中,能用做数据常量的是( )。 Ao115 Bo118 C1.5e1.5 D115L14、设有定义“int x=2;”,下列表达式中,值不为6的是
4、( )。 Ax*=x+1 Bx+,2*x Cx*=(1+x) D2*x,x+=215、下列程序段的输出结果是( )。int x=12;double y=3.141593;printf(%d%8.6f,x,y); A123.141593 B123.141593 C12,3.141593 D123.141593016、若有定义语句“double x,t,*px,*py;”执行了“px=&x;py=&y;”后,正确的输入语句是( )。 Ascanf(%f%f,x,y); Bscanf(%f%f&x,&y); Cscan(%1f%1e,px,py); Dscanf(%1f%1fx,y);17、下列是i
5、f浯句的基本形式: if(表达式)语句 其中“表达式”( )。 A必须是逻辑表达式 B必须是关系表达式 C必须是逻辑表达式或关系表达式 D可以是任意合法的表达式18、有下列程序: #includestdio.h main() int x; scanf(%d,&x); if(x=3);else if(x!=10)printf(%dn,x); 程序运行时,输入的值在哪个范围才会有输出结果( )。 A不等于10的整数 B大于3且不等10的整数 C大于3或等于10的整数 D小于3的整数19、有下列程序: #includestdio.h main() int a=1,b=2,c=3,d=0; if(a=
6、1&b+=2) if(b!=2|c-!=3) printf(%d,%d,%dn,a,b,c); else printf(%d,%d,%dn,a,b,c); else printf(%d,%d,%dn,a,b,c); 程序运行后的输出结果是( )。 A1,2,3 B1,3,2 C1,3,3 D3,2,120、下列程序段中的变量已正确定义: for(i=0:i4;i+,i+) for(k=1;k3;k+);printf(*); 程序段的输出结果是( )。 A* B* C* D*21、有下列程序: #includestdio.h main() char*s=ABC; do printf(%d,*s%
7、10);s+; while(*s); 注意:字母A的ASCII码值为65。程序运行后的输出结果是( )。 A5670 B656667 C567 DABC22、设变量已正确定义,下列不能统计出一行中输入字符个数(不包含回车符)的程序段是( )。 An=0;while(ch=getchar( )!=n)n+; Bn=0;while(getchar( )!=n)n+; Cfor(n=0;getchar( )!=n;n+); Dn=0;for(ch=getchar( );ch!=n;n+);23、有下列程序: #includestdio.h main() int a1,a2char c1,c2; sc
8、anf(%d%c%d%c,&a1,&c1,&a2,&c2); printf(%d%c%d%c,a1,c1,a2,c2); 若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是“12,a,34,b”则正确输入格式是(以下代表空格,CR代表回车)( )。 A12a36bCR B12a34bCR C12,a,34,bCR D12a34bCR24、有下列程序: #includestdio.h int f(int x,int y) return(y-x)*x);) main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c);
9、 printf(%dn,d); 程序运行后的输出结果是( )。 A10 B9 C8 D725、有下列程序: #includestdio.h void fun(char*s) while(*s) if(*s%2=0)printf(%c,*s); s+; main() char a=good); fun(a);printf(n); 注意:字母a的ASCII码值为97,程序运行后的输出结果是( )。 Ad Bgo Cgod Dgood26、有下列程序: #includestdio.h void fun(int*a,int*b) int*c; c=a;a=b;b=c; main() int x=3,y
10、=5,*p=&x,*q=&y; fun(p,q);printf(%d,%d,*p,*q); fun(&x,&y);printf(%d,%dn,*p,*q) 程序运行后的输出结果是( )。 A3,5,5,3 B3,5,3,5 C5,3,3,5 D5,3,5,327、有下列程序: #includestdio.h void f(int*p,int*q) main() int m=1,n=2,*r=&m; f(r,&n);printf(%d,%d,m,n); void f(int*p,int*q) p=p+1;*q=*q+1; 程序运行后的输出结果是( )。 A1,3 B2,3 C1,4 D1,228
11、、下列函数按每行8个输出数组中的数据 void fun(int*w,int n) int i; for(i=0;in;i+) _ printf(%d,wi); printf(n) 下画线处应填入的语句是( )。 Aif(i/8=0)printf(n); Bif(i/8=0)continue; Cif(i%8=0)printf(n);Dif(i%8=0)continue;29、若有下列定义 int x10,*pt=x; 则埘x数组元素的正确引用是( )。 A*&x10 B*(x+3) C*(pt+10) Dpt+330、设有定义“char s8;int i=0;”,下列不能将一行(不超过80个字
12、符)带有空格的字符串正确读入的语句或语句组是( )。 Agets(s); Bwhile(si+=getchar()!=n);si=0; Cscanf(%s,s); Ddoscanf(%c,&si);while(si+!=n);si=031、有下列程序: #includestdio.h main() char*a=abcd,ef,gh,ijk;int i; for(i=0;i4;i+)printf(%c,*ai); 程序运行后的输出结果是( )。 Aaegi Bdfhk Cabcd Dabcdefghijk32、下列选项中正确的语句是( )。 Achars;s=BOOK!; Bchar*s;s=
13、BOOK!; Cchars10;s=BOOK; Dchar*s;s=BOOK!;33、有下列程序: #includestdio.h int fun(int x,iny y) if(x=y)return(x); else return(x+y)/2); main() int a=4,b=5,c=6; printf(%dn,fun(2*a,fun(b,c); 程序运行后的输出结果是( )。 A3 B6 C8 D1234、设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。 Aauto Bregister Cstatic Dauto或register35、有下列程序:
14、#includestdio.h int b=2; int fun(int*k) b=*k+b;returt,(b); main() int a10=1,2,3,4,5,6,7,8),i; for(i=2;i4;i+)b=fun(&ai)+b;printf(%d,b); printf(n); 程序运行后的输出结果是( )。 A10 12 B8 10 C10 28 D10 1636、有下列程序: #includestdio.h #define PT 3.5; #define S(x)PT*x*x; main() int a=1,b=2;printf(%4.1fn,S(a+b); 程序运行后的输出结
15、果是( )。 A14.0 B31.5 C7.5 D程序有错无输出结果37、有下列程序: #includestdio.h struct ord int x,y;)dt2=1,2,3,4; main() struct ord*p=dt; printf(%d,+p-x);printf(%d,+p-y); 程序的运行结果是( )。 A1,2 B2,3 C3,4 D4,138、设有宏定义:#define IsDIV(k,n)(k%n=1?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(In,5)&IsDIV(m,7)为真时所要表达的是( )。 A判断m是否能被5或者7整除 B判断m是否能被5和7
16、整除 C判断m被5或者7除是否余1 D判断m被5和7除是否都余139、有下列程序: #includestdio.h main() int a=5,b=1,t; t=(a2)|b;printf(%dn,t); 程序运行后的输出结果是( )。 A21 B11 C6 D140、有下列程序: #includestdio.h main() FILE*f; f=fopen(filea.txt,w); fprintf(f,abc); fclose(f); 若文本文件filea.txt中原有内容hello,则运行以上程序后,文件filea.txt中的内容为( )。 Ahelloabc Babclo Cabe
17、Dabchello二、填空题1、假设用一长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有_个元素。2、软件测试可以分为白盒测试和黑盒测试。基本路径测试属于_测试。3、符合结构化原则的三种基本控制结构是:选择结构、循环结构和_。4、数据库系统的核心是_。5、在E-R图中图形包括矩形框、菱形框、椭网框。其中表示实体联系的是_框。6、表达式(int)(double)(5/21+2.5)的值是_。7、若变量x、y已定义为int类型,X的值为99,y的值为9,请将输出语
18、句“printf(_,x/y):”补充完整,其输出的计算结果形式为:x/y=11。8、有下列程序 #includestdio.h main() char c1,c2; scanf(%c&c1); while(c165|c190)scanf(%c,&c1); c2=c1+32: printf(%c,%cn,c1,c2); 程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)_。9、下列程序运行后的输出结果是_。 #includestdio.h main() int k=1,s=0; do if(k%2)!=0)continue; s+=k;k+; whiIe(k10); printf
19、(s=%dn,s); 10、下列程序运行时,若输入1abcdef2df回车,输出结果为_。 #includestdio.h main() char a=0,ch; while(ch=getchar()!=n) if(a%2!=0&(ch=a&ch=z)ch=ch-a+A: a+;putchar(ch); printf(n); 11、有下列程序,程序执行后输出结果是_。 #includestdio.h main() a0=ai; main() int a10=10,9,8,7,6,5,4,3,2,1,i; for(i=2;i=0;i-)fun(&ai); for(i=0;i10;i+)print
20、f(%d,ai); printf(n) 12、请将下列程序中的函数声明语句补充完整。 #includestdio.h int_; main() int x,y(*p)( ); scanf(%d%d,&x,&y); p=max; printf(%dn,(*p)(x,y); mt max(int a,int b) return(ab?a:b);13、下列程序用来判断指定文件是否能正常打开,请填空。 #includestdio.h main() FILE*fp; if(fp=fopen(test.txt,r)=_) prinff(文件打开成功!n); else printf(未能打开文件!n); 1
21、4、下列程序的运行结果为_。 #includestdio.h #includestdio.h struct A int a;char b10;double c; void f(struct A*t): main() struct A a=1001,ZhangDa,1098.0; f(&a);printf(%d,%s,%6.1fn,a.a,a.b,a.c); void f(struct A*t) strcpy(t-b,ChangRong);15、下列程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空。 #includestdio.h s
22、truct node int data;struct node*next; typede f struct node NODETYPE; main() NODETYPE a,b,c*h,*p; a.data=10;b.data=20;c.data=30;h=&a; a.next=&b;b.next=&c;c.next=0; p=h; while(p)printf(%d,p-data);_; printf(n): 答案:一、选择题1、D解析 本题考查了栈、队列、循环队列的基本概念,栈的特点是先进后出,队列的特点是先进先出,根据数据结构申各数据元素之间的复杂程度,将数据结构分为线性结构与非线性结构
23、两类。有序线性表既可采用顺序存储结构,也可以采用链式存储结构。2、A解析 根据栈的定义,栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。3、C解析 根据二叉树的性质判定,在任意二叉树中,度为O的叶子结点总是比度为2的结点多一个。4、D解析 本题考查排序的比较次数,冒泡排序、简单选择排序和直接插入排序在最坏的情况下比较次数为n(n-1)/2。而堆排序法在最坏的情况下需要比较的次数为nlog2n。5、C解析 编译程序和汇编程序属于开发工具,操
24、作系统属于系统软件,而教务管理系统属于应用软件。6、A解析 软件测试的目的是为了发现错误及漏洞。软件测试要严格执行测试计划。程序调式通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。7、B解析 耦合是指模块间相互连接的紧密程度,内聚性是指在一个模块内部各个元素间彼此之间结合的紧密程序。高内聚、低耦合有利于模块的独立性。8、A解析 数据库设计的目的是设计一个能满足用户要求、性能良好的数据库。所以数据库应用系统的核心是数据库设计。9、B解析 本题考查关系的运算,一个关系R通过投影运算后仍为一个关系R,R从R指定关系的属性(字段)集合中选取部分属性组成同类的一个新关系。选择运算主要是对关系R中选择由满足逻辑条件的元组所组成的一个新关系,所以题中关系S是由R投影所得。10、C解析 在C语言中,将E-R图转换为关系模式时,实体和联系都可以表示为关系。11、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1