您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > C语言计算机考试试题及答案
一、单项选择题(每小题2分,共40分)二、填空题(每空2分,共20分)三、程序填空题(每小题5分,共20分)四、编程题(每小题10分,共20分)1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为(C)的文件。A.”.c”B.“.obj”C.“.exe”D.“.bas”2、以下叙述不正确的是(C)。A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.在C程序中,一行只能写一个语句D.在C程序中,注释说明对程序功能不产生影响3、一个C语言程序是由(B)。A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成4、用C语言编写的代码程序(B)。A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行5、一个C语言源程序只有一个函数,那么这个函数的名称为(C)。A.mathB.stdioC.mainD.abs6、以下不正确的C语言标识符是(A)。A.voidB.a3_b3C.ablexeD._x7、以下选项中属于C语言的数据类型是(C)。A.复数型B.逻辑型C.双精度型D.集合型8、若有说明和语句:inta=5;a++;则此处表达式a++的值是(C)。A.7B.6C.5D.49、在C语言中,以下叙述不正确的是(A)。A.在C程序中,无论是整数还是实数,都能被准确无误的表示B.在C程序中,变量名代表存储器中的一个位置C.C语言中的变量名只能由字母,数字和下划线三种字符组成D.C语言中变量必须先定义后引用10、设以下变量均为int类型,则值不等于7的表达式是(C)。A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)11、与数学式321nxx对应的C语言表达式是(C)。A.3*x^n/(2*x-1)B.3*x**n/(2*x-1)C.3*pow(x,n)*(1/(2*x-1))D.3*pow(n,x)/(2*x-1)12、若x和y都是int型变量,x=100,y=200,程序片段:printf(%d,(x,y));的输出结果是(A)。A.200B.100C.100200D.输出格式符不够,输出不确定的值13、以下程序的输出结果是(D)。#includestdio.hvoidmain(){inta=12,b=12;printf(%d,%d\n,--a,++b);}A.10,10B.12,12C.11,10D.11,1314、若有定义:inta=7;floatx=2.5,y=4.7;则表达式“x+a%3*(int)(x+y)%2/4”的值是(A)。A.2.500000B.2.750000C.3.500000D.0.00000015、字符(char)型数据在微机内存中的存储形式是(D)。A.反码B.补码C.EBCDIC码D.ASCII码16、已知i,j,k为int变量,若从键盘输入1,2,3↙,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是(C)。A.scanf(%2d%2d%2d,&i,&j,&k);B.scanf(%d%d%d,&i,&j,&k);C.scanf(%d,%d,%d,&i,&j,&k);D.scanf(i=%d,j=%d,k=%d,&i,&j,&k);17、为表示关系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)18、C语言中while和do-while循环的主要区别是(A)。A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句19、对于某个函数调用,不用给出被调用函数的原型的情况是(C)。A.被调用函数是无参函数B.被调用函数是无返回值函数C.函数的定义在调用处之前D.函数的定义在其他程序文件中20、有如下函数调用语func(rec1,rec2+rec3,rec4,rec5);该函数调用语句中,含有的实参个数是(B)。A.3B.4C.5D.有语法错误21、一个C语言的执行是从(C)。A.本程序的主函数开始,到本程序的主函数结束B.本程序的第一个函数开始,到本程序的最后一个函数结束C.本程序的主函数开始,到本程序的最后一个函数结束D.本程序的第一个函数开始,到本程序的主函数结束22、C语言程序的基本单位是(C)。A.程序行B.语句C.函数D.字符23、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)。A.有零个或多个输入B.有零个或多个输出C.有穷性D.有效性24、以下叙述中正确的是(C)。A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他高级语言的一切优点25、C语言源程序文件经过C编译程序编译之后生成一个后缀为(B)的文件。A.”.c”B.“.obj”C.“.exe”D.“.bas”26、C语言提供的合法的数据类型关键字是(B)。A.DoubleB.shortC.integerD.Char27、可用作用户标识符的选项是(B)。A.2aB.CaseC.voidD.-abc28、以下不正确的叙述是(D)。A.在C程序中,逗号运算符的优先级最低B.在C程序中,TOTAL和Total是两个不同的变量C.在C程序中,%是只能用于整数运算的运算符D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值29、若变量a是int类型,并执行了语句“a=’A’+1.6;”,则正确的叙述是(D)。A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符’A’的ASCII值加上130、表达式(C)的值是0。A.3%5B.3/5.0C.3/5D.3531、表达式!(x0||y0)等价于(D)。A.!x0||!y0B.!(x0)||!(y0)C.!x0&&!y0D.!(x0)&&!(y0)32、设有如下定义:intx=10,y=3,z则语句printf(%d\n,z=(x%y,x/y));的输出结果是(D)。A.1B.0C.4D.333、阅读下面的程序#includestdio.hvoidmain(){inti,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,10B.9,11,8,10C.9,11,9,10D.9,10,9,1134、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是(D)。A.0B.2C.1.5D.135、下列运算符中,优先级从高到低依次为(D)。A.&&,!,||B.||,&&,!C.&&,||,!D.!,&&,||36、执行语句printf(””,2);将得到出错信息。(D)A.%dB.%oC.%xD.%f37、能正确表示a和b同时为正或同时为负的逻辑表达式是(D)。A.(a=0||b=0)&&(a0||b0)B.(a=0&&b=0)&&(a0&&b0)C.(a+b0)&&(a+b=0)D.a*b038、对下面程序段描述正确的是(B)。intx=0,s=0;while(!x!=0)s+=++x;printf(%d,s);A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段循环无数次39、C语言中规定函数的返回值的类型是由(D)。A.return语句中的表达式类型所决定B.调用该函数时的主调用函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的类型所决定40、以下函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中含有实参个数为(B)。A.1个B.2个C.4个D.5个41、以下说法中正确的是(C)。A.C语言程序总是从第一个函数开始执行B.C语言程序中,要调用的函数必须在main函数中定义C.C语言程序总是从main函数开始执行D.C语言程序中的main函数必须放在程序的开始部分42、用C语言编写的程序(B)。A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行43、C编译程序是(A)。A.将C源程序编译成目标程序的程序B.一组机器语言指令C.将C源程序编译成应用软件的程序D.C程序的机器语言版本44、以下选项中不是C语句的是(C)。A.{inti;i++;printf(“%d\n”,i);}B.;C.a=5,c=10D.{;}45、通过文字编辑建立的C语言源程序文件的扩展名是(A)。A.”.c”B.“.obj”C.“.exe”D.“.bas”46、以下选项中合法的用户标识符是(B)。A.\nB._2TestC.3DmaxD.A.dat47、以下选项中合法的实型常数是(C)。A.5E2.0B.E-3C..2E0D.1.3E48、以下能正确地定义整型变量a、b和c并为其赋初值5的语句是(C)。A.inta=b=c=5,B.inta,b,c=5;C.inta=5,b=5,c=5;D.a=b=c=5;49、下列关于单目运算符++、--的叙述中正确的是(D)。A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量D.它们的运算对象可以是char型变量、int型变量和float型变量50、设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为(C)。A.4B.16C.32D.5251、设有定义intx=11;,则表达式(x++*1/3)的值是(A)。A.3B.4C.11D.1252、执行下面程序中的输出语句后,输出结果是(B)。#includestdio.hvoidmain(){inta;printf(%d\n,(a=3*5,a*4,a+5));}A.65B.20C.15D.1053、设有如下程序:#includestdio.hvoidmain(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}则运行该程序的输出结果是(D)。A.34B.42C.43D.3354、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4的值是(B)。A.2.4B.2.5C.2.75D.055、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句“c2=’A’+’6’-‘3’;”后,c2中的值为(A)。A.DB.68C.不确定的值D.C56、若变量已正确定义,执行语句scanf(%d%d%d,&k1,&k2,&k3);时,(B)是正确的输入。A.2030,40B.203040C.20,3040D.20,30,4057、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表达式是(C)。A.(x=1)&&(x=100)&&(x=200)&&(x=300)B.(x=1)||(x=100)||(x=200)||(x=300)C.(x=1)&&(x=100)||(x=200)&&(x=300)D.(x=1)||(x=100)&&(x=200)||(x=300)58、下面有关for循环的正确描述是(D)。A.for循环只能用于循环次数已经确定的情况。B.for循环是先执行循环体语句,后判断表达式。C.在for循环中,不能用break语句跳出循环体。D.f
本文标题:C语言计算机考试试题及答案
链接地址:https://www.777doc.com/doc-4659588 .html