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

上传人:y****3 文档编号:12826668 上传时间:2020-05-29 格式:DOC 页数:8 大小:58KB
返回 下载 相关 举报
C语言期末考试试卷及答案4_第1页
第1页 / 共8页
C语言期末考试试卷及答案4_第2页
第2页 / 共8页
C语言期末考试试卷及答案4_第3页
第3页 / 共8页
点击查看更多>>
资源描述
BatchDoc Word文档批量处理工具一、 单项选择题 (本大题共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. 按照结构化程序设计的概念,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型变量,则执行下面的循环后,y的值为( ) for(y=1,x=1;y=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(x0.0)y=0.0; else if(x8.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”; 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 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. 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+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时,写出下列各式的值。ab的值为( ), c0;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(i0); printf(“ i=%d, sum=%dn ”, i, sum);4.写出下列程序的输出结果:_unsigned fun6(unsigned num) unsigned k=1; do k*=num%10;num/=10; while(num); return (k);main() unsigned n=26; printf(“%dn”, fun6(n);5在执行以下程序时,如果从键盘上输入:ABCdef,则输出为的1Test#include的5151Testmain( )的5151Test char ch;的51 t51Testwhile(ch=getchar( )!=n)的51Te51Test if(ch=A & ch=a & chz) 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; printf(“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=_;Ij;I+,j-) k=strI;strI=strj;_ 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(“Cant 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”。2. 编写一个程序,输入下列学生成绩表中的数据,并用结构体数组存放。然后统计并输出三门课程的名称和平均分数。NameFoxbaseBasicCZhao97.589.078.0Qian90.093.087.5Sun75.079.068.5提示:结构体可以定义如下:struct studentchar name10;float foxbase;float basic;float c;参考答案:一、 单项选择题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. 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. #includemain() 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 struct studentchar name10;float foxbase;float basic;float c;main() struct student stu3=Zhao,97.5,89.0,78.0,Qian,90,93,87.5,Sun,75,79,68.5; int i; printf(name averagen); for(i=0;i3;i+) printf(%4s%12.1fn,stui.name,(stui.foxbase+stui.basic+stui.c)/3);BatchDoc Word文档批量处理工具
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 职业技能


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!