您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 计算机国二C语言考试试题第三套
第三套1.对下面程序描述正确的一项是(每行程序前面的数字表示行号)()①main()②{③floata[3]={0.0};④inti;⑤for(i=0;i3;i++)scanf(″%d″,&a[i]);⑥for(i=1;i3;i++)a[0]=a[0]+a[i];⑦printf(″%f\n″,a[0]);⑧}A.没有错误B.第3行有错误C.第5行有错误D.第7行有错误分析:第五行处输入值格式和定义不一致,定义的为float类型a[3],输入值格式为scanf(“%f”,&a[i]);如果定义的为int类型a[3],则输入值格式为scanf(“%d”,&a[i])。。2.线性表L=(a1,a2,a3…ai,…an),下列说法正确的是()A.每个元素都有一个直接前件和直接后件B.线性表中至少有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件分析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表定义中,元素的排列并没有规定大小顺序。3.软件工程的出现是由于()A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展分析:软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。4.数据流图(DFD)中,带名字箭头表示()A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向分析:数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。5.关系表中的每一横行称为一个()A.元组B.字段C.属性D.码分析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。6.循环链表的主要优点是()A.不再需要头指针了B.从表中任一结点出发都能访问到整个链表C.在进行插入、删除运算时,能更好的保证链表不断开D.已知某个结点的位置后,能够容易的找到它的直接前分析:循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环形,这样的结构使得从表中的任一结点出发都能访问到整个链表。7.n个顶点的强连通图的边数至少有()A.n-1B.n(n-1)C.nD.n+1分析:在有向图中,若任意两个顶点都连通,则称该图是强连通图,这样的有向图的形状是环状,因而至少应有n条边。8.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的()A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法分析:模块的独立程序的评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。9.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是()A.路径的集合B.循环的集合C.目标的集合D.地址的集合分析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。10.数据库设计包括两方面设计内容,它们是()A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计分析:略11.C语言中用于结构化程序设计的3种基本结构是()A.顺序结构、选择结构、循环结构B.if,switch,breakC.for,while,do-whileD.if,for,continue分析:本题考查最简单的C程序设计知识。在做题之前一定要慎重对待题干的主要信息,本题所描述的是“3种基本结构”,而选项B,C,D则表达的是零零散散的循环结构。12.若变量已正确定义并赋值,以下符合C语言语法的表达式是()A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b分析:选项A中包含一个不合法的运算符“:=”;选项C应改为(int)18.5%3;选项D可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。因此,正确答案是选项B,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。13.若变量a,i已正确定义,且i已正确赋值,合法的语句是()A.a==1B.++i;C.a=a++=5;D.a=int(i);分析:选项A是一个表达式,因为缺省分号,所以不是语句;选项C包含一个不合法的运算符“++=”;选项D应改为a=(int)i;。14.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(″a=%d,b=%d\n″,a,b);}该程序的输出结果是()A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2分析:该题目的关键是要搞清楚该程序执行了哪几条语句。由于x的值等于1,所以switch结构中,程序从case1后面的语句开始执行,又因为case1后面的语句没有以break结束,所以程序要继续往下执行case2后面的语句。所以,该程序共执行了这三条语句:a++;a++;b++;因此,变量a和b最后的值应该为2和1。15.有如下程序main(){intn=9;while(n6){n--;printf(″%d″,n);}}该程序的输出结果是()A.987B.876C.8765D.9876分析:该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪个选项是正确的。第一次进入循环时,n的值是9,循环体内,先经过n--运算,n的值变为8,所以第一次的输出值是8,由此可以排除选项A和D。由循环条件n6可以知道,最后一次循环开始时,n的值应该为7,所以最后一次执行循环体时输出为6,由此可以排除选项C。16.若已定义函数有返回值,以下关于该函数调用叙述中错误的是()A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参分析:本题综合考查函数的调用方式。函数的形参和实参具有以下特点:①形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。②实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值.③实参和形参在数量上,类型上,顺序上应严格一致,否则会发生“类型不匹配”的错误。④函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化17.若有以下调用语句,则不正确的fun函数的首部是()main(){…inta[50],n;…fun(n,&a[9]);…}A.voidfun(intm,intx[])B.voidfun(ints,inth[41])C.voidfun(intp,int*s)D.voidfun(intn,inta)分析:函数定义的一般形式为:类型说明符函数名(){类型说明语句}根据fun函数的调用语句可知,fun函数的第二个参数是一个地址值。18.若运行时给变量x输入12,则以下程序的运行结果是()main(){intx,y;scanf(″%d″,&x);y=x12?x+10:x-12;printf(″%d\n″,y);}A.0B.22C.12D.10分析:本题考查的是三目运算符的用法,三目运算符形式为(表达式1)?(表达2):(表达式3)。当(表达式1)的值为真时,求(表达式2)的值为整个表达式的值;如果(表达式1)的值为假,则求(表达式3)的值为整个表达式的值。题中,表达式x12的结果为假,所以执行的语句是x-12,最终y的值应该是0。19.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf(″%d\n″,F(a++,b++));}程序运行后的输出结果是()A.12B.15C.16D.20分析:本题考查了带参数的宏定义,参数只是简单的替换而不是把其值求出后替换形式参数。本题中用a++替换X,用b++替换Y,再求(a++)*(b++)的值。20.若有下面的程序段chars[]=″china″;char*p;p=s;则下列叙述正确的是()A.s和p完全相同B.数组s中的内容和指针变量p中的内容相等C.s数组长度和p所指向的字符串长度相等D.*p与s[0]相等分析:字符型指针变量p中存放的是“china”的首地址,所以选项A和B错误。s数组长度为6,而p所指向的字符串长度为5,二者不相等,排除选项C。21.以下程序的运行结果是()#include″stdio.h″main(){structdate{intyear,month,day;}today;printf(″%d\n″,sizeof(structdate));}A.6B.8C.10D.12分析:在解答本题时应该考虑两个问题:结构体变量的长度及sizeof()求字节数的运算符。结构体变量的长度是其内部成员总长度之和,本题中,structdate中包含year,month,day三整型变量。一个整型变量所占的字节数为2。22.下列关C语言数据文件叙述正确的是()A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件分析:C语言是把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。23.一个C语言程序是由()A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成分析:C程序是由函数构成的。一个C源程序至少包括一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数。24.以下不正确的叙述是()A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值分析:在C语言所有的运算符中,逗号运算符的优先级最低。C语中区分大小,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数和整型数值等。25.下面程序的运行结果是()#includestdio.hmain(){inty=10;do{y--;}while(--y);printf(″%d\n″,y--);}A.-1B.1C.8D.0分析:本题考查“++”和“--”运算符,运算符“++”是操作数加1,而“--”则是操作数减1。例如:x=x+1可写成x++,或++xx=x-1可写成x--,或--xx++(x--)
本文标题:计算机国二C语言考试试题第三套
链接地址:https://www.777doc.com/doc-2098718 .html