1、C语言期末考试试题三篇C语言期末考试试题三篇篇一:20XX年C语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是()。A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。main( ) int a=7,b=5;printf(%dn,b=b/a);A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,ab?a+:b+,a+b)的值是()。A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。a=125.534; a=(int)125.521%4; a=52;A 125,31,1B 125,1,20C 1
2、25,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是()。int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行D循环体语句执行一次6.以下程序的输出结果为()。int i;void prt( ) for(i=5;i8;i+) printf(%c,*);printf(t);main( ) for(i=5;inB +p-nC p-n+D (*p).n+14.C语言中的文件类型只有()。A 索引文件和文本文件两种B 文本文件一种C 二进制文件一种D ASCII码文件和二进制文件两种二判断对错,对的划“”,错的
3、划“”(5分,每小题0.5分)1在Turbo C中,整型数据在内存中占2个字节。()2int i=20;switch(i/10)case 2:printf(A);case 1:printf(B);的输出结果为A。()3break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。()4函数的递归调用不过是一个函数直接或间接地调用它自身。()5函数strlen(ASDFGn)的值是7。()6通过return语句,函数可以带回一个或一个以上的返回值。()7结构体类型只有一种。()8char *p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。()9
4、若有定义:char *p(char a10);则p是函数名。()10用fopen(file,r+);打开的文件file可以进行修改。()答案一选择题(7分,每小题0.5分)1. B2. C3. B4. B5. C6. A7. B8. A9. A 10. C11. A 12. A 13. B 14. D二判断对错,对的划“”,错的划“”(5分,每小题0.5分)1. 2. 3. 4. 5.6.7.8.9. 10.1选择题(24分,每小题2分)1已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。A 存放读入数据项的存储区B 存放读入数
5、据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要读入的数据项总数2以下程序的输出结果为()。main( ) int i=010,j=10;printf(%d,%dn,i+,j-); A 11,9B 9,10C 8,10D 9,93设a为int型变量,执行下列赋值语句后,a的取值分别是()。a=125.534;a=20.0/3;a=(int)125.521%4;a=52;A 125,6,31,1B 125,6,1,20C 125,6.666666,31,20D 125.534,6.666666,2,204设i和k都是int类型,则for循环语句()。for(i=0
6、,k=-1;k=1;i+,k+) printf(*n);A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5以下程序的输出结果为()。main( ) char c;int i;for(i=65;i68;i+) c=i+32;switch(c) case a:case b:case c:printf(%c,c);break; default:printf(end);A a,b,c,endB a,a,a,endC a,a,a,D a,b,c,6函数调用语句:fseek(fp,-10L,2);的含义是()。A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将
7、文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7以下程序的输出结果为()。main( ) char s140=country,s220=side;int i=0,j=0;while(s1i!=0) i+;while(s2j!=0) s1i+=s2j+;s1i=0;printf(%sn,s1);A sideB countryC sidetryD countryside8下列说法不正确的是()。A 主函数main中定义的变量在整个文件或程序中有效B 不同函数中,可以使用相同名字的变量C 形式参数
8、是局部变量D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效9在下列程序段中,枚举变量 c1的值是()。enum color red,yellow,blue=4,green,whitec1; c1=yellow; c1=white;A 1B 3C 5D 610设有说明 int (*ptr)();其中标识符ptr是()。A 是一个指向整形变量的指针B 是一个指针,它指向一个函数值是int的函数C 是一个函数名 D定义不合法11定义由n个指向整形数据的指针组成的数组p,其正确的方式为()。A int p;B int (*p)n;C int *pn;D int (*p)( )
9、; 12具有相同类型的指针类型变量p与数组a,不能进行的操作是()。A p=a;B *p=a0;C p=&a0;D p=&a;二判断对错,对的划“”,错的划“”(20分,每小题2分)1参加位运算的数据可以是任何类型的数据。( )2若有定义和语句:int a;char c;float f;scanf(%d,%c,%f,&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c=A,f=12.5。( )3C语言把文件看作是一个字符(字节)的序列。( )4若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。( )5在Turbo C中,下
10、面的定义和语句是合法的:file*fp;fp=fopen(a.txt,r);( )6若有定义:char s china;则Turbo C系统为数组s开辟6个字节的内存单元。( )7若有定义和语句:int a333,5,8,9,12,35,i,sum=0;for(i=0;i3;i+) sum+=ai2-i;则sum=21。( )8若有定义和语句:struct student int num; char name10; float score;s5=1,lili,98.5,9,xiaohua,66,*p=s;printf(%d,*p+);输出结果是1。( )9在程序中定义了一个结构体类型后,可以多
11、次用它来定义具有该类型的变量。( )10在Turbo C中,此定义和语句是合法的:enum aa a5,b,cbb;bb=(enum aa)5;( )答案一选择题(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 )二判断对错,对的划“”,错的划“”(20分,每小题2分)1.() 2.() 3.() 4.() 5.()6.()7.()8.()9.()10.()篇二:20XX年C语言期末试卷一、单项选择题。(每题1分,共20分)1. C程序的基本单
12、位是:()A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:()A.016B.018C.017D.023. 不是C语言实型常量的是:()A.55.0B.0.0C.55.5D.55e2.54 .字符串“xyzw”在内存中占用的字节数是:()A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()A.2.0B.2.25C.2.1D.1.5 D.1.5D.1.5 D.1.56. 若有语句char c1=d,c2=g;printf(“%c,%dn”,c2-a,c2-c1);则输出结果为:()(a的ASCII码值为97)A.M,2B.
13、G,3C.G,2D.D,g7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:()A.a=2.2,b=3B.a=2.2 b=3C.2.23 D.2.2,38.表示关系12=x=y的C语言表达式为:()A.(12=x)&(x=y)B. (12=x)&(x=y)C. (12=x)|(x=y)D(12=x)|(xy?x:mc4)后,s,t的值为:()A.1,2B.1,1C.0,1D.1,012. 语句for(a=0,b=0;b!=100&a5;a+)scanf(“%d”,&b); scanf最多可执行次数为:()A.4B.6C.5D.113. 对于for(s
14、=2;s+)可以理解为:()A. for(s=2;0 ;s+)B. for(s=2;1 ;s+)C. for(s=2;s2;s+)14. 若有char h=a,g=f;int a6=1,2,3,4,5,6;则数值为4的表达式为:()A.ag-hB.a4C.ad-hD.a h-c15. 设:char s10=“october”;则printf(“%dn”,strlen (s);输出是:()A.7B.8C.10D.1116. 若有int a35=2,2,2,6,2,6,2,则数组a共有个元素:()A.8B.5C.3D.1517. 设int a=5,b,*p=&a,则使b不等于5的语句为: ()A.
15、b=*&aB.b=*aC.b=*pD.b=a18. 若有int a7=1,2,3,4,5,6,7,*p=a则不能表示数组元素的表达式是: ()A.*pB.*aC.a7D.ap-a19. 若有int b4=0,1,2,3,*p则数值不为3的表达式是: ()A.p=s+2,*(p+)B.p=s+3,*p+C. p=s+2,*( +p)D.s320.设有如下定义:struct janint a;float b;c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:()A.(*p).c2.aB.(*p).aC.p-c2.aD. p.c2.a二、填空题。(每空1分,共15分)1.C语言标识符由 _
16、、_和_来构造。2.在C语言中,字符串常量是用一串字符。3.若有说明和语句:int a=25,b=60;b=+a;则b的值是。4.若int x=5;while(x0)printf(“%d”,x-);的循环执行次数为。5.若有int a5,*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,写出逻辑表达式a|b+cc&b-c的值是。8.C程序设计的三种基本结构是 _、_和_。9.数组是表示类型相同的数据,而结构体则是若干数据项的集合。10.C语言中文件是指。三、将下列程序补充完整
17、。(每空2.5分,共30分)1.输入三角形的三条边a,b,c,求三角形的面积。#include “math.h”#include “stdio.h”main( )float a,b,c,d,t,s;printf(“请输入三角形的三条边:”);scanf(“%f,%f,%f”,&a,&b,&c);if (1)printf(“%f%f%f不能构成三角形!”, a,b,c);else t=(a+b+c)/2;s= (2)printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2fn”, a,b,c,s);(2)2.输入两个整数,n1,n2(要求n1n2) (4) for(j=
18、n1;j=n2,j+)if (5) n+;printf(“a=%5d,b=%5d,n=%5dn”n1,n2,n);(3)(4)3.输入两个整数,n1,n2(要求n1b) (7) for(j=a;j=b,j+)if( (8) ) n+;printf(“a=%4d,b=%4d,n=%4dn”a,b,n);(7)(8)4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。#include “stdio.h”main( )int x,n,k,k1=0,k2=0,k3=0;printf(“input n=:”);(9)for(k=0;kn;k+)scanf(“%d”,&x);if (x0)k1+;(10);else k3+;printf(“k1=%4d,k2=%4d,k3=%4dn”,k1,k2,k3)(10)5.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.#include “stdio.h”main( )char ch;doch=getchar();if ( (11) )break;else if( (12) )putchar(ch);while(1);(11)(12)四、按格式写出程序运行结果。每题4分,共16分。1.格式化输出函数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1