c语言选择题.doc

上传人:s****u 文档编号:12749445 上传时间:2020-05-22 格式:DOC 页数:23 大小:359.25KB
返回 下载 相关 举报
c语言选择题.doc_第1页
第1页 / 共23页
c语言选择题.doc_第2页
第2页 / 共23页
c语言选择题.doc_第3页
第3页 / 共23页
点击查看更多>>
资源描述
1、1.关于C程序的构成描述,_是不正确的。A、一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个其他函数。B、函数由函数首部和函数体两部分组成,二者缺一不可。C、函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数参数等,不管有无函数参数,都必须用一对圆括号括起来。D、函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,但不能为空。2、2.C程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成部分,该符号是_。A、逗号“,”B、句号“。”C、分号“;”D、单撇号“”3、3.下列关于C程序的运行流程描述,_是正确的。A、编辑目标程序、编译目标程序、连接源程序、运行可执行程序。B、编译源程序、编辑源程序、连接目标程序、运行可执行程序。C、编辑源程序、编译源程序、连接目标程序、运行可执行程序。D、编辑目标程序、编译源程序、连接目标程序、运行可执行程序。4、5.描述或表示算法有多种方法,_不是常用的表示方法。A、自然语句B、流程图或N-S图C、伪代码 D、效果图5、6.下面四个哪一个是C语言正确的标识符。 A、2xy B、data_file C、break D、a163.com6、7.C语言是一种结构化的程序设计语言,任何程序都可以将模块通过3种基本的控制结构进行组合来实现,这三种基本的控制结构是指_。A、分支结构、循环结构、函数结构 B、顺序结构、选择结构、函数结构C、顺序结构、分支结构、循环结构D、以上描述都不正确7、下列关于算法特性的描述,_是不正确的。 A、有穷性:指一个算法应该包含有限的操作步骤,而不能是无限的。B、确定性:指算法的每一个步骤都应当是确定的,不应该是含糊的、模棱两可的。C、有效性:指算法中的每一个步骤都应当能有效地执行,并得到确定的结果。D、输入/输出性:指算法中可以有输入/输出操作,也可以没有输入/输出操作。8、关于运行一个C程序的描述,_是正确的。A、程序总是从main()函数处开始运行,当main()函数执行结束时,程序也就执行结束。B、程序总是从main()函数处开始运行,当调用其它函数时,也可在其它函数中执行结束。C、当程序中无main()函数时,可以设置一个主控函数来代替main()函数,从而达到运行程序的目的。D、以上描述都不正确。9、下列关于C程序中复合语句的描述,_是正确的。A、用一对圆括号“( )”将若干语句顺序组合起来就形成一个复合语句。B、用一对大括号“ ”将若干语句顺序组合起来就形成一个复合语句。C、用一对大括号“ ”将若干语句顺序组合起来就形成一个复合语句。D、以上描述都不正确。10、一个C源程序文件的扩展名是_。A、.CPPB、.CC、.OBJD、.EXE11、如果程序有语义错误就需要对程序进行调试,一般的编程环境都提供了相应的调试手段和方法,最主要的方法包括_。A、设置断点,观察变量B、单步调试,观察变量C、编辑、编译、连接和执行D、A和B都正确12、在运行一个C语言程序过程中,需要经过编辑、编译、连接和调试运行过程,语法错误称为_。 A、编译错误B、连接错误C、运行错误D、语议错误13、以下叙述不正确的是。 A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、在C程序中,注释说明只能位于一条语句的后面D、C程序的基本组成单位是函数14、一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束15、C语言规定:在一个源程序中,main函数的位置。 A、必须在程序的开头B、必须在系统调用的库函数的后面C、可以在程序的任意位置D、必须在程序的最后16、C编译程序是。 A、将C源程序编译成目标程序的程序B、一组机器语言指令C、将C源程序编译成应用软件D、C程序的机器语言版本17、以下叙述中正确的是。 A、C语言比其他语言高级B、C语言可以不用编译就能被计算机识别执行C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D、C语言出现的最晚,具有其他语言的一切优点18、用C语言编写的代码程序。 A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行19、下列4组选项中,均不是C语言关键字的选项是。 A、define、IF、TypeB、getc、char、printfC、include、scanf、caseD、while、go、pow20、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符。 A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母、数字和下划线中任一种字符1、C语言中简单的数据类型包括_。 A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型2、C语言中字符型(char)数据在内存中的存储形式是_。 A、原码B、补码C、反码D、ASCII码3、设已说明inta=256,则执行语句“printf(%x,a);”的结果是_。 A、0100B、0256C、0ffeD、00ff4、设有说明语句:chara;intb;floatc;doubled;则执行语句c=a+b+c+d;后,变量c的数据类型是_。 A、intB、charC、floatD、double5、函数printf与putchar功能的主要区别是_。 A、printf需要格式说明,putchar不需要B、putchar只能输出字符,不能输出数字C、printf只能输出数字D、没有区别6、以下叙述正确的是_。A、C语句前面必须有行号B、C程序中每行只能写一条语句C、C语言本身没有输入输出语句D、注释必须跟在一行语句的后面7、C语言语句一行写不下时,可以_。A、用逗号换行B、用分号换行C、用回车换行D、在任意一空格处换行8、若有说明语句:inta;floatb;,以下输入语句正确的是_。A、scanf(B、scanf(C、scanf(D、scanf(9、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是_。inta;floatb;scanf(a=%d:b=%f,&a,&b);A、252.5B、25,2.5C、a=25:b=2.5D、a=25b=2.510、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式是_。 A、a0B、!aC、a=0D、a!=011、对于条件表达式(k)?(i+):(i-)来说,其中的表达式k为真时等价于_。A、k=0 B、k=1C、k!=0 D、k!=112、字符型(char)数据在微机内存中的存储形式是_。 A、补码 B、ASCII码C、EBCDIC码D、反码 13、C语言整型常数有十进制、八进制和十六进制三种表达形式,()是合法的十六进制常数表示形式。 A、12B、012C、0x12D、1A14、C语言中的运算符有优先级,关于运算符优先级的正确叙述是_。 A、逻辑运算符高于算术运算符,算术运算符高于关系运算符B、算术运算符高于关系运算符,关系运算符高于逻辑运算符C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符15、设有一个3位正整数m,计算m十位数的表达式为_。 A、m/100B、m/10C、m%100/10D、m%10016、设有定义“inta=5,b=6;”,则表达式(+a=b-)?+a:-b的值是_。 A、5B、6C、7D、817、执行下列程序段后,a的值是()。inta,b,c,m=10,n=9;a=(-m=n+)?-m:+n;A、11B、10C、9D、818、下面程序的输出是()。main()intx=10,y=3;printf(%dn,y=x/y);A、0B、1C、3D、不确定的值19、设inta=1,b=2,c=3;则逗号表达式(a=3,a+,3*a+2)的值是()。 A、14B、11C、12D、1320、执行下列程序段后,y1、y2的值分别是()。inta=7,b=2;floaty1,y2;y1=a/b;y2=(float)a/b;A、3 3.5B、3 3C、3.5 3.5D、7 221、下列程序的功能是输出a、b、c三个变量中的最小值,请填空。#includevoidmain()inta,b,c,t1.t2;scanf(%d%d%d,&a,&b,&c);t1=a问号(1);t2=ct1问号(2);printf(%dn,t2);A、(1) c:t1 (2) a:bB、(1) a:b (2) c:t1C、(1) a:c (2) a:t1D、(1) b:c (2) c:t122、下列程序的运行结果是()。#includevoidmain()inti,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%dn,i,j,m,n);A、8,10,8,9B、8,11,8,9C、9,11,9,10D、8,10,9,1023、下面数据中属于字符型常量的是()。 A、ANDB、NC、ABCD、OR24、设a为整型变量,不能正确表达数学关系: 10a15的C语言表达式是_。 A、10a10&a15D、!(a=15)25、在以下运算符中,优先级最高的运算符是_。 A、=B、C、!=D、26、若有以下定义和语句,执行后的输出结果是_。char c1=a, c2=f;printf(%d,%cn,c2-c1,c2-a+B);A、2,MB、5,!C、2,ED、5,G27、下面四个哪一个是C语言正确的标识符()。 A、2xy B、data_fileC、breakD、a163.com28、下面不正确的赋值语句是()。 A、a=bB、a+;C、a=1,b=1;D、a+=b;29、下面程序的输出是()。main()charx=040;printf(%dn,x=x+);A、32B、33C、40D、4130、下列程序的输出结果是()。#includevoidmain()inta=-1,b=4,k;k=+a+b-;printf(%d%d%dn,a,b,k);A、1 3 4B、0 3 4C、1 2 3D、0 4 3 1、以下说法中正确的是。A、C语言程序总是从第一个函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、C语言程序的基本结构单位是_。 A、函数B、语句C、字符D、程序行3、C语言规定在一个C程序中,main函数的位置_。 A、必须在开始B、必须在最后C、可以任意D、必须在系统调用的库函数之后4、编辑程序的功能是_。 A、调试程序B、建立并修改文件C、将C语言程序编译成目标程序D、命令计算机执行指定的操作5、在C语言中非法的字符或字符串常量是_。 A、intB、abC、nD、n6、设a为整型变量,能表达数学关系10a15的C语言表达式是_。 A、10a10&a10 and a10|a3;j=j-1)if(j%3!=0)j=j-1;j=j-2;printf(“%d”,j);A、6 3B、7 4C、6 2D、7 311、若执行以下语句后,celsius变量的结果是_。int celsius,fahr=100; celsius=6/12*(fahr-30);A、0B、35C、35.0D、3612、下列有关for语句的描述中:for(表达式1;表达式2;表达式3)循环体语句_是不正确的。 A、书写顺序和执行顺序不同B、表达式1只执行一次C、表达式2,循环体语句,表达式3循环执行D、表达式1,表达式2,循环体语句,表达式3循环执行13、执行下列程序段后,变量sum、i的值是_。for(sum=0,i=1; i=100; i+)sum=sum+i;A、5050 101B、5050 100C、5051 100D、5051 10114、C语言程序中的常量类型()。 A、由书写形式确定B、必须用定义语句定义C、在运算时才能确定D、无法确定15、执行“scanf(a=%d,b=%d,&a,&b);” 语句, 要使变量a、b的值分别为3和4, 正确输入方法是()。 A、3,4B、a:3 b:4C、a=3,b=4D、3 416、若输入2.50,下列程序的执行结果是()。void main( )float r, area ;scanf(%f, &r);printf(%fn, area=1/2*r*r);A、0B、3.125C、3.13D、程序有错17、与数学表达式3xn/(2x-1)对应的C语言表达式是()。 A、3*xn(2*n-1)B、3*x*n/(2*x-1)C、3*pow(x,n)/(2*x-1)D、3*pow(n,x)/(2*x-1)18、下面关于for循环的正确描述是()。 A、for循环只能用于循环次数已知的情况B、for循环是先执行循环体语句,后判断表达式C、for循环只能用于循环次数未知的情况D、for循环的循环体语句中,可以包含多条语句19、下列程序运行时如果从键盘输入“789”,则运行结果是()。#include void main() int a,b,c,x,y;printf(“请输入3个整数:”);scanf(%d%d%d,&a,&b,&c);if(ab)x=a;y=b;elsex=b;y=a;if(xc) y=c;printf(x=%d,y=%d,x,y);A、x=7,y=9B、x=7,y=7C、x=9,y=7D、x=9,y=920、下面程序的功能是在输入的10个正整数中求出最大者,请选择填空。#includevoid main()int i,a,max=0;for(i=1;i=10;i+)(1);if(maxy);B、if(x=y)x+=y;C、if(xy)x+;y+;D、if(x!=y) scanf(%d,&y);2、在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是_。 A、if(a)s1;else s2;B、if(a=0)s2;else s1;C、if(a!=0)s1;else s2;D、if(a=0)s1;else s2;3、以下错误的描述是_。 A、break语句不能用于循环语句switch语句外的任何其它语句B、在switch语句中使用break语句或continue语句的作用相同C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环4、设有说明语句:inta=1,b=0;则执行以下语句后输出为_。switch(a)case1:switch(b)case0:printf(*0*);break;case1:printf(*1*);break;case2:printf(*2*);break; A、*0*B、*0*2*C、*0*1*2*D、有语法错误5、以下四个关于C语言的结论中,只有一个是错误的,它是_。 A、可以用while语句实现的循环一定可以用for语句实现B、可以用for语句实现的循环一定可以用while语句实现C、可以用do-while语句实现的循环一定可以用while语句实现D、do-while语句与while语句的区别仅是关键字“while”出现的位置不同6、下面程序段中,do-while循环语句循环的次数是_.inti=1,sum=0;dosum+=i;while(i=100);printf(%dn,sum);A、1B、100C、0次(不循环)D、无限次(死循环)7、多重if_else语句嵌套使用时,寻找与else配套的if方法是_。A、缩排位置相同的ifB、其上最近的ifC、下面最近的ifD、同行上的if8、以下判断两个字符串相等的正确方法是_。A、if(str1=str2)B、if(str1=str2)C、if(strcpy(str1,str2)=0)D、if(strcmp(str1,str2)=0)9、C语言的跳转语句中,对于break和continue说法正确的是_。 A、continue语句只应用于循环体中B、break语句只应用于循环体中C、break是无条件跳转语句,continue不是D、break和continue的跳转范围不够明确,容易产生问题10、下列程序的执行结果是( )。#include main( ) int s=0, k;for(k=7;k=0;k-) switch(k)case 1: case 4: case 7:s+; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; printf(s=%dn,s); A、s=4B、s=7C、s=3D、s=511、与语句“y=(x0?1:x0) y=1;else if(x0) y=1; else if(x0) y=1; else if(x=0) y=0; else y=-1;D、y=0; if(x=0) if(x0) y=1; else y=-1;12、下面程序运行时,如果输入字符A,则输出的结果是_。#includevoidmain()chargrade;grade=getchar();switch(grade)case65:printf(85-100);case66:printf(70-84);case67:printf(60-69);case68:printf(不及格);default:printf(输入错误!);A、85-100B、8-10070-8460-69不及格输入错误!C、70-84D、不及格输入错误!13、下面程序运行时,如果输入字符A,则输出的结果是_。#includevoidmain()chargrade;grade=getchar();switch(grade)caseA:printf(85100);caseB:printf(7084);caseC:printf(6069);caseD:printf(不及格);default:printf(输入错误!);putchar(n);A、85100B、8510070846069不及格输入错误!C、7084D、不及格输入错误!14、输入一个学生的数学成绩(0100),将他转换为五级积分制成绩后输出。如果输入不正确的成绩,显示“Invalidinput”。请填空。voidmain()intmark;(1);scanf(%d,mark);if(2)if(mark=90)grade=A;esleif(mark=80)grade=B;elseif(mark=70)grade=C;elseif(mark=60)grade=D;elsegrade=E;putchar(grade);putchar(n);elseprintf(Invalidinputn); A、(1) char grade (2) mark=0B、(1) char grade (2) mark0C、(1) char grade (2) mark=0D、(1) char grade (2) mark015、下列程序段的输出结果是_。voidmain()intm,k=0,s=0;for(m=1;m=4;m+)switch(m%4)case0:case1:s+=m;break;case2:case3:s-=m;break;k+=s;printf(%d,k);A、-5B、-3C、-4D、-616、下面程序段运行结果是_。#includevoid main()int i;for(i=1; i=5; i+)if(i%2) printf(*);else continue;printf(#);printf($n); A、*#*#*#$B、#*#*#*$C、*#*#$D、#*#*$17、运行下列程序,输出结果是_。#include void main()int x,y;for(x=y=1;x=10)break;if(y%3=1)y=y+3;continue;printf(%dn,x); A、3B、4C、5D、618、程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请在划线处填空。#includevoidmain()floatx,amax,amin;scanf(%f,&x);amax=x;amin=x;while(1)if(xamax)amax=x;if(2)amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin); A、(1) x=0 (2) x=aminB、(1) x=0 (2) x=0 (2) x=aminD、(1) x=amin19、C语言对嵌套if语句的规定是:else总是与_配对。 A、与之前最近的ifB、第一个ifC、缩进位置相同的ifD、其之前最近的且尚为配对的if20、若有下面程序片段,则输出结果为_。intk=-3;if(k0)printf(#)elseprintf(&); A、#B、&C、#&D、有语法错误,无法运行。二、填空题 (每空5分,共10分)1、下列程序执行结果是_9_。 #include main( ) int I,j,k,s=0;for(I=0;I3;I+) for(j=0;j4;j+) for(k=0;k2;k+)s=s+I+j+k; printf(%d,s); 答: 2、执行下列程序,若由键盘输入4,程序执行结果是_。#includemain()ints=0,I;scanf(%d,&I);doif(I=0)break;elses=s+I;printf(%dt,s);while(-I);答: 4 7 9 10
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!