还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C语言期末考试试题三篇篇一20XX年C语言试题一选择题7分,每小题
0.5分
1.C语言源程序的基本单位是A过程B函数C子程序D标识符
2.下列程序的输出结果是main{int a=7,b=5;pr intf%d\nr,b=b/a;A5B1C0D不确定值
3.假设变量a,b均为整型,表达式a=5,b=2,aba++:b++,a+b的值是A7B8C9B不同函数中,可以使用相同名字的变量C形式参数是局部变量D在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效
9.在下列程序段中,枚举变量c1的值是enum color{red,ye11ow,bIue=4,green,white}d;c1=yellow;c1=white;A1B3C5D
610.设有说明int*ptrO;其中标识符ptr是A是一个指向整形变量的指针B是一个指针,它指向一个函数值是int的函数C是一个函数名D定义不合法
11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为0OA intp;B int*p[n];C int*p[n];D int*p;
12.具有相同类型的指针类型变量p与数组a,不能进行的操作是OA p=a;B*p=a
[0];C p=a
[0];D p=a;二判断对错,对的划J”,错的划“X”20分,每小题2分
1.参加位运算的数据可以是任何类型的数据
2.若有定义和语句int a;char c;fl oatf;scanf%d,%c,%f”,a,c,f;若通过键盘输入:10,A,
12.5,则a=10,c=A,f=
12.
53.C语言把文件看作是一个字符字节的序列4,若有宏定义#def ine Sa,b t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的
5.在Turbo C中,下面的定义和语句是合法的file*fp;fp=fopena.txt,nr;
6.若有定义char s[]=china;则Turbo C系统为数组s开辟6个字节的内存单元7若有定义和语句int a
[3]
[3]={{3,5},{8,9},{12,35,i,sum=0;fori=0;i3;i++sum+=a[i][2-i];则sum=21©
8.若有定义和语句struct student{int num;char name
[10];fl oatscore;}s
[5]={{1,nlilin,
98.5},{9,,rxiaohuan,66}},*p=s;printf n%dn,*p++;输出结果是
19.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量
10.在Turbo C中,此定义和语句是合法的enum aa{a=5,b,c}bb;bb=enum aa5;答案一选择题24分,每小题2分
1.B
2.C
3.B
4.D
5.D
6.A
7.D
8.A
9.D
10.B
11.C
12.D二判断对错,对的划“J”,错的划“X”20分,每小题2分
1.X
2.V
3.V
4.X
5.X
6.V
7.
8.X
9.V
10.V篇二20XX年C语言期末试卷
一、单项选择题(每题1分,共20分)
1.C程序的基本单位是A.子程序B.程序C.子过程D.函数
2.在C语言中,非法的八进制是A.016B.018C.017D.
023.不是C语言实型常量的是OA.
55.0B.
0.0C.
55.5D.55e
2.
54.字符串“xyzw”在内存中占用的字节数是A.6B.5C.
45.若已定义f,g为double类型,则表达式f=1,g=f+5/4的值是:A.
2.0B.
2.25D.
1.5D.
1.5D.
1.5D.
1.
56.若有语句char c1=d,c2=g;pr intf%c,%d\n”,c2-、a、,c2-c1;则输出结果为a的ASCI I码值为97A.M,2B.G,3C.G,2D.D,g
7.使用语句scanf“a=%f,b=%d“,a,b;输入数据时,正确的数据输入是A.a=
2.2,b=3B.a=
2.2b=33D.
2.2,
38.表示关系12=x=y的C语言表达式为B.12=xx=yC.12=x|x=yD.12=x11x=y
9.设x=1,y=2,m=4,n=3,则表达式xyx:mny:n的值为A.1B.3C.2D.
410.若有说明和语句int a=5,b=6;b*=a+1;则b的值为A.5B.6C.31D.
3611.设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句s=c1=c211t=c3c4后,s,t的值为A.1,2B.1,1C.0,1D.1,
012.语句for a=0,b=0;b!=100a5;a++scanf“%d,b;scanf最多可执行次数为A.4B.6C.5D.
113.对于for s=2;;s++可以理解为A.for s=2;0;s++B.for s=2;1;s++C.for s=2;s2;s++D.for s=2;s2;s++
14.若有char h=a,g=f;int a
[6]={1,2,3,4,5,61;则数值为4的表达式为A.a[g-h]B.a
[4]C.a[d-h]D.a[h-c]
15.设char s
[10]二{October”};则pr intf%d\n”,str lens;输出是A.7B.8C.10D.
1116.若有int a
[3]
[5]={2,2},{2,6},{2,6,2}},则数组a共有个元素A.8B.5C.3D.
1517.设inta=5,b,*p=a,则使b不等于5的语句为0A.b=*aB.b=*aC.b=*pD.b=a
18.若有int a
[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素的表达式是A.*pB.*aC.a
[7]D.a[p-a]
19.若有int b
[4]={0,1,2,3},*p则数值不为3的表达式是OA.p=s+2,*p++B.p=s+3,*p++C.p=s+2,*++pD.s
[3]
20.设有如下定义struct jan{int a;f Ioat b;}c2,*p;若有p=c2;则对c2中的成员a的正确引用是A.*p.c
2.aB.*p.aC.p-c
2.aD.p.c
2.a
二、填空题每空1分,共15分
1.C语言标识符由、和来构造
2.在C语言中,字符串常量是用一串字符
3.若有说明和语句int a=25,b=60;b=++a;则b的值是
4.若int x=5;while x0printf a%dw,x—;的循环执行次数为
5.若有inta
[5],*p=a;则p+2表示第个元素的地址
6.若有说明和语句int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是、
7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a11b+ccb-c的值是
8.C程序设计的三种基本结构是、和o
9.数组是表示类型相同的数据,而结构体则是若干数据项的集合
10.C语言中文件是指O
三、将下列程序补充完整每空
2.5分,共30分
1.输入三角形的三条边a,b,c,求三角形的面积#include math.h”#include stdio.h”main{f Ioat a,b,c,d,t,s;printf“请输入三角形的三条边”;scanf“%f,%f,%fw,a,b,c;if Dprintf不能构成三角形!“,a,b,c;eIse{t=a+b+c/2;s=2pr i ntf“a=%
7.2f,b=%
7.2f,c=%
7.2f,area=%
7.2f\n”,a,b,c,s;}}2,输入两个整数,n1,n2要求n1n2,统计两整数范围内被3整除的数的个数#include“stdio.h”ma in{int n1,n2,j,n=0;pr intf\n请输入两个数”;scanf3;ifn1n2{4}for j=n1;j=n2,j++if5n++;
4.设a为int型变量,执行下列赋值语句后,a的取值分别是0a=
125.534;a=int
125.521%4;a=52;«A125,31,1B125,1,20C125,31,20D
125.534,2,
205.设有如下程序段,下面描述中正确的是int k=10;whilek=0k=k-1;A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次
6.以下程序的榆出结果为0int voidprt{fori=5;i8;i++printfCAt;{fori=5;i=8;i++prt;main***A***pr intfa=%5d,b=%5d,n=%5d\nw n1,n2,n;}
3.输入两个整数,n1,n2要求n1n2,统计两整数范围内的素数的个数#include math,h”#include stdio.hint primeint x{int k;for6if x%k==0return0;return1}ma in{int a,b,j,n=0;pr intf“\n请输入两个数”;scanf%d,%d“,a,b;ifab{7}for j=a;j=b,j++if8n++;pr intfaa=%4d,b=%4d,n=%4d\nw a,b,n;}
784.编写程序,输入n个整数n由键盘输入,统计其中正数、负数和零的个数#include stdio.hf,main{int x,n,k,k1=0,k2=0,k3=0;printfinput n=:w;for k=0;kn;k++{scanf%d,x;if x0k1++;10;else k3++;printf“k1=%4d,k2=%4d,k3=%4d\nw,k1,k2,k3}}
5.设计一个程序完成以下功能若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.]#include“stdio.h”main{char ch;do{ch=getchar;if11break;else if12putchar ch;}wh iI e1;
四、按格式写出程序运行结果每题4分,共16分1,格式化输出函数]c******D***7•在C语言程序中,以下说法正确的是A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套
8.以下函数调用语句中含有O个实参func e1,e2,e3,e4,e5;A293C5D语法错误10以下程序的输出结果为#define ADDx x*xmain{inta=4,b=6,c=7,d=ADD a+b*c;printfCd=%d,d;A d=70B d=80C d=140D d=
70010.已知职工记录描述如下,在Turbo C中,系统为变量w分配字节的空间struct worker{int no;char name
[20];char sex;union{int day;int month;int year;}birth;1w;A29B20C25D
611.设有以下定义,值为5的枚举常量是Oenum week{sun,mon=4,tue,wed,thu,fri,sat}w;A tueBsatC friDthu
12.下面选项中正确的赋值语句是设char a
[5],*p=a;0A p=abcdB a=abcd,;C*p=,,abcdM;D*a=Mabcdn;13,设有以下程序段,则值为6的表达式是struct st{int n;struct st*next;};stat ic structst a
[3]={5,a
[1],7,a
[2],9,0},*p;P=a
[0];A p++-nB++p-nC p-n++D*p.n++
14.C语言中的文件类型只有OA索引文件和文本文件两种B文本文件一种C二进制文件一种D ASCII码文件和二进制文件两种二判断对错,对的划“,错的划“X”5分,每小题
0.5分
1.在Turbo C中,整型数据在内存中占2个字节
2.int i=20;switchi/10{case2:printfA;case1:printf”B;}的输出结果为Ao
03.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环
4.函数的递归调用不过是一个函数直接或间接地调用它自身
05.函数strlen nASDFG\n的值是
76.通过return语句,函数可以带回一^个或一^个以上的返回值
7.结构体类型只有一种
8.char*p=ngirln;的含义是定义字符型指针变量p,p的值是字符串“girl
9.若有定义char*pchar a
[10];则p是函数名
10.用fopen”file”Jr+”;打开的文件“file”可以进行修改答案一选择题7分,每小题
0.5分
1.B
2.C
3.B
4.B
5.C
6.A
7.B
8.A
9.A
10.C
11.A
12.A
13.B
14.D二判断对错,对的划“J”,错的划“X”5分,每小题
0.5分
1.X
2.X
5.X
6.X
7.X
8.X
9.J
10.V1选择题24分,每小题2分
1.已知函数fread的调用形式为fread buffer,size,count,fp,其中buffer代表的是A存放读入数据项的存储区B存放读入数据的地址或指向此地址的指针C一个指向所读文件的文件指针D一个整形变量,代表要读入的数据项总数
2.以下程序的输出结果为0main{int i=010,j=10;printf C,%d,%d\nn,i++,j—;}A11,9B9,10C8,10D9,
93.设a为int型变量,执行下列赋值语句后,a的取值分别是a=
125.534;a=
20.0/3;a=int
125.521%4;a=52;«A125,6,31,1B125,6,1,20C125,
6.666666,31,20D
125.534,
6.666666,2,
204.设i和k都是int类型,则for循环语句fori=0,k=-1;k=1;i++,k++printfn****\nn;A循环结束的条件不合法B循环体一次也不执行C循环体只执行一次D是无限循环
5.以下程序的输出结果为main{char c;int i;fori=65;i68;i++{c=i+32;sw itch c{case a:case b:case c:printf%c,,c;break;default:printfend;}1A a,b,c,endB a,a,a,endC a,a,a,D a,b,c,
6.函数调用语句fseek fp,-10L,2;的含义是A将文件位置指针从文件末尾处向文件头的方向移动10个字节B将文件位置指针从当前位置向文件头的方向移动10个字节C将文件位置指针从当前位置向文件末尾方向移动10个字节D将文件位置指针移到距离文件头10个字节处
7.以下程序的输出结果为main{char s1
[40]=countryn,s2
[20]=,,siden;int i=0,j=0;whiIes1[i]!=\0i++;whi Ies2[j]!=\0*s1[i++]=s2[j++];s1[i]=0;printf%s\nM,s1;A sideBcountryC sidetryD countryside
8.下列说法不正确的是A主函数main中定义的变量在整个文件或程序中有效。