《C语言程序设计(期末考试).docx》由会员分享,可在线阅读,更多相关《C语言程序设计(期末考试).docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计(期末考试)1.C语言程序是由()构成的。A)一些可执行语言B)main函数C)函数(正确答案)D)包含文件中的第一个函数2()是构成C语言程序的基本单位。A、函数(正确答案)B、过程C、子程序D、子例程3C语言程序从()开始执行。A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数(正确答案)D)包含文件中的第一个函数4C语言程序从main()函数开始执行,所以这个函数要写在()。A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置(正确答案)5、以下说法中正确的是()。A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序
2、中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行(正确答案)D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是()。A.主函数可以分为两个部分:主函数说明部分和主函数体。B.主函数可以调用任何非主函数的其它函数。C.任何非主函数可以调用其它任何非主函数。D.程序可以从任何非主函数开始执行。(正确答案)7.下列说法错误的是()A.C程序运行步骤是编辑、编译、连接、执行。B.C语言的变量名必须用小写,常量用大写。(正确答案)C.C语言的三种基本结构是顺序、选择、循环。D.C程序一定由函数构成的。8.下列关于C语言的说法错误的是()
3、。A.C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写。(正确答案)C.C程序的三种基本结构是顺序、选择、循环D.C程序从main函数开始执行9.VC默认的C语言源程序扩展名为.CPP,需经过()之后,生成.exe文件,才能运行A)编辑编译B)编辑连接C)编译连接(正确答案)D)编辑改错10.下列说法中正确的是()。A.由于C源程序是高级语言程序,因此一定要在VC软件中输入。B.由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。(正确答案)C.由于C程序是高级语言程序,因此输入后即可执行。D.由于C程序是高级语言程序,因此它是由命令组成的。11.不是C
4、语言提供的合法关键字是()。A.switchB.cher(正确答案)C.caseD.default12下列C语言用户标识符中合法的是()。A.3axB.x(正确答案)C.caseD.-e213.C语言中的简单数据类型包括()。A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型(正确答案)14.以下选项中合法的字符常量是()A.“B”B.n(正确答案)C.68D.E15在C语言中,字符型数据所占的内存空间是()A.2个字节B.4字节C.1字节(正确答案)D.由用户自定义16.若有以下类型说明语句:chara;intb;floatc;doubled;
5、则表达式ab+d-c的结果类型为()A.floatB.charC.intD.double(正确答案)17.C语言中运算对象必须是整型的运算符是()A.%=(正确答案)B./C.=D.=18.在C语言程序中,表达式5%2的结果是()。A)2.5B)2C)1(正确答案)D)319若intx=2,y=3,z=4则表达式xz?y:z的结果是().A.4B.3(正确答案)C.2D.020设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是()A、a&bB、a=bC、a|b+c&b-cD、!(ab)&!c|1)(正确答案)21.设整型变量a=2,则执行下列语句后,浮点型
6、变量b的值不为0.5的是()A.b=1.0/aB.b=(float)(1/a)(正确答案)C.b=1/(float)aD.b=1/(a1.0)22.以下运算符中优先级最高的运算符是()A.&B.+(正确答案)C.+=D.!=23.若“intn;floatf=13.8;”,则执行“n=(int)f%3”后,n的值是()A.1(正确答案)B.4C.4.333333D.4.624.设x为int型变量,则执行以下语句后,x的值为()x=10;x=x;A.10B.20C.100(正确答案)D.025.若有语句inta=1,b;doubley=2.3;b=(int)y;则b的值为()A.3B.2(正确答案
7、)C.1D.2.326.在C语言中,认为()为逻辑真A)trueB)大于0的数C)非0整数D)非0的数(正确答案)27.表示关系x=y=z的c语言表达式为()A)(x=y)&(y=z)(正确答案)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=10ora=0|a=10&a=10a0&b&c0”的值是()A.1(正确答案)B.0C.-1D.出错30.设x,t均为int型变量,则执行语句“x=10;t=x&x10;”后,t的值为()A.不定值B.10C.1D.0(正确答案)31.若inti=10;执行下列程序后,变量i的正确结果是()。A、13(正确答案)B、12C、11D、
8、1032.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是()。A、if(a)s1;elses2;B、if(a=0)s2;elses1;C、if(a!=0)s1;elses2;D、if(a=0)s1;elses2;(正确答案)33.假定所有变量均已正确定义,则下列程序段运行后y的值是()A.20(正确答案)B.11C.9D.034.假定所有变量均已正确定义,则下列程序段运行后x的值是()。A.34B.4(正确答案)C.35D.335.C语言对嵌套if语句的规定是:else语句总是与()配对。A)其之前最近的ifB)第一个ifC)缩进位置相同的i
9、fD)其之前最近的且尚未配对的if(正确答案)36.在C语言语句中,用来决定分支流程的表达式是()。A可用任意表达式(正确答案)B.只能用逻辑表达式或关系表达式C只能用逻辑表达式D.只能用关系表达式37该程序的输出结果是()A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2(正确答案)38.以下程序段的输出结果是()A)a=10b=50c=10B)a=10b=30c=10(正确答案)C)a=50b=30c=10D)a=50b=30c=5039.在C语言中,下列说法中正确的是()。A)do-while语句构成的循环不能用其它语句构成的循环来代替。B)do-while语句构成
10、的循环只能用break语句退出。C)do-while语句构成的循环在while后的表达式非零时结束循环。D)do-while语句构成的循环,在while后的表达式为零时结束循环。(正确答案)40.break语句不能出现在()语句中A.switchB.forC.whileD.ifelse(正确答案)41对于break语句和continue语句的说法错误的是()A)break语句不能用于循环语句和switch语句之外的任何其他语句中。B)break和continue也可以用于if语句中(正确答案)C)continue语句只结束本次循环,而不是终止整个循环的执行。D)break语句是结束整个循环过程
11、,不再判断执行循环的条件是否成立。42.语句while(!y);中的表达式!y等价于()A)y0(正确答案)B)y!1C)y!0D)y=143若有“inta=1,x=1;”,则循环语句“while(a10)x+;a+;”的循环执行()A.无限次(正确答案)B.不确定次C.10次D.9次44.当运行时输入:abcd$abcde,下面程序的运行结果是()A)abcd$abcdeB)abcd$end(正确答案)C)abcdendD)abcd$abcdeend45.以下程序段()A.是死循环(正确答案)B.循环执行一次C.循环执行二次D.有语法错误46有如下程序该程序的执行结果是()A)6(正确答案)
12、B)3C)死循环D)447.设x和y均为int型变量,则执行以下的循环后,y的值为()。A.2B.4C.6D.1(正确答案)48.以下对一维数组a的正确说明是:()A)chara(10);B)inta;C)intk5,ak;D)chara3=a,b,c;(正确答案)49.以下能对一维数组a进行初始化的语句是:()A.inta5=(0,1,2,3,4,)B.inta(5)=C.inta3=0,1,2(正确答案)D.inta5=10150.在C语言中对一维整型数组的正确定义为()。A)inta(10);B)intn=10,an;C)intn;an;D)#defineN10intaN;(正确答案)5
13、1、已知:inta10;则对a数组元素的正确引用是()。A、a10B、a3.5C、a(5)D、a0(正确答案)52.执行下面的程序段后intk=3,s2;s0=k;k=s010;,变量k中的值为()A)不定值B)33C)30(正确答案)D)1053.下列说法中错误的是()A构成数组的所有元素的数据类型必须是相同的B用指针法引用数组元素允许数组元素的下标越界C一维数组元素的下标依次是1、2、3(正确答案)D定义数组时的长度可以是整型常量表达式54.若有以下数组说明:inta12=1,2,3,4,5,6,7,8,9,10,11,12;,则数值最大的和最小的元素下标分别是()。A.1,12B.0,1
14、1(正确答案)C.1,11D.0,1255.若有以下数组说明inta12=1,4,7,10,2,5,8,11,3,6,9,12;,则i=10;aai元素数值是()。A.10B.9(正确答案)C.6D.556.假定int类型变量占用两个字节,其有定义:intx10=0,2,4;,则数组x在内存中所占字节数是()A)3B)6C)10D)20(正确答案)57.若有说明:inta3=1,2,3,4,5,6,7;则数组a的第一维的大小为:()A.2B.3(正确答案)C.4D.无确定值58.以下定义语句中,错误的是()A)inta=1,2;B)chara;C)chars10=“test”;D)intn=5
15、,an;(正确答案)59.下面程序段的输出结果是:()A)159B)147C)357(正确答案)D)36960.对二维数组的正确定义是()A.inta=1,2,3,4,5,6;B.inta2=1,2,3,4,5,6;C.inta3=1,2,3,4,5,6;(正确答案)D.inta2,3=1,2,3,4,5,6;61已知inta34;则对数组元素引用正确的是()A)a24B)a1,3C)a20(正确答案)D)a(2)(1)62.C语言中函数返回值的类型是由()决定的.A)函数定义时指定的类型(正确答案)B)return语句中的表达式类型C)调用该函数时的实参的数据类型D)形参的数据类型63.在C
16、语言中,函数的数据类型是指()A函数返回值的数据类型(正确答案)B.函数形参的数据类型C调用该函数时的实参的数据类型D.任意指定的数据类型64.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为()A.由系统选择B.单向值传递(正确答案)C.由用户指定传递方式D.地址传递65.在函数调用时,以下说法正确的是()A.函数调用后必须带回返回值B.实际参数和形式参数可以同名(正确答案)C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文件里66.在C语言程序中,有关函数的定义正确的是()。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数
17、的调用可以嵌套(正确答案)C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的均可以嵌套67.以下对C语言函数的有关描述中,正确的是()。A.在(正确答案)C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参D.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中68.C语言中对函数的描述正确的是().A)可以嵌套调用,不可以递归调用B)可以嵌套定义C)嵌套调用,递归调用均可(正确答案)D)不可以嵌套调用69.以下叙述中正确的是()A)构成(正确答案)C程序的基本单位是函数D)所有被调用的函数一定要在调用之前进行定义70.用数组名作
18、为函数调用时的实参时,传递给形参的是()。A)数组首地址(正确答案)B)数组第一个元素的值C)数组全部元素的值D)数组元素的个数71.变量的指针,其含义是指该变量的:()A.值B.地址(正确答案)C.名D.一个标志72.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是()A)pb=&x(正确答案)B)pb=xC)pb=&xD)pb=x73、已知:inta,p=&a;则下列函数调用中错误的是()。A、scanf(“%d”,&a);B、scanf(“%d”,p);C、printf(“%d”,a);D、printf(“%d”,p);(正确答案)74.对于同类型的指针变量,不可能进行
19、的运算是()。A.-B.=C.+(正确答案)D.=75.对于基类型相同的两个指针变量之间,不能进行的运算是()A)&b0)putchar(chp);putchar(n);_(答案:GFEDCB)2、以下程序运行后的输出结果是。main()inta=1,b=3,c=5;if(c=a+b)printf(yesn);elseprintf(non);_(答案:yes)3、以下程序运行后的输出结果是。main()inti,m=0,n=0,k=0;for(i=9;i=11;i+)switch(i/10)case0:m+;n+;break;case10:n+;break;default:k+;n+;prin
20、tf(%d,%d,%dn,m,n,k);_(答案:1,3,2)4、以下程序段的输出结果是intk,n,m;n=10;m=1;k=1;while(k=n)m=2;k+;printf(“%dn”,m);_(答案:1024)5、以下程序的输出结果是main()intx=2;while(x-);printf(“%dn”,x);_(答案:-1)6、若有以下程序main()inta44=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0;inti,j,s=0;for(i=0;ifor(j=0;jif(aijif(aij=0)break;s+=aij;print
21、f(%dn,s);执行后输出结果是_(答案:58)7、以下程序运行后的输出结果是_。main()inti,n=0,0,0,0,0;for(i=1;i=4;i+)ni=ni-12+1;printf(%d,ni);_(答案:13715)8、以下程序运行后的输出结果是_。main()inti,j,a3=1,2,3,4,5,6,7,8,9;for(i=0;ifor(j=i+1;jfor(i=0;ifor(j=0;jprintf(n);_(答案:123)9.下列程序段的输出结果是_。Main()charb=”Hello,you”;b5=0;printf(“%sn”,b);_(答案:Hello)10.下面程序运行结果是_longfib(intg)switch(g)case0:return0;case1:case2:return1;return(fib(g-1)+fib(g-2);main()longk;k=fib(7);printf(“k=%dn”,k);_(答案:21)
限制150内