C语言期末考试试题三篇_第1页
C语言期末考试试题三篇_第2页
C语言期末考试试题三篇_第3页
C语言期末考试试题三篇_第4页
C语言期末考试试题三篇_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

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

文档简介

C语言期末考试试题三篇

篇一:20XX年C语言试题

一选择题(7分,每小题0.5分)

1.C语言源程序的基本单位是。。

A过程

B函数

C子程序

D标识符

2.下列程序的输出结果是。。

main()

{inta=7,b=5;

printf("%d\nH,b=b/a);

}

A5

B1

C0D不确定值

3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的

值是。。

A7

B8

C9

D2

4.设a为int型变量,执行下列赋值语句后,a的取值分别是0。

a=12

5.534;a=(int)125.521%4;a=5«2;

A125,31,1

B125,1,20

C125,31,20

D125.534,2,20

5.设有如下程序段,下面描述中正确的是。。

intk=10;while(k=0)k=k-1;

A循环执行一次B循环是无限循环C循环体语句一次也不执行

D循环体语句执行一次

6.以下程序的榆出结果为0。

int

voidprt()

{for(i=5;i<8;i++)printf("%cn,

printf(M\t");

}

main()

{for(i=5;i<=8;i++)prt();

A***

***

c******

D***

7•在C语言程序中,以下说法正确的是。。

A函数的定义可以嵌套,但函数的调用不可以嵌套

B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套

D函数的定义和函数的调用都可以嵌套

8.以下函数调用语句中含有O个实参。

func((e1,e2),(e3,e4,e5));

A2

B3

C5

D语法错误

9.以下程序的输出结果为()。

#defineADD(x)x*x

main()

{inta=4,b=6,c=7,d=ADD(a+b)*c;

printfC'd=%d",d);

1

Ad=70

Bd=80

Cd=140

Ba="abcd,';

C*p=nabcdH;

D*a=Mabcdn;

13,设有以下程序段,则值为6的表达式是。。

structst{intn;structst*next;};

staticstructsta[3]={5,&a[1],7,&a[2],9,0},*p;

P=&a[0];

Ap++->n

B++p->n

Cp->n++

D(*p).n++

14.C语言中的文件类型只有O。

A索引文件和文本文件两种

B文本文件一种

C二进制文件一种

DASCII码文件和二进制文件两种二判断对错,对的划“,错

的划“X”(5分,每小题0.5分)1.在TurboC中,整型数据在

内存中占2个字节。。

2.inti=20;switch(i/10){case2:printf("An);case

1:printf("B");}的输出结果为A。()

3.break语句用在循环体中,可结束本层循环,continue语句用在

循环体中,可结束本次循环。。

4.函数的递归调用不过是一个函数直接或间接地调用它自身。0

5.函数strlen(MASDFG\n")的值是7。。

6.通过return语句,函数可以带回一^个或一^个以上的返回值。。

7.结构体类型只有一种。。

8.char*p=ngirr';的含义是定义字符型指针变量p,p的值是字

符串“girl”。()

9.若有定义:char*p(chara[10]);则p是函数名。()

10.用fopen("file,“r+”);打开的文件“file”可以进行修改。()

答案

一选择题(7分,每小题0.5分)

1.B

2.C

3.B

4.B

5.C

6.A

7.B

8.A

9.A10.C

11.A12.A13.B14.D

二判断对错,对的划“J”,错的划“X”(5分,每小题0.5分)

1.X2.X3.V4.V5.X

6.X

7.X

8.X

9.J10.V

1选择题(24分,每小题2分)

1.已知函数fread的调用形式为fread(buffer,size,count,

fp),其中buffer代表的是()。

A存放读入数据项的存储区

B存放读入数据的地址或指向此地址的指针

C一个指向所读文件的文件指针

D一个整形变量,代表要读入的数据项总数

2.以下程序的输出结果为0。

main()

{inti=010,j=10;

printf(*'%d,%d\nn,i++,j—);}

A11,9

B9,10

C8,10

D9,9

3.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=20.0/3;a=(int)125.521%4;a=5«2;

A125,6,31,1

B125,6,1,20

C125,6.666666,31,20

D125.534,6.666666,2,20

4.设i和k都是int类型,则for循环语句。。

for(i=0,k=-1;k=1;i++,k++)printf(n****\nn);

A循环结束的条件不合法

B循环体一次也不执行

C循环体只执行一次

D是无限循环

5.以下程序的输出结果为。。

main()

{charc;

inti;

for(i=65;i<68;i++)

{c=i+32;

switch(c)

{case'a':case'b':case'c':printf("%c,",c);break;

defau11:printf("end");}

1

1

Aa,b,c,end

Ba,a,a,end

Ca,a,a,

Da,b,c,

6.函数调用语句:fseek(fp,-10L,2);的含义是。。

A将文件位置指针从文件末尾处向文件头的方向移动10个字节

B将文件位置指针从当前位置向文件头的方向移动10个字节

C将文件位置指针从当前位置向文件末尾方向移动10个字节

D将文件位置指针移到距离文件头10个字节处

7.以下程序的输出结果为。。

main()

{chars1[40]="countryM,s2[20]="side";

inti=0,j=0;

whiIe(s1[i]!='\0')i++;

whiIe(s2[j]!='\0*)s1[i++]=s2[j++];

s1[i]=0;

printf(,'%s\nM,s1);

)

Aside

Bcountry

Csidetry

Dcountryside

8.下列说法不正确的是()。

A主函数main中定义的变量在整个文件或程序中有效

B不同函数中,可以使用相同名字的变量

C形式参数是局部变量

D在一个函数内部,可以在复合语句中定义变量,这些变量只在本复

合语句中有效

9.在下列程序段中,枚举变量c1的值是()。

enumcolor{red,ye11ow,bIue=4,green,white}d;c1=yellow;

c1=white;

A1

B3

C5

D6

10.设有说明int(*ptr)0;其中标识符ptr是。。

A是一个指向整形变量的指针

B是一个指针,它指向一个函数值是int的函数

C是一个函数名D定义不合法

11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为

0O

Aintp;

Bint(*p)[n];

Cint*p[n];

Dint(*p)();12,具有相同类型的指针类型变量p与数组a,不

能进行的操作是。。

Ap=a;

B*p=a[0];

Cp=&a[0];

Dp=&a;

二判断对错,对的划“J”,错的划“X”(20分,每小题2分)

1.参加位运算的数据可以是任何类型的数据。()

2.若有定义和语句:inta;charc;float

f;scarrf("%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5,则

a=10,c='A:f=12・5。()

3.C语言把文件看作是一个字符(字节)的序列。()

4.若有宏定义:#defineS(a,b)t=a;a=b;b=t由于变量t没定义,

所以此宏定义是错误的。()

5.在TurboC中,下面的定义和语句是合法的:file

*fp;fp=fopen("a.txtn,Hr");()

6.若有定义:chars[]="china";则TurboC系统为数组s开辟

6个字节的内存单元。()

7.若有定义和语句:inta[3][3]=

{{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)

sum+=a[i][2-i];则sum=21©()

8.若有定义和语句:structstudent{intnum;char

name[10];floatscore;}

s[5]={{1,nlilin,98.5},{9,nxiaohuan,66}},*p=s;printf(n%dn,*

p

++);输出结果是1。()

9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该

类型的变量。()

10.在TurboC中,此定义和语句是合法的:enumaa{a=

5,b,c}bb;bb=(enumaa)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)

二判断对错,对的划“J”,错的划“X”(20分,每小题2分)

1.(X)2.33.(V)4.(X)5.(X)

6.(V)

7.(J)

8.(X)

9.(V)10.(V)

篇二:20XX年C语言期末试卷

一、单项选择题。(每题1分,共20分)

1.C程序的基本单位是:。

A.子程序

B.程序

C.子过程

D.函数

2.在C语言中,非法的八进制是:()

A.016

氏018

C.017

D.02

3.不是C语言实型常量的是:。

A.55.0

B.0.0

C.55.5

D.55e2.5

4.字符串“xyzw”在内存中占用的字节数是:()

A.6

B.5

C.4

D.3

5.若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:

0

A.2.0

B.2.25

C.2.1

D.1.5D.1.5

D.1.5D.1.5

6.若有语句charc1='d',c2='g';printf("%c,%d\n”,c2-

、a、,c2-c1);则输出结果为:()

(a的ASCII码值为97)

A.M,2

B.G,3

C.G,2

D.D,g

7.使用语句scanf(“a=%f,b=%d“,&a,&b);输入数据时,正确的数

据输入是:()

A.a=2.2,b=3

B.a=2.2b=3

C.2.2

3D.2.2,3

8.表示关系12<=x<=y的C语言表达式为:。

A.(12<=x)&(x<=y)

B.(12<=x)&&(x<=y)

C.(12<=x)|(x<=y)

D.(12<=x)11(x<=y)

9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为:。

A.1

B.3

C.2

D.4

10.若有说明和语句:inta=5,b=6;b*=a+1;则b的值为:O

A.5

B.6

C.31

D.36

11.设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句

(s=c1=c2)11(t=c3>c4)后,s,t的值为:()

A.1,2

B.1,1

C.0,1

D.1,0

12.语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b);

scanf最多可执行次数为:()

A.4

B.6

C.5

D.1

13.对于for(s=2;;s++)可以理解为:()

A.for(s=2;0;s++)

B.for(s=2;1;s++)

C.for(s=2;s<2;s++)

D.for(s=2;s>2;s++)

14.若有charh=、a、,g=、f、;inta[6]={1,2,3,4,5,6};则

数值为4的表达式为:。

A.a[g-h]

B.a[4]

C.a['d'-'h']

D.a['h'-'c']

15.设:chars[10]={October;则printf("%d\n",

strlen(s));输出是:()

A.7

B.8

C.10

D.11

16.若有inta[3][5]={2,2},{2,6},{2,6,2}},则数组a共

有个元素:。

A.8

B.5

C.3

D.15

17.设inta=5,b,*p=&a,则使b不等于5的语句为:()

A.b=*&a

B.b=*a

C.b=*p

D.b=a

18.若有inta[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素

的表达式是:。

A.*p

B.*a

C.a[7]

D.a[p-a]

19.若有intb[4]={0,1,2,3},*p则数值不为3的表达式是:O

A.p=s+2,♦(p++)

B.p=s+3,*p++

C.p=s+2,*(++p)

D.s[3]

20.设有如下定义:structjan{inta;fIoatb;}c2,*p;若有p=&c2;

则对c2中的成员a的正确引用是:()

A.(*p).c2.a

B.(*p).a

C.p->c2.a

D.p.c2.a

二、填空题。(每空1分,共15分)

1.C语言标识符由、和来构造。

2.在C语言中,字符串常量是用一串字符。

3.若有说明和语句:inta=25,b=60;b=++a;则b的值是。

4.若intx=5;while(x>0)printf("%d”,x—);的循环执行次数

为。

5.若有inta[5],*p=a;则p+2表示第个元素的地址。

6.若有说明和语句:inta=5,b=6,y=6;b-=a;y=a++则b和y的

值分别是、。

7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a11b+c>c&&b-c

的值是。

8.C程序设计的三种基本结构是、和o

9.数组是表示类型相同的数据,而结构体则是若干数据项的集合。

10.C语言中文件是指

三、将下列程序补充完整。(每空2.5分,共30分)

1.输入三角形的三条边a,b,c,求三角形的面积。

#include"math.h"

#include"stdio.h"

main()

{fIoata,b,c,d,t,s;

printf(“请输入三角形的三条边:”);

scanf("%f,%f,%f"&a,&b,&c);

if(D

printf(“%f%f肝不能构成三角形!“,a,b,c);

eIse{t=(a+b+c)/2;

s=(2)

printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n",

a,b,c,s);})

(2)

2.输入两个整数,n1,n2(要求n1<n2),统计两整数范围内被3整除的

数的个数。

#include“stdio.h"

main()

{intn1,n2,j,n=0;

printf("\n请输入两个数:”);

sc

温馨提示

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

评论

0/150

提交评论