2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(1)-中大网校
- 格式:doc
- 大小:138.50 KB
- 文档页数:18
2013年9月全国计算机等级《二级C++》上机模考试卷(6)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1)将E-R图转换到关系模式时,实体与联系都可以表示成()。
A. 属性B. 关系C. 键D. 域(2)下列叙述中正确的是()。
A. C程序的基本组成单位是语句B. C程序中的每一行只能写一条语句C. 简单C语句必须以分号结束D. C语句必须在一行内写完(3)下列选项合法的标识符是()。
A. 1_1B. 1-jC. _11D. 1__(4)有如下程序#include(iostream.h>voidmain(){charch[2][5]={"6937","8254"),*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j])'\0';j+=2)s=10*s+p[i][j]一'0';cout<<S;}该程序的输出结果是()。
A. 69825B. 63825C. 6385D. 693825(5)有如下程序:#included<iostream>usingnamespacestd;classA{public:virtualvoidfuncl(){cout<<"A1";)voidrune2(){cout<<"A2";}};classB:publicA{public:voidfuncl(){cout<<:"B1";}voidfunc2(){eout<<"B2";}};intmain(){A*p=newB;p->func1();P->func2();return0;}执行该程序,屏幕上将显示输出()。
第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。
通讯录记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。
答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。
答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(a/10)*1000+(b/10)*100 +(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText 和WriteText实现。
答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(b/10)*1000+(a%10)*100 +(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。
答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
第四十一套请补充函数fun,该函数的功能是:判断一个数是否为素数。
该数是素数时,函数返回字符串"yes!",否则函数返回字符串"no!",并在主函数中输出。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdlib.h>#include <conio.h>#include <stdio.h>【1】{int I, m;m=1;for(I=【2】;I<n; I++)if (【3】){m=0;break;}if (m==1&&n>1)return("yes!");elsereturn("no!");}void main(){int k=0;system("CLS");printf("Input:");scanf("%d",&k);printf("%s\n",fun(k));}【参考答案】(1) char *fun(int n) (2) 2(3) n%i==0或!(n%i)【考点分析】本题考查:函数的定义;for循环语句中循环变量的取值范围;判定非素数算法。
【解题思路】填空1:根据main( )中调用的函数fun(k),可知函fun的形参为int型变量,函数的返回值为字符型指针。
填空2:判断一个数是否为素数时,也就是判断这个数是否有除了1和其自身之外的因子,所以for循环的变量从2开始,直到这个数的前一个数。
填空3:如果一个数能被除了1和其自身之外的数整除(即余数为0),则这个数不是素数。
下列给定程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。
2013年9月二级C语言真题及答案(考试时间:120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分)) (1)软件是指A)程序 B)程序和文档C)算法加数据结构 D)程序、数据和相关文档的集合(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
参考答案第一套题二、程序填空题本题是根据给定的公式来计算函数的值。
第一处:程序中使用双精度double类型进行计算,所以函数的返回值类型也为double,所以应填:double。
第二处:当i等于1时,则返回f1函数的值,所以应填:f1。
第三处:如果i不等于1,则返回f2函数的值,所以应填:f2。
三、程序修改题解题思路:第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)第二处: 取字符串指针ss的下一个位置,所以应改为:ss++;。
第三处:取字符串指针tt的下一个位置,所以应改为:tt++;。
四、程序设计题解题思路:本题是考察字符串的操作。
1. 由于函数fun1是将字符串中字符循环左移一个位置,并通过实参w返回循环左移一个位置的字符串。
2. 利用循环for语句来操作多少个字符(m)需要循环左移。
参考答案:void fun(char *w, int m) /* 可调用fun1函数左移字符*/{int i;for(i = 0 ; i < m ; i++) fun1(w);}第二套题一、选择题解题思路:第一处:计算好的平均值通过形参av返回,所以应填:*av。
第二处:计算小于平均值且最接近平均值的位置j,所以应填:i。
第三处:返回该数,所以应填:x[j]。
三、程序修改题解题思路:第一处:函数的返回是浮点型数,所以应改为:float fun(int n)。
第二处:for的终止条件应是i<=n。
四、程序设计题解题思路:本题是利用两重循环给二维数组右上三角元素中的值乘以m。
参考答案:int fun ( int a[][N], int m ){int i, j;for(i = 0 ; i < N ; i++)for(j = i ; j < N ; j++)a[i][j] *= m ;}第三套题一、选择题解题思路:第一处:如果n是奇数,则中间的元素不动,所以应填:1。
2013年全国计算机等级《二级C语言》模拟试卷(7)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1)数据流图中方框表示的是()。
A. 数据流B. 存储文件C. 控制流D. 源,潭(2)下列描述中正确的是()。
A. 程序就是软件B. 软件开发不受计算机系统的限制C. 软件既是逻辑实体,又是物理实体D. 软件是程序、数据和相关文档的集合(3)软件设计中衡量模块独立性的度量标准是()。
A. 抽象和信息隐蔽B. 局部化和封装化C. 内聚性和耦合性D. 激活机制和控制方法(4)设有定义:int m=0;。
以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A. ++mB. m+=1C. m++D. m+1(5)有以下程序:程序运行后的输出结果是()。
A. 1,2,3,4,5,6,7,8,9,10,B. 1,2,7,6,3,4,5,8,9,10,C. 1,2,7,6,5,4,3,8,9,10,D. 1,2,9,8,7,6,5,4,3,l0,(6)表示关系M<=N<=P的C语言表达式为()。
A. (M<=N.AND(N<=P.B. (M<=N.&&(N<=P.C. (M<=N<=P.D. (M<=N.&(N<=P.(7)在软件开发中,需求分析阶段产生的主要文档是()。
A. 软件需求规格说明书B. 数据库说明书C. 集成测试计划D. 概要设计说明书(8)运行下面程序时,从键盘输入字母H,则输出结果是()。
A.B.C.D.(9)下列关于算法复杂度描述正确的是()。
A. 算法的时间复杂度是指算法执行的时间B. 算法的空间复杂度是指执行这个算法所需的内存空间C. 一个算法的空间复杂度大,则其时间复杂度必定大D. 一个算法的空间复杂度大,则其时间复杂度必定小(10)下面的程序段运行后,输出结果是()。
全国计算机等级考试二级C语言真题2013年9月(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是______。
(分数:1.00)A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:[解析] 栈是按照先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B。
2.下列叙述中正确的是______。
(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的√解析:[解析] 循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B与C错误。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。
(分数:1.00)A.O(n)B.O(n2)C.O(log2n) √D.0(nlog2n)解析:[解析] 当有序线性表为顺序存储时才能用二分法查找。
可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
4.下列叙述中正确的是______。
(分数:1.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的√B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:[解析] 链式存储结构既可以针对线性结构也可以针对非线性结构,所以B与C错误。
全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)2013年9月一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1) 十进制数1385转换成十六进制数为A) 568 B) 569 C) D85 D) D55(2) 下列叙述中正确的是A) 计算机病毒只能传染给可执行文件B) 计算机软件是指存储在软盘中的程序C) 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D) 硬盘虽然装在主机箱内,但它属于外存(3) 一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随计算机系统而不同的(4) CPU主要由运算器与控制器组成,下列说法中正确的是A) 运算器主要负责分析指令,并根据指令要求作相应的运算B) 控制器主要完成对数据的运算,包括算术运算和逻辑运算C) 控制器主要负责分析指令,并根据指令要求作相应的运算D) 控制器直接控制计算机系统的输入与输出操作(5) 下列叙述中正确的是A) 将数字信号变换成便于在模拟通信线路中传输的信号称为调制B) 以原封不动的形式将来自终端的信息送入通信线路称为调制解调C) 在计算机网络中,一种传输介质不能传送多路信号D) 在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6) 各种网络传输介质A) 具有相同的传输速率和相同的传输距离B) 具有不同的传输速率和不同的传输距离C) 具有相同的传输速率和不同的传输距离D) 具有不同的传输速率和相同的传输距离(7) 多媒体计算机系统的两大组成部分是A) 多媒体功能卡和多媒体主机B) 多媒体通信软件和多媒体开发工具C) 多媒体输入设备和多媒体输出设备D) 多媒体计算机硬件系统和多媒体计算机软件系统(8) 按通信距离划分,计算机网络可以分为局域网和广域网。
1 2013年9月份 全国计算机等级考试二级C 语言 试题题库(无纸化考试专用)(说明:无纸化考试选择题40分,程序题60分。
学会这些题,保证二级高空飘过!!!)第一套给定程序的功能是:求二分之一圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main 函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h> double fun( double r) { return 3.14159*【1】/2.0;}void main() {double x; printf("Enter x: "); scanf("%lf",【2】);printf("s=%lf\n",fun(【3】));}【参考答案】 (1)r*r (2)&x (3)x【考点分析】 本题考查:圆面积计算公式S π=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。
【解题思路】填空1:计算圆的面积,公式为:s r π=*r 。
填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x 。
填空3:函数的实际参数是圆的半径x 。
下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
全国计算机等级考试二级VISUAL FOXPRO真题2013年9月(总分:47.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.支持子程序调用的数据结构是()。
(分数:1.00)A.栈√B.树C.队列D.二叉树解析:[解析] 栈支持子程序调用。
栈是一种只能在一端进行插入或删除的线性表。
在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A选项。
2.下列叙述中正确的是()。
(分数:1.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构√解析:[解析] 栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。
3.对于循环队列,下列叙述中正确的是()。
(分数:1.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针√解析:[解析] 循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作进行变化。
因为是循环利用的队列结构,所以对头指针有时可能大于队尾指针,有时也可能小于队尾指针。
4.算法的空间复杂度是指()。
(分数:1.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:[解析] 算法的空间复杂度是指算法在执行过程中所需要的内存空间。
所以选择A选项。
5.算法的有穷性是指()。
(分数:1.00)A.算法程序的运行时间是有限的√B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:[解析] 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(1)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 有以下程序#include<stdio.h>main(){ int a=1,b=2,c=3,x;x=(a^b)&C;printf("%d",x);}程序的运行结果是( )。
A. 0B. 1C. 2D. 3(2) 有以下程序:fun(int x,int y){return(x+y);)main(){ int a=1,b=2,c=2,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}执行后的结果是( )。
A. 6B. 7C. 8D. 9(3) 以下程序的输出结果是( )。
main(){ int i;for(i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}A. 000102B. 000020C. 000122D. 000111(4) 有以下程序:main(){ int k=5;while(--k)printf("%d",k-=3);printf("\n");}执行后的输出结果是( )。
A. 1B. 2C. 4D. 死循环(5) 若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是( )。
A. a[o][4]B. a[1][3]C. a[o][3]D. a[1][4](6) 已知函数fread的调用形式为“fread(buffer,size,count,fp);”,其中buffer代表的是( )。
A. 存放读入数据项的存储区B. 一个指向所读文件的文件指针C. 一个指针,是指向输入数据存放在内存中的起始地址D. 一个整型变量,代表要读入的数据项总数(7) 有下列程序:int fun(int n){ if(n==1)}return 1;elsereturn(n+fun(n-1));}main(){ int x;scanf("%d",&x);x=fun(x);printf("%d\n",x);)执行程序时,给变量x输入10,程序的输出结果是( )。
A. 55B. 54C. 65D. 45(8) 下列程序输出结果是( )。
#include<stdio.h>main(){ char a[]={'a','b','C','d','e','f','\0').int i,j;i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);}A. 7,7B. 7,6C. 6,6D. 6,7(9) 有下列程序:int fun(int x[],int n){ static int sum=0,i:for(i 0;i<n;i++) sum+=x[i];return sum;}main(){ int a[]={1,2,3,4,5),b[]一{6,7,8,9),s=0:s=fun(a,5)+fun(b,4);printf("%d\n",s):}程序执行后的输出结果是( )。
A. 45B. 50C. 60D. 55(10) 在面向对象方法中,( )描述的是具有相似属性与操作的一组对象。
A. 属性B. 事件C. 方法D. 类(11) 下列特征中不是面向对象方法的主要特征的是( )。
A. 多态性B. 继承C. 封装性D. 模块化(12) 有下列程序:fun(int x,int y){ static int m=0,i=2;i+=++rn;rfl—i+x+y;return m;}main(){ int j=l,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j.m);printf(”%d \n”,k);}执行后的输出结果是( )。
A. 5.5B. 5,11C. 11,11D. 11,5(13) 算法的时间复杂度是指( )。
A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程所需要的基本运算次数D. 算法程序中的指令条数(14) 已知数据表A中每个元素距其最终位置不远,为了节省时间,应采用的算法是()。
A. 堆排序B. 直接插入排序C. 快速排序D. 直接选择排序(15) 有以下程序:main(){ int a=0,b=l0,c=0,d=0;if(a=1)b=1;c=2;else d=3;printf("%d,%d,%d,%d\n",a,b,C,d);}程序输出( )。
A. 0,1,2,0B. 0,0,0,3C. 1,1,2,0D. 编译有错(16) 下述程序执行的输出结果是( )。
#include<stdio.h>main() { char a[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a):}A. are&youB. youC. areD. &(17) 函数fseek()的正确调用形式是( )。
A. fseek(位移量,起始点,文件类型指针);B. fseek(文件类型指针,位移量,起始点);C. fseek(文件类型指针,起始点,位移量);D. fseek(起始点,位移量,文件类型指针);(18) 若变量e为char类型,能正确判断出C为小写字母的表达式是()。
A. 'a'<=c<='2'B. (c>='a')||(c<='2')C. ('a'<=c)and('z'>c)D. (c>='a')&&(c<='2')(19) 有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是( )。
struct node{char data;struct node*next:}a,b,*p=&a,*q=&b;A. a.next=q;B. P.next=&b;C. p->next=&b;D. (*p).next=q;(20) 若有定义“int b[8],*p=b;”,则p+6表示( )。
A. 数组元素b[6]的值B. 数组元素b[6]的地址C. 数组元素b[7]的地址D. 数组元素b[o]的值加上6(21) 有以下程序:#include<stdio.h>main(){ int i=0,a=0;while(i<20){ for(;;){if((i%10)==0)break:elsei--;} i+=11:a+=i:}printf("%d\n",a);}程序的输出结果是( )。
A. 62B. 63C. 33D. 32(22) 有下列程序:main(){ int x=5;do{printf("%d",X-=4);)while(!(--x));}程序的输出结果是( )。
A. 1B. 2 0C. 1 -4D. 死循环(23) 有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。
struct node{ int data;struct node*next;)*p,*q,*r;现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是( )。
A. p->next=q->next;B. P-next=P->next->next;C. p->next=r;D. p=q->next;(24) 执行语句“for(i=1;i++<4;);”后,变量i的值是( )。
A. 3B. 4C. 5D. 不定(25) 在C语言程序中可用做用户标识符的是()。
A. void123BBNB. aa_abccasC. as+b3-123IfD. 6fDoSIG(26) 以下程序运行后,输出结果是( )。
#include<stdio.h>#define PT 5.5#define S(x)PT*x*Xmain(){ int a=1,b=2:printf("%4.1f\n",s(a+b));}A. 49.5B. 9.5C. 22.0D. 45.0(27) 下列叙述中正确的是( )。
A. 用E—R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B. 用E—R图只能表示实体集之间一对一的联系C. 用E—R图只能表示实体集之间一对多的联系D. 用E—R图表示的概念数据模型只能转换为关系数据模型(28) 下面程序的功能是输出以下形式的金字塔图案:main(){ int i,j;*for(i=l;i<-4;i++) ***{ for(j=1;j<=4-i;j++) printf("");*****for(j=1;j<=____;j++)printf("*");*******printf("\n");}}在下划线处应填入的是( )。
A. iB. 2*i一1C. n=2*i+1D. i+2(29) 以下程序的输出结果是( )。
main(){ int a=1,b;for(b=1,b<=10;b++){ if(a>=8)break;if(a%2==1){a+=5;continue;}a=3;}printf("%d\n",b);A. 3B. 4C. 5D. 6(30) 如果进栈序列为el、e2、e3、e4,则可能的出栈序列是( )。