您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级c语言经典练习题及解析答案
计算机二级c语言经典练习题及解析答案一、单选题1.C语言中的三大基本数据类型包括(B)A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2.在C语言中,以下合法的字符常量是(c)A.'\048'B.'ab'C.'\43'D.\03.设x为int型变量,执行下列语句:x=10;x+=x-=x-x;则x的值为(B)A.15B.20C.25D.304.定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i3;i++)printf(%d,x[i][2-i]);的输出结果是(C)A.147B.159C.357D.3695.逗号表达式(a=3*5,a*4),a+15的值是(b)A.15B.30C.60D.756..以下程序的输出结果是(c)。main(){intx=10,y=11;printf(%d,%d\n,x--,--y);}A.11,11B.10,11C.10,10D.11,107.若一个外部变量的定义形式为staticintx;其中static的作用是(d)A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:intk=2;则下面的循环共执行多少(d)次while(k!=0){printf(%d,k);k--;}A.无限多次B.0次C.1次D.2次9.设有变量说明:inta=7,b=8;那么语句:printf(%d,%d\n,(a+b,a),(b,a+b));的输出应该是(a)A.7,15B.8,15C.15,7D.15,810.若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是(b)A.p+1B.a++C.a+1D.++p11.C语言变量名中不能使用的字符是(d)A.数字B.字母C.下划线D.关键字12.以下变量定义中合法的是(a)A.shorta=2.1e-1;B.doubleb=1+5e0.5;C.longdo=0xffe;D.float3_end=1-e3;13.若有说明语句charch1=′\x79′;则ch1(c)A.包含4个字符B.包含3个字符C.包含2个字符D.包含1个字符14.C语言中的函数(b)A.可以嵌套定义B.嵌套调用和递归调用均可C.不可以嵌套调用D.可以嵌套调用但不可以递归调用15.设整形变量a=12;则执行完语句a+=a-=a*a后a的值为(c)A.552B.264C.-264D.14416.设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果是(a)A.1B.2C.3D.417.若有说明语句:intb[][4]={3,1,2,5,7,6,4};则b数组的行数为(b)A.3B.2C.无确定值D.118.若有定义:charc[10];从键盘输入“LiFang”,则正确的函数引用是(c)A.scanf(″%c″,&c[10]);B.gets(c);C.scanf(″%s″,&c);D.gets(c[10]);19.两个基类型相同的指针变量之间,不能进行的运算是(c)A.B.=C.+D.-20.下面程序段执行结果是(b)inti=5,k;k=(++i)+(++i)+(i++);printf(%d,%d,k,i);A.24,8B.21,8C.21,7D.24,721.以下选项中属于C语言的数据类型是(b)。A.复合型B.双精度型C.逻辑型D.集合型22.以下说法中正确的是(c)。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分23.下面的(c)不是合法的C语言常量。A.123B.‘m’C.0874D.“hello”24.设有如下定义:intx=10,y=3,z;则语句printf(%d\n,z=(x%y,x/y));的输出结果是(d)。A.1B.0C.4D.325.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是(a)A.autoB.staticC.externD.register26.两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(c)。if(x++5)printf(%d,x);elseprintf(%d\n,x--);A.7和5B.6和3C.7和4D.6和427.循环语句for(x=0,y=0;(y!=123)||(x4);x++);的循环执行(a)A.无限次B.不确定次C.4次D.3次28.在C语言中,非法的八进制是:(a)A.018B.016C.017D.025729.设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型是(c)A.intB.folatC.doubleD.不确定30.有以下程序main(){intx=3,y=3,z=3;printf(“%d%d\n”(++x,y++),++z);}输出结果(b)A.33B.34C.42D.4331.下列描述中不正确的是(c)。数组重点A.字符型数组中可存放字符串。B.可以对字符型数组进行整体输入、输出。C.可以对整型数组进行整体输入、输出。D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。32.C语言中,定义PI为一个符号常量,正确的是(a)A.#definePI3.14B.definePI3.14C.#includePI3.14D.includePI3.1433.C语言中规定,if语句的嵌套结构中,else总是(d)配对A.与最近的ifB.与第一个ifC.按缩进位置相同的ifD.与最近的且尚未配对的if34.若有定义inta[5],*p=a;则对a数组元素地址的正确引用是(d)A.P+5B.*a+1C.&a+1D&a[0]35.以下语句的输出结果是(b)。inta=-1,b=4,k;k=(++a0)&&!(b--=0);printf(%d,%d,%d\n,k,a,b);A.1,0,4B.0,0,4C.0,0,3D.1,0,336.设有定义:inti,*pi=&i;以下scanf语句中能正确为变量i读入数据的是()A.scanf(%d,pi);B.scanf(%d,i);C.scanf(%d,&pi);D.scanf(%d,*pi);37.以下程序的输出结果是()main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(%d%d%d%d\n,a[0][3],a[1][2],a[2][1],a[3][0];)A0650B1470C5430D输出值不定38.若有以下程序片段charstr[]=ab\n\012\\\;printf(%d\n,strlen(str));则执行printf语句的输出结果是()。(1)6(2)12(3)3(4)4二、填空题1.负数在内存中以其二进制补码的形式存放的。2.C语言程序的三种基本结构是顺序、选择结构和循环结构。3..若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为_____900__________。4.C语言中规定函数可以嵌套调用,但是不能嵌套定义。5.设y为char型变量,请写出y是数字字符c语言合法表达式y=0&&y=9。6.现已定义整型变量inti=1;执行语句”while(i++5);”后,i的值为6。7.设有说明chara;intb;floatc;doubled;,则表达式d*c+a-b值的数据类型是double。8.对于数组a[m][n]来说,使用数组的某个元素时,行下标的最大值是m-1。9.有以下程序段:inta[10]={10,9,8,7,6,5,4,3,2,1},*p=&a[3],b;b=p[5];b中的值是2。10.break语句可以结束本层循环,还可以结束switch语句。11.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是auto。12.在内存中存储字符串helloworld需要用11个字节。13.设intx=5;则循环语句while(x=1)x--;执行后x的值为-1。14.求字符串实际长度的函数是strlen。15.能正确表示逻辑关系:a≥10或a≤0的C语言表达式是a=10//a=10。16.若有以下定义和语句:inta[4]={0,1,2,3},*p;p=&a[2];则(*p)++的值是2。17.表达式a=3,a+=2,a+1,a++的值是5。18.如果把数组名作为函数的实参,则传递给形参的是__________。19.switch语句中的break语句和default子句是可以缺省的。20.经过下述赋值后,变量x的数据类型是int。intx=2;doubley;y=(int)(float)x;11.C语言的预处理语句以___#_______开头。12.表达式7+82&&25%5的结果是______0_________________。13.表达式“sqrt(s*(s-a)*(s-b)*(s-c));”对应的数学式子为。14.字符串"happy"在内存中要用6个字节来存储。15.如果把数组名作为函数的实参,则传递给形参的是__________。16.break语句只能用于循环结构和switch。17.现已定义整型变量inti=1;执行语句”while(i++5);”后,i的值为6。18.若k为int类型,且k的值为3,执行语句k+=k-=k*k后,k的值为-12。19.在函数头部使用关键字void来表示它没有返回值。20.在C语言中字符串比较函数的名字是strcmd。21.C语言程序由函数组成,应在_main_____函数中开始执行。22.设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是-4。23.有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是a=1,b=3,c=4。24.有语句:charA[]={“Iamastudent”};该字符串的长度是14。25.若有说明语句:inta[][3]={1,2,3,4,5,6,7,8,9};则a数组的行数为。26.有变量说明intm,n,x,y;,顺序执行下面语句:m=12;n=12;x=(--m==n++)?--m:++n;y=n;则变量x的值是14,变量y的值是14。27.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是int。28.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件y%4==0$$y%100!=0//y%400==0。29.若有以下定义和语句:inta[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是2。2012年3月全国计算机等级考试二级C语言真题一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:RABCa12b21c31则由关系R和S得到关系T的操作是A、自然连接B、并C、差D、
本文标题:计算机二级c语言经典练习题及解析答案
链接地址:https://www.777doc.com/doc-4498252 .html