C语言期末考试试题1.docx
- 文档编号:16506968
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:19
- 大小:20.65KB
C语言期末考试试题1.docx
《C语言期末考试试题1.docx》由会员分享,可在线阅读,更多相关《C语言期末考试试题1.docx(19页珍藏版)》请在冰点文库上搜索。
C语言期末考试试题1
C语言期末考试试题
(1)
1.下列定义变量的语句中错误的是______。
A、int_intB、doubleint_
C、charForD、floatUS$
答案:
D知识点:
常量、变量和标识符
2.以下不合法的用户标识符是______。
A、j2_KEYB、Double
C、4dD、_8_
答案:
C知识点:
常量、变量和标识符
3.以下4组用户定义标识符中,全部合法的一组是______。
A、_mainencludesin
B、If-maxturbo
C、txtREAL3COM
D、intk_2_001?
?
?
答案:
A知识点:
常量、变量和标识符
4.以下有4组用户标识符,其中合法的一组是______。
A、For-subCase
B、4dDOSize
C、f2_G3IFabc
D、WORDVoiddefine
答案:
C知识点:
常量、变量和标识符
5.C语言中最简单的数据类型包括______。
A、整型、实型、逻辑型B、整型、实型、字符型
C、整型、字符型、逻辑型
D、整型、实型、逻辑型、字符型
答案:
B知识点:
常量、变量和标识符
6.下列选项中,合法的C语言关键字是______。
A、VARB、cherC、integerD、default
答案:
D知识点:
常量、变量和标识符
7.以下不能定义为用户标识符的是______。
A、MainB、_0C、_intD、sizeof
答案:
D知识点:
常量、变量和标识符
8.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。
A、c=b=a;B、(a=c)‖(b=c);
C、(a=c)&&(b=c);D、a=c=b;
答案:
C知识点:
赋值表达式
9.以下选项中非法的表达式是______。
A、0<=x<100B、i=j==0
C、(char)(65+3)D、x+1=x+1
答案:
D知识点:
赋值表达式
10.以下程序的输出结果是______。
#include
main()
{
inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);?
?
?
}
A、6,1B、2,1C、6,0D、2,0
答案:
B知识点:
赋值表达式
11.以下循环体的执行次数是______。
main()
{
inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
A、3B、2C、1D、0
答案:
C知识点:
赋值表达式
12.有如下程序
main()
{
inta;charc=10;
floatf=100.0;doublex;
a=f/=c*=(x=6.5);
printf("%d%d%3.1f%3.1f\n",a,c,f,x);
}
程序运行后输出结果是______。
A、16516.5
B、1651.56.5
C、1651.06.5
D、2651.56.5
答案:
B知识点:
赋值表达式
C语言期末考试试题
(2)
1.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。
A、x=x*100+0.5/100.0
B、x=(x*100+0.5)/100.0
C、x=(int)(x*100+0.5)/100.0
D、x=(x/100+0.5)*100.0
答案:
C知识点:
赋值表达式
2.在一个C程序中______。
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、main函数必须出现在固定位置
答案:
B知识点:
简单C语言程序的构成和格式
3.以下说法中正确的是______。
A、#define和printf都是C语句
B、#define是C语句,而printf不是
C、printf是C语句,但#define不是
D、#define和printf都不是C语句
答案:
D知识点:
简单C语言程序的构成和格式
4.若k是int型变量,且有下面的程序片段
k=-3
if(k<=0)printf("####")
elseprintf("&&&&");
上面程序片段的输出结果是______。
A、####B、&&&&C、####&&&&D、有语法错误,无输出结果
答案:
D知识点:
简单C语言程序的构成和格式
5.以下4个选项中,不能看作一条语句的是______。
A、{;}B、a=0,b=0,c=0;
C、if(a>0);D、if(b==0)m=1;n=2;
答案:
D知识点:
简单C语言程序的构成和格式
6.以下选项中,不能作为合法常量的是______。
A、1.234e04B、1.234e0.4
C、1.234e+4D、1.234e0
答案:
B知识点:
实型数据
7.以下符合C语言语法的实型常量是______。
A、1.2E0.5B、3.14159EC、.5E-3D、E15
答案:
C知识点:
实型数据
8.表达式3.6-5/2+1.2+5%2的值是______。
A、4.3B、4.8C、3.3D、3.8
答案:
D知识点:
算术表达式
9.设inta=12,则执行完语句a+=a-=a*a后,a的值是
设inta=12,则执行完语句a+=a-=a*a后,a的值是______。
A、552B、264C、144D、-264
答案:
D知识点:
算术表达式
10.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是______。
A、x/y*zB、x*(1/(y*z))
C、x/y*1/zD、x/y/z
答案:
A知识点:
算术表达式
11.设有定义:
floata=2,b=4,h=3;,以下C语言表达式与代数式1/2((a+b)h)计算结果不相符的是______。
A、(a+b)*h/2B、(1/2)*(a+b)*h
C、(a+b)*h*1/2D、h/2*(a+b)
答案:
B知识点:
算术表达式
12.若有以下程序段
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是______。
A、0B、0.5C、1D、2
答案:
A知识点:
算术表达式
13.下列程序的输出结果是______。
main()
{
doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A、3B、3.2C、0D、3.07
答案:
C知识点:
算术表达式
14.请读程序片段:
inti=65536;
printf("%d\n",i);
上面程序片段的输出结果是______。
A、65536B、0C、有语法错误,无输出结果D、-1
答案:
B知识点:
整型数据
15.若有以下定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是:
______。
A、8,16,10B、10,10,10
C、8,8,10D、8,10,10
答案:
A知识点:
整型数据
16.在C语言中,不正确的int类型的常数是______。
A、32768B、0C、037D、0xAF
答案:
A知识点:
整型数据
17.以下程序的输出结果是______。
main()
{
intk=17;
printf("%d,%o,%x\n",k,k,k);
}
A、17,021,0x11B、17,17,17
C、17,0x11,021D、17,21,11
答案:
D知识点:
整型数据
18.若k是int型变量,且有下面的程序片段
k=-3
if(k<=0)printf("####")
elseprintf("&&&&");
上面程序片段的输出结果是______。
A、####B、&&&&C、####&&&&
D、有语法错误,无输出结果
答案:
D
知识点:
简单C语言程序的构成和格式
C语言期末考试试题(3)
1.C语言中运算对象必须是整型的运算符是______。
A、%=B、/C、=D、<=
答案:
A知识点:
整型数据
2.以下选项中不属于C语言的类型名称是______。
A、signedshortint
B、unsignedlongint
C、unsignedint
D、longshort
答案:
D知识点:
整型数据
3.有以下程序
main()
{
intm=0256,n=256;
printf("%o%o\n",m,n);
}
程序运行后的输出结果是______。
A、02560400B、0256256
C、256400D、400400
答案:
C知识点:
整型数据
4.若执下面程序时从键盘上输入5,
main()
{
intx;
scanf("%d",&x);
if(x++>5)printf("%d\n",x);
elseprintf("%d\n",x--);
}
则输出是______。
A、7B、6C、5D、4
答案:
B知识点:
自加、自减运算符和逗号运算符
5.有以下程序
main()
{
chara1='M',a2='m';
printf("%c\n",(a1,a2));
}
以下叙述中正确的是______。
A、程序输出大写字母M
B、程序输出小写字母m
C、格式说明符不足,编译出错
D、程序运行时产生出错信息
答案:
B知识点:
自加、自减运算符和逗号运算符
6.以下程序的输出结果是______。
main()
{
inta;
printf("%d\n",(a=3*5,a*4,a+5));
}
A、65B、20C、15D、10答案:
B知识点:
自加、自减运算符和逗号运算符
7.有以下程序
main()
{
intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是______。
A、2,3,3B、2,3,2C、2,3,1D、2,2,1
答案:
C知识点:
自加、自减运算符和逗号运算符
8.以下程序的输出结果是______。
main()
{
intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A、1010B、99C、910D、109
答案:
D知识点:
自加、自减运算符和逗号运算符
9..若t为double类型,表达式t=1,t+5,t++的值是______。
A、1B、6.0C、2.0D、1.0
答案:
D知识点:
自加、自减运算符和逗号运算符
10.有以下程序
main()
{
inty=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是______。
A、y=0B、y=-1C、y=1D、while构成无限循环
答案:
B知识点:
自加、自减运算符和逗号运算符
11.以下叙述中正确的是______。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态(static)类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
答案:
B知识点:
局部变量及其作用域和生存期
12.下面程序的输出是______。
fun3(intx)
{
staticinta=3;
a+=x;
return(a);
}
main()
{
intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);
}
A、3B、4C、6D、9
答案:
C知识点:
局部变量及其作用域和生存期
13.以下叙述中正确的是______。
A、局部变量说明为static存储类,其生存期将得到延长
B、全局变量说明为static存储类,其作用域将被扩大
C、任何存储类的变量在未赋初值时,其值都是不确定的
D、形参可以使用的存储类说明符与局部变量完全相同
答案:
A知识点:
局部变量及其作用域和生存期
14.有以下程序
intfun(intx[],intn)
{
staticintsum=0,i;
for(i=0;i returnsum; } main() { inta[]={1,2,3,4,5},b[]={6,7,8,9,},s=0; s=fun(a,5)+fun(b,4); printf("%d\n",s); } 程序执行后的输出结果是______。 A、45B、50C、60D、55 答案: C知识点: 局部变量及其作用域和生存期 15有如下程序 intfunc(inta,intb) {return(a+b);} main() { intx=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是______。 A、12B、13C、14D、15 答案: D知识点: 调用函数和被调用函数之间的数据传递 16.有以下程序 main() { inta=0,b=0; a=10;/*给a赋值*/ b=20;/*给b赋值*/ printf("a+b=%d\n",a+b); } 程序运行后的输出结果是______。 A、a+b=10B、a+b=30C、30D、出错 答案: B知识点: 简单C语言程序的构成和格式 17.下列叙述中正确的是______。 A、break语句只能用于switch语句 B、在switch语句中必须使用default C、break语句必须与switch语句中的case配对使用 D、在switch语句中,不一定使用break语句 答案: D知识点: switch语句以及用switch语句和break语句构成的选择结构 C语言期末考试试题(4) 1.设intx=1,y=1;表达式(! x||y--)的值是______。 A、0B、1C、2D、-1 答案: B知识点: 关系运算和逻辑运算 2.设有定义: inta=2,b=3,c=4;,则以下选项中值为0的表达式是______。 A、(! a==1)&&(! b==0)B、(a c||1 C、a&&bD、a||(b+b)&&(c-a) 答案: A知识点: 关系运算和逻辑运算 3.有如下程序段 inta=14,b=15,x; charc='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x的值为______。 A、trueB、falseC、0D、1 答案: D知识点: 关系运算和逻辑运算 4.能正确表示a和b同时为正或同时为负的逻辑表达式是______。 A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0) C、(a+b>0)&&(a+b<=0)D、a*b>0 答案: D知识点: 关系运算和逻辑运算 5.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。 A、地址传递B、单向值传递C、由实参传给形参D、再由形参传回实参 答案: B知识点: 函数的调用 6.在C语言中,形参的缺省存储类是______。 A、autoB、registerC、staticD、extern 答案: A知识点: 函数的定义和返回值 7.以下程序的输出结果是______。 main() { inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf("%d\n",s); } A、18B、19C、20D、21 答案: A知识点: 二维数组的定义和二维数组元素的引用 8.有以下程序 main() { inti,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf("%d",t[2-i][i]); } 判序执行后的输出结果是______。 A、753B、357C、369D、751 答案: B知识点: 二维数组的定义和二维数组元素的引用 9.有以下程序 voidsum(inta[]) {a[0]=a[-1]+a[1];} main() {inta[10]={1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); printf("%d\n",a[2]); } 程序运行后输出结果是______。 A、6B、7C、5D、8 答案: A知识点: 函数之间对一维数组和数组元素的引用 10.合法的数组定义是______。 A、inta[]="string";B、inta[5]={0,1,2,3,4,5}; C、chars="string";D、chara[]={0,1,2,3,4,5}; 答案: D知识点: 一维数组的定义和一维数组元素的引用 12.下列语句中符合C语言语法的赋值语句是______。 A、a=7+b+c=a+7;B、a=7+b++=a+7; C、a=7+b,b++,a+7D、a=7+b,c=a+7; 答案: D知识点: 赋值语句 13.在嵌套使用if语句时,C语言规定else总是______。 A、和之前与其具有相同缩进位置的if配对 B、和之前与其最近的if配对 C、和之前与其最近的且不带else的if配对 D、和之前的第一个if配对 答案: C知识点: if语句和用if语句构成的选择结构 14.以下选项中,不能作为合法常量的是______。 A、1.234e04B、1.234e0.4 C、1.234e+4D、1.234e0 答案: B知识点: 实型数据 15.以下符合C语言语法的实型常量是______。 A、1.2E0.5B、3.14159EC、.5E-3D、E15 答案: C知识点: 实型数据 16.有以下程序 main() { inti; for(i=0;i<3;i++) switch(i) { case1: printf("%d",i); case2: printf("%d",i); default: printf("%d",i); } } 执行后输出结果是______。 A、011122B、012C、012020D、120 答案: A知识点: switch语句以及用switch语句和break语句构成的选择结构 17.以下程序的输出结果是______。 main() {inta=5,b=4,c=6,d;printf("%d\n",d=a>b? (a>c? a: c): (b)); } A、5B、4C、6D、不确定 答案: C知识点: 条件表达式构成的选择结构 18.有以下程序 main() {inti=0,s=0; do { if(i%2){i++;continue;} i++; s+=i; } while(i<7); printf("%d\n",s); } 执行后输出结果是______。 A、16B、12C、28D、21 答案: A知识点: do-while语句和do-while语句构成的循环结构 判断题 (×) (1)函数说明指的是在程序中设定一个函数模块。 (√) (2)形参只有在被调用时才分配存储空间。 (×)(3)在C的函数中,最好使用全局变量。 (×)(4)在调用函数时,实参传值给形参,调用结束时,形参值传给实参。 (√)(5)所有函数定义都是并行的,相互独立的。 (×)(6)函数的隐含存储类型是extern。 (×)(7)形参可以是常量、变量或表达式。 (×) (1)C允许对数组的大小作动态定义,即可用变量定义数组的大小。 (×) (2)字符数组不要求它的最后一个字符为‘\0’,甚至可以不包含‘\0’。 (×)(3)数组定义inta[10];也可以写成inta(10);。 (√)(4)在对全部数组元素赋初值时,可以不指定数组长度。 (×)(5)定义s为5×6(5行6列)的数组可写成floata[5,6]; (√)(6)数组定义inta[10];表示数组名为a,此数组有10个元素。 (×)(7)数组定义inta[10];表示数组名为a,此数组有10个元素,第10个元素为a[10]。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 试题