C语言练习题(谭浩强第四版)..附有答案 下载本文

高级语言程序设计综合练习一 学号: 姓名:

一、 选择题

1. 以下说法正确的是( )。

A)C语言程序总是从第一个的函数开始执行

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

D)C语言程序中的main()函数必须放在程序的开始部分

2. 算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性

的是( )。

A)有零个输入或多个输入 B)高效性 C)有穷性 D)确定性

3. C语言中用于结构化程序设计的3种基本结构是

A)顺序结构、选择结构、循环结构 B)if,switch,break C)for,while,do-while D)if,for,continue

4. 一个C程序的执行是从( )。

A)main()函数开始,直到main()函数结束 B)第一个函数开始,直到最后一个函数结束 C)第一个语句开始,直到最后一个语句结束 D)main()函数开始,直到最后一个函数结束

5. 组成C程序的基本单位是( )。

A)函数 B)标识符 C)表达式 D)语句

6. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入

形式为( )。 A)12<空格>34<回车> B)12,34<回车> C)1234<回车> D)12:34<回车>

7. C语言中最简单的数据类型包括( )。

A)整型、实型、逻辑型 B)整型、实型、字符型 C)整型、字符型、逻辑型 D)字符型、实型、逻辑型

8. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。

A)必须为字母 B)必须为下划线

C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符

9. 下列可用于C语言用户标识符的一组是( )。

A)void, define, WORD B)a3_b3, _123,Car

5

高级语言程序设计综合练习一 学号: 姓名:

C)For, -abc, IF Case D)2a, DO, sizeof

10. C语言中运算对象必须是整型的运算符是( )。

A)%= B)/ C)= D)<=

11. 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据

类型为( )。

A)int B)float C)double D)不确定

12. 在C语言中,char型数据在内存中的存储形式是( )。

A)补码 B)反码 C)原码 D)ASCII码

13. 设int类型的数据长度为2字节,则该类型数据的取值范围是( )。

A) 0至65536 B) 0至65535

C) -32767至32768 D) -32768至32767

14. x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A)INPUT x、y、z;

B)scanf(\); C)scanf(\);

D)read(\);

15. 调用getchar和putchar函数时,必须包含的头文件是

A)stdio.h B)stdlib.h C)define D)以上都不对

16. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是

A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0

17. 若变量c为char类型,能正确判断出c为小写字母的表达式是

A)′a′<=c<=′z′ B)(c>=′a′)||(c<=′z′) C)(′a′<=c)and(′z′>=c) D)(c>=′a′)&&(c<=′z′)

18. 若运行时给变量x输入12,则以下程序的运行结果是

main() {int x,y;

scanf(\); y=x>12?x+10:x-12;

printf(\\n\); }

A)0 B)22 C)12 D)10

6

高级语言程序设计综合练习一 学号: 姓名:

19. 已知char ch=′C′;则以下表达式的值是ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch;

A)A B)a C)Z D)c

20. 请阅读以下程序:

main()

{ int a=5,b=0,c=0; if(a=b+c)

printf(\\n\); else

printf(\$$$\n\); }

以上程序

A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$

21. 若int k=8;则执行下列程序后,变量k的正确结果是

main() {int k=8; switch(k) {case 9:k+=1; case 10:k+=1;

case 11:k+=1;break; default:k+=1;}

printf(\\n\);} A)12 B)11 C)10 D)9

22. 阅读如下程序段

#include \main()

{ int a=45,b=40,c=50,d; d=a>30?b:c; switch(d)

{ case 30 : printf(\); case 40 : printf(\); case 50 : printf(\); default : printf(\);}} 则输出的结果是 A)40,50, B)50,# C)40,# D)40,50,#

二、 填空题

1. 用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式

执行,也可以通过编译程序一次翻译产生目标程序,然后执行。 2. C语言中的标识符只能由字母、下划线和( 数字 ) 组成。 3. C语言源程序注释符号有两种,(/*??*/ )用于块注释,( // )用于行注释。

7

高级语言程序设计综合练习一 学号: 姓名:

4. 源程序test.c经编译产生的目标文件是:( test.obj );经连接处理后,产生的可执

行文件是:( test.exe )。

5. C标准库函数中,数学函数的原型在(math.h )头文件中。

6. 如下语句printf(\\n\35);在执行后的输出结果是 ( e )。 7. 下列程序的输出结果是 ( 1.300000,1.300000 ) 。

#include #include int main()

{ float a=-1.3;b=1.3;

printf(\(a),fabs(b)); return 0; }

8. 将以下程序写成三目运算表达式是( max = a>b ? a : b)。

if(a>b)max=a; else max=b;

9. 若从键盘输入58,则以下程序输出的结果是 ( 585858 ) 。

main() { int a;

scanf(\);

if(a>50)printf(\); if(a>40)printf(\); if(a>30)printf(\);}

10. 阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为( #include \main() { char a;

a=getchar(); switch(a)

{ case 65: printf(\); case 66: printf(\);

default :printf(\\n\);

} }

三、 判断题

1. ( F )一个程序只能由一个C程序文件组成。

2. ( T )一个C程序文件是由一个或多个函数组成的。 3. ( T )一个程序必须包含一个main函数。

4. ( F )main函数必须写在一个C程序文件的最前面。 5. ( F )C程序的执行从程序头开始。 6. ( F )函数体不可以为空。

7. ( F )C程序的注释只能是一行。

8. ( F )C程序中的数据声明和语句必须用“。”结束。 9. ( F )C程序一行只能写一条语句。

10. ( F )在C程序中,符号“Sum”和“sum”相同。

ABother ) 。

8