C语言期末考试试卷及答案4_第1页
C语言期末考试试卷及答案4_第2页
C语言期末考试试卷及答案4_第3页
C语言期末考试试卷及答案4_第4页
C语言期末考试试卷及答案4_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择题(本大题共20小题,每小题1分,共20分)

1.构成一个可执行的C程序的是

A.一个主函数和若干个非主函数B.若干个主函数和若干个非主函数

C.一个主函数和最多一个非主函数C.若干个主函数和最多一个非主函数

2.下面那一个是合法的C语言标识符:()

A.abcB.longC.4thD.a-3

3.用十进制数表示表达式“121012”的运算结果是()

A.1B.0C.14D.12

4.以下哪一个不是C语言合法的运算符()

A.*B.&C.©D.+

5•按照结构化程序设计的概念,C语言程序设计的基本单位是()

A.过程B.函数C.子程序D.语句

6.下面哪个表达式的值为4.()

A.11/3B.11.0/3

C.(float)11/3D.(int)(11.0/3+0.5)

7.下面C代码的输出结果是()

intanswer,result;answer=l00;result=answer_10;printf("Theresultis%d”,result+5);

A.Theresultis90

B.Theresultis95

C.Theresultis10

D.Theresultis100

8.设x和y均为int型变量,则执行下面的循环后,y的值为()

for(y=l,x=l;y<=50;y++)

{if(x>=10)break;

if(x%2==l){x+=5;continue;}

x-=3;

}

A.2.B.4C.6D.8

9.有如下程序,输出结果是()

main()

(

floatx=4.0,y;

if(x<0.0)y=0.0;

elseif(x<8.0)y=l.0/x;

elsey=l.0;

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

}

A.0.000000B.0.250000C.0.500000D.1.000000

10.合法的数组定义是()

A.inta口={"String”};B.inta[5]={0,1,2,3,4,5}

C.chara二{“String”};D.chara[]={0,1,2,3,4,5}

11.语句printf("%d\n",strlen("ats\n\\g"));的输出结果是()

A.5B.6C.7D8

12.设有定义:chars[20]={"Goodmorning”};则s所占的字节数为:

A.20B.12C.13D.21

13.C语言规定,函数返回值的类型由什么决定()

Areturn语句中的表达式类型B调用该函数时的主调函数类型

C调用该函数时的形参类型D在定义该函数时所指定的函数类型

14.C语言中函数的隐含存储类型是

A.autoB.staticC.externD.无存储类型

15.以下函数的功能是交换x和y的值,不正确的是:

A.funa(int*x,int*y)B.funb(intx,inty)

{int*p;{intt;

*p=*x;*x=*y;*y=*p;}t=x;x=y;y=t;}

C.func(int*x,int*y)D.fund(int*x,int*y)

{intp;{*x=*x+*y;*y=*x-*y;*x=*x-*y;

p=*x;*x=*y;*y=p;}

)

16.设有以下宏定义,则执行语句z=2*(N+Y(5+1));后,z的值为()

#defineN3

ttdefineY(n)((N+l)*n)

A.出错B.42C.48D.54

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

itdefineADD(x)(x)+(x)

main()

{inta=4,b=6,c=7,d=ADD(a+b)*c;

printf("d=%d",d);}

Ad=70Bd=140Cd=280Dd=80

18.设有定义语句struct{intx;inty;}d[2]={{l,3},{2,7}};则printf("%d\n”,

d[0].y/d[O].x*d[l].x);的输出是()

A.0B.1C.3D.6

19.设intb[20];则对b数组元素的错误引用是:

A.b[5]B.*(b+l)C.b[20%2]D.b(5)

20.若文件型指针fp已指向某文件的末尾,则函数feof(fp)返回值是()

A.0B.-1C.非零值D.NULL

二、填空题(本大题共10小题,每小题2分,共20分)

1.若自定义函数要求返回一个值,则应在该函数体中有一条语句,若自定义函数要求

不返回值,则应该在定义该函数时的返回类型是.

2.当a=3,b=4,c=5时,写出下列各式的值。a〈b的值为(),c<=b的值为()

3.符号常量的定义方法是.

4.算法就是为解决问题而采取的()

5.a数组定义如下chara□二"ab”,则a数组中的所有元素依次是()

6.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()

^definePR80

#definePPPR+403

7.设union{inta;charc[99];}b;

则sizeof(b)的值是________________________________

8.若有int4[3]={10,12,30};则@+1是()的地址,*(a+2)=()。

9.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可

实现文件的随机定位。

10.按数据在磁盘上的存储方式,可将文件分为文件和文件。

三、程序分析题(本大题共5小题,每小题5分,共25分)

1.下列程序的输出结果是_________________________________

main()

(

int1=010,j=10;

printf(u%d,%d\nw,I,j);

)

2.写出下列程序的输出结果

main()

inty=9;

for(;y>0;y一)

if(y%3==0){printf(,--y);}

}

3.写出下面程序的运行结果()

#include"stdio.h"

voidmain()

{inti,sum;

i=5;

sum=0;

do

{sum=sum+2*i;

i-;

}while(i>0);

printf("i=%d,sum=%d\n”,i,sum);

}

4.写出下列程序的输出结果:

unsignedfun6(unsignednum)

(

unsignedk=l;

do{k*二num%10;num/=10;}

while(num);

return(k);

)

main()

(

unsignedn=26;

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

5.在执行以下程序时,如果从键盘上输入:八1^016£<回车〉,则输出为

#include<stdio.h>

main()

{charch;

while((ch=getchar())!=,\nf)

{if(ch>=,A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<,z')ch=ch-32;

printf("%c”,ch);}

printf("\n”);

)

A)ABCdefB)abcDEFC)abcD)DEF

四、程序填充题(本大题共5小题,每小题4分。共20分)

0(x<—1.0)

1.下列程序计算分段函数1(-1.04工41.0)x由键盘输入,请填空:

10(1.0<x)

main()

{inty;

floatx;

scanf(;

if(x<-1.0)y=0;

elseif()y=l;

elsey=10;

printf(ay=___\n",y);

)

2.根据对n的输入,求F+22+32+…+”2的和,请填空。

doublesum(intx)

(

intI;

doubles;

for(1=1;K=x;I++)s+=I*I;

returns;

)

main()

{intn;

scanf("”,&n);

printf(,sum(n));}

3.下面函数的功能是将一个字符串的内容颠倒过来,请填空:

voidfun(charstr[])

(

intI,j,__________________

for(1=0,j=;Kj;I++,j-)

k=str[I];

str[I]=str[j];

)

4.下列程序的功能是输入一个正整数,判断是否是素数并输出结果,请填空:

main()

(

intj,x,y=l;

scanf("%d”,&x);

for(j=2;j<=x/2;)

if{y=0;break;}

if()

printf(“素数”);

else

printf(“非素数”);

)

5.下面的程序用来统计文件mytest.dat中非空格字符个数,请填空:

#include<stdio.h>

main()

(

FILE*fp;

longnum=0;

charch;

if((fp=)=NULL)

{printf("Can'topenfile!\nw);exit(0);}

while()

{if(ch!=32)num++;

ch=fgetc(fp);

)

fclose(fp);

)

五、程序设计题(本大题共2小题,第一题7分,第二题8分,共15分)

1.输入整数x,如果该数为0则输出“zero”,否则判断奇偶性,若为奇数则输出“odd”,若为偶数则

输出“even”0

2.编写一个程序,输入下列学生成绩表中的数据,并用结构体数组存放。然后统计并输出三门课程的名

称和平均分数。

NameFoxbaseBasicC

Zhao97.589.078.0

Qian90.093.087.5

Sun75.079.068.5

提示:结构体可以定义如下:

structstudent

(

charname[10];

floatfoxbase;

floatbasic;

floatc;

)

参考答案:

一、单项选择题

1.A2.A3.C4.C5.B

6.D7.B8.C9.B10.D

11.B12.A13.D14.A15.B

16.C17.D18.D19.D20.C

二、填空题

1.returnvoid

2.10

3.ttdefine常量名常量值

4.方法和步骤

5.'a'、'b'、'\0‘

6.8140

7.99

8.a[l]30

9.fopen()fcloseOfseekO

10.ASCH文件(或文本文件)二进制文件

三、程序分析题

1.8,10

2.852

3.i=0,sum=30

4.12

5.abcDEF

四、程序填充题

1.&X

x<=l.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论