文档库

最新最全的文档下载
当前位置:文档库 > c语言第1章练习题答案

c语言第1章练习题答案

第一章 C语言概述练习题

一、选择题

1.C语言是一种( )。

A) 机器语言B) 汇编语言C) 高级语言D) 低级语言

2.下列各项中,不是C语言的特点是( )。

A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好

C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能

3.下列叙述正确的是( )。

A) C语言源程序可以直接在DOS环境中运行

B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行

C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行

D) Turbo C系统不提供编译和连接C程序的功能

4.下列叙述错误的是()。

A) C程序中的每条语句都用一个分号作为结束符

B) C程序中的每条命令都用一个分号作为结束符

C) C程序中的变量必须先定义,后使用

D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写

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

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

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

C) 本程序文件的第一个函数开始,到本程序main函数结束

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

6.以下叙述不正确的是()。

A) 一个C源程序必须包含一个main函数

B) 一个C源程序可由一个或多个函数组成

C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

7.C语言规定:在一个源程序中,main函数的位置( )。

A)必须在程序的开头B)必须在系统调用的库函数的后面

C)可以在程序的任意位置D)必须在程序的最后

8.一个C语言程序是由( )。

A)一个主程序和若干个子程序组成B) 函数组成

C) 若干过程组成D) 若干子程序组成

9.以下有4组用户标识符,其中合法的一组是()。

A) For B) 4d C) f2_G3 D) WORD

-sub DO IF void

Case Size abc define

10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是

()。

A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性

二、填空题

1.汇编语言属于面向( 面向机器的 )语言,高级语言属于(面向问题的)语言。

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

执行,也可以通过编译程序一次翻译产生(目标)程序,然后执行。

3.C语言词类主要分为(常量 )、变量、运算符、函数调用、表达式和( 保留字 )等6类。

4.C语言的语句主要分为数据定义语句、(赋值)语句、函数调用语句、(表达式)

语句、流程控制语句、复合语句、空语句、其它语句等8类。

5.C语言程序的注释可以出现在程序的任何地方,它总是以(/* ) 符号作为开始标记,以

( */ )符号作为结束标记。

6.各类计算机语言的发展历程大致为:先有(机器)语言,再有汇编语言,最后出现中

级语言和(高级)语言。

7.C语言的字符集就是(ASCII)字符集。‘ A ’的ASCII 值是(65)。

8.C语言符号集包括(英文字母)、(数字)和一些有特殊含义的标点符号。

9.结构化设计中的三种基本结构是(顺序结构)、(分支结构)和循环结构。

10.C语言源程序文件的后缀是(C),经过编绎后生成文件的后缀是(OBJ),

经过连接后生成文件的后缀是.exe。

三、简答题

1.简述C语言的主要特点。

1.语言简洁、紧凑,使用方便、灵活。 C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。

2.运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3.数据结构丰富,具有现代语言的各种数据结构。C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型和共用体类型等。能够用来实现非常复杂的数据结构。如线性表、链表、栈、队列、树、图等。

4.C语言是一种结构化语言。具有结构化的控制语句(如if else语句、whi1e语句、do whi1e语句、for语句)。C 语言是以函数形式提供给用户的, 这些函数可方便的调用,用函数作为程序模块以实现程序的模块化,易于调试和维护,适合大型软件的研制和调试。

5.语法限制不大严格,程序设计自由度大。一般的高级语言语法检查比较严,能检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度,因此放宽了语法检查。

6.C语言允许直接访问物理地址。能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,因此C语言既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把C称为“高级语言中的低级语言”,也有人称它为“中级语言”意为兼有高级和低级语言的特点。

7.生成目标代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低10~20%。

8.用C语言写的程序可移植性好(与汇编语言比)。基本上不作修改就能用于各种型号的计算机和各种操作系统。

2.简述标识符的构成规则。

C 语言规定,标识符只能是字母(A~Z,a~z)、数字(0~9)和下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。

在标识符中,大小写是有区别的。例如BOOK和Book 是两个不同的标识符。

由于标识符主要用来命名,因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。

C语言规定,用户选取的标识符不能是C语言规定的保留字。

3.书写程序应该遵循哪些规则?

C程序的书写格式很灵活,在一行上可以书写多个语句,一个语句也可以写在多行上。在程序清单的任何一处都可以插入空格符号或回车符号。但是,从书写清楚,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:

一个说明或一个语句占一行。

用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

低一层次的语句或说明可比高一层次的语句或说明缩进若干空格后书写。以便看起来更加清楚,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

4.C语言程序的总体结构是怎样的?举例说明。

1.C程序是由函数构成的。

函数是C程序的基本组成单位。一个C源程序中仅有一个main()函数,除main函数之外可以有若干个其它的函数。每个函数实现某一特定的操作。因此,函数是C程序的基本单位。

C程序总是从main函数开始执行的,与main函数的位置无关。其它函数可被主函数调用或相互调用。其它函数可为C语言函数库中的函数(使用时用#include文件包含命令将其包含进来),也可为用户自己定义的函数。

2.每个函数(包括主函数)的定义分为两个部分:函数由函数首部和函数体组成,函数的一般结构如下:

[函数返回值类型] 函数名(函数参数表) /*函数首部*/

{

变量定义部分; /*函数体部分*/

执行语句部分;

}

3.C程序中的语句最后总要有一个“分号(;)”,作为每个语句的结束。C语言中,分号是程序语句的结束标志,也是C语句的必要组成部分。但预处理命令、函数首部和最后一个花括号"}"之后不能有分号。

4.可以用“/*”和“*/”括住任意字符,称为“注释”。注释可以出现在程序的任何位置上,通常放在一段程序的开始,用于说明该段程序的功能;或者放在某个语句的后面,对该语句进行说明程序编译时,注释将不参加编译,也不会出现在目标程序中。

5.C程序的书写格式很灵活,在一行上可以书写多个语句,一个语句也可以写在多行上。在程序清单的任何一处都可以插入空格符号或回车符号。但是,从书写清楚,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:

(1)一个说明或一个语句占一行。

(2)用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

(3)低一层次的语句或说明可比高一层次的语句或说明缩进若干空格后书写。以便看起来更加清楚,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好

的编程风格。

5.简述C程序的在TC环境及VC环境下的实现步骤。

运行一个C语言程序的一般过程为:

(1)启动TC/ Visual C,进入TC/ Visual C集成环境。

(2)编辑源程序。编辑后文件的扩展名为:.c或.cpp。

(3)对源程序进行编译。编译成功后文件的扩展名为:.obj 。

(4)与库函数进行连接。连接成功后的可执行文件的扩展名为: .exe 。

(5)运行可执行的目标程序。

四、编程题

1. 编写一个C程序,输出以下信息:

**************************

Hello World!

**************************

/* 显示“Hello World!” */

# include

int main( )

{

printf(“Hello World! \n”);

}

2. 设计一个算法,输入二个数,输出这二个数中的大者,用N-S图表示算法,并编程实现。

# include

int main( )

{ int x,y;

scanf(“%d”,&x);

scanf(“%d”,&y);

if(x>y) printf(“%d”,x);

else printf(“%d”,y);

}

输入 x 的值

输入 y 的值

x > y?

是否

输出x 输出y