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

下载本文档

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

文档简介

1、文档供参考,可复制、编制,期待您的好评与关注! 一、 单项选择题 (本大题共20小题,每小题1分,共20分)1. 构成一个可执行的C程序的是A. 一个主函数和若干个非主函数 B. 若干个主函数和若干个非主函数C. 一个主函数和最多一个非主函数 C. 若干个主函数和最多一个非主函数2. 下面那一个是合法的C语言标识符: ( )A. abc B. long C. 4th D. a-33. 用十进制数表示表达式“12|012”的运算结果是( )A. 1 B. 0 C. 14 D. 124. 以下哪一个不是C语言合法的运算符( )A. * B. & C. D. +5. 按照结构化程序设计的概念

2、,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 90B.The result is 95C.The result is 10D. The result is 1008. 设x和y均为int型

3、变量,则执行下面的循环后,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. 89.有如下程序,输出结果是( )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(“%fn”,y);A. 0.000000 B.0.250000 C. 0.500000 D. 1.00000010合法的数组定义是()A. int a=“String”

4、; B. int a5=0,1,2,3,4,5C. char a=“String”; D. char a=0,1,2,3,4,511语句printf(“%dn”,strlen(“atsng”);的输出结果是()A. 5 B. 6 C. 7 D 812设有定义:char s20=“Good morning”; 则s所占的字节数为:A. 20 B. 12 C. 13 D. 2113. C语言规定,函数返回值的类型由什么决定( )A return语句中的表达式类型B 调用该函数时的主调函数类型C 调用该函数时的形参类型D 在定义该函数时所指定的函数类型14C语言中函数的隐含存储类型是A. auto

5、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

6、(n) (N+1)*n)A. 出错 B. 42 C. 48 D. 5417以下程序的输出结果是( ) #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=8018.设有定义语句 struct int x; int y; d2=1,3,2,7; 则printf(“%dn”, d0.y/d0.x*d1.x); 的输出是( ) A. 0 B. 1 C. 3 D. 619. 设int b20; 则对b数组元素的错误引用是:A. b5 B. *(b

7、+1) C. b20%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<b的值为( ), c<=b的值为( ) 3. 符号常量的定义方法是_4算法就是为解决问题而采取的( )5a数组定义如下char a=”ab”,则a数组中的所有元素依次是( )6设有以下宏定义

8、,则执行赋值语句 a=PP*20;(a为int型变量)后,a的值是( ) #define PR 80 #define PP PR+4037设 union int a; char c99;b;则sizeof(b)的值是_8若有int a3=10,12,30;则a+1是( )的地址,*(a+2)=( )。9C语言中调用( )函数打开文件,调用( )函数关闭文件,调用( )函数可实现文件的随机定位。10按数据在磁盘上的存储方式,可将文件分为_文件和_文件。三、 程序分析题 (本大题共5小题,每小题5分,共25分)1. 下列程序的输出结果是_main() int I=010,j=10; printf(

9、“%d,%dn”,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=%dn ”, i, sum);4.写出下列程序的输出结果:_unsigned fun6(unsigned num) unsigned k=1; do k*=num%

10、10;num/=10; while(num); return (k);main() unsigned n=26; printf(“%dn”, fun6(n);5在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为的1Test#include的<stdio.h>5151Testmain( )的5151Test char ch;的51 t51Testwhile(ch=getchar( )!=n)的51Te51Test if(ch>=A && ch<=Z)ch=ch+32; 51Test51Testelse if(ch>=a &

11、amp;& ch<z) ch=ch-32;51Test51Test printf(“%c”,ch); 51Test51Testprintf(“n”);t51Test51Test51Test51Test51Tes51TestA)ABCdef55st的B)abcDEF5的C)abc 51TestD)DEF t四、 程序填充题 (本大题共5小题,每小题4分。共20分)1下列程序计算分段函数 x由键盘输入,请填空:main() int y; float x; scanf(“%f”,_); if(x<-1.0) y=0; else if(_) y=1; else y=10; prin

12、tf(“y=_n”,y);2根据对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(“%fn”,sum(n);3下面函数的功能是将一个字符串的内容颠倒过来,请填空:void fun(char str) int I,j,_ for(I=0,j=_;I<j;I+,j-) k=strI;strI=strj;_ 4 下列程序的功能是输入一个正整数,判断是否是素数并输出结果,请填空:main() i

13、nt 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 <stdio.h>main() FILE *fp; long num=0; char ch; if(fp=_)=NULL) printf(“Cant open file!n”); exit(0); _ while(_) if(ch!=32) num+; ch=fgetc(fp); fclo

14、se(fp);五、 程序设计题 (本大题共2小题,第一题7分,第二题8分,共15分)1.输入整数x,如果该数为0则输出“zero”,否则判断奇偶性,若为奇数则输出“odd”,若为偶数则输出“even”。2. 编写一个程序,输入下列学生成绩表中的数据,并用结构体数组存放。然后统计并输出三门课程的名称和平均分数。NameFoxbaseBasicCZhao97.589.078.0Qian90.093.087.5Sun75.079.068.5提示:结构体可以定义如下:struct studentchar name10;float foxbase;float basic;float c;参考答案:一、

15、单项选择题1.A 2.A 3.C 4.C 5.B6.D 7.B 8.C 9.B 10.D 11.B 12.A 13.D 14.A 15.B16.C 17.D 18.D 19.D 20.C二、填空题1. return void2. 1 03. #define 常量名 常量值4. 方法和步骤5. a、b、06. 81407. 998. a1 309. fopen() fclose() fseek()10. ASCII文件(或文本文件) 二进制文件三、程序分析题1. 8,102. 8523. i=0,sum=304. 125. abcDEF四、程序填充题1. &x x<=1.0 %d2

16、. s=0; %d3. k; strlen(str)-1 strj=k;4. j+ (x%j=0) y=15. fopen(“mytest.dat”,”r”) ch=fgetc(fp); !feof(fp)五、 程序设计题1. #include<stdio.h>main() int x; printf(“input x:”); scanf(“%d”,&x); if (x=0) printf(“zero”); else if (x%2=0) printf(“even”); else printf(“odd”);2. #include<stdio.h> struct studentchar name10;float foxbase;float basic;float c;ma

温馨提示

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

评论

0/150

提交评论