C语言期末复习.doc

  • 格式:docx
  • 大小:30.40 KB
  • 文档页数:26

C语言期末复习.doc

第一章C语言概述

一、选择题

1、C语言程序由什么组成()

A、子程序

B、主程序和子程序

C、函数

D、过程

2、源程序要正确地运行,必须要有什么函数()

A、Printf函数

B、自定义的函数

C、main函数

D、不需要函数

3、指出下面哪些是合法的标识符()

A、3ab

B、int

C、ABC

D、a_3

E、sum..a

F、#abc

G、_stu2

H、abc f

二、问答题

1、C语言程序由哪几部分组成?C语言程序结构有什么特点?

参考答案

一、选择题

1、C

2、C 3、CDG

二、问答题

见教案

第二章基本数据类型、运算符及表达式

一、选择题

1、C语言中的数据的基本类型包括()

A、整型、实型、字符型和逻辑型

B、整型、实型、字符型和结构体

C、整型、实型、字符型和枚举型

D、整型、实型、字符型和指针型

2、在C语言中,不合法的int型常量是()

A、32767

B、0678

C、0XABC

D、32768L

3、在C语言中,运算对象必须是整型数的运算符是()

A、%

B、\\

C、%和\\

D、**

4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()

A、1

B、2

C、2.0

D、2.5

5、若t为double类型,表达式t=1,t+5,t++的值就是()

A、1

B、6.0 C、2.0

D、1.0

6、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,

变量b的值为()

A、9

B、4

C、3

D、2

7、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____

A、22

B、264

C、144

D、-264

二、问答题:

1、简述‘a’和“a”的区别。

参考答案

一、选择题

1、C

2、D

3、A

4、D

5、D

6、C

7、D

二、问答题

‘a’是字符常量“a”是字符串常量

C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C语言规定以字符’\\0’作为字符串结束标志。如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。

第三章顺序结构程序设计

一、选择题

1、putchar ( )函数可以向终端输出一个________

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

2、.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是__________

int a1,a2; char c1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

A)10A 20B↙B)10 A 20 B↙

C)10A20B↙C)10A20 B↙

3、执行下列程序片段时输出结果是______

int x=13,y=5;

printf(“%d”,x%=(y/=2));

A)3 B)2 C)1 D)0

4、若定义x为double型变量,则能正确输入x值的语句是________

A)scanf(“%f”,x); B)scanf(“%f”,&x);

C)scanf(“%lf”,&x); D)scanf(“%5.1f”,&x);

5、.已知i,j,k为int型变量,若从键盘输入:1,2,3,使I的值为1,j的值为2,k的

值为3,以下选项中正确的输入语句是____

A)scanf(“%2d%2d%2d”,&i,&j,&k);

B)scanf(“%d_%d_%d”,&i,&j,&k);

C)scanf(“%d,%d,%d”,&i,&j,&k);

D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

6、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c 的值为2,则正确的数据输入方式是______

A)132↙B)1,3,2↙

C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙

二、看程序写结果

1、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,问在键盘上如何输入?(︼表示空格)

main ( )

{ int a,b;

float x,y;

char c1,c2;

scanf(“a=%d︼b=%d”,&a,&b);

scanf(“ %f ︼%e”,&x,&y);

scanf(“︼%c︼%c”,&c1,&c2);

}

2、#include

Main()

{int x=345;

Printf(“%6d\%06d\%-6d\%2d”,x,x,x,x);

}

三、填空题

1、输入两个实数a,b。然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量temp.首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)

Main()

{float a,b,temp;

Printf(“请输入a和b的值:”);

Scanf(“%d,%d”,________①________);

Temp=a;

______②______________________ ____ ③______________________

Printf(“交换后,a=%d,b=%d\”,______④___________);

}

四、编程题

1、编程序:用getchar函数读入两个字符给c1,c2,然后分别用putchar和printf函数输出这两个字符。并思考以下问题:(1)变量c1,c2应定义为字符型或整型?或两者皆可?(2)要求输出C1和C2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整型变量与字符型变量是否在任何情况下都可以互相替代?如:

char c1,c2 与int c1,c2

是否无条件地等价?

2、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。

参考答案

一、选择题

1、D

2、C

3、C

4、B

5、C

6、D

二、看程序写结果

1、a=3︼b=7

8.5︼71.82

A︼a

2、︼︼︼345(右对齐,前补空格)

000345 (右对齐,前补0)

345︼︼︼(左对齐,后补空格)

345 (按原样输出) 三、填空题

①&a,&b

②a=b;

③b=temp;

④a,b

四、编程题

1、#include

Main()

{char C1,C2;

C1=getchar();

C2=getchar();

Putchar(C1);

Putchar(C2);

Printf(“\”);

Printf(“%c,%c\”,C1,C2);}

运行结果:

请输入两个字符C1,C2:

AB

用putchar语句输出结果为:

AB

用printf语句输出结果为:

A,B

回答思考问题:

C1和C2可以定义为字符型或整型,二者皆可。

在printf函数中用%d格式符输出。即:printf(“%d,%d\”,C1,C2);

字符变量在计算机内占一个字节,而整型变量占两个字节,因此整型变量在可输出字符的范围内(ASCII码为0-255之间的字符)是可以与字符数据互相转换的。如果整数在此范围外,则不能代替。

2、main() {float pi,h,r,l,s,sq,vq,vz;

Pi=3.141526;

Scanf(“%f,%f”,&r,&h);

I=2*pi*r;

S=r*r*pi;

Sq=4*pi*r*r;

Vq=3.0/4.0*pi*r*r*r;

Vz=pi*r*r*h;

Printf(“i=%6.2f\”,i);

Printf(“i=%6.2f\”,s);

Printf(“i=%6.2f\”sq);

Printf(“i=%6.2f\”,vq);

Printf(“i=%6.2f\”,vz);

第四章选择结构程序设计

1、逻辑运算符两侧运算对象的数据类型______

A、能是0或1

B、能是0或非0正数

C、能是整型或字符型数据

D、以是任何类型的数据

2、设a为整形变量,不能正确表达数学关系:10

bdsfid="272" p="" 的c语言表达式是_="">

A、10

B、a==11||a==12||a==13||a==14

C、a>10&&a<15

D、!(a<10)&&!(a>=15)

3、在C语言中,逻辑值“真”用_______表示。

A、true

B、大于0的数

C、非0整数

D、非0的数