C语言期末考试试卷及答案4

2020-03-29 18:26

一、单项选择题 (本大题共20小题,每小题1分,共20分) 1. 构成一个可执行的C程序的是

A. 一个主函数和若干个非主函数 B. 若干个主函数和若干个非主函数 C. 一个主函数和最多一个非主函数 C. 若干个主函数和最多一个非主函数 2. 下面那一个是合法的C语言标识符: ( ) A. abc B. long C. 4th D. a-3

3. 用十进制数表示表达式“12|012”的运算结果是( ) A. 1 B. 0 C. 14 D. 12

4. 以下哪一个不是C语言合法的运算符( ) A. * B. & C. @ D. +

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

A. 过程 B. 函数 C. 子程序 D. 语句 6. 下面哪个表达式的值为4. ( ) A. 11/3 B. 11.0/3

C. (float)11/3 D. (int)(11.0/3+0.5) 7.下面C代码的输出结果是( )

int answer,result;answer=100;result=answer-10;printf(“The result is %d”, result+5); A. The result is 90 B. The result is 95 C. The result is 10 D. The result is 100

8. 设x和y均为int型变量,则执行下面的循环后,y的值为( ) for(y=1,x=1;y<=50;y++) { if(x>=10)break;

if(x%2==1){x+=5;continue;} x-=3; }

A. 2. B. 4 C. 6 D. 8 9.有如下程序,输出结果是( ) main() {

float x=4.0,y; if(x<0.0)y=0.0;

else if(x<8.0) y=1.0/x; else y=1.0;

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

A. 0.000000 B.0.250000 C. 0.500000 D. 1.000000 10.合法的数组定义是()

A. int a[]={“String”}; B. int a[5]={0,1,2,3,4,5} C. char a={“String”}; D. char a[]={0,1,2,3,4,5}

11.语句printf(“%d\\n”,strlen(“ats\\n\\\\g”));的输出结果是() A. 5 B. 6 C. 7 D 8

12.设有定义:char s[20]={“Good morning”}; 则s所占的字节数为:

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

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

A return语句中的表达式类型 B 调用该函数时的主调函数类型 C 调用该函数时的形参类型 D 在定义该函数时所指定的函数类型 14.C语言中函数的隐含存储类型是

A. auto B. static C. extern D. 无存储类型 15.以下函数的功能是交换x和y的值,不正确的是:

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

{ int *p; { int t;

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

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

{ int p; { *x=*x+*y;*y=*x-*y; *x=*x-*y; p=*x;*x=*y;*y=p; } }

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

#define N 3

#define Y(n) ((N+1)*n)

A. 出错 B. 42 C. 48 D. 54 17.以下程序的输出结果是( ) #define ADD(x) (x)+(x) main()

{ int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); }

A d=70 B d=140 C d=280 D d=80

18.设有定义语句 struct {int x; int y;} d[2]={{1,3},{2,7}}; 则printf(“%d\\n”, d[0].y/d[0].x*d[1].x); 的输出是( ) A. 0 B. 1 C. 3 D. 6

19. 设int b[20]; 则对b数组元素的错误引用是: A. b[5] B. *(b+1) C. b[20%2] D. b(5)

20.若文件型指针fp已指向某文件的末尾,则函数feof(fp)返回值是() A. 0 B. –1 C. 非零值 D. NULL

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

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

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

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

4.算法就是为解决问题而采取的( ) 5.a数组定义如下char a[]=”ab”,则a数组中的所有元素依次是( )

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

7.设 union { int a; char c[99];}b;

则sizeof(b)的值是_______________________________

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

9.C语言中调用( )函数打开文件,调用( )函数关闭文件,调用( )函数可实现文件的随机定位。

10.按数据在磁盘上的存储方式,可将文件分为__________文件和_________文件。 三、程序分析题 (本大题共5小题,每小题5分,共25分) 1. 下列程序的输出结果是_________________________________ main() {

int I=010,j=10;

printf(“%d,%d\\n”,I,j); }

2.写出下列程序的输出结果_______________________________________ main() {

int y=9;

for(;y>0;y--)

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

3.写出下面程序的运行结果( ) #include “stdio.h” void main() { int i,sum; i = 5; sum = 0; do

{ sum = sum + 2*i; i--;

} while(i>0);

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

4.写出下列程序的输出结果:_______________________________________ unsigned fun6(unsigned num) {

unsigned k=1;

do {k*=num;num/=10;} while(num); return (k); }

main() {

unsigned n=26;

printf(“%d\\n”, fun6(n)); }

5.在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为 的1Test#include的5151 Testmain( )的 5151Test{ char ch;的

51 t51Testwhile((ch=getchar( ))!=’\\n’)的

51Te51Test{ if(ch>=’A’ && ch<=’Z’)ch=ch+32; 51Test51Testelse if(ch>=’a’ && ch<’z’) ch=ch-32; 51Test51Test printf(“%c”,ch);} 51Test51Test printf(“\\n”);t }51Test51Test51Test51Test51Tes 51TestA)ABCdef55st的B)abcDEF5的C)abc 51TestD)DEF t 四、程序填充题 (本大题共5小题,每小题4分。共20分)

?0(x??1.0)?1.下列程序计算分段函数y??1(?1.0?x?1.0) x由键盘输入,请填空:

?10(1.0?x)?main()

{ int y; float x;

scanf(“%f”,____________); if(x<-1.0) y=0;

else if(_______________________) y=1; else y=10;

printf(“y=_______\\n”,y); }

2.根据对n的输入,求1?2?3???n的和,请填空。 double sum(int x) {

int I; double s;

__________________________ for(I=1;I<=x;I++) s+=I*I; return s; }

main() { int n;

scanf(“___________”,&n); printf(“%f\\n”,sum(n));}

3.下面函数的功能是将一个字符串的内容颠倒过来,请填空: void fun(char str[]) {

int I,j,__________________

for(I=0,j=________________;I

2222 {

k=str[I];

str[I]=str[j];

_________________________

} }

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

main() {

int j,x,y=1;

scanf(“%d”,&x);

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

if________________{ y=0;break;} if(_____________) printf(“素数”); else

printf(“非素数”); }

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

FILE *fp; long num=0; char ch;

if((fp=________________________________)==NULL) {printf(“Can’t open file!\\n”); exit(0); } __________________________________ while(_____________________________)

{ if(ch!=32) num++; ch=fgetc(fp); }

fclose(fp); }

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

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


C语言期末考试试卷及答案4.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年高考物理二轮复习第一部分二轮专题突破专题一力与运动课时

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: