华中科技大学C语言期末考试题库试题及答案汇总.docx

上传人:b****9 文档编号:23342600 上传时间:2023-05-16 格式:DOCX 页数:187 大小:85.12KB
下载 相关 举报
华中科技大学C语言期末考试题库试题及答案汇总.docx_第1页
第1页 / 共187页
华中科技大学C语言期末考试题库试题及答案汇总.docx_第2页
第2页 / 共187页
华中科技大学C语言期末考试题库试题及答案汇总.docx_第3页
第3页 / 共187页
华中科技大学C语言期末考试题库试题及答案汇总.docx_第4页
第4页 / 共187页
华中科技大学C语言期末考试题库试题及答案汇总.docx_第5页
第5页 / 共187页
点击查看更多>>
下载资源
资源描述

华中科技大学C语言期末考试题库试题及答案汇总.docx

《华中科技大学C语言期末考试题库试题及答案汇总.docx》由会员分享,可在线阅读,更多相关《华中科技大学C语言期末考试题库试题及答案汇总.docx(187页珍藏版)》请在冰豆网上搜索。

华中科技大学C语言期末考试题库试题及答案汇总.docx

华中科技大学C语言期末考试题库试题及答案汇总

华中科技大学C语言期末考试题库试题及答案汇总

1.设inta=12,则执行完语句a+=a-=a*a后,a的值是__D____。

A、552B、264C、144D、-264

知识点:

算术表达式

2.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。

A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z

知识点:

算术表达式

3.若有定义:

inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。

A、1.4B、1C、2.0D、2

知识点:

算术表达式

4.有如下程序

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);

}

程序运行后输出结果是___B___。

A、16516.5B、1651.56.5C、1651.06.5D、2651.56.5

知识点:

赋值表达式

5.若变量a、i已正确定义,且i已正确赋值,合法的语句是___B___。

A、a==1B、++i;C、a=a++=5;D、a=int(i);

知识点:

赋值表达式

6.若变量已正确定义并赋值,下面符合C语言语法的表达式是__B____。

A、a:

=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b

知识点:

赋值表达式

7.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是__C____。

A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0

C、x=(int)(x*100+0.5)/100.0D、x=(x/100+0.5)*100.0

知识点:

赋值表达式

8.在一个C程序中___B___。

A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置

知识点:

简单C语言程序的构成和格式

9.以下说法中正确的是__D____。

A、#define和printf都是C语句B、#define是C语句,而printf不是

C、printf是C语句,但#define不是D、#define和printf都不是C语句

知识点:

简单C语言程序的构成和格式

10.若k是int型变量,且有下面的程序片段

k=-3

if(k<=0)printf("####")

elseprintf("&&&&");

上面程序片段的输出结果是___D___。

A、####B、&&&&C、####&&&&D、有语法错误,无输出结果

知识点:

简单C语言程序的构成和格式

11.以下4个选项中,不能看作一条语句的是___D___。

A、{;}B、a=0,b=0,c=0;C、if(a>0);D、if(b==0)m=1;n=2;

知识点:

简单C语言程序的构成和格式

12.

有以下程序

main()

{

inta=0,b=0;

a=10;/*给a赋值*/

b=20;/*给b赋值*/

printf("a+b=%d\n",a+b);

}

程序运行后的输出结果是___B___。

A、a+b=10B、a+b=30C、30D、出错

知识点:

简单C语言程序的构成和格式

13.以下选项中,不能作为合法常量的是__B____。

A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0

知识点:

实型数据

14.以下符合C语言语法的实型常量是___C___。

A、1.2E0.5B、3.14159EC、.5E-3D、E15

知识点:

实型数据

15.表达式3.6-5/2+1.2+5%2的值是__D____。

A、4.3B、4.8C、3.3D、3.8

知识点:

算术表达式

16.下列定义变量的语句中错误的是__D____。

A、int_intB、doubleint_C、charForD、floatUS$

知识点:

常量、变量和标识符

17.以下不合法的用户标识符是__C____。

A、j2_KEYB、DoubleC、4dD、_8_

知识点:

常量、变量和标识符

18.以下4组用户定义标识符中,全部合法的一组是__A____。

A、_mainencludesinB、If-maxturbo

C、txtREAL3COMD、intk_2_001

知识点:

常量、变量和标识符

19.以下定义语句中正确的是__C____。

A、chara='A'b='B';B、floata=b=10.0;(正解a=10.0b=10.0)

C、inta=10,*b=&a;D、float*a,b=&a;

知识点:

常量、变量和标识符

20.以下不能定义为用户标识符的是__D____。

A、scanfB、VoidC、_3com_D、int

知识点:

常量、变量和标识符

21.以下有4组用户标识符,其中合法的一组是___C___。

A、For-subCaseB、4dDOSizeC、f2_G3IFabcD、WORDVoiddefine

知识点:

常量、变量和标识符

22.C语言中最简单的数据类型包括_B_____。

A、整型、实型、逻辑型B、整型、实型、字符型

C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型

知识点:

常量、变量和标识符

23.下列选项中,合法的C语言关键字是__D____。

A、VARB、cherC、integerD、default

知识点:

常量、变量和标识符

24.以下不能定义为用户标识符的是__D____。

A、MainB、_0C、_intD、sizeof

知识点:

常量、变量和标识符

25.下列叙述中正确的是_D_____。

A、C语言中既有逻辑类型也有集合类型B、C语言中没有逻辑类型但有集合类型

C、C语言中有逻辑类型但没有集合类型D、C语言中既没有逻辑类型也没有集合类型

知识点:

常量、变量和标识符

26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____C__。

A、c=b=a;B、(a=c)‖(b=c);C、(a=c)&&(b=c);D、a=c=b;

知识点:

赋值表达式

27.以下选项中非法的表达式是___D___。

A、0<=x<100B、i=j==0C、(char)(65+3)D、x+1=x+1

知识点:

赋值表达式

28.以下程序的输出结果是___B___。

#include

7main()

{

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

知识点:

赋值表达式

29.以下循环体的执行次数是___C___。

main()

{

inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)

printf("%d\n",i);

}

A、3B、2C、1D、0

答案:

C

知识点:

赋值表达式

30.有以下定义语句

doublea,b;intw;longc;

若各变量已正确赋值,则下列选项中正确的表达式是___C___。

A、a=a+b=b++B、w%((int)a+b)C、(c+w)%(int)aD、w=a=b;

知识点:

赋值表达式

31.设inta=12,则执行完语句a+=a-=a*a后,a的值是__D____。

A、552B、264C、144D、-264

知识点:

算术表达式

32.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。

A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z

知识点:

算术表达式

33.若有定义:

inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。

A、1.4B、1C、2.0D、2

知识点:

算术表达式

34.设有定义:

floata=2,b=4,h=3;,以下C语言表达式与代数式1/2((a+b)h)计算结果不相符的是___B___。

A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)

知识点:

算术表达式

35.假定x和y为double型,表达式x=2,y=x+3/2的值是___D___。

A、3.500000B、3C、2.000000D、3.000000

知识点:

算术表达式

36.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是___C___。

A、1B、2C、2.000000D、2.500000

知识点:

算术表达式

37.若有以下程序段

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是___A___。

A、0B、0.5C、1D、2

知识点:

算术表达式

38.设有intx=11;则表达式(x++*1/3)的值是___A___。

A、3B、4C、11D、12

知识点:

算术表达式

39.下列程序的输出结果是___C___。

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

知识点:

算术表达式

40.请读程序片段:

inti=65536;

printf("%d\n",i);

上面程序片段的输出结果是___B___。

A、65536B、0C、有语法错误,无输出结果D、-1

知识点:

整型数据

41.若有以下定义和语句:

intu=010,v=0x10,w=10;

printf("%d,%d,%d\n",u,v,w);

则输出结果是:

__A____。

A、8,16,10B、10,10,10C、8,8,10D、8,10,10

知识点:

整型数据

42.在C语言中,不正确的int类型的常数是___A___。

A、32768B、0C、037D、0xAF

知识点:

整型数据

43.以下程序的输出结果是__D____。

main()

{

intk=17;

printf("%d,%o,%x\n",k,k,k);

}

A、17,021,0x11B、17,17,17C、17,0x11,021D、17,21,11

知识点:

整型数据

44.下面程序的输出是__C____。

main()

{

unsigneda=32768;

printf("a=%d\n",a);

}

A、a=32768B、a=32767C、a=-32768D、a=-1

知识点:

整型数据

45.在C语言中,合法的长整型常数是___A___。

A、0LB、4962710C、324562&D、216D

知识点:

整型数据

46.C语言中运算对象必须是整型的运算符是__A____。

A、%=B、/C、=D、<=

知识点:

整型数据

47.以下选项中不属于C语言的类型名称是___D___。

A、signedshortintB、unsignedlongintC、unsignedintD、longshort

知识点:

整型数据

48.有以下程序

main()

{

intm=0256,n=256;

printf("%o%o\n",m,n);

}

程序运行后的输出结果是___C___。

A、02560400B、0256256C、256400D、400400

知识点:

整型数据

49.若执下面程序时从键盘上输入5,

main()

{

intx;

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

elseprintf("%d\n",x--);

}

则输出是__B____。

A、7B、6C、5D、4

知识点:

自加、自减运算符和逗号运算符

50.有以下程序

main()

{

chara1='M',a2='m';

printf("%c\n",(a1,a2));

}

以下叙述中正确的是___B___。

A、程序输出大写字母MB、程序输出小写字母m

C、格式说明符不足,编译出错D、程序运行时产生出错信息

知识点:

自加、自减运算符和逗号运算符

51.以下程序的输出结果是__B____。

main()

{

inta;

printf("%d\n",(a=3*5,a*4,a+5));

}

A、65B、20C、15D、10

知识点:

自加、自减运算符和逗号运算符

53.设有如下程序段

intx=2002,y=2003;

printf("%d\n",(x,y));

则以下叙述中正确的是__D____。

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B、运行时产生错误信息

C、输出值为2002

D、输出值为2003

知识点:

自加、自减运算符和逗号运算符

54.有以下程序

main()

{

intx,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序运行后的输出结果是___C___。

A、2,3,3B、2,3,2C、2,3,1D、2,2,1

知识点:

自加、自减运算符和逗号运算符

55.设有以下定义

inta=0;

doubleb=1.25;

charc='A';

#defined2

则下面语句中错误的是__D____。

A、a++;B、b++;C、c++;D、d++;

知识点:

自加、自减运算符和逗号运算符

56.以下程序的输出结果是___D___。

main()

{

intx=10,y=10;

printf("%d%d\n",x--,--y);

}

A、1010B、99C、910D、109

知识点:

自加、自减运算符和逗号运算符

57.若x和y都是int型变量,x=100、y=200,且有下面的程序片段

printf("%d",(x,y));

上面程序片段的输出结果是___A___。

A、200B、100C、100200D、输则格式符不够,输出不确定的值

知识点:

自加、自减运算符和逗号运算符

58.设有如下定义:

intx=10,y=3,z;

则语句

printf("%d\n",z=(x%y,x/y));

的输出结果是___D___。

A、1B、0C、4D、3

知识点:

自加、自减运算符和逗号运算符

59.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___A___。

main()

{

intx;

scanf("%d",&x);

if(x++>5)

printf("%d",x);

else

printf("%d\n",x--);

}

A、7和5B、6和3C、7和D、6和4

知识点:

自加、自减运算符和逗号运算符

60.若t为double类型,表达式t=1,t+5,t++的值是___D___。

A、1B、6.0C、2.0D、1.0

知识点:

自加、自减运算符和逗号运算符

61.以下程序的输出结果是__A____。

#include

main()

{

inti=10,j=10;

printf("%d,%d\n",++i,j--);

}

A、11,10B、9,10C、010,9D、10,9

知识点:

自加、自减运算符和逗号运算符

62.有以下程序

main()

{

inty=10;

while(y--);

printf("y=%d\n",y);

}

程序执行后的输出结果是__B___。

A、y=0B、y=-1C、y=1D、while构成无限循环

知识点:

自加、自减运算符和逗号运算符

63.以下叙述中正确的是__B____。

A、全局变量的作用域一定比局部变量的作用域范围大

B、静态(static)类别变量的生存期贯穿于整个程序的运行期间

C、函数的形参都属于全局变量

D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值

知识点:

局部变量及其作用域和生存期

64.下面程序的输出是___C___。

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

知识点:

局部变量及其作用域和生存期

65.以下叙述中正确的是___A___。

A、局部变量说明为static存储类,其生存期将得到延长

B、全局变量说明为static存储类,其作用域将被扩大

C、任何存储类的变量在未赋初值时,其值都是不确定的

D、形参可以使用的存储类说明符与局部变量完全相同

知识点:

局部变量及其作用域和生存期

66.有以下程序

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);

}

程序执行后的输出结果是___C___。

A、45B、50C、60D、55

知识点:

局部变量及其作用域和生存期

67.以下程序执行后sum的值是___C___。

main()

{

inti,sum;

for(i=1;i<6;i++)sum+=i;

printf("%d\n",sum);

}

A、15B、14C、不确定D、0

知识点:

局部变量及其作用域和生存期

68.以下程序的输出结果是___A___。

main()

{

intk=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d\n",p);

}

func(inta,intb)

{

staticintm=0,i=2;

i+=m+1;m=i+a+b;

return(m);

}

A、8,17B、8,16C、8,20D、8,8

知识点:

局部变量及其作用域和生存期

70.有以下程序

fun(intx,inty)

{

staticintm=0,i=2;

i+=m+1;

m=i+x+y;

returnm;

}

main()

{

intj=1,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

执行后的输出结果是__B____。

A、5,5B、5,11C、11,11D、11,5

知识点:

局部变量及其作用域和生存期

71.以下程序的输出结果是___B___。

inta,b;

voidfun()

{

a=100;

b=200;

}

main()

{

inta=5,b=7;

fun();

printf("%d%d\n",a,b);

}

A、100200B、57C、200100D、75

知识点:

全局变量及其作用域和生存期

72.有如下程序

intfunc(inta,intb)

{return(a+b);}

main()

{

intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n",r);

}

该程序的输出结果是__D____。

A、12B、13C、14D、15

知识点:

调用函数和被调用函数之间的数据传递

73.有以下程序

voidf(intv,intw)

{

intt;

t=v;v=w;w=t;

}

main()

{

intx=1,y=3,z=2;

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

printf("%d,%d,%d\n",x,y,z);

}

执行后输出结果是___C___。

A、1,2,3B、3,1,2C、1,3,2D、2,3,1

知识点:

调用函数和被调用函数之间的数据传递

74.有以下程序

voidf(intx,inty)

{

intt;

if(x

}

main()

{

inta=4,b=3,c=5;

f(a,b);f(a,c);f(b,c);

printf("%d,%d,%d\n",a,b,c);

}

执行后输出结果是______。

A、3,4,5B、5,3,4C、5,4,3D、4,3,5

知识点:

调用函数和被调用函数之间的数据传递

75.有以下程序

intfun1(doublea){returna*=a;}

intfun2(doublex,doubley)

{

doublea=0,b=0;

a=fun1(x);

b=fun1(y);

return(int)(a+b);

}

main()

{

doublew;

w=fun2(1.1,2.0);

}

程序执行后变量w中的值是___C___。

A、5.21B、5C、5.0D、0.0

知识点:

调用函数和被调用函数之间的数据传递

80.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是___B___。

A、地址传递B、单向值传递C、由实参传给形参D、再由形参传回实参

知识点:

函数的调用

81.当执行下面的程序时,如果输入ABC,则输出结果是___A___。

#include"stdio.h"

#include"string.h"

main()

{

charss[10]="12345";

gets(ss);

strcat(ss,"6789");

printf("%s\n",ss);

}

A、ABC6789

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1