C语言程序设计期末复习题带答案.

一、填空题(每空 1 分,共 20 分)

1.C语言中,用关键字( int )定义基本整型变量,用关键字( float),定义单精度实型变量,用关键字( char ) 定义字符型变量。 2.表达式3*20/4的计算结果是( 5 ) 。

3.复合语句是将多个语句用( { } )括起来组成一个语句。

4.程序中使用putchar( )函数和getchar( )函数,在程序的开头必( include )。 5.C语言的预处理语句以( #include“stdio.h” )开头。 6.一个算法应具有的特点有:( 有穷性 )、( 确定性 )、有零个或多个输入、有一个或多个输出、有效性。

7.在程序执行过程中,其值不发生改变的量称为( 常量 ),其值可变的量称为( 变量 )。

8.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是( -16 )。 9.在三种正规循环中,当条件表达式的值为( 0 )时,就结束循环。 10.C语言中函数的参数分为( 形式参数 )和( 实际参数 )。

11.当函数的数据类型省略时,默认的数据类型为( int或整型 )型。 12.按变量地址访问变量的方法叫( 直接访问 ),通过存放变量地址的变量去访问变量的方法叫( 间接访问 )。

13.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是( 0 ),a[2][1]得到的初值是( 6 )。

14.文件包含的一般形式为( #include“文件名” )。

15.宏定义中宏名一般用大写字母表示,容易做到( 一改全改 )。

16.结构体是一种( 构造 )数据类型用途是把( 不同类型 )的数据组合成一个整体。

17.位运算的运算对象只能是( 整型 )或( 字符型 )数据,而不可以是其他类型的数据。 18.( 文件 )是存储在外部介质上数据的集合,是操作系统数据管理的单位。 19.goto语句为( 无条件转向语句 ),当程序执行到该语句时,转向指定位置执行。 20.return语句的功能是使程序控制从被调用函数返回到(调用函数)中。 21.( 指针 )是一个变量的地址,专门存放变量地址的变量叫(指针变量)。 22.若有定义:double x[3][5];则x 数组中行下标的下限为( 0 ),列下标的上限为( 4 )。 23.C语言提供的预处理功能主要有( 宏定义 )、(文件包含处理 )、和条件编译。 24.用结构体变量的成员作函数参数时是( 值 )传递,用指向结构体变量或数组的指针作函数参数时是( 地址 )传递。

25.程序的三种基本结构为( 顺序结构 )、(选择结构 )和( 循环结构 )。 26.在C语言中,用( 分号 )表示语句的结束。 27.语句printf(\将输出:( ?23 )。 28.逻辑运算的结果值是( 1 )或( 0 )。

29.数组 int a[3][4];共定义了( 12 )个数组元素。

30.在C语言中,正确的标识符是由( 字母、数字、下划线 )组成的,且由( 字母或下划线 )开头的。

31.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是( 7,9 )。

32.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件((Y%4==0&&Y0!=0)||(Y@0==0))。

1

33.表达式7+8>2 && 25 %5的结果是( 0 )。 34.行语句“x=(a=3,b=a— —)”后,x,a,b的值依次为(3)、( 2 )、( 3 )。 35.C语言中,变量的存储类别共有四种,即( 整型 )、( 实型 )、( 字符型 )和( 无字符型 )。

36.位运算是指对一个数据的某些( 二进制位 )进行的运算。

37.C语言中根据数据的组织形式,可以将文件分为( 文本文件 )和( 二进制文件 )。 38.C语言的表达式与语句的区别在于(句尾有无分号做结束 )。 39.C语句( 没有 )(有、没有)输入、输出语句。 40.表达式10/3*9/2的值是( 3 )。 41.设有“int x=1”,则“x>0?2*x+1: 0”表达式的值是( 3 )。

二、单选题 (每题 2 分,共 40 分)

(说明:将认为正确答案的序号填在每小题后面的括号内)

1. 设int x=1,y=1;表达式(!x++ || y——)的值是( B )。 A、0 B、1 C、2 D、-1 2.main( ) { int n;

n=(6*4,n+6),n*2; printf(“%d\\n”,n);

} 此程序的输出结果是( C )。

A、30 B、 24 C.、 60 D、 48 3.若有如下定义,则( C )是对数组元素的正确的引用。 int a[10] , *p ; p=a ;

A、 *&a[10] B、 a[11] C、 *(p+10) D、 *p 4.已知ch是字符型变量,下面不正确的赋值语句是( A )。 A、ch='a+b'; B、ch='\\0'; C、ch='7'+'9'; D、ch=5+9;

5.已知x=43,ch='A',y=0则表达式(x>=y&&ch<'B'&&!Y)的值是( C )。 A、0 B、语法错 C、1 D、\假\

6.执行以下程序段后,变量a,b,c的值分别是( C )。 int x=10,y=9; int a,b,c;

a=(--x= =y++)?--x:++y; b=x++; c=y;

A、a=9,b=9,c=9 B、a=8,b=8,c=10 C、a=9,b=10,c=9 D、a=1,b=11,c=10

7.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( D )。 main()

{int a;float f;

printf(\ 输入语句

2

printf(\ }

Input number: 4.5 2 A、scanf(\B、scanf(\ C、scanf(\D、scanf(\

8.以下if语句语法正确的是( B )。 A、if(x>0)

printf(\

else printf(\ B、if(x>0)

{x=x+y;printf(\ else printf(\ C、if(x>0)

{x=x+y; prinrf(\ else printf(\ D、if(x>0)

{x=x+y;printf(\ else printf(\

9. 为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( B )配对。 A、缩排位置相同的if

B、其之前最近的且还没有配对的if C、之后最近的if D、同一行上的if

10.语言规定,在一个源程序中,main函数的位置( C )。 A、必须在最开始

B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后

11.若x,i,j和k都是int型变量,则执行下面表达式后x的值为( C )。 x=(i=4,j=16,k=32)

A、4 B、16 C、32 D、52 12.一个C程序的执行是从( A )。

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束

13.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。 A.必须为字母 B.必须为下划线

C.必须为字母或下划线 D.可以是字母,数字和下划线中任一种字符 14.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B )。 A.7 B.8 C.6 D.2

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4