2014年全国计算机等级考试二级C语言笔试真题与答案
- 格式:pdf
- 大小:175.66 KB
- 文档页数:11
计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】class=txt>c语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)(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) 可封装d) 自顶向下c) 模块化d) 逐步求精(7)软件详细设计产生的图如下:该图是a) n-s图b) pad图c) 程序流程图d) e-r图(8)数据库管理系统是a)操作系统的一部分b) 在操作系统支持下的系统软件c) 一种编译系统d) 一种操作系统(9)在e-r图中,用来表示实体联系的图形是a) 椭圆图b) 矩形c) 菱形d) 三角形(10)有三个关系r,s和t如下:其中关系t由关系r和s通过某种操作得到,该操作为a) 选择b) 投影c) 交d) 并(11)以下叙述中正确的是a)程序设计的任务就是编写程序代码并上机调试b)程序设计的任务就是确定所用数据结构c)程序设计的任务就是确定所用算法d)以上三种说法都不完整(12)以下选项中,能用作用户标识符的是a)voidb)8_8c)_0_d)unsigned(13)阅读以下程序#includemain(){ int case; float printf;printf(“请输入2个数:”);scanf(“%d %f”,case,pjrintf);printf(“%d %f\n”,case,printf);}该程序编译时产生错误,其出错原因是a)定义语句出错,case是关键字,不能用作用户自定义标识符b)定义语句出错,printf不能用作用户自定义标识符c)定义语句无错,scanf不能作为输入函数使用d)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是a)0b)3c)4d)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为a)-20b)-10c)0d)10(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是a)0,0c)3,2d)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是a)if(ab) c=a,a=b,b=c;b)if(ab) {c=a,a=b,b=c;}c)if(ab) c=a;a=b;b=c;d)if(ab) {c=a;a=b;b=c;}(18)有以下程序#includemain(){ int c=0,k;for (k=1;k3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是a)3b)5c)7d)9(19)以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是 a)if((ab)(bc)) k=1;else k=0;b)if((ab)||(bc) k=1;else k=0;c)if(a=b) k=0;else if(b=c) k=1;d)if(ab) k=1;else if(bc) k=1;else k=0;20)有以下程序#include{ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]=’a’s[i]=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是a)0b)2c)3d)5(21)有以下程序#includemain(){ int n=2,k=0;while(k++n++2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是a)0 2b)1 3c)5 7d)1 2(22)有以下定义语句,编译时会出现编译错误的是a)char a=’a’;b)char a=’\n’;c)char a=’aa’;d)char a=’\x2d’;(23)有以下程序#includemain(){ char c1,c2;c1=’a’+’8’-‘4’;c2=’a’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母a的ascii码为65,程序运行后的输出结果是a)e,68【篇二:2014年三月全国计算机二级c语言上机考试题库】txt>题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
全国计算机等级考试二级C语言真题题库4 2014年3月(总分:43.00,做题时间:120分钟)一、—、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.在最坏情况下()。
(分数:1.00)A.快速排序的时间复杂度比冒泡排序的时间复杂度要小B.快速排序的时间复杂度比希尔排序的时间复杂度要小C.希尔排序的时间复杂度比直接插入排序的时间复杂度要小√D.快速排序的时间复杂度与希尔排序的时间复杂度是一样的解析:[解析]对长度为n的线性表排序常用排序方法时间复杂度如下表所示。
2.在深度为7的满二叉树中,度为2的节点个数为()。
(分数:1.00)A.64B.63 √C.32D.31解析:[解析]在树结构中,一个节点所拥有的后件个数称为该节点的度。
深度,定义一棵树的根节点所在的层次为1,其他节点所在的层次等于它的父节点所在的层次加1,树的最大层次称为树的深度。
满二叉树指除最后一层外,每一层上的所有节点都有两个子节点的二叉树。
一棵深度为K的满二叉树,整棵二叉树共有2K-1个节点;满二叉树在其第i层上有2i-1个节点。
在满二叉树中,只有度为2和度为0的节点。
深度为7的满二叉树,节点个数为27-1=127,第七层叶节点个数为27-1=64,则127—64=63,B选项正确。
3.设栈的顺序存储空间为S(1:m),初始状态为top=m+1。
现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。
(分数:1.00)A.30B.20C.m-19 √D.m-20解析:[解析]栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。
栈为空时,栈顶指针top=0,经过入栈和退栈运算,指针始终指向栈顶元素。
初始状态为top=m+1,当top==20时,元素依次存储在单元20:m中,个数为m-19,故C选项正确。
4.算法空间复杂度的度量方法是()。
福建省高校计算机等级考试二级c(2014年6月题库)一、选择题【01~05】CCABC 【06~10】BADBB 【11~15】BDDBB 【16~20】BDDBA1、C语言程序中的函数是由()组成A、函数名和函数体B、返回值类型和函数名C、函数首部和函数体D、函数名和参数2、下列叙述错误的是()a)C语言程序一行内可以有多条语句b)C语言程序一条语句可以分写在多行c)一个C语言程序可以有多个main()函数d)一个C语言程序只能有一个main()函数3、结构化程序设计的3种基本结构是顺序结构、()和循环结构。
a)选择结构b)逻辑结构c)递归结构d)嵌套结构4、结构化程序设计采用的方法不包括()a)模块化设计b)封装、继承和多态c)自顶向下、逐步细化d)结构化编码5、下列关于C语言程序的叙述错误的是()a)注释内容必须放在/*和*/之间b)一个C语言程序由一个或多个函数组成c)编译时注释部分的错误会被发现d)可以在“{}”内写若干条语句,构成复合语句6、Turbo C中,每个signed short int型数据占用的内存空间为()字节a)8个b)2个c)1个d)4个7、若已定义:int x=2,y=3,z=5;则表达式值为2的是()。
a)z=x,zb)x+y+zc)z=(x,z)d)x=y=z8、下列叙述错误的是()a)程序中算术表达式的书写形式与数学公式完全相同b)赋值运算符的结合方式是“自右向左”c)整数与字符型变量混合运算的结果是整数d)自增和自减运算符可以用于float型变量9、要使语句scanf(“%d,%d”,&m,&n);能够正确接收从键盘输入的值,正确的数据输入形式是()。
a)10 20b)10,20c)1020d)102010、能正确表示数学关系式“k≤0或k≥10”的C语言表达式是()。
a)(k<=0)&&(k>=10)b)(k<=0) || (k>=10)c)(k>=0) || (k<=10)d)(k>=0) && (k<=10)11、若已定义:char c=‟E‟;int a=9;float x=5;则表达式c/x-a的值是()【已知‟A‟的ASCII 码为65】a)13.8b) 4.8c) 4d) 512、()为合法用户标识符。
精心整理2014年3月计算机二级C语言真题及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除(假设D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划?B)软件详细设计说明书C)用户手册?D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构?B)GOTO跳转间的联系是A)1:1联系?B)1:m联系C)m:1联系?D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接?B)交?C)除?A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234?B)'\123'C)123?D)"\x7G"(14)以下选项中可用作C程序合法实数的是当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lilinum=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值?B)必须是整数值C)必须是正数?#include?main(){ints;scanf("%d",&s);while(s>0){switch(s){case1:printf("%d",s+5);case2:printf("%d",s+4);break; case3:printf("%d",s+3); default:printf("%d",s+1);break;switch(n){case1:case3:printf("%d\n",n);break; case2:case4:printf("%d\n",n);continue;case0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是程序运行后的输出结果是A)0?B)3?C)7?D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次printf("\n");}程序运行后的输出结果是A)ABCDEF?B)AbCdEf?C)aBcDeF?D)abcdef(24)设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]);?fun(a);printf("\n");}程序运行后的输出结果是A)BY?B)BT?C)YT?D)YE(26)有以下程序段#include{intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf("%d\n",y);}程序运行后的输出结果是A)3?B)2?{if(*c>='a'&&*c<='z')*c=*c-('a'-'A'); c++;}}main(){chars[81]; gets(s);? fun(s);? puts(s); }?A)x+i?B)&x[i+1]C)x+(i++)?D)&x[++i](31)有以下程序#includemain(){chara[30],b[30]; scanf("%s",a);(32)设有如下函数定义intfun(intk){if(k<1)return0;elseif(k==1)return1; elsereturnfun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A)2?B)3?C)4?A)3?B)6?C)8?D)12(34)有以下程序#includeintfun() {staticintx=1;x*=2;returnx;#defineS(x)4*(x)*x+1 main(){intk=5,j=2;printf("%d\n",S(k+j)); }程序运行后的输出结果是A)197?B)143?C)33?D)28printf("%d,",++(p->x));printf("%d\n",++(p->y)); }程序运行后的输出结果是A)1,2?B)4,1?C)3,4?D)2,3(38)有以下程序#include?structS{unsignedchara=8,c; c=a>>3;printf("%d\n", C);}程序运行后的输出结果是A)32?B)16?C)1?D)0操作D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码。
计算机二级c语言试题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0123C. 0x123.456D. 0123456答案:A解析:在C语言中,十六进制常量以0x或0X开头,后跟十六进制数字。
选项A表示十六进制数,是合法的整型常量。
选项B表示八进制数,选项C表示浮点数,选项D是无效的表示。
2. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D解析:在C语言中,switch、case和default都是关键字。
switch用于条件分支,case用于指定分支条件,default用于指定默认分支。
3. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. '\t'D. 'AB'答案:C解析:在C语言中,字符常量用单引号括起来,可以是单个字符或转义字符。
选项A是合法的字符常量,但选项B是字符串常量。
选项C 是合法的转义字符,表示水平制表符。
选项D是两个字符,不是合法的字符常量。
4. 在C语言中,以下哪个选项是合法的数组声明?A. int a[];B. int b[10];C. int c[10] = {0};D. all of the above答案:D解析:在C语言中,A选项声明了一个未指定大小的整型数组,B选项声明了一个大小为10的整型数组,C选项声明了一个大小为10的整型数组并初始化所有元素为0。
所有选项都是合法的数组声明。
5. 在C语言中,以下哪个选项是合法的函数声明?A. int func(int x);B. int func(int);C. int func();D. int func(int, int);答案:D解析:在C语言中,函数声明需要指定返回类型、函数名和参数列表。
全国计算机等级考试二级C语言真题题库1 2014年9月(总分:43.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.面向对象方法中,实现对象的数据和操作结合于统一体中的是()。
(分数:1.00)A.结合B.封装√C.隐藏D.抽象解析:[解析]对象的基本特点是:标识唯一性、分类性、多态性、封装性、模块独立性好。
封装是指隐藏对象的属性和实现细节,将数据和操作结合于统一体,仅对外提供访问方式,故B选项正确。
2.在进行逻辑设计时,将E—R图中实体之间联系转换为关系数据库的()。
(分数:1.00)A.关系√B.元组C.属性D.属性的值域解析:[解析]E-R模型和关系模式的对照表如下。
联系转换为关系数据库的关系,故A选项正确。
3.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有()。
(分数:1.00)A.节省存储空间B.插入与删除运算效率高√C.便于查找D.排序时减少元素的比较次数解析:[解析]顺序表和链表的优缺点比较如下表所示。
率高,故B选项正确。
4.深度为7的完全二叉树中共有125个节点,则该完全二叉树中的叶子节点数为()。
(分数:1.00)A.62B.63 √C.64D.65解析:[解析〕在树结构中,定义一棵树的根节点所在的层次为1,其他节点所在的层次等于它的父节点所在的层次加1,树的最大层次称为树的深度。
完全二叉树指除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干节点。
深度为6的满二叉树,节点个数为26-1=63,则第7层共有125—63=62个叶子节点,分别挂在第6层的左边62个节点上,加上第6层的最后1个叶子节点,该完全二叉树共有63个叶子节点,故B选项正确。
5.下列叙述中正确的是()。
(分数:1.00)A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储存连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内√D.任何存储方式的有序表均能采用二分法进行查找解析:[解析]“有序”是特指元素按顺序排列但允许相邻元素相等,A选项错误。
全国计算机等级考试二级C语言真题题库2 2014年3月(总分43, 做题时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 每一个节点有两个指针域的链表一定是非线性结构B 所有节点的指针域都为非空的链表一定是非线性结构C 循环链表是循环队列的链式存储结构D 线性结构的存储节点也可以有多个指针答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有—个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。
双向链表节点具有两个指针域,属于线性结构,故A选项错误。
循环链表所有节点的指针域都为非空,属于线性结构,故B选项错误。
循环链表是链表,循环队列属于队列,队列只能在队尾入队,在排头退队,链表可以在任何位置插入、删除,故C选项错误。
双向链表节点具有多个指针域,故D选项正确。
2. 使用白盒测试方法时,设计测试用例应根据()。
A 程序的内部逻辑B 程序的复杂结构C 程序的功能D 使用说明书答案:A[解析]白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故A选项正确。
3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗,则实体医生和患者之间的联系是()。
A 多对多B 多对一C 一对多D 一对一答案:A[解析]一般来说,实体集之间必须通过联系来建立连接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。
医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,故A选项正确。
4. 设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是()。
A 二分法查找B 顺序查找C 分块查找D 哈希查找答案:A[解析]对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(log2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算HashCode来定位元素位置,所以只需一次即可。
计算机二级c语言笔试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串s2连接到字符串s1的末尾?A. strcat(s1, s2)B. strcpy(s1, s2)C. strncpy(s1, s2, n)D. strcmp(s1, s2)答案:A3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式a[0] +a[2] + a[4]的值是多少?A. 8B. 10C. 12D. 15答案:C5. 在C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strcmp()答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A7. 在C语言中,以下哪个关键字用于声明一个变量?A. varB. letC. intD. var答案:C8. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. strcpy()答案:B9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fread()D. fwrite()答案:A10. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,________关键字用于定义一个宏。
答案:#define2. 在C语言中,________关键字用于定义一个枚举类型。
2014年春计算机等级二级考试C语言笔试试题第二部分C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)21、以下选项中,不能用作变量名的是____(21)_____。
A. switchB. _0_C. ForD. sqrt22、已知有声明“int x=1;”,以下语句中有语法错误的是______(22)_______。
A. if(*x) x=1;B. if(!x) x=1;C. if(x++) x=0;D. if((char)x) x=0;23、执行程序段“char c=255; c=c+1; printf("%d",c);”后,输出结果为___(23)____。
A. 256B. -255C. 1D. 024、以下有关continue语句的描述中正确的是__(24)___。
A. 可以出现在程序中任何位置B. 只能出现在循环语句中C. 只能出现在switch语句中D. 只能出现在循环语句中或switch语句中25、以下实现“仅当变量a或b的值中只有一个小于c值时输出c值”这一功能的语句中,正确的是__(25)__。
A. if(a<c&&!(b<c)||b<c&&!(a<c)) printf("%d",c);B. if(a<c||b>c&&a>c||b<c) printf("%d",c);C. if(a<c||b<c) printf("%d",c);D. if(a<c&&b<c) printf("%d",c);26. 以下数组声明中正确的是_______(26)_____。
A. int a[];B. int a[3.14];C. int a[2+3]={0};D. int a[3]={1,2,3,4};27. 以下选项中,可以正确计算a数组中元素个数的表达式是___(27)_____。
二级C语言真题2014年09月-(1)一、选择题1、面向对象方法中,实现对象的数据和操作结合于统一体中的是______。
A.结合 B.封装 C.隐藏 D.抽象2、在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的______。
A.关系 B.元组 C.属性 D.属性的值域3、线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有______。
A.节省存储空间 B.插入与删除运算效率高C.便于查找 D.排序时减少元素的比较次数4、深度为7的完全二叉树中共有125个节点,则该完全二叉树中的叶子节点数为______。
A.62 B.63 C.64 D.655、下列叙述中正确的是______。
A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储在连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内D.任何存储方式的有序表均能采用二分法进行查找6、设二叉树如下:则后序序列为______。
A.ABDEGCFH B.DBGEAFHC C.DGEBHFCA D.ABCDEFGH7、计算机软件包括______。
A.算法和数据 B.程序和数据 C.程序和文档 D.程序、数据及相关文档8、下面描述中不属于软件需求分析阶段任务的是______。
A.撰写软件需求规格说明书 B.软件的总体结构设计C.软件的需求分析 D.软件的需求评审9、当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的______。
A.逻辑独立性 B.物理独立性 C.应用独立性 D.空间独立性10A.并 B.投影 C.交 D.选择11、以下叙述正确的是______。
A.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件B.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe的可执行文件C.C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件 D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe的可执行文件12、以下叙述正确的是______。
2014年3月份全国计算机等级考试二级C语言选择题题库选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof (13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)doublea=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7 (20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 (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(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd (26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,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′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
二级C语言真题2014年09月-(3)一、选择题1、下列关于算法复杂度叙述正确的是______。
A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关2、设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为______。
A.DEFXYZABC B.FEDZYXCBA C.FEDXYZCBA D.DEFZYXABC3、下列叙述中正确的是______。
A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表4、某二叉树共有845个节点,其中叶子节点有45个,则度为1的节点数为______。
A.400 B.754 C.756 D.不确定5、软件需求分析阶段的主要任务是______。
A.确定软件开发方法 B.确定软件开发工具 C.确定软件开发计划 D.确定软件系统的功能6、下面对软件测试描述错误的是______。
A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据C.软件测试可以任何条件下进行操作,以发现程序错误D.软件测试是保证软件质量的重要手段7、结构化程序的三种基本控制结构是______。
A.顺序、选择和重复(循环) B.过程、子程序和分程序C.顺序、选择和调用 D.调用、返回和转移8、数据库中对概念模式内容进行说明的语言是______。
A.数据定义语言 B.数据操纵语言 C.数据控制语言 D.数据宿主型语言9、某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。
则实体仓库和零件间的联系是______。
全国计算机等级考试二级C语言真题题库3 2014年3月(总分:43.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为()。
(分数:1.00)A.BCAB.CBAC.ABC √D.CAB解析:[解析]二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
后序序列为CBA,则A为根节点。
中序序列为ABC,则B和C均为左子树节点或右子树节点,且B为C父节点,可知前序序列为ABC,故C选项正确。
2.下列叙述中正确的是()。
(分数:1.00)A.存储空间不连续的所有链表一定是非线性结构B.节点中有多个指针域的所有链表一定是非线性结构C.能顺序存储的数据结构一定是线性结构D.带链的栈与队列是线性结构√解析:[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,也称为线性表,可以来用顺序存储和链式存储,其中链式存储空间不连续,所以A选项错误。
双向链表节点有两个指针域分别为指向前一个节点的指针和指向后一个节点的指针,也是线性结构,故B选项错误。
顺序存储结构中可能根节点不唯一,故可能不是线性结构,所以C选项错误。
栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是允许在一端进行插入,而在另一端进行删除的线性表。
故D选项正确。
3.算法时间复杂度的度量方法是()。
(分数:1.00)A.算法程序的长度B.执行算法所需要的基本运算次数√C.执行算法所需要的所有运算次数D.执行算法所需要的时间解析:[解析]算法的时间复杂度是指执行算法所需要的计算工作量,算法的计算工作量是用算法所执行的基本运算次数来度量的,故B选项正确。
全国计算机等级考试二级C语言真题题库3 2014年9月(总分:43.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.下列关于算法复杂度叙述正确的是()。
(分数:1.00)A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关√C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关解析:[解析]算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关,B选项正确,D选项错误。
最坏情况下的时间复杂度可以与平均情况的时间复杂度相同,A选项错误。
不同的算法时间复杂度一般不相同,故C选项错误。
2.设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
(分数:1.00)A.DEFXYZABCB.FEDZYXCBA √C.FEDXYZCBAD.DEFZYXABC解析:[解析]栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
队列是指允许在一端进行插入,而在另一端进行删除的线性表。
将A,B,C,D,E,F入栈后,栈中元素为ABCDEF,退出3个元素入队,队列元素为FED,将X,Y,Z入栈后栈中元素为ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故B选项正确。
3.下列叙述中正确的是()。
(分数:1.00)A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表√解析:[解析]双向链表与二叉链表均是有两个指针域的链表,A选项错误。
在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由NULL改为指向表头节点,这样的链表称为循环链表。
⼀、下列各题A、B、C、D四个选项中,只有⼀个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A.栈是“先进先出”的线性表B.队列是“先进先出”的线性表C.循环队列是⾮线性结构D.有序性表既可以采⽤顺序存储结构,也可以采⽤链式存储结构(2)⽀持⼦程序调⽤的数据结构是A.栈B.树C.队列D.⼆叉树(3)某⼆叉树有5个度为2的结点,则该⼆叉树中的叶⼦结点数是A.10B.8C.6D.4(4)下列排序⽅法中,最坏情况下⽐较次数最少的是A.冒泡排序B.简单选择排序C.直接插⼊排序D.堆排序(5)软件按功能可以分为:应⽤软件、系统软件和⽀撑软件(或⼯具软件)。
下⾯属于应⽤软件的是A.编译软件B.操作系统C.教务管理系统D.汇编程序(6)下⾯叙述中错误的是A.软件测试的⽬的是发现错误并改正错误B.对被调试的程序进⾏“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执⾏测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独⽴性度量的两个标准。
下列叙述中正确的是A.提⾼耦合性降低内聚性有利于提⾼模块的独⽴性B.降低耦合性提⾼内聚性有利于提⾼模块的独⽴性C.耦合性是指⼀个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度(8)数据库应⽤系统中的核⼼问题是A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使⽤的运算为A.选择B.投影C.插⼊D.连接(10)将E-R图转换为关系模式时,实体和联系都可以表⽰为A.属性B.键C.关系D.域(11)以下选项中合法的标识符是A.1-1B.1—1C.-11D.1--(12)若函数中有定义语句:int k;,则A.系统将⾃动给k赋初值0B.这时k中值⽆定义C.系统将⾃动给k赋初值-1D.这时k中⽆任何值(13)以下选项中,能⽤作数据常量的是A.0115B.0118C.1.5e1.5D.115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A.123.141593B.123.141593C.12,3.141593D.123.141593(16)若有定义语句:double x,y,*px,*py,执⾏了px=&x, py=&y;之后,正确的输⼊语句是A.scanf(“%f%f”,x,y);B.scanf(“%f%f”,&x,&y);C.scanf(“%lf%le”,px,py);D.scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式(18)有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运⾏时,输⼊的值在哪个范围才会有输出结果A.不等于10的整数B.⼤于3且不等于10的整数C.⼤于3或等于10的整数D.⼩于3的整数(19)有以下程序#includeMain(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;}程序运⾏后的输出结果是A.1,2,3B.1,3,2C.1,3,3D.3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A.********B.****C.**D.*(21)有以下程序#includemain(){char*s=(“ABC.;do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
全国计算机等级考试二级笔试卷基础知识和C语言程序设计(考试时间120分钟,满分100分)2014年9月一、选择题((1)-(40)每小题1分, (41)-(50)每小题2分, 共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 通常所说的主机主要包括A) CPU B) CPU和内存C) CPU、内存与外存 D) CPU、内存与硬盘(2) 在微机系统中,最基本的输入输出模块BIOS存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中(3) 一个24*24点阵的汉字字形信息所占的字节数为A) 2 B) 24 C) 32 D) 72(4) bit的意思是A) 字B) 字长C) 字节D) 二进制位(5) 某学校的工资管理程序属于A) 系统程序B) 应用程序C) 工具软件D) 文字处理软件(6) 与十六进制数BB等值的十进制数是A) 187 B) 188 C) 185 D) 186(7) 设一张软盘已染上病毒,能清除病毒的措施是A) 删除该软盘上的所有文件B) 格式化该软盘C) 删除该软盘上的所有可执行文件C) 删除该软盘上的所有批处理文件(8) 一张3.5英寸双面高密度软盘片的容量为A) 360KB B) 720KB C) 1.44MB D) 1.2MB(9) 与二进制小数0.1等值的十六进制小数为A) 0.1 B) 0.2 C) 0.4 D) 0.8(10) DOS系统的热启动与冷启动的不同之处为热启动时A) 不检测键盘、处设接口与内存B) 不提示用户输入日期与时间C) 不用装入文件D) 不能从软盘启动(11) 为了将磁盘上的文件K1,K2,K3,依次连接在文件K4的后面,应使用命令A) COPY K1+K2+K3 K4 B) COPY K1+K2+K3+K4C) COPY K1+K2+K3+K4 K4 D) COPY K4+K1+K2+K3(12) 下列文件名中可以作为批处理文件名的是A) AUTOEXC.C B) AUTOEXEC C) ATX.BAT D) AUTO.TXT(13) 要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令A) DIR \ >PRN B) TYPE \ >PRN C) DIR >PRN C) TYPE >PRNC) DIR >PRN D) TYPE >PRN(14) 设可执行文件ABC.EXE所需要的本该由键盘输入的数据已经按格式存放在文件XYZ中,并要求执行结果放在XYZ中输入数据的后面。
2014年全国计算机等级考试二级C语言笔试真题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'\123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)Lili B)name=LiliC)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#include <stdio.h>main(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4); break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#include <stdio.h>main(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#include <stdio.h>main(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);}printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#include <stdio.h>void fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a);printf("\n");程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#include <stdio.h>main(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#include <stdio.h>main(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#include <stdio.h>void fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s);puts(s);}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello BeijingC)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include <stdio.h>#define N 10void fun(int x[N]){ int i=0;while(i <N) scanf(“%d”,_______);}在程序中下划线处应填入的是A)x+i B)&x[i+1]C)x+(i++) D)&x[++i](31)有以下程序#include <stdio.h>main(){ char a[30],b[30];scanf("%s",a);gets(b);printf("%s\n %s\n",a,b);}程序运行时若输入:how are you? I am fine<回车>则输出结果是A)how are you? B)howI am fine are you? I am fineC)how are you? I am fine D)how are you?(32)设有如下函数定义int fun(int k){ if (k<1) return 0;else if(k==1) return 1;else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A)2 B)3 C)4 D)5(33)有以下程序#include <stdio.h>int fun (int x,int y){ if (x!=y) return ((x+y)/2);else return (x);}main(){ int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是A)3 B)6 C)8 D)12(34)有以下程序#include <stdio.h>int fun(){ static int x=1;x*=2;return x;}main(){ int i,s=1;for(i=1;i<=3;i++) s*=fun();printf("%d\n",s);}程序运行后的输出结果是A)0 B)10 C)30 D)64(35)有以下程序#include <stdio.h>#define S(x) 4*(x)*x+1main(){ int k=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是A)197 B)143 C)33 D)28(36)设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;(37)有以下程序#include <stdio.h>struct ord{ int x,y;}dt[2]={1,2,3,4};main(){struct ord *p=dt;printf("%d,",++(p->x)); printf("%d\n",++(p->y));}程序运行后的输出结果是A)1,2 B)4,1 C)3,4 D)2,3(38)有以下程序#include <stdio.h>struct S{ int a,b;}data[2]={10,100,20,200};main(){ struct S p=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是A)10 B)11 C)20 D)21(39)有以下程序#include <stdio.h>main(){ unsigned char a=8,c;c=a>>3;printf("%d\n",c);}程序运行后的输出结果是A)32 B)16 C)1 D)0(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是A)写操作结束后可以从头开始读B)只能写不能读C)可以在原有内容后追加写D)可以随意读和写二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。