c语言期末考试试题参考.docx

上传人:b****6 文档编号:5545986 上传时间:2022-12-19 格式:DOCX 页数:12 大小:20.13KB
下载 相关 举报
c语言期末考试试题参考.docx_第1页
第1页 / 共12页
c语言期末考试试题参考.docx_第2页
第2页 / 共12页
c语言期末考试试题参考.docx_第3页
第3页 / 共12页
c语言期末考试试题参考.docx_第4页
第4页 / 共12页
c语言期末考试试题参考.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c语言期末考试试题参考.docx

《c语言期末考试试题参考.docx》由会员分享,可在线阅读,更多相关《c语言期末考试试题参考.docx(12页珍藏版)》请在冰豆网上搜索。

c语言期末考试试题参考.docx

c语言期末考试试题参考

2.一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束

(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

(C)本程序的main函数开始,到本程序文件的最后一个函数结束

(D)本程序文件的第一个函数开始,到本程序main函数结束

3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线

D)可以是字母、数字和下划线中任一种字符

4.设有定义:

intm=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是(A)–1B)0C)1D)2

5.表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)10

6.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-12

7.在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;

8.下列()表达式不满足:

当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!

x%2!

=0

C)(x/2*2-x)==0D)!

(x%2)

9.若有定义:

inta=8,b=5,c;执行语句c=a/b+0.4后c的值为()

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

10.假设a=3,b=4,c=5,则逻辑表达式:

!

(a+b)+c-1&&b+c/2的值是()。

A)trueB)falseC)0D)1

11.若inta=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

A)3B)0C)4D)2

12.以下哪个表达式的值为4()

A)B)11.C)(flaot)D)(int)(11.+0.5)

13.若变量a,i已经正确定义,且i已经正确赋值,合法的语句是()

A)a==1B)++iC)a=a++=5D)a=int(i))。

14.以下程序的输出结果是()

inta=1234;

printf("%2d",a);

A)12B)34C)1234D)提示错误,无结果

15.设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。

A)(int)x+yB)int(x)+yC)int(x+y)D)(int)(x+y)

16.当a=3,b=2,c=1时,表达式f=a>b>c执行完后f的值是()

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

17.若x=2,y=1,则表达式x>y?

1:

1.5的值为()

A)1B)1.5C)1.0D)2

18.在位运算中,操作数每左移一位,其结果相当于()

A)操作数乘以2B)操作数除以2C)操作数乘以4D)操作数除以4

19.在位运算中,某操作数右移3位,其结果相当于()

A)操作数乘以6B)操作数除以6C)操作数乘以8D)操作数除以8

20.在C语言中,若以下变量均为int型,则下面程序段的输出结果是()。

s=6,u=6;u=s++;u++;

printf("%d",u);

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

21.若有定义:

intx,y;chara,b,c;并有以下输入数据:

x=12ABC,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是()

A)scanf("x%dy=%d",&x,&y);

a=getch();b=getch();c=getch();

B)scanf("x=%d%d",&x,&y);

a=getch();b=getch();c=getch();

C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c);

D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c,&c);

22.如下程序:

#include

voidmain()

{intm,n,k;

m=(n=4)+(k=10-7);

printf(“m=%d\n”,m);

}

运行后m的值为()。

(A)4(B)3(C)7(D)14

23.结构化程序的三种基本结构是()。

(A)顺序结构、选择结构、循环结构(B)递归结构、循环结构、转移结构

(C)嵌套结构、递归结构、顺序结构(D)循环结构、转移结构、顺序结构

24.有如下程序

main()

{floatx=4.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%f\n”,y);

}

该程序的输出结果是()

A)0.0B)0.25C)0.5D)1.0

25.设inta=0,b=5,c=2;选择可执行x++的语句是()。

(A)if(a)x++(B)if(a=b)x++;

(C)if(a=

(b-c))x++;

26.下列程序段运行后,x的值是()。

inta,b,c,x;

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A)3B)4C)34D)35

27.若要求在if后一对圆括号中表示a不等于0的关系,则能表示这一关系的表达式为A)a<>0B)!

aC)a=0D)a

28.若N为整型变量,则for(N=10;N=0;N--);循环里的循环体被()。

A)无限循环B)执行10次C)执行一次D)一次也不执行

29.下列程序段运行后i的值是()。

inti=10

switch(i+1)

{case10:

i++;break;

case11:

++i;

case12:

++i;break;

default:

i=i+1;

}

A)11B)13C)12D)14

30.以下程序的输出结果为()。

#include

main()

{inti;

for(i=0;i<10;i++);

printf("%d",i);

}

(A)0(B)123456789(C)0123456789(D)10

31.C语句for(;;){……}是指()。

(A)无意义(B)无限循环(C)循环执行1次(D)循环执行0次

32.有如下程序

main()

{intx=1,a=0,b=0;

switch(x){

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf(“a=%d,b=%d\n”,a,b);

}

该程序的输出结果是()

A)a=2,b=1

B)a=1,b=1

C)a=1,b=0

D)a=2,b=2

33.如果程序中有#include"文件名"则意味着()。

(A)将"文件名"所指的该文件的全部内容,复制插入到此命令行处。

(B)指定标准输入输出(C)宏定义一个函数(D)条件编译说明

34.要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是()字节。

A)5和2B)2和5C)2和2D)5和5

35.在下面关于一维数组的定义中,其中()有语法错0。

A)intx[]={1,2,3,4,5};B)intx[5]={0};

C)intx[];D)intx[5];

36.设有字符数组a,则的输入语句是()。

(A)gets(''a'');(B)scanf("%c",a);(C)scanf("%s",a);(D)gets("a");

37.函数调用“strcat(strcpy(str1,str2),str3)”的功能是()。

(A)将字符串str1复制到字符串str2后再连接到字符串str3之后

(B)将字符串str1连接到字符串str2后再复制到字符串str3之后

(C)将字符串str2复制到字符串str1后再将字符串str3连接到str1之后

(D)将字符串str2连接到字符串str1后再将str1复制到字符串str3中

38.定义如下变量和数组:

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是()。

for(i=0;i<3;i++)printf("%d",x[i][2-i]);

A)159B)147C)357D)369

39.C语言中,以下叙述中错误的是()。

A)主函数中定义的变量是全局变量B)同一程序中,全局变量和局部变量可以同名C)全局变量的作用域从定义处开始到本源程序文件结束

D)局部变量的作用域被限定在其所定义的局部范围中

40.C语言中,函数调用时若实参是数组名,则被调函数对应形参()。

A)可以是相应类型简单变量B)必须是相应类型数组名

C)可以是相应类型数组名D)必须是相应类型的指针变量

41.在下面C语言的函数说明语句中,的是()。

A)intfun(int,int);B)intfun(intx,y);

C)intfun(x,y);D)intfun(intx;inty);

42.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件读写方式字符串应是()。

A)”a+”B)”r+”C)”wb+”D)”ab”

43.C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。

(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式

44.已知:

int*p;使用“p=malloc(sizeof(int));”语句动态申请int型的存储单元,应当使用()。

A)intB)int*C)(*int)D)(int*)

45.在C函数中,局部变量的隐含存储类型是()。

(A)auto(B)static(C)register(D)extern

46.有定义:

intx,*p;,能使指针变量p指向变量x的语句是()。

A)*p=&x;B)p=&x;C)*p=x;D)p=*&x;

47.有定义:

intx,y=10,*p=&y;,则能使得x的值也等于10的语句是()。

A)x=p;B)x=&p;C)x=&y;D)x=*p;

48.有定义:

int*p1,*p2;,则的赋值语句为()。

A)p1=p2;B)p1/=p2;C)p1+=p2;D)p1*=p2;

49.在C语言中,关于文件存取方式,()。

A、只能顺序存取B、只能随机存取(也称直接存取)

C、可以顺序存取,也可以随机存取D、只能从文件开头存取

50.有定义:

inta[]={1,3,5,7,9},*p=a;,则值为5的表达式是()。

A)p+=2,*p++B)p+=2,*++pC)p+=2,(*p)++D)a+=2,*a填空

1.将百分制成绩转化为A-E这5个等级,90以上为A;80-89为B;70-79为C;60-69为D,60以下为E

Voidmain()

{

Intscore;

printf(“输入一个介于0-100之间的数”);

scanf(“__1___”,&score);

___2___(score/10)

{

case10:

printf(“A\n”);break;

case9:

printf(“A\n”);break;

case8:

printf(“B\n”);break;

case7:

printf(“C\n”);break;

case6:

printf(“D\n”);break;

____3___:

printf(“E\n”,score);break;

}

}

2.输入三角形三条边长度a,b,c,判断能不能组成三角形.如果可以输出YES,如果不能输出NO

main()

{

___4__a,b,c;

scanf(“%f%f%f”,&a,&b,&c);

if((a+b>c)&&(a+c>b)&&(b+c>a))

printf(“YES”);

___5__

printf(“NO”);

}

3计算1---100的和

main()

{

inti,sum;

sum=0;

i=___6___;

do

{

sum=sum+i;

i++

}while(i<=___7___);

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

}

4、*计算每个学生成绩的平均分,并把结果保存在数组bb中。

例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。

#include

#defineN3

#defineM5

void__8___(intx,inty,floatcc[],floataa[][5])

{

inti,j;

for(i=0;i

{

for(j=0;j

cc[i]+=aa[i][j];

cc[i]/=y;

}

}

voidmain()

{

inti;

staticfloatscore[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}};float__9___[N];

for(i=0;i

bb[i]=0;

Fun(N,M,bb,score);

for(i=0;i

printf("\nstudent%d\taverage=%5.1f",i+1,bb[i]);

printf("\n");

}

5.判断某个大于2的证书是否是素数

main()

{

intn,i,flag;

scanf("%d",__10___);

for(i=2;i

if(n%i==0)

{

flag=0;

_____11___;

}

if(flag!

=0)

printf("yes");

else

printf("no");

}

6.输出程序的运行结果

main()

inta,b;

int*p_1,*p_2;

a=100;

b=10;

p_1=&a;

p_2=&b;

printf("%d%d",*p_1,*p_2);

运行结果____12_____,____13______

7.打印9*9乘法表,输出格式要求为:

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

main()

{

intm,n;

for(m=1;m<=9;m++)

{

for(n=1;n___14____m;n++)

printf("%d*%d=%2d",m,m,m*n);

printf("___15___");

}

}

编程

1.*编写程序:

*计算20到30的每个整数立方根之和(保留小数点后两位)

参考答案:

#include

#include

intmain()

{inti;doubles=0;

for(i=20;i<=30;i++)

s=s+pow(i,1.);//如果平方根改为s=s+sqrt(i);

printf("%.2f\n",s);

return0;

}

运行结果:

32.11

*编写程序:

*读取文件wj6.txt中数据,一行为一组,作为三角形三边长,统计有多少组能组成三角形。

参考答案:

#include

intmain()

{inta,b,c,k=0;

FILE*p;

p=fopen("D:

\\wj6.txt","r");

while(!

feof(p))

{fscanf(p,"%d%d%d",&a,&b,&c);

if(a+b>c&&b+c>a&&c+a>b)

k++;

}

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

fclose(p);

return0;

}

C语言001

选择

1.A2.A3.C4.B5.D6.D7.D8.B9.B10.D11.C12.D13.B14.C15.D16.B17.C18.A19.D20.B

21.D22.C23.A24.B25.B26.B27.D28.D29.C30.D31.B32.A33.A34.A35.C36.C37.C38.C

39.A40.C

41.A42.C43.B44.D45.A46.B47.D48.A49.C50.A

填空

1.%d2.case3.default

4.float5.else

6.17.100

8.Fun9.bb

10.&n11.break

12.10013.10

14.<=15.\n

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

当前位置:首页 > 经管营销 > 销售营销

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

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