2015年3月C语言试题
2015年计算机二级C语言测试题及答案解析(一)
1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 ( C ) 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B )。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。
2015年3月全国计算机等级考试二级《C语言》真题三及详解
2015年3月全国计算机等级考试二级《C语言》真题三(总分100, 考试时间90分钟)一、选择题(每小题1分,共40分)1. 下列关于算法复杂度叙述正确的是()。
A 最坏情况下的时间复杂度一定高于平均情况的时间复杂度B 时间复杂度与所用的计算工具无关C 对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D 时间复杂度与采用的算法描述语言有关答案:B[解析]算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关,B选项正确,D选项错误。
最坏情况下的时间复杂度可以与平均情况的时间复杂度相同,A选项错误。
不同的算法时间复杂度一般不相同,C选项错误。
2. 设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出3个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
A DEFXYZABCB FEDZYXCBAC FEDXYZCBAD DEFZYXABC答案:B[解析]栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
队列是指允许在一端进行插入,而在另一端进行删除的线性表。
将A,B,C,D,E,F入栈后,栈中元素为ABCDEF,退出3个元素入队,队列元素为FED,将X,Y,Z入栈后栈中元素为ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故B选项正确。
3. 下列叙述中正确的是()。
A 有两个指针域的链表称为二叉链表B 循环链表是循环队列的链式存储结构C 带链的栈有栈顶指针和栈底指针,因此又称为双重链表D 节点中具有多个指针域的链表称为多重链表答案:D[解析]双向链表与二叉链表均是有两个指针域的链表,A选项错误。
在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由NULL改为指向表头节点,这样的链表称为循环链表。
3月全国计算机二级c语言考题试卷及答案
3月全国计算机二级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)LiliB)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)有以下程序#includemain(){ int s;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;}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)有以下程序#includemain(){ 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)有以下程序#includemain(){ 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)#includevoid 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)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ 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)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2015年《全国计算机二级C语言》考试真题
2015年《全国计算机二级C语言》考试真题1、对于一个正常运行的C程序,以下叙述中确的是A)程序的执行总是从main 涵数开始B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束D)程序的执行总是从程序的笫一个函数开始,在main函数结束3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB) x=x+10=x+yC)double (x)/10D)++x,y=x--4、以下选项中能表示合法常量的是A)’\’B)1,200C)1.5E2.0D)”\007”5、以下定义语句中正确的是A) double a=0.0;b=1.1;B) float a=1,*b=&a,*c=&b;C) int a=b=0;D) char A=65+1,b=’b’7、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) □□□1,2,3<回车>B)1,2,3<回车>C)1, □□□2, □□□3<回车>D)1 □2 □3<回车>8、当变量c的值不为2、4、6时,值也为“真”的表达式是()A (c>=2&&c<=6)&&(c%2!=1)B) (c>=2&&c<=6)&&!(c%2) )C) (c==2)‖(c==4)‖(c==6)D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)9、以下选项中,值为1的表达式是A) ‘\0’-‘0’B)’1’-0C)1-‘0’D)1-‘\0’30、以下选项中,不合法的C语言用户标识符是A a——bB AaBcC _1D a_b31. 以下选项中关于C语言常量的叙述错误的是A经常被使用的变量可以定义成常量B 所谓常量,是指在程序运行过程中,其值不能被改变的量C常量可分为数值型常量和非数值型常量D常量分为整型常置、实型常量、字符常量和字符串常量34、以下叙述中正确的是A C语句必须在一行内写完B C语言程序中的注释必须与语句写在同一行C C程序中的每一行只能写一条语句D 简单C语句必须以分号结束37、以下选项中不能作为C语言合法常量的是A ’cd’B’\011’ C 0.le+6 D "\a"58、以下选项中不能用作C程序合法常量的是A."\x7D"B.1,234C.123D.'\123'60、C语言源程序名的后缀是A) . cpB) .objC) .exeD) .C61、阅读以下程序#include <stdio .h>main (){ int case ;float printF;printf ("请输入2个数:");scanf ( "%d %f",&case, &printF );printf("%d %f\n",case,printF );}该程序在编译时产生错误,其出错原因是A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句无错,printf不能输出case的值C.定义语句无错,scanf不能作为输入函数使用D.定义语句出错,printF不能用作用户自定义标识符62.若有定义语句:int x=12,y=8, z;在其后执行语句z= 0.9+x/y;则z的值为A.2.4B.1C.2D.1.963. 表达式a+=a-= a=9的值是A.-9B.0C.9D.1868. 以下选项中非法的c语言字符常量是A.'\b'B.'\xaa'C.'\007'D.'aa'72. 以下叙述中正确的是A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符B.八进制数的开头要使用英文字母o,否则不能与十进制区分开C. 在C程序中的八进制和十六进制,可以是浮点数D.整型变量可以分为int型、short型、long型和unsigned型四种79. 以下选项中,当x为大于1奇数时,值为0的表达式是A.x%2==0B.x%2==lC.x%2!=0D.x/2101. 以下选项中不能作为c语言合法常量的是A.'cd'B.'\011'C.0.le+6D."\a"104. 以下选项中不能用作C程序合法常量的是A"\x7D"B.1,234C.123D.'\123'134. 若有定义语句:char a='\82 ';则变量aA.包含3个字符B.说明不合法C.包含1个字符D.包含2个字符135. 有以下程序#include <stdio.h>main (){char cl='A',c2='Y';printf ("%d,%d\n", cl,c2 );}程序的输4结果是A.输出格式不合法,输出出错信息B.65.89C.A,YD.65.90154. 以下选项中,能用作数据常量的是A.115LB.0118C.0115D.1.5el.5155. 设变量已正确定义并赋值,以下正确的表达式是A.x=y*5=x+zB.int(15.8%5)C.x-25%5.0D.x=y+z+5,++y185. 有以下程序#include <stdio.h>main(){ char a='H';a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;printf("%c\n",a );}程序运行后的输出结果是A) AB) aC) hD) H194. 以下叙述中正确的是A)程序可以包含多个主函数,但总是从第一个主函数处开始执行B)书写源程序时,必须注意缩进格式,否则程序会有编译错误C)程序的主函数名除main外,也可以使用Mainl或_mainD)在C程序中,模块化主要是通过函数来实现的199. 以下叙述中正确的是A)字符变量在定义时不能赋初值B)同一英文字母的大写和小写形式代表的是同一个字符常量C)转义字符用@符号开头D)字符常量可以参与任何整数运算200. 以下叙述中正确的是A)"a"表示一个字符常量B)"\"是非法的C)'\0'表示字符0D)表达式:'a'>'b'的结果是"假"202. 以下叙述中正确的是A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象B)C语言的关系表达式:0<x<10完全等价于:(0<x)&& (x<10)C)逻辑"或"(即运算符||)的运算级别比算术运算要高D)逻辑"非〃〈即运算符!)的运算级别是最低的219. c源程序中不能表示的数制是A) 八进制B)十六进制C)十进制D) 二进制221. 以下四个程序中,完全正确的是A) # include<stdio .h>main (){/* programming */printf("programming!\n"); }B)include<stdio. h>main (){/* programming */printf("programming!\n"); }C) #include <stdio.h>main ();{/* programming /*/printf("programming!\n"}; }D) # include<stdio .h>main (){/*/* programming */*/printf("programming!\n"); }222. 若有定义语句:int x=10;则表达式x-=x+x的值为A) 10B) -10C) -20D) 0224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。
2015年全国计算机二级C语言考试真题
C) int a=b=0;
D) char A=65+1,b=’b’
7、若变量已正确定义为int型,要通过语句
scanf(“%d,%d,%d”,&a,&b,&c);
给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)
A)□□□1,2,3<回车>
A)第6行
B)笫4行
C)第7行
D)第5行
257.若有以下程序
#include <stdio.h>
main ()
{ int b=10, a=-11;
a %= b %= 4;
printf("%d %d\n", a, b);
}
则程序的输出结果是
A)12
B)1-1
C)-12
D)-1-2
258.有以下程序
#include <stdio.h>
C)逻辑"或"(即运算符||)的运算级别比算术运算要高
D)逻辑"非〃〈即运算符!)的运算级别是最低的
219. c源程序中不能表示的数制是
A)八进制
B)十六进制
C)十进制
D)二进制
221.以下四个程序中,完全正确的是
A)# include<stdio .h>
main ()
{/* programming */
134.若有定义语句:
char a='\82 ';
则变量a
A.包含3个字符
B.说明不合法
C.包含1个字符
D.包含2个字符
计算机等级考试(国家)-二级c语言真题2015年03月-(2)
二级C语言真题2015年03月-(2)一、选择题1、下列叙述中正确的是______。
A.每一个结点有两个指针域的链表一定是非线性结构B.所有结点的指针域都为非空的链表一定是非线性结构C.循环链表是循环队列的链式存储结构D.线性结构的存储结点也可以有多个指针2、使用白盒测试方法时,设计测试用例应根据______。
A.程序的内部逻辑 B.程序的复杂结构 C.程序的功能 D.使用说明书3、在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。
则实体医生和患者之间的联系是______。
A.多对多 B.多对一 C.一对多 D.一对一4、设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是______。
A.二分法查找 B.顺序查找 C.分块查找 D.哈希查找5、设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是______。
A.R={(5,1),(7,9),(1,7),(9,3)} B.R={(9,7),(1,3),(7,1),(3,5)}C.R={(1,9),(9,7),(7,5),(5,3)} D.R={(1,3),(3,5),(5,9)}6、深度为7的二叉树共有127个结点,则下列说法中错误的是______。
A.该二叉树有一个度为1的结点 B.该二叉树是满二叉树C.该二叉树是完全二叉树 D.该二叉树有64个叶子结点7、某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为______。
A.DCBA B.BDCA C.ABCD D.BADC8、下面能作为软件需求分析工具的是______。
A.PAD图 B.程序流程图C.甘特图 D.数据流程图(DFD图)9、下面不属于对象主要特征的是______。
A.唯一性 B.多态性 C.可复用性 D.封装性10、关系R经过运算σ(A=B∧G>4∧D>3)(R)的结果为______。
2015年3月全国计算机等级考试二级《C语言》真题二及详解
2015年3月全国计算机等级考试二级《C语言》真题二(总分100, 考试时间120分钟)一、选择题1. 下列叙述中正确的是A 算法复杂度是指算法控制结构的复杂程度B 算法复杂度是指设计算法的难度C 算法的时间复杂度是指设计算法的工作量D 算法的复杂度包括时间复杂度与空间复杂度答案:D2. 设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。
现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。
最后该队列中的元素个数为A 2B 1C 3D 52答案:A3. 一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为A 0B 1C 180D 181答案:B4. 设某二叉树的后序序列与中序序列均为ABCDEFGH,则该二叉树的前序序列为A HGFEDCBAB ABCDEFGHC EFGHABCDD DCBAHGFE答案:A5. 在排序过程中,每一次数据元素的移动会产生新的逆序的排序方法是A 快速排序B 简单插入排序C 冒泡排序D 以上说法均不正确答案:A6. 下面对软件工程描述正确的是A 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法B 软件工程的三要素是方法、工具和进程C 软件工程是用于软件的定义、开发和维护的方法D 软件工程是为了解决软件生产率问题答案:A7. 耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A 内聚性是指模块间互相连接的紧密程度B 提高耦合性降低内聚性有利于提高模块的独立性C 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D 降低耦合性提高内聚性有利于提高模块的独立性答案:D8. 下列关于数据库系统的叙述中正确的是A 数据库系统中数据的一致性是指数据类型一致B 数据库系统避免了一切冗余C 数据库系统减少了数据冗余D 数据库系统比文件系统能管理更多的数据答案:C9. 一名演员可以出演多部电影,则实体演员和电影之间的联系是A 多对多B 一对一C 多对一D 一对多答案:A10. 下面可以作为软件需求分析工具的是A 包图B 程序流程图C PAD图D 数据流程图(DFD图)答案:D11. 有以下程序#include <stdio.h>main(){ int a=2,b=3,c=4;a*=16 +(b++) - (++c);printf("%d \n",a );}程序运行后的输出结果是A 15B 30C 28D 14答案:C12. 以下叙述正确的是A 通过分解成简单子任务,可以完成任何复杂任务B 每个结构化程序都要包含全部三种基本结构C C语言程序的所有自定义函数只能写在同一个源文件中D C语言程序允许使用多个main函数,只要它们的函数体各不相同即可答案:A13. 以下选项中,合法的C语言实数是A E4.8B 4.3e0.2C 4e0D 0.29E答案:C14. 设a,b,c已定义为整型变量,以下选项中不正确的赋值表达式是A a = 3 = (b = 2) = 1;B a = (b = 0) * c + 1;C a = (b = 0) * c + 1;D a = 10 % (b = c = 2.0);答案:A15. 若变量已正确定义并赋初值,以下合法的赋值语句是A k=(m==n);B k=-m-nC k=int(m+n);D k=m*n=1;答案:A16. 以下关于逻辑运算符两侧运算对象的叙述中正确的是A 只能是整数0或1B 只能是整数0或非0整数C 可以是结构体类型的数据D 可以是任意合法的表达式答案:D17. 以下选项中错误的是A printf("%s\n", 's');B printf("%d %c\n", 's','s');C printf("%c\n", 's'- 32);D printf("%c\n", 65);答案:A18. 若有定义:char ch;当执行以下循环时从键盘输入abcde<回车>,将输出*的个数是while((ch=getchar())=='e') printf("*");A 4B 0C 5D 1答案:B19. 有以下程序#include <stdio.h>。
二级C语言真题2015年03月-(1)及答案解析
二级C语言真题2015年03月-(1)及答案解析(1/40)单项选择题第1题下列关于算法复杂度叙述正确的是______。
A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关下一题(2/40)单项选择题第2题设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出3个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为______。
A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC上一题下一题(3/40)单项选择题第3题下列叙述中正确的是______。
A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表上一题下一题(4/40)单项选择题第4题某二叉树共有845个节点,其中叶子节点有45个,则度为1的节点数为______。
A.400B.754C.756D.不确定上一题下一题(5/40)单项选择题第5题软件需求分析阶段的主要任务是______。
A.确定软件开发方法B.确定软件开发工具C.确定软件开发计划D.确定软件系统的功能上一题下一题第6题下面对软件测试描述错误的是______。
A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据C.软件测试的目的是发现错误D.软件测试是保证软件质量的重要手段上一题下一题(7/40)单项选择题第7题结构化程序的3种基本控制结构是______。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移上一题下一题(8/40)单项选择题第8题数据库中对概念模式内容进行说明的语言是______。
C语言考试题库及答案2015(完整资料).doc
【最新整理,下载后即可编辑】C语言(共200题)1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C)0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);【最新整理,下载后即可编辑】}A) 17 B) 18 C) 23D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,DD) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100【最新整理,下载后即可编辑】C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____. A) 1,19 B) -1,19 C) 1,17D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a 的结果是_____A__.A) 0 B) 144 C) 12D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.【最新整理,下载后即可编辑】#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 12【最新整理,下载后即可编辑】33、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____. A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) intD) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( )【最新整理,下载后即可编辑】{ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);} else{c=b/a;printf("%d/%d=%d\n",b,a,c);} }A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32) C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;【最新整理,下载后即可编辑】printf("%d\n",k);}A) 2 B) 4 C) 1D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____. #include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!【最新整理,下载后即可编辑】Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___. A) Z B) a C) zD) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 2056、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1【最新整理,下载后即可编辑】D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____. A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是【最新整理,下载后即可编辑】___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case0:printf("first\n");break;case1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird 61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0D) 出错信息64、有如下程序#include <stdio.h>void main( )【最新整理,下载后即可编辑】{ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____. A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 1 67、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5D) 470、若执行下面的程序从键盘上输入【最新整理,下载后即可编辑】5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 1【最新整理,下载后即可编辑】75、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1)D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误【最新整理,下载后即可编辑】82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,9 85、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。
全国计算机等级考试二级C语言真题题库1+2015年3月
全国计算机等级考试二级C语言真题题库1 2015年3月(总分:40.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.算法的时间复杂度是指(分数:1.00)A.设计该算法所需的工作量B.执行该算法所需要的时间C.执行该算法时所需要的基本运算次数√D.算法中指令的条数解析:2.设循环队列存储空间为Q(1:50),初始状态为front=rear=50。
经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为(分数:1.00)A.26B.25C.24D.0或50 √解析:3.某棵树的度为4,且度为4、3、2、1的结点数分别为1、2、3、4,则该树中的叶子结点数为(分数:1.00)A.11 √B.9C.10D.8解析:4.设某二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为(分数:1.00)A.HGFEDCBA √B.EFGHABCDC.DCBAHGFED.ABCDEFGH解析:5.下列叙述中正确的是(分数:1.00)A.二分查找法适用于任何存储结构的有序线性表B.二分查找法只适用于顺序存储的有序线性表√C.二分查找法适用于有序循环链表D.二分查找法适用于有序双向链表解析:6.下列序列中不满足堆条件的是(分数:1.00)A.(98,95,93,96,89,85,76,64,55,49)√B.(98,95,93,94,89,85,76,64,55,49)C.(98,95,93,94,89,90,76,64,55,49)D.(98,95,93,94,89,90,76,80,55,49)解析:7.下面属于面向对象方法中对象基本特点的是(分数:1.00)A.多态性√B.方法唯一性C.可修改性D.灵活性解析:8.下面可以作为软件需求分析工具的是(分数:1.00)A.包图B.程序流程图C.PAD图D.数据流程图(DFD图) √解析:9.数据库的数据模型分为(分数:1.00)A.层次、关系和网状√B.网状、环状和链状C.大型、中型和小型D.线性和非线性解析:10.数据库系统的数据独立性是指(分数:1.00)A.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序√B.不会因为数据的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构解析:11.以下叙述正确的是(分数:1.00)A.C程序由函数组成,可以不包含main函数B.每个C程序文件中的main函数都应当放在最前面C.每个C程序文件都应当包含一个main函数D.每个C程序都只能有一个main函数√解析:12.以下叙述错误的是(分数:1.00)A.计算机可以直接识别由十六进制代码构成的程序√B.可以连续执行的指令的集合称为"程序"C."程序"是人与计算机"对话"的语言D.计算机可以直接识别由0和1组成的机器语言代码解析:13.以下与数学表达式“0<x(分数:1.00)A.(0<x√B.0C.x>0 && xD.(x>0 && x2 && x<5)解析:14.以下选项中与 ( !a== 0 )的逻辑值不等价的表达式是(分数:1.00)A.( a== !0 ) √B.aC.(a>0 || a<0)D.(a!= 0 )解析:15.变量math和engl中存放了两门课的成绩。
C语言编程练习题与答案 选择结构2-3
if (b==1 || b==3 || b==5 || b==7 || b==8 || b==10 || b==12) printf("%d",31);
else printf("%d",30); }
return 0; }
2.测试数据 (不提供,请在网站上进行测试)
三、判断一个数能否被 2、3、5 整数(codeup,21662,原题,25 日第 5 题升级)答案 1.源代码: #include <stdio.h>
2.测试数据 (不提供,请在网站上进行测试)
二、某月天数判断(codeup,21663,原题) 答案 1.源代码: #include <stdio.h>
int main() {
int a,b; scanf("%d %d",&a,&b);
if (b==2) {
if ((a%4==0 && a%100!=0)||(a%400==0)) printf("%d",29); else printf("%d",28); }
break; case 3:printf("%d,%d,%d",hundred,ten,indiv);
printf("\n%d %d %d\n",indiv,ten,hundred); break;
case 2:printf("%d,%d",ten,indiv); printf("\n%d %d\n",indiv,ten);
int main() {
int num,indiv,ten,hundred,thousand,ten_thousand,place; 十位,百位,千位,万位和位数
2015年计算机二级C语言测试题及答案解析(二)
基本输入输出及流程控制1.#includemain(){ int a=1,b=3,c=5;if (c==a+b)printf("yes\n");elseprintf("no\n");}运行结果为:no详见教材p89 选择结构详见教材p91关系符号详见附录D p378符号的优先级==表示判断符号两边的值是否相等;=表示将符号右边的值赋给左边的变量本题考点是选择结构3种基本形式的第二种选择结构三种一般形式中的“语句”皆为复合语句,复合语句要用{ }括起来,只有当复合语句中只包括一条语句时可以省略{ },此题即如此,因此两个printf操作没有加{ }若c==a+b成立,则执行printf("yes\n");否则(即c==a+b不成立),执行printf("no\n");+的优先级高于==,因此先算a+b,值为4,表达式5==4不成立,因此执行printf("no\n");即输出字符串no2.#includemain(){ int a=12, b= -34, c=56, min=0;min=a;if(min>b)min=b;if(min>c)min=c;printf("min=%d", min);}运行结果为:min=-34详见教材p89 选择结构本题考点是选择结构3种基本形式的第一种一共包含了两个选择结构(两个if语句)定义变量,并赋值此时a=12, b= -34, c=56, min=0将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。
若min>b成立,则执行min=b;若min>c成立,则执行min=c;输出min中的值12大于-34,第一个if语句的表达式成立,因此执行min=b; 执行后min中的值被更新为-34. -34小于56,第二个if语句的表达式不成立,因此不执行min=c;最后输出min中的值,为-34.6.#includemain(){ int m;scanf("%d", &m);if (m >= 0){ if (m%2 == 0) printf("%d is a positive even\n", m);else printf("%d is a positive odd\n", m); }else{ if (m % 2 == 0)printf("%d is a negative even\n", m);else printf("%d is a negative odd\n", m); }}若键入-9,则运行结果为: -9 is a negative odd7.#includemain(){ int num=0;while(num<=2){ num++;printf("%d\n",num);}}运行结果为:123详见教材p115循环结构当循环条件num<=2成立的时候,执行循环体{ num++;printf("%d\n",num);}中的语句。
2015年3月全国计算机等级考试二级《C语言》真题四及详解
2015年3月全国计算机等级考试二级《C语言》真题四(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 每一个节点有两个指针域的链表一定是非线性结构B 所有节点的指针域都为非空的链表一定是非线性结构C 循环链表是循环队列的链式存储结构D 线性结构的存储节点也可以有多个指针该问题分值: 1答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。
双向链表节点具有两个指针域,属于线性结构,A选项错误。
循环链表所有节点的指针域都为非空,属于线性结构,B选项错误。
循环链表是链表,循环队列属于队列,队列只能在队尾人队,在排头退队,链表可以在任何位置插入、删除,C选项错误。
双向链表节点具有多个指针域,D选项正确。
2. 使用白盒测试方法时,设计测试用例应根据()。
A 程序的内部逻辑B 程序的复杂结构C 程序的功能D 使用说明书该问题分值: 1答案:A[解析]白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故A选项正确。
3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。
则实体医生和患者之间的联系是()。
A 多对多B 多对一C 一对多D 一对一该问题分值: 1答案:A[解析]一般来说,实体集之间必须通过联系来建立联接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。
医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,A选项正确。
4. 设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是()。
A 二分法查找B 顺序查找C 分块查找D 哈希查找该问题分值: 1答案:A[解析]对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(log2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算HashCode来定位元素位置,所以只需一次即可。
【免费下载】3月计算机二级C语言试卷及答案
2015年3月计算机二级C 语言试卷及答案和十位的数字之和大于5的所有无符号整数,结果保存在数组yy 中,其个数由函数proc 返回。
例如,当arr[8]={13,1,205,252,2,333,4444,21)时实际输人时,数与数之间用Enter 键分开,bb[4]={252,333,、管路敷设技术通过管线敷设技术,不仅可以解决吊顶层配置不规范问题,而且可保障各类管路习题到位。
在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。
管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。
线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。
、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。
对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。
2015年下半年C语言笔试试题
2015年下半年全国高等学校(安徽考区)计算机水平考试试卷二级C语言程序设计一、程序填空题1.以下程序计算并输出1~100之间所有是3或7的倍数之和,请填空。
#include<stdio.h>void main(){int i,s;_______=0;for(i=1;i<=100;i++)if(_________) /*判断是否是3或7的倍数*/s=s+i;printf("s=%d\n",______);}2.以下程序输出图形:123452345345455请填空:#include<stdio.h>void main(){int i,j;for(i=1;_____;i++){for(j=i;j<=5;j++)printf("%d",____);printf("___");}}3.以下程序利用指针输出一个字符串中所有的数字字符,请填空。
#include<stdio.h>void main(){char s[]="A1B2C3D4E5F6G7H8I9";char *p;for(p=s;_____!='\0';p++)if(________) /*判断是否是数字字符*/printf("%c",_____);}二、阅读理解题1.以下程序运行后输入2,程序的输出结果是。
#include<stdio.h>void main(){int color;printf("Please intput color:");scanf("%d",&color);switch(color){case 0: printf("black");case 1: printf("blue");case 2: printf("green");case 3:printf("red");break;default:printf("other color");}}2.以下程序运行的结果是。
2015年3月全国计算机等级考试二级《C语言》真题一及详解
2015年3月全国计算机等级考试二级《C语言》真题一(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 单击窗口内的按钮时,产生的事件是()。
A MouseEventB WindowEventC ActionEventD KeyEvent该问题分值: 1答案:C在构件的事件类中,MouseEvem事件是鼠标事件,包括鼠标单击,移动;WindowEvent事件是窗口事件,包括关闭窗口,窗口闭合,图标化;ActionEvent事件是动作事件,包括按钮按下;TextField 中按<Enter>键;KeyEvent事件是键盘事件,包括键按下、释放。
2. 在Java中,实现用户界面功能的包是()。
A java.appletB javax.transactionC java.utilD java.awt该问题分值: 1答案:D本题考查考生对Java包功能的理解。
选项A中java.applet包是为Applet提供执行需要的所有类,主要访问Applet内容的通信类;选项B中transaction包是属于javax而不是java,javax.transaction包是提供事务处理所需要的包;选项C中java.util包提供使用程序类和集合类,如系统特性定义和使用、日期函数类、集合Collection、Map、List、Array等常用工具类;java.awt 包是封装抽象窗口工具包,提供构建和管理用户图形界面功能,为本题正确答案。
3. 下列选项中属于字符串常量的是()。
A ·abc·B "abc"C [abc]D (abc)该问题分值: 1答案:BJava中字符串常量由双引号和其中间的字符所组成.4. 类Panel默认的布局管理器是()。
A GridLayoutB BorderLayoutC FlowLayoutD CardLayout该问题分值: 1答案:C本题考查Java中的布局管理器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每小题1分,共40分)1、有以下程序:程序运行后的输出结果是( )。
A.1,2,6,24,120,B.1,2,3,4,5,C.1,1,1,1,1,D.1,2,4,6,8,2、下列叙述中正确的是( )。
A.软件是程序、数据和文档B.软件是程序和数据C.软件是算法和数据结构D.软件是算法和程序3、语句prinff(”%d\n”,strlen(”\t\”\、、n\"\065\08AB”));的输出结果是( )。
A.6B.7C.8D.94、函数fun的功能是在a所指的具有n个元素的数组中查找最大值并返回给调用函数,函数不完整。
在if语句下划线处应填人的选项是( )。
A.O>sB.* P>*sC.a[p]>a[s]D.p—a>P—s5、若有语句:int a[3][4],(。
P)[4];P=a;,则以下选项中叙述错误的是()。
A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值B.P+1代表a[1][0]的地址C.P中将存放a数组的首地址D.P+2代表a数组最后一行的首地址6、有以下程序:程序运行后的输出结果是( )。
A.4,5,2,4,1,3,B.4,4,2,2,1,1,C.5,5,3,3,2,2,D.4,4,2,2,1,37、若有定义:int a,b,C;以下程序段的输出结果是( )。
a=11;b=3;C=0;pfinff(”%d\n”,c=(a/b,a%B.);A.2B.0C.3D.18、若有定义:doublea,b,c;能正确给a,b,c输入数据的语句是( )。
A.seanf(”%lf%1f%1P‘&a,&b,&C.;B.scanf(-t%f%f%f¨,&a,&b。
&C.:C.scanf(”%If%lf%lf’,a,b,C.;D.scanf(”%lf%lf%lf'’,&a,&b,&C.;9、有以下程序段:以下选项中不能正确引用字符串的是( )。
A.3B.p[3]C.str[2]D.*P10、在最坏情况下,二分查找法的时间复杂度为( )。
11、有以下程序:程序运行后的输出结果是( )。
A.2B.0D.312、若有定义:typedefint*T[10];T a;则以下选项与上述定义中a的类型完全相同的是( )。
A.int*a[10];B.int(*A.[10];C.int a[10];D.int(*a[10]);13、医生可以为病人开不同的药,而同一种药也可由不同医生开给病人,则实体医生和实体药之间的联系是( )。
A.多对多B.一对一C.多对一D.一对多14、为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域)则在( )处填入的选项是( )。
*struetlink{ehardata;( )node;A.struetlink*next;B.linknext;C.link$next;D.struetlinknext;15、有以下程序:当执行程序时,按下列方式输入数据(从第l列开始,代表回车,注意:回车也是一个字符]1234则输出结果是( )。
A.123B.12C.1234D.123416、有以下程序:程序运行后的输出结果是( )。
B.BCAC.CCBBD.CDBCA17、有以下程序:程序运行后的输出结果是( )。
A.0,1B.0,0C.1,一1D.0,218、有以下程序:A.9B.-1C.10D.019、下列叙述中错误的是( )。
A.数据结构中的数据元素不能是另一数据结构B.数据结构中的数据元素可以是另一数据结构C.空数据结构可以是线性结构也可以是非线性结构D.非空数据结构可以没有根结点20、以下选项中合法的c语言常量是( )。
A.,C—STR’B.2014.1C.”\l.0D.2EK21、有以下程序:程序输出( )。
A.编译有错B.0,0,0,3C.1,1,2,0D.0,1,2,022、有以下程序-程序运行后的输出结果是( )。
A.4B.2C.8D.123、软件生命周期是指( )。
A.软件的定义和开发阶段B.软件的需求分析、设计与实现阶段C.软件的开发阶段D.软件产品从提出、实现、使用维护到停止使用退役的过程24、有以下程序:执行时输入:3.6 2.4<回车>,则输出结果是( )。
A.2.400000B.1.500000C.1.600000D.2.00000025、有以下程序:程序运行后的输出结果是( )。
A.?B.3.2GC.????D.7.2G26、有以下程序:执行时输入:6<回车>,则输出结果是( )。
A.6B.8C.7D.527、能从任意一个结点开始没有重复地扫描到所有结点的数据结构是( )。
A.循环链表B.双向链表C.二叉链表D.有序链表28、以下是正确c语言标识符的是( )。
A.&3B.#3C.jD.一329、关于地址和指针,以下叙述正确的是( )。
A.可以通过强制类型转换让char型指针指向double型变量B.函数指针P指向一个同类型的函数f时,必须写成:p=&f;C.指针P指向一个数组f时,必须写成:p=ecf;D.一个指针变量P可以指向自身30、有以下程序:程序运行后的输出结果是( )。
A.1,5B.2,4C.2,6D.2,531、有以下程序:程序运行后的输出结果是( )。
A.8B.6C.7D.932、有以下程序:程序运行后的输出结果是( )。
A.1B.2C.3D.033、设Z.X树中共有31个结点,其中的结点值互不相同。
如果该二叉树的后序序列与中序序列相同,该二叉树的深度为( )。
A.31B.16C.17D.534、有以下程序:}执行时输入:l 2 3<回车>,则输出结果是( )。
A.2,2,4,4,B.2,3,4,C.2,2,3,4,D.2,3,3,4,5,6,35、以下叙述错误的是( )。
A.一个算法所包含的操作步骤应该是有限的B.任何能通过编译和运行的算法都一定能得到所期望的结果C.算法中每一条指令必须有确切的含义D.算法可以用各种描述方法来进行描述36、设栈的存储空间为S(1:m),初始状态为top=m+1。
经过一系列入栈与退栈操作后,top=1。
现又要将一个元素进栈,栈顶指针t叩值变为( )。
A.发生栈满的错误B.2C.mD.037、有以下程序:程序运行后的输出结果是( )。
A.IB.JC.KD.H38、有以下程序:39、有以下程序:执行时输入:2<回车>,则输出结果是( )。
A.1 23 4B.5 431C.1235D.32 1 440、若要建立下图所示的存储结构,以下正确的程序段是( )。
二、程序填空题(共18分)41、给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在BLANKl.C中。
不得增行或删行,也不得更改程序的结构!试颖程序.三、程序改错题(共24分)42、给定程序MODII.C中,函数fun的功能是判断整数n是否是”完数”。
当一个数的因子之和恰好等于这个数本身时,就称这个数为”完数”。
例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。
如果是完数,函数返回值为1,否则函数返回值为0。
数组a中存放的是找到的因子,变量k中存放的是因子的个数。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:四、程序设计题(共18分)43、请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和c的个数。
注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所缩写的若干语句。
试题程序:。