《C语言期末考试试题(一).pdf》由会员分享,可在线阅读,更多相关《C语言期末考试试题(一).pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言期末考试试题(1)1 .下 列 定 义 变 量 的 语 句 中 错 误 的 是。A int _int B、double int_C、char For D、float US$答案:D 知识点:常量、变量和标识符2 .以 下 不 合 法 的 用 户 标 识 符 是。A、j2_KEY B、DoubleC、4d D、_8_答案:C 知识点:常量、变量和标识符3 .以下4 组用户定义标识符中,全 部 合 法 的 一 组 是,A、_main enclude sinB、If-max turboC、txt REAL 3COMD、int k_2 _001?答案:A 知识点:常量、变量和标识符4 .以下有4
2、 组用户标识符,其 中 合 法 的 一 组 是。A、For-sub CaseB、4d DO SizeC、f2_G3 IF abcD、WORD Void define答案:C 知识点:常量、变量和标识符5 .C 语 言 中 最 简 单 的 数 据 类 型 包 括。A、整型、实型、逻辑型 B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型答案:B知识点:常量、变量和标识符6 .下列选项中,合法的C语 言 关 键 字 是。A、VAR B、cher C、integer D、default答案:D 知识点:常量、变量和标识符7 .以 下 不 能 定 义 为 用 户 标 识 符
3、的 是。A、Main B、_0 C、_int D、sizeof答案:D 知识点:常量、变量和标识符8 .当c的值不为。时,在下列选项中能正确将c的值赋给变量a、b的是A、c=b=a;B、(a=c)II(b=c);C、(a=c)&(b=c);D、a=c=b;答案:C 知识点:赋值表达式9 .以 下 选 项 中 非 法 的 表 达 式 是。A 0=x100 B、i=j=0C、(char)(65+3)D、x+1=x+1答案:D 知识点:赋值表达式10.以 下 程 序 的 输 出 结 果 是。#include main()int a,b,d=241;a=d/100%9;b=(-1)&(-1);prin
4、tf(%d,%dn,a,b);?)A、6,1 B、2,1 C、6,0 D、2,0答案:B 知识点:赋值表达式1 1 .以下循 环 体 的 执 行 次 数 是。main()int i,j;for(i=0,j=1;iv=j+1;i+=2,j-)printf(%d nH,i);)A、3 B、2 C、1 D、0答案:C 知识点:赋值表达式12.有如下程序main()(int a;char c=10;float f=100.0;double x;a=f/=c*=(x=6.5)jprintf(H%d%d%3.1f%3.1 An0,a,c,f,x);)程 序 运 行 后 输 出 结 果 是。A、1 65 1
5、 6.5B、1 65 1.5 6.5C、1 65 1.0 6.5D、2 65 1.5 6.5答案:B 知识点:赋值表达式C语言期末考试试题(2)1 .设变量X为float型且已赋值,则以下语句中能将X中的数值保留到小数点后两位,并将第三位四 舍 五 入 的 是。A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0D、x=(x/100+0.5)*100.0答案:C 知识点:赋值表达式2 .在一个C程序中。A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现C、main函数必须出现在所有函数之后D、
6、main函数必须出现在固定位置答案:B 知识点:简单C语言程序的构成和格式3 .以 下 说 法 中 正 确 的 是。A、define和prin廿都是C语句B、#define是C语句,而prin廿不是C、prin廿是C语句,但#define不是D、define和prin廿都不是C语句答案:D 知识点:简单C语言程序的构成和格式4 .若k是in t型变量,且有下面的程序片段k=-3if(k if(a0);D、if(b=O)m=1;n=2;答案:D 知识点:简单C 语言程序的构成和格式6 .以下选项中,不 能 作 为 合 法 常 量 的 是。A、1.234e04 B,1.234e0.4C、1.234
7、e+4D、1.234e0答案:B 知识点:实型数据7 .以下符合C 语 言 语 法 的 实 型 常 量 是。A、1.2E0.5 B、3.14159E C、.5E-3 D、E15答案:C 知识点:实型数据8 .表达式 3.6-5/2+1.2+5%2 的值是。A、4.3 B、4.8 C、3.3 D、3.8答案:D 知识点:算术表达式9 .设 in ta=1 2,则执行完语句a+=a-=a*a 后,a 的值是设 int a=1 2,则执行完语句a+=a-=a*a 后,a 的值是。A、552 B、264 C、144 D、-264答案:D 知识点:算术表达式1 0 .以下变量x、v、z 均为double
8、类型且已正确赋值,不能正确表示数字式子x/(y*z)的 C 语言表达式是 OA、x/y*z B、x*(1/(y*z)C、x/y*1/z D、x/y/z答案:A 知识点:算术表达式1 1 .设有定义:float a=2,b=4,h=3;,以下C 语言表达式与代数式1/2(a+b)h)计算结果不相符的是 OA、(a+b)*h/2 B、(1/2)*(a+b)*hC、(a+b)*h*1/2 D、h/2*(a+b)答案:B 知识点:算术表达式1 2 .若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。A、0 B、0.5 C、1 D、2答案:A 知识点:算术
9、表达式1 3 .下 列 程 序 的 输 出 结 果 是。main()(double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(%d n,d*y);)A、3 B、3.2 C、0 D、3.07答案:C 知识点:算术表达式1 4 .请读程序片段:int i=65536;printf(%dn,i);上 面 程 序 片 段 的 输 出 结 果 是。A、65536 B、0C、有语法错误,无输出结果D、-1答案:B 知识点:整型数据1 5 .若有以下定义和语句:int u=010,v=0 x10,w=10;priMf(%d,%d,%drT,u,v,w);则输出结果是:
10、0A、8,16,10 B、10,10,10C、8,8,10 D、8,10,10答案:A 知识点:整型数据1 6 .在C语言中,不正确的in t类型的常数是A、32768 B、0 C、037 D、OxAF答案:A 知识点:整型数据1 7 .以 下 程 序 的 输 出 结 果 是。m ain()int k=17;prin廿(d,%o,%x n,k,k,k);A、17,021,0 x11 B、17,17,17C、17,0 x11,021 D、17,21,11答案:D 知识点:整型数据1 8 .若k是in t型变量,且有下面的程序片段k=-3if(kv=O)prim f(#)else prin廿(&”
11、);上 面 程 序 片 段 的 输 出 结 果 是。A、#B、&C、#&D、有语法错误,无输出结果答案:D知识点:简单C语言程序的构成和格式C 语言期末考试试题(3)1 .c 语 言 中 运 算 对 象 必 须 是 整 型 的 运 算 符 是.A、=B、/C =D、v=答案:A 知识点:整型数据2 .以下选项中不属于C 语言的类型名称是 oA、signed short intB、unsigned long intC unsigned intD、long short答案:D 知识点:整型数据3 .有以下程序main()(int m=0256,n=256;printf(%o%on,m,n);)程
12、序 运 行 后 的 输 出 结 果 是。A、0256 0400 B、0256 256C、256 400 D、400 400答案:C 知识点:整型数据4 .若执下面程序时从键盘上输入5,main()int x;scanf(d”,&x);if(x+5)printf(H%dnM,x);else prin廿(%drT,x-);)则输出是。A、7 B、6 C、5 D、4答案:B 知识点:自加、自减运算符和逗号运算符5 .有以下程序main()(char a1=M,a2=m;printf(%cn,(a1,a2);)以 下 叙 述 中 正 确 的 是。A、程序输出大写字母MB、程序输出小写字母mC、格式说明
13、符不足,编译出错D、程序运行时产生出错信息答案:B 知识点:自加、自减运算符和逗号运算符6.以 下 程 序 的 输 出 结 果 是。main()(int a;primf(%dn”,(a=3*5,a*4,a+5);A、65 B、20 C、15 D、10答案:B 知识点:自加、自减运算符和逗号运算符7 .有以下程序main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z);程 序 运 行 后 的 输 出 结 果 是。A、2,3,3 B、2,3,2 C 2,3,1 D、2,2,1答案:C 知识点:自加、自减运算符和逗号运算符8.以下 程 序 的
14、输 出 结 果 是。main()int x=10,y=10;printf(%d%dn,xy);A,10 10 B、99 C、9 10 D、10 9答案:D 知识点:自加、自减运算符和逗号运算符9.若t为double类型,表达式t=1,t+5,t+的值是.A、1 B、6.0 C、2.0 D、1.0答案:D 知识点:自加、自减运算符和逗号运算符1 0.有以下程序main()int y=10;while(y);printf(y=%dn,y);)程 序 执 行 后 的 输 出 结 果 是.A y=0 B、y=-1 C、y=1 D、while 构成无限循环答案:B 知识点:自加、自减运算符和逗号运算符1
15、1.以 下 叙 述 中 正 确 的 是。A、全局变量的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B 知识点:局部变量及其作用域和生存期12 .下 面 程 序 的 输 出 是。fun3(int x)(static int a=3;a+=x;return(a);)main()(int k=2,m=1,n;n=fun3(k);n=fun3(m);printf(%dn,n);)A、3 B、4 C、6 D、9答案:C知识点:局部变量及其作用域和
16、生存期1 3 .以 下 叙 述 中 正 确 的 是。A、局部变量说明为static存储类,其生存期将得到延长B、全局变量说明为static存储类,其作用域将被扩大C、任何存储类的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类说明符与局部变量完全相同答案:A 知识点:局部变量及其作用域和生存期1 4 .有以下程序int fun(int x,int n)(static int sum=O,i;for(i=0;ivn;i+)sum+=xi;return sum;)main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(
17、%dn,s);)程序执行后的输出结果是 OA、45 B、50 C、60 D、55答案:C 知识点:局部变量及其作用域和生存期1 5 有如下程序int func(int a,int b)return(a+b);main()int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(H%dnn,r);)该 程 序 的 输 出 结 果 是。A、12 B、13 C、14 D、15答案:D 知识点:调用函数和被调用函数之间的数据传递16 .有以下程序main()int a=O,b=O;a=10;/*给 a 赋值*/b=20;/*给 b 赋值*/prin 廿(a+b=%dn”
18、,a+b);)程 序 运 行 后 的 输 出 结 果 是。A、a+b=10 B、a+b=30 C、30 D、出错答案:B 知识点:简单C语言程序的构成和格式17 .下 列 叙 述 中 正 确 的 是。A、break语句只能用于switch语句B 在switch语句中必须使用defaultC、break语句必须与switch语句中的case配对使用D、在switch语句中,不一定使用break语句答案:D知识点:switch语句以及用switch语句和break语句构成的选择结构C语言期末考试试题(4)1 .设 int x=1,y=1;表达式(!x|y)的值是。A、0 B、1 C、2 D、-1答
19、案:B 知识点:关系运算和逻辑运算2 .设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是。A、(!a=1)&(!b=0)B、(a=0 II b=0)&(a0 II b=0&b=0)&(a0&bO)&(a+bv=O)D、a*b0答案:D 知识点:关系运算和逻辑运算5 .在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A、地址传递 B、单向值传递 C、由实参传给形参 D、再由形参传回实参答案:B 知识点:函数的调用6 .在C语言中,形 参 的 缺 省 存 储 类 是。A、auto B、register C、static D、extern答案:A 知识点:函
20、数的定义和返回值7 .以 下 程 序 的 输 出 结 果 是。main()int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;iv3;i+)for(j=0;jv=i;j+)s+=aij;printf(%dn,s);)A、18 B、19 C、20 D、21答案:A 知识点:二维数组的定义和二维数组元素的引用8 .有以下程序main()int i,t3=9,8,7,6,5,4,3,2,1);for0=0;iv3;i+)printf(%d,t2-ii);)判 序 执 行 后 的 输 出 结 果 是。A、753 B、357 C、369 D、751答案:B 知识点:二维数组的定义和二
21、维数组元素的引用9 .有以下程序void sum(int a)a0=a-1+a1;main()int a10=1,2,3,4,5,6,7,8,9,10);sum(&a2);printf(,%dn,a2);)程 序 运 行 后 输 出 结 果 是。A、6 B、7 C、5 D、8答案:A 知识点:函数之间对一维数组和数组元素的引用1 0.合 法 的 数 组 定 义 是。A,int a=string;B int a 5=0,1,2,3,4,5);C、char s=string;D、char a=0,1,2,3,4,5;答案:D 知识点:一维数组的定义和一维数组元素的引用1 2 .下列语句中符合C 语
22、 言 语 法 的 赋 值 语 句 是。A、a=7+b+c=a+7;B、a=7+b+=a+7;C、a=7+b,b+,a+7 D、a=7+b,c=a+7;答案:D 知识点:赋值语句1 3 .在嵌套使用if 语句时,C 语言规定else总是。A、和之前与其具有相同缩进位置的if 配对B、和之前与其最近的if 配对C、和之前与其最近的且不带else的 if 配对D、和之前的第一个if 配对答案:C 知识点:if 语句和用if 语句构成的选择结构1 4 .以下选项中,不能 作 为 合 法 常 量 的 是。A、1.234e04 B、1.234e0.4C、1.234e+4 D、1.234e0答案:B 知识点
23、:实型数据1 5 .以下符合C 语言语法的实型常量是 oA、1.2E0.5 B、3.14159E C,.5E-3 D、E15答案:C 知识点:实型数据1 6 .有以下程序main()int i;for(i=0;iv3;i+)switch(i)case 1:printf(%d,i);case 2:prin廿(d”,i);default:prin甘(d,i);)执 行 后 输 出 结 果 是。A、011122 B、012 C、012020 D、120答案:A 知识点:switch语句以及用switch语句和break语句构成的选择结构1 7 .以 下 程 序 的 输 出 结 果 是。main()i
24、nt a=5,b=4,c=6,d;printf(%dn,d=ab?(ac?a:c):(b);)A、5 B、4 C、6 D、不确定答案:C 知识点:条件表达式构成的选择结构1 8 .有以下程序main()int i=0,s=0;do(if(i%2)i+;continue;i+;s+=i;)while。v7);prin 甘(dn,s);执 行 后 输 出 结 果 是。A、16 B、12 C、28 D、21答案:A 知识点:d o-w h i l e语句和d o-w h i l e语句构成的循环结构判断题(x )(1)函数说明指的是在程序中设定一个函数模块。(V)(2)形参只有在被调用时才分配存储空
25、间。(X)(3)在 C的函数中,最好使用全局变量。(X )(4)在调用函数时,实参传值给形参,调用结束时,形参值传给实参。(V)(5)所有函数定义都是并行的,相互独立的。(X)(6)函数的隐含存储类型是ex t er n。(X)(7)形参可以是常量、变量或表达式。(X)(1)C允许对数组的大小作动态定义,即可用变量定义数组的大小。(X )(2)字符数组不要求它的最后一个字符为 0 ,甚至可以不包含 0 。(X )(3)数组定义i n t a 1 0;也可以写成i n t a(1 0);。(V)(4)在对全部数组元素赋初值时,可以不指定数组长度。(X )(5)定义s为 5 X6(5 行 6歹 U)的数组可写成fl o a t a 5,6;(V)(6)数组定义i n t a 1 0;表示数组名为a,此数组有1 0 个元素。(X)(7)数 组 定 义 i n t a 1 0;表示数组名为a,此数组有1 0 个元素,第 1 0 个元素为a 1 0 o