好文档 - 专业文书写作范文服务资料分享网站

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

15、下列属于整型常量的是( A )。

A、12 B、12.0 C、-12.0 D、10E10 16、不属于字符型常量的是( C )。 A.‘A’ B、‘a’ C、“A” D、‘b’ 17、下列表达式为关系表达式的为( B )。(其中a为一整型变量) A.3+4*5 B、a==10 C、a>0?a:-a D、a=1 18、下面不正确的赋值语句是( B )。

A、a=a+1 B、a= =b C、a+=b D、a=1 19、下列对数组定义不正确的语句是( D )。

A.int m[5]; B、char b[ ]={‘h’,‘e’}; C、int a[10]={1,6,8,4}; D、char p[ ]; 20、设有数组定义:char array[]=“China”;则数组所占的存贮空间为( C )。 A.4个字节 B. 5个字节 C. 6个字节 D. 7个字节 21、执行下列语句后,a的值是( D )。 int a=8; a+=a-=a*a;

A.-240 B、64 C、112 D、-112 22. 指出下面正确的输入语句( B )。 A. scanf(“a=b=%d”,&a,&b) ; B. scanf(“%d,%d”,&a,&b) C. scanf(“%c”,c) ; D. scanf(“%f\\n”,&f) ; 23.下面的变量说明中正确的是( D )。

A.int:a, b, c; B.int a; b; c; C.int a, b, c D.int a, b, c; 24. C语言用( C )表示逻辑“真”值。

A.True B. t 或 y C. 非零值 D. 整型值0 25.若x=5,y=4 则y*=x+5; y的值为( A )。 A. 40 B. 20 C. 15 D. 30

26.根据C语言的语法规则,下列( A )个是不合法标识符。 A.while B. Name C. Rern5 D. _exam

27.C语言中以追加方式打开一个文件应选择( D )参数。 A.“r” B.“w” C.“rb” D.“a” 28.Break语句的正确的用法是( B )。

A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。 B. 在多重循环中,只能退出最靠近的那一层循环语句。 C. 跳出多重循环。 D. 只能修改控制变量。

29.两个指针变量的值相等时,表明两个指针变量是( B )。

A. 占据同一内存单元。 B. 指向同一内存单元地址或者都为空。 C. 是两个空指针。 D. 都没有指向。 30.字符串指针变量中存入的是( A )。 A.字符串的首地址。 B. 字符串

C.第一个字符 D. 字符串变量。 31. 以下描述不正确的是( A )。

; 4

A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。 B. 在定义函数时,必须指定形参的类型。 C. 形参和实参之间可以是值传递。 D. 数组名可以作为参数进行传递。 32. 表达式“1?(0?3:2):(10?1:0)”的值为( C )。 A.3 B. 2 C. 1 D. 0 33. 为表示关系x≥y≥z,应使用C语言表达式( A )。

A.(x>=y)&&(y>=z) B. (x>=y) AND (y>=z) C.(x>=y>=z) D. (x>=z)&(y>=z) 34. 以下说法中正确的是( C )。

A. C语言程序总是从第一个定义的函数开始执行。

B. 在C语言程序中,要调用的函数必须有main( ) 函数中定义。 C. C语言程序总是从main( ) 函数开始执行。

D. C语言程序中的main( ) 函数必须放在程序的开始部分。 35.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是( C )。 A. 0 B. 4 C. - 4 D. 2 36.以下不能正确定义二维数组的语句是( B )。

A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};

C. int a[2][2]={{1},{2,3}}; D. int a[2][]={{1,2},{3,4}}; 37. 程序段的功能是将变量 u 、s中的最大值赋给变量t ( A )。 A. if(u>s) t=u;t=s; B. t=u; if(t ) t=s; C. if(u>s) t=s;else t=u; D . t=s; if(u ) t=u; 38.下列程序段的输出结果是( A )。 void main() { int k;

for (k=1;k<5;k++) { if(k%2!=0) printf(“#”); else printf(“*”) ; } }

A. #*#* B . *#*# C. ## D. 以上都不对

39.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是( C )。 A. &a[2] B. 4 C. 7 D. 1

40.能正确表示a和b同时为正或同时为负的逻辑表达式是( B )。

A.(a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0) C.(a+b>0) &&(a+b<=0) D. a*b>0 41.C语言中,合法的字符型常数是( A )。 A.‘A’ B.“A” C. 65 D. A

43.若变量c为char类型,能正确判断出c为小写字母的表达式是( D )。 A.‘a’<=c<=‘z’ B.(c>=‘a’) || (c<=‘z’) C.(‘a’<=c) and (‘z’>=c) D. (c>=‘a’) && (c<=‘z’)

5

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

一、填空题(每空1分,共20分)1.C语言中,用关键字(int)定义基本整型变量,用关键字(float),定义单精度实型变量,用关键字(char)定义字符型变量。2.表达式3*20/4的计算结果是(5)。3.复合语句是将多个语句用({})括起来组成一个语句。4.程序中使用putcha
推荐度:
点击下载文档文档为doc格式
61h5v48r0x1is530855j3blzb1bwa600hrv
领取福利

微信扫码领取福利

微信扫码分享