历年C语言期末考试试题.docx
《历年C语言期末考试试题.docx》由会员分享,可在线阅读,更多相关《历年C语言期末考试试题.docx(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、填空(15分)1 .一个C源程序中至少应包括一个函数。2 .在C语言中,一个char型数据在内存中占字节;一个int型数据在内存中占的字节。3 .在C语言中,实型数据分为两种类型,它们是和4 .若a是int型变量,且a的初值为6,贝!I计算表达式a+=a-=a*a后,a的值为。5 .在C语言中,格式输入是由库函数完成的,格式输出是由库函数完成的。6 . C语言提供的三种逻辑运算符是&,和 o二、单项选择(20分)1 .组成C语言程序的是()oA)子程序B)过程C)函数D)主程序和子程序2 . C语言中,用户能使用的合法标识符是().A)a_b!B)- xyzC) fa2D)5i3 .若定义
2、iloat a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()A) scanf(%f,&a);B) scanf(%5.2f,a);C) scanfi%6.2f,&a);D) scanf(%f,a);4 .若有定义:int a=7; float x=2.5, y=4.7;则表达式 x+a%3*(int)(x+y)/4的值是()。A)2.75B)3.5C)2.5D)05.若定义int i;则以下循环语句的循环执行次数是()for(i=2; i=0;)printf(%d, i-);A)无限次 B)0次C)1次D)2次6 .在循环语句的循环体中,continue语句的作用是()A)立
3、即终止整个循环B)继续执行continue语句之后的循环体C)结束本次循环D)结束本次循环并跳出循环7 .下列对一维数组a的正确说明语句为().A) int a(10);B) int n=10, an;C) int n;D)#define SIZE 10scanfC%d”,&n);int aSIZE;int an;8 .以下对C语言中字符数组的错误描述是()。A)字符数组可以存放字符串B)字符数组中的字符串可以整个输入、输出C)可以在赋值语句中通过赋值运算符=对字符数组整体赋值D)字符数组中字符串的结束标志是,09 . C语言规定,函数返回值的类型由()所决定。B)调用该函数时的主调函数类型D
4、)在定义该函数时所指定的函数类型A) return语句中的表达式类型C)调用该函数时的形参类型10.以下程序的运行结果为(#define PT 3.5#define S(x) PT*x*xmain()int a=l, b=2;printf(%4.1fn,S(a+b);)A)7.5B)10.5C)14.0D)31.5三、程序阅读(25分)#include stdio.h”main ()int a,b;a=32767;b=a+l;printf(%dn%dn,a,b);2 .下列程序的输出的结果是什么?main()int a66, i,j;for(i=0; i6; i+)for(j=0;j6;j+)
5、if(ij) aij=O;pp/输fbr(i=O; i6; i-H-)fbr(j=0;j6;j+)printfC%3dM, ai|j);printffn);3 .下列程序输出的结果是什么?#include stdio.h”swap (int *pl, int *p2)int temp;temp=*pl;*pl=*p2;PPFi端找号试资料,就上写武资料网你的专武小帮手!w ww.ppk *p2=temp; main()int a,b; int *pa,*pb; scanf(H%d,%du,&a,&b);printf(H%d,%dH,a,b);pa=&a;pb=&b;if (ab) swap(p
6、a,pb);printf(%d,%dH,a,b);(1)如果输入4,5,打印的结果是(2)如果输入-3,4,打印的结果是#include stdio.h”int try(int a)static int x =3;x=x+1;return (x+a);main ()int a, x=2;for (a=0; a=l; a+)x=try(x);printffx 的值是:%dn,x);5.下列程序的输出的结果是什么?#include stdio.h”main ()int x;x=fun (4);printf(H%dnM, x);int fun (int n)int s;if(n=l)s=2;else
7、 s=n+fun (n-1);return (s);)四、程序填空(15分)1 .计算sum=l+l/2+l/4+.+l/50的值,并显示出来。#include stdio.hmain()int i=2;sum=1.0;while(i=)sum+=1.0/;i+=2;)printf (nsum=%fnH,sum);2 .下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。#include stdio.h”main()int i,j;fbr(i=O; i+)j=i*10+6;if() continue;printf(%d,j);)五、程序改错(15分)下列程序是用冒泡法按从
8、大到小顺序对一个int型数组排序。如果某行中的语句有错误,请在出错行上把正确的语句写出;如果没有错误则打上PPFii瑞找考试资料,就上考试资料网include stdio.h1.main()2.int array10;3.int4.printf (input 10 numbers:n);5.for (i=0; i10; i+)6.scanfT%d”,arrayi);7.for(j=0;jarrayi+1)1Lt=arrayi;12.array i=arrayi+1;13.arrayi+l=t;14.)15.fbr(i=O; i10; i-H-);16.printf(M%d arrayi);17
9、.)18.PPFii瑞六、程序设计(10分)1 .有3个实数a, b, c,由键盘输入,输出其中最大的数。(5分)2 .打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。(5分)c语言考试题(一)一、单项选择题(每题2分,共20分)1、以下选项中属于C语言的数据类型是()A.复数型B.逻辑型C.集合型D.双精度型2、一个C程序的执行是从()A. main。函数开始,直到main。函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D. main。函数开始,直到最后一
10、个函数结束3、设有语句int a=3;则执行语句a+=a=a*a;后,变量a的值是()A.3 B.0C.-12D.94、若有 charcKHKdAOTWVT;则执行语句 printf(s”,c);结果是()。A. cdOeB.cC. cdD. cde5、已知:int a23=123,4,5,6,(*p)3=a;则下列表达式不是4的是()。A.*(*p+3)B.*p+3C.*(*(p+0)+3) D. a036、以下有宏替换不正确的叙述().A.宏替换不占用运行时间B.宏名无类型C.宏替换只是字符串替换D.宏名必须用大写字母表示7、执行 char str10= Chninaw ; strlen(
11、str)的值是()A.5 B.6 C.7 D.98、下面程序的输出结果是:()#define POWER(x)(x*x)main()int i=4; printfC%d”,P0WER(i2);A.-9 B.-7 C.5 D.-69、在定义inta342;后,第10个元素是()A. a2l2 B. al0l C. a20l D. a22l10、下面程序的输出结果是:()typedef structlong x2;short y4;char z8;MYTYPE;MYTYPE a;main() printf(u%dnn,sizeofi(a);A.2B.8C.14 D.24二、填空题(每空1分,共11
12、分)1、字符串A在内存中占用的字节数为。2、C语言中的标识符只能由字母、下划线和组成。3、若有定义语句int a=25,b=14,c=19;,以下语句的执行结果是if(a+=25&b-=2&c+) printf(*a=%d,b=%d,c=%dn”,a,b,c);else printfC#a=%d,b=%d,c=%dnM,a,b,c);4、有如下定义a=B172Na%;则执行语句printff%d,strlen(a);的结果为。5、若有定义:int a12=l,2,3,4,5,6,7,8,9,10,ll,12,*p4,i; for(i=0;iy?xz:y+);x=0x02fT;y=0xfH)0;
13、printf(2:%dn”,(x&y)4|0x005f);x=y=z=-l;-H-x|-H-y&-H-z;printf(H3:%d,%d,%dn,x,y,z);2、#define f(x) x*xmain()int a=6,b=2,c;c=fi(a+b)/fi(b);printfi(fc4%dn,c);)3、fun(int k) printfi(M%dH, k);if(k0)fun(k-l);main()int w=5; fiin(w); printfi(,nM);4、#includemain()int x=l,y=0;switch(x) case 1:switch(y) case O:pri
14、ntf(firstn);break;case 1:printfl(ttsecondn,);break;case 2:printfl(thirdn);5、#include main()int k=4; func(k); func(k);fiinc(int a) static int m=0;m+=a;printff%d”,m);)6、struct stint x;int *y;)*P;int s=30,20);struct st a=1,&s0,2,&s1;main() p=a; printf(”d J,px);printfC%dn”,+(*(+p)y);7、假定在当前盘目录下有2个文本文件,其
15、名称和内容如下:文件名:al.txt a2.txt内容:ABCDEF# abcdefW#include stdio.hmain()FILE *fp;void fc();if(fp=fopen(a 1.txt” Jr)=NULL)printf(HCan not open file!nM); exit(l);else fc(fp);fclose(fp);ifi(fp=fbpen(,a2.txt,7,rH)=NULL)printf(Can not open file!nM); exit(l);)else fc( fp);fclose(fp);void fc(fpl)FILE *fpl;char c;
16、while(c=fgetc(fp l)!-#*)putchar(c);|四、程序填空(每空2分,共14分)1、下面程序求矩阵a的主对角线元素之和,请填空。main() inta33=2,4,6,8,10,12,14,16,18;int sum=0,ij;for(i=0;i3;)for(j=O; J+)iRi=g) sum=sum+;printf(sum=%dn,sum);)2、下列函数coy把字符数组S2中的全部字符复制到字符数组SI中,复制时0,也要复制过去,0后面的字符不用。coy(char sl,char s2) int i;for(i=0;s2i!=;i+)sli=s2i;;3、下面程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 语言 期末考试 试题
限制150内