版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二级C语言2014年09月-(2)一、选择题1、下列叙述中正确的是。A节点中具有两个指针域的链表一定是二叉链表 B节点中具有两个指针域的链表可以是线性结构,也可以是非线性结构 C二叉树只能采用链式结构D循环链表是非线性结构2、某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序列为。ABADCBDCBACCDABDABCD设计工具的是。3、下面不能作为 APAD图B程序流程图C数据流程图(DFD图)D总体结构图4、逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是。A关系模型B谓词模型C物理模型D实体-联系模型5、运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。则
2、实体项目和运动员之间的联系是。A多对多B一对多C多对一D一对一6、下面描述不属于特点的是。A C是一种逻辑实体,具有抽象性B在使用中不存在磨损、老化问题复杂性高D使用不涉及知识7、某二叉树中有15个度为1的节点,16个度为2的节点,则该二叉树中总的节点数为。A32B46C48D498、下面对A B C D特点描述错误的是。没有明显的制作过程是一种逻辑实体,不是物理实体,具有抽象性的开发、运行对计算机系统具有依赖性在使用中存在磨损、老化问题9、某系统结构图如下图所示:该系统结构图中最大扇入是。A0B1C2D310、设有表示公司和员工及雇佣的三张表,员工可在多家公司,其中公司表C(公司号,公司名,
3、地址,资本,员工数),员工表S(员工号,学历),雇佣表E(公司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表S的键为员工号,则表E的键(码)为。A公司号,员工号B员工号,工资C员工号D公司号,员工号,工资11、算法应当具有的特性不包括。A可行性B有穷性C确定性D美观性12、若想给已定义为型的变量a、b、c、d赋整数1,以下选项中错误的语句是。Ad=c,c=b,b=a,a=1;Bd=c=b=a=1;Cd=(b=c=(a=1);Dd=1,c=d,b=c,a=b;13、以下选项中,合法的C语言常量是。A21.84BCPPC1.0D2MB14、下面叙述正确的是。AC语言程序的语句经过编译和
4、转换成二进制机器指令后才能执行B任何算法需要包含三种基本结构中的两种以上 C复杂算法是不能用三种基本结构来表达的 D只要是简单算法,它的操作步骤都不会超过20步15、若已有定义语句:。a,b,c;,且变量已正确赋初值,则以下选项中正确的赋值表达式是Aa=(b=c) +8; Ca=(b=c)=A;B(a=b)=c=9; Da+b=c+1;16、以下表达式的值与x无关、其值恒为真的是。Cx10 A0 x5Bx10& x5x5Dx10& x517、以下的字符常量是。AnB101Cx21D0a=0,b=0,c=0,d=0;,以下关于C语言表达式:(+a +b)?+c:+d18、若有定义:执行顺序的叙述
5、正确的是。先执行+a,表达式+a的值为1;再执行+b,表达式+b的值为1,由此可确定(+a +b)值为1,因此执行+c先执行+a,表达式+a的值为1,由此可确定(+a +b)值为1,因此执行+c C先执行+b,表达式+b的值为1;再执行+a,表达式+a的值为1,由此可确定(+a +b)值为1,因此执行+cD先执行+a,+b,+c,+d,使得a,b,c,d的值都为1,由此可确定(+a +b)值为1,因此执行+c19、有如下程序:#include stdio.hmain( )i, data; scanf(%d,&data);for(i=0; i10; i+)if(idata) break;prf(
6、%d,i);程序运行时,从键盘输入:3回车后,程序输出结果为。A3,4,5,B1,2,3,C2,3,4,D0,1,2,3,20、有以下程序:#include stdio.hmain( )i = 4;f(%d,i); i2; i+)for( prprf(%d,i);prf(n);程序运行后的输出结果是。A12B4C1D021、有以下程序:#include stdio.hmain( )if(0 = 0)if(0 = 0)pif(ab) pphar(1);har(2);har(3);程序运行后的输出结果是。A1B123C23D322、有如下程序段:k; for(k=2;k=0;) prf(%d,k-
7、);则for循环体执行的次数是。A0次B1次C2次D无限次23、有以下程序:#include stdio.hk=5;void f(*s)s=&k;*s=7:main( )m=3;f(&m);prf(%d,%dn,m,k);程序运行后的输出结果是。A3,5B7,7C5,7D3,724、有以下程序:#include stdio.hvoid fun(i;a,n)for(i=0; in; i+) if (i%3=0)ai -= n; elseai += n;main( )c5 = 6,7,8,9,10,i;fun(c,5);for(i=0;i5; i+) prf(%d,ci);prf(n);程序运行后
8、的输出结果是。A1,12,13,4,15,B10,9,8,7,6,C1,7,13,9,15,D10,12,8,4,6,25、有以下程序:#include stdio.hsub(double a, doub)return ()(a - b -1.3);main( )prf(%dn, sub(3.2,4.1);程序运行后的输出结果是。A-2B1.7C-3D2.026、有以下程序:#include stdio.hmain( )i,*ptr;array4 = 1,1,3,4;for (ptr=array, i=0; i3; i+) prf(n);程序运行后的输出结果是。prf(%d,* ptr+);A
9、1,2,4,B1,3,4,C1,1,3,D1,3,4,27、有以下程序:#include stdio.hmain( )x = 8,2,6,12,5,15,f1,f2;* p = x;f1 = f2 = x0;for(; p=x+5; if(f1*p)f1 if(f2*p)f2p+)= *p;= *p;prf(%d,%dn,f1,f2);程序的运行结果是。A15,2B15,15C2,15D8,828、有以下程序:#include stdio.hmain( )x34 = 1,3,5,7,9,11,2,4,6,8,10,12 (*p)4 = x,k = 1,m,n = 0;for(m=0; m2;
10、m+) n +=*(*(p+m)+k);prf(%dn,n);程序的运行结果是。A10B20C14D1629、有以下程序:#include stdio.hmain( ) char b410,c; i,j;for(i=0; i4; i+) j=0;while(c=getchar()!=&c!=n) bij+ = c; bij =0;prf(%s%s%, b0, b1, b2, b3);程序运行时从第一列开始输入: Peach flower is pink回车则输出结果是。achflowerispink BPeachfloweris pinkCPeachflowerispinkDPeach flo
11、wer is pink30、有如下程序:#include stdio.hvoid convert(char ch)if(ehX) convert(ch+1);pr main( )f(%c, ch);convert(W);prf(n);程序运行后的输出结果是。AYZBVWCXYDXW31、有以下程序:#include stdio.h #include string.h main( ) char a20 =ab,b20=cdef; k=0;strcat(a,b);while(ak!=0) bk=ak; k+; puts(b);程序的运行结果是。AabcdefBcbcdefCcdefDab32、以下
12、使指针指向一个字符串的选项错误的是。Achar* ps Bcharchar Ccharps = Dcharps =str = string, *ps;= str;str = string;ps = str;str = string, *ps; str;ps; string;33、有以下程序:#include stdio.htypedef struct stu char name10; char gender;score; STU;void f(STU a, STU *b) *b = a;prf(%s,%c,%d,b-name, b-gender,b-score);main( ) STU a=Z
13、hao,m,290,b=5Qian,f,350;f(a,&b);prf(%s,%c,%din,,b.gender,b.score);程序运行后的输出结果是。AZhao,m,290,Qian,f,350 CQian,f,350,Qian,f,350BQian,m,290,Zhao,m,290 DZhao,m,290,Zhao,m,29034、若有定义:typedef T a20;* T;则以下与上述定义中a类型完全相同的是。A* a20;B(*a)20;Ca20;D* *a20;35、有如下程序:#include stdio.hstructchar name10; age;main(
14、 )structroom2 = Wang,19,Li,20;prf(%s:%dn,(room+1)-name,room-age);程序运行后的输出结果是。ALi:19BWang:19CLi:20DWang:1736、以下关于编译预处理的叙述中错误的是。A预处理命令行必须位于源程序的开始 B源程序中凡是以#开始的控制行都足预处理命令行 C一行上只能有一条有效的预处理命令 D预处理命令是在程序正式编译之前被处理的37、以下关于宏的叙述错误的是。A宏替换不具有计算功能 C宏名必须用大写字母B宏是一种预处理指令 D宏替换不占用运行时间38、有以下程序:#include stdio.hstruct Sx
15、, y;main( )struct S data3=4,3,2,0,8,1; i;for(i=0; i3;i+)f(%d%d;, datai.x, datai.y 1);prprf(n);程序运行后的输出结果是。A41;20;80;B41;22;64;C40;21;80;D43;20;81;39、以下叙述正确的是。A文件指针是指针类型的变量 B在使用文件指针时,不需要在内存中为其分配空间C文件指针变量的值是文件的当前位置D调用fscanf函数能向所有类型的文件中写入任意字符40、有以下程序:#include stdio.htypedef struct stu char name10; char
16、 gender;score; STU;void f(STU a,STU * b) a = * b;prf(%s,%13,%d,,a.gender,a.score);main( ) STU a = Zhao,m,290, b = Qian,f,350;f(a,&b);prf(%s,%c,%dn,,a.gender,a.score);程序运行后的输出结果是。AQian,f,350,Qian,f,350 CQian,f,350,Zhao,m,290BZhao,m,290,Qian,f,350 DZhao,m,290,Zhao,m,290二、程序填空题41、给定程序中,函数fu
17、n的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例10个正数:、 、 、 6,平均值为30.500000。移动后的输出为:、 、 6。请在程序的下画线处填入正确的内容,使程序得出正确的结果。注意:部分源程序在文件BL1.C中。不得增行或删行,也不得更改程序的结构!试题程序:#include stdlib.h #include stdio.h #define N 10double fun(double* x)i,j; double
18、s, av, yN; s=0;for(i=0; iN; i+) s=s+xi;/*found*/ av=;for(i=j=0; iN; i+) if( xiav )/*found*/ y =xi;xi = -1;for(i=0;iN;i+)/*found*/if(xi!=) yj+ =xi;for(i=0; iN; i+)xi = yi; return av;niain( ) inf i; double xN;for(i=0; iN; i+) xi =rand( )%50; prf(%4.0f,xi);pr pr prf(n);f(nThe average is: %fn,fun(x); f(
19、nThe result: n,fun(x);for(i=0; iN; i+)prf(%5.0f,xi);prf(n);三、程序修改题42、下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。例如,若m的值为5,则应输出0.536389。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include stdio.hdouble fun ( double y=1.0; i ;m)/*found*/ for( i = 2 ; i m ; i+)/*found*/ y -= 1
20、/(i * i) ;return(y);main( )n=5 ;prf(nThe result is%lfn, fun(n);四、程序设计题43、编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。例如,若n为1000时,程序输出应为:s=153.909064。注意:部分源程序在文件PROG1.C中。改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include math.h#include stdio.hdouble fun(n)main()/* 主函数 */ void NONO();prf
21、(s=%fn, fun(1000);NONO();void NONO()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE* fp,* wf;i,n; double s;fp = fopen(in.dat,r);wf=fopen(out.dat,w); for(i = 0; i10 ; i+) fscanf(fp,%d,&n) ; s = fun(n) ;fprf(wf,%fn,s) ;fclose(fp) ; fclose(wf) ;:一、选择题1、B 具有两个指针域的链表可能是双向链表,A选项错误。双向链表是线性结构,二叉树为非线性结构,二者节点中均有两个指针
22、域,B选项正确。二叉树通常采用链式构,C选项错误。循环链表是线性结构,故D选项错误。2、B结构,也可采用其他结 二叉树遍历可以分为3种:前序遍历(根节点,左节点,右节点)、中序遍历(左节点,根节点,右节点)、后序遍历(左节点,右节点,根节点)。本题中前序序列为ABCD,中序序列为DCBA,可知D为根节点,ABC为左侧节点,C为D DCBA,故B选项正确。3、C节点,A为B子节点,故后序序列为设计常用的工具有:图形工具,如程序流程图、N-S图、PAD图、HIPO;表格工具,如判定表;语言工具,如PDL(伪码)。另外,在结构化设计方法中,常用的结构设计工具是结构图,故选择C选项。4、A 逻辑数据模
23、型也称数据模型,是面向数据库系统的模型,着重于在数据库系级的实现。成熟并大量使用的数据模型有层次模型、网状模型、关系模型和面5、A象模型等。故A选项正确。 一般来说,实体集之间必须通过联系来建立连接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。一个运动项目有很多运动员参加,而一个运动员可以参加多项运动项目,故实体项目和运动员之间的联系是多对多,故A选项正确。6、D具有以下特点:是一种逻辑实体,具有抽象性;没有明显的制作过程;复杂性高,成本昂贵;在 开发使用期间不存在磨损、老化问题;对硬件和环境具有依赖性;涉及诸多的社会,如知识等。故选项D正确。7、C 在树结
24、构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。对任何一棵二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个。由16个度为2的节点可知叶子节点个数为17,则节点总数为16+17+15=48,故C选项正确。8、D具有以下特点:是一种逻辑实体,具有抽象性;没有明显的制作过程;复杂性高,成本昂贵;在 开发使用期间不存在磨损、老化问题;对硬件和环境具有依赖性;涉及诸多的社会9、C。故D选项正确。 扇入指的是调用一个给定模块的模块个数。题干系统中,第2层模块扇入均为1,第3层能模块3.1扇入为2,其余为1,故最大扇入为2,故C选项正确。10、A 二维表中的行称为元组,
25、候选键(码)是二维表中能唯一标识元组的最小属性集。若一个二维表有多个候选码,则选定其中一个作为主键(码)供用户使用。公司号唯一标识公司,员工号唯一标识员工,而雇佣需要公司号与员工号同时唯一标识,故表E的键(码)为(公司号,员工号),故A选项正确。11、D 一个算法应该具有以下五个重要的特征:有穷性,确定性,输入,输出以及可行性,故选D选项。12、A 赋值是将一个常量的值赋给一个变量,在A选项中,变量C初始值未定义,相当于一个未知数给变量d赋值,不满足赋值为1的条件,13、A选A选项。 21.84是典型的浮点型数据,故A选项正确;字符常量是单引号括起来的一个字符,字符串常量是双引号括起来的字符序
26、列,B、C选项错误;C语言常量不能直接用未加引号的字母、数字组合,故D选项错误。14、A 算法共有三种逻辑结构,即顺序结构、条件结构和循环结构,一个算法可以含有这三种逻辑结构的任意组合,B选项错误;复杂算法可以用三种基本结构表达,C选项错误;简单算法操作步骤不超过5步,D选项错误,15、A为A选项。 赋值运算符左边必须是一个变量,B、D选项错误;C选项中,(b=c)是个表达式,语法错误,故排除C选项,故16、A为A选项。 逻辑与只有在“&”符号两边操作均为真时,逻辑表达式为真;逻辑或当且只当“ ”符号两边操作至少有一个为真时,逻辑表达式为真。可见选项B、C、D中,使得表达式恒为真,都跟x的取值
27、有关,故排除B、C、D选项;。17、A为A选项,0 x5,根据优先级,0 x为0或1,均小于5,故 C语言允许使用一些以特殊形式出现的字符常量,使用n来表示换行,n实际上是一个字符,它的ASCII码值为10,不存在n用法,故18、B为A选项。 表达式1?表达式2:表达式3,若表达式1为真,则执行表达式2,否则执行表达式3,+a表示先将变量a+1,再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式(+a +b)中,左操作数+a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数+b不再求解,直接执行表达式2,即
28、+c,为B选项。19、D 从键盘上输入“3”,此时data=3。进入for语句,执行if语句,判断idata是否成立,如果条件成立,运行break语句结束整个循环过程。当i等于0、1、2、3时,if条件不满足,执行循环体中的prf(%d,i)语句,因此 20、B为D选项。 for(prf(%d,i);i2;i+)先输出i,由于i=4,不满足条件,直接输出换行符,因此21、A为B选项。 0是转义字符,表示空字符,故0=0成立,输出1;0是字符常量和0不等,a和b都是字符常量,因为ba,不执行if后面的语句,所以最后输出只有1,故项。22、A为A选 for(k=2;k=0;)表示给k赋值2,如果k
29、等于0,则进入循环,但是k不满足条件,因此循环体不执行。正确23、D为A选项。 函数f()的功能是定义一个整型的指针变量s,指向全局变量k,然后修改s指向地址中的值为7,因此f()函数只是修改全局变量k的值为7,与main()函数中临时变量m无关,因此最后输出为3,7,24、A为D选项。 fun()函数功能是:对数组中,下标对3求余为0的元素减去5,下标对3求余不为0的元素累加5,所以执行完fun()函数后,数组c中元素值为1,12,13,4,15,25、A为A选项。 sub()函数输出()(a-b-1.3)将结果强制转化为整型,因此可以排除B、D选项,(a-b-1.3)=-2.2,( 26、
30、C)(-2.2)=-2,sub)(32,41)=-2,故为A选项。 for语句中把array数组首地址值赋给ptr,然后再循环体中进行输出,再把ptr对应的地址值加1,重复三次,输出数组前三个数1,1,3因此27、A为C选项。 本题的用意是求数组的最大值和最小值,首先把数组x首地址的值赋给指针p,故* p初始值为8,而p是地址值,p+1相当于数组中下一元素的地址,在for循环,是求数组x对应的最大值和最小值,f1为最大值,f2为最小值。因此输出为15,2,28、C为A选项。 *(*(p+m)+k)系统默认为指针指向数组中第mk个元素,因此,在for循环中,n+=*(*(p+m)+k);执行的是
31、将数组x01和x11累加后赋值给n,最后进行输出, C选项。29、A为 for循环语句中,通过执行、while语句,while的判断条件输入的字符不为空格和回车,把输入的字符串 为分隔符,分别保存在二维数组b的4行中,再通过%s格式控制符,将二维数组b的四行字符串无空格连接输出,30、D为A选项。 在main函数中,执行convert(W)函数,因为W比X小,满足if语句,再执行convert(ch+1);此时ch=X,不满足条件,输出X,完成后,返回上一次convert中,输出上次ch=W,因此31、A为D选项。 strcat(字符串1,字符串2)函数是把字符串2连接到字符串1的后面,最终结
32、果存放到字符串1中,因此本题把字符串a,b连接起来放在数组a中,while语句完成功能是再将字符串a赋给字符串b,因此为A选项。32、A A选项中定义了指针ps后,*ps表示指针ps指向地址的内容,而不是地址,*ps=str无法将str的首地址赋给一个常量,语法错误,为A选项。语句char str,*ps=str等效于char str,*sp;ps=str。33、D 本题定义了一个结构变量struct stu,并且命名为STU,STU结构中包含三个数据。main函数中,首先为结构变量a,b初始化,再调用函数f(),在f()函数中,使用结构体变量a对指针b指向的结构体进行赋值,使得指针b指向的结构体成员依次赋值为结构体a的成员,然后依次输出指针b指向的结构体成员的值;由于f函数形参b为指针,所以指针b指向的值被修改为a的同时,main函数中的实参b的值也被修改成a,34、A为D选项。(注:形参指针b与实参结构体变量b不要。) “typedef类型名新类型名”表示为一个已定义的类型标识符重新定义一个新类型名,题中选项A代表的意思是数组指针,即指向数组的指针,B选项是指针数组,即数组存放的元素是整型指针,首先为整型指针类型命名为T,再通过T定义了一个整型指针数组*a20,等价于*a20, 35、A为A选项。结构类型后,在main函数中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中班半圆形题目及答案
- 政治反垄断的题目及答案
- AI在统计与会计核算中的应用
- AI在水电站机电设备与自动化中的应用
- 临床执业(助理)医师资格实践技能考试 全真模拟演练 C卷
- 2026年湖南省高考历史试卷(含答案)
- 吉水县2026年月星路及盘龙路片区老旧小区改造项目水土保持方案报告表
- 民乐县农作物秸秆综合利用项目水土保持报告表
- 2026服务生面试题及答案
- 2026年AI审核技术在传统服饰内容的应用
- 2025年国有企业招聘招商专业人才20人笔试历年难易错考点试卷带答案解析
- 刑事控告书模板
- 2026年广东高考历史考试题目及答案
- 2026年台州市永宁产业投资集团有限公司公开招聘国企编制工作人员的备考题库完整答案详解
- 2026年高考全国卷语文题库试题附答案完整版
- 2026年高级会计实务考试大纲解析与备考指南
- 日本货币课件
- 带状疱疹常见症状及护理要点讲解
- 软件自动化测试培训
- DB51-T 3298-2025 锂电实验室建设与管理通 用规范
- 招投标管理监督机制研究
评论
0/150
提交评论