《C语言程序设计基础》教材参考答案-20140211

更新时间:2024-05-23 19:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计基础》教材

参 考 答 案

包括各单元:

一. 随堂练习 二. 单元总结 三. 单元练习 四. 实训指导

《C语言程序设计基础》教材参考答案

单元一 程序设计宏观认识

一. 随堂练习

【随堂练习1-1】

1.根据上述示例模仿编程,输入正方形的边长,计算其面积。

#include void main( ) { int a,s;

//数据准备,边长a,面积s

printf(\请输入正方形的边长:\ scanf(\ s=a*a; }

//数据输入

//数据计算

printf(\该正方形的面积为:%d.\\n\

【随堂练习1-2】

1. 下面哪些标识符属于合法的用户自定义标识符: Main、void、_num、my$、a*、N4、3m、a-2 答:合法的用户自定义标识符是:Main、_num、N4

2. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,

哪些是用户自定义标识符。 答:关键字:void、int

预定义标识符:include、main、printf、scanf 用户自定义标识符:a、b、c

3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、

函数体语句(说明语句、可执行语句)。

答:函数首部: void main( ),其中函数返回值类型为void、函数名为main、形式参数无; 函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。 【随堂练习1-3】

1. 在VC++6.0环境中完成【例1.2】程序开发过程。

(略)

2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。

1

《C语言程序设计基础》教材参考答案

工程文件夹中:

.CPP:用C/C++语言编写的源代码文件。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

DEBUG文件夹中:

.OBJ:源文件编译后生成的目标文件,是模块的二进制中间文件。 .EXE:可执行文件。

(注:蓝色字体为重点了解。)

二. 单元总结

本单元中,核心内容有C语言程序框架结构、程序的构成和程序开发过程。通过本单元的学习,我们应该知道:

1.C语言程序最基本的程序框架由两部分构成,分别是: (1) 编译预处理 (2) 函数组

2.C程序最大的特点就是所有的程序都是用函数来装配的,函数是构成C语言程序的基本单位,函数包括主函数、库函数和自定义函数。函数的一般结构形式为: 函数返回值类型 函数名(形式参数) //函数首部 { 说明语句; //函数体 可执行语句;

}

3.标识符是用来标识程序中的某个对象名字的字符序列。C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。对于用户自定义标识符的命名C语言规定:

(1) 所有的用户标识符必须先定义后使用;

(2) 用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,并且首字符不能是 数字 ;

2

《C语言程序设计基础》教材参考答案

(3) 区分大小写;

(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。

4.理论上讲,程序开发过程分为四个步骤,分别为:

(1) 编辑源程序 (2) 编译源程序,生成目标程序 (3) 连接目标程序及其相关模块,生成可执行文件 (4) 运行可执行文件 5.简单描述使用VC++6.0开发应用程序的步骤: 如图所示:

启动VC++6.0 打开或 新建工程 打开或 新建文件 编辑、编译 连接、运行 完成 图 VC++6.0开发程序的步骤 总之,通过本单元的学习,应该掌握C语言程序框架结构和程序开发过程,还要对C语言程序设计的知识脉络有一定的了解。

三. 单元练习

一.选择题

1.构成C语言程序的基本单位是( )。

A.框架

B.预处理 C.函数 D.语句

2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为( )。

A.编辑 B.编译 C.连接 D.运行 3.关于主函数,下列说法不正确的是( )。

A.一个完整的C语言应用程序有唯一的主函数 B.主函数的名称只能是main C.主函数可以被其他自定义函数调用

D.C语言程序的运行从主函数开始,以主函数为核心展开

3

《C语言程序设计基础》教材参考答案

4.关于标识符,下列说法不正确的是( )。

A.库函数名称为预定义标识符,不建议用作用户自定义标识符 B. 关键字不能作为用户自定义标识符 C.用户自定义标识符中不区分大小写字母

D.标识符中可以出现下划线,且可以出现在标识符的任意位置 5.以下可用作用户自定义标识符的一组是( )。

A.void、return、if

B.printf、include、fabs D.2abc、pay$、sum-10

C.Max、_abc、Main

二.填空题

1.C语言程序一般由若干个函数构成,程序中应至少包含一个_________,其名称只能为_________。

2.C语言程序中每条语句必须以_________结束。

3.C语言程序的注释是以_________开头,以________结束的,在VC++6.0编程环境中,可使用_________作为注释的起始标识,注释对程序的执行不起任何作用。

4.最初编写的C语言程序称为_________,其扩展名为_________,编译后生成的文件为_________,其扩展名是_________,连接后生成的文件是_________,其扩展名是_________。 5.C语言规定,标识符只能由_________、_________和_________三种字符组成,而且,首字符只能是_________或_________。

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

习题答案:

一.选择题

1.C

2.B

3.C

4.C

5.C

二.填空题

1.主函数 main 2.分号;

3./* */ //

4.源程序 .cpp或.c 序) .exe

目标文件(或目标程序) .obj 可执行文件(或可执行程

5.字母(A~Z,a~z)、数字(0~9)、下划线“_” 字母或下划线

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

4

《C语言程序设计基础》教材参考答案

1.已定义x为float型变量,其值为213.45678,则printf(\的输出结果为( )。

A.213.46 C.-213.45

B.213.45

D.输出格式控制说明的域宽不够,不能输出

2. 有以下程序,程序运行时输入:1,2,3<回车>,则输出的结果为( )。

#include void main( ) { int a,b,c;

scanf(\ printf(\ }

A.6 B.a+b+c=6 C.123 D.不确定的值

3.下面输入语句中,正确的是( )。

A.scanf(\ B.scanf(\; C.scanf(\;

D.scanf(\;

4.在VC++6.0环境中,下列说法正确的是( )。

A.输入函数scanf()输入多个数据时,有时数据间不必加间隔符。

B.输入函数scanf()中单精度或双精度浮点型数据都要用%f作为格式控制符。 C.使用输出函数printf()输出字符或字符串都用格式控制符%s。

D.输出函数printf()中单精度或双精度浮点型数据都要用%f作为格式控制符。 5.下面程序的功能是实现两个字符变量互换值,若为ch1输入a,ch2输入b,则程序运行时正确的输入是( )。

#include void main( )

{ char ch1,ch2,ch;

scanf(\ ch=ch1;ch1=ch2;ch2=ch;

printf(\ }

A.a,b B.a<空格>b C.ab D.a<回车>b

二.填空题

1.有语句putchar(getchar()),程序运行时输入:A,则输出结果是____________。 2.printf(\3);的输出结果是____________。

15

《C语言程序设计基础》教材参考答案

3.补充程序: int n1=10,n2=20; printf(\ \ 要求按以下格式输出n1和n2的值,每个输出行从第一列开始。

n1=0010 n2=0020

4.有以下程序,程序运行时输入:1234<回车>,执行后输出的结果是_________________。

#include void main( ) { char ch1,ch2; int n1,n2;

ch1=getchar(); ch2=getchar(); n1=ch1-’0’; n2=n1*10+(ch2-’0’);

printf(\ }

5. 输入多个非字符型的数值数据时,数据输入时可用 、 和 作为间隔符。

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

习题答案:

一.选择题

1.A

2.D

3.B

4.A

5.C

二.填空题

1.A 2.0.33%

3.n1=d\\nn2=d 4.n1=1,n2=12

5.空格,TAB键,回车

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

四.实训指导

1. 完成【引例】中的题目,要求计算结果保留两位小数。

(1)输入三角形三边长度a,b,c;(2)计算s和面积area;(3)输出三角形面积area。 学习完本单元后,结合给定的演示运行界面,完成如下问题:

(1)输入三角形三边长度的语句如何描述:scanf(\

16

《C语言程序设计基础》教材参考答案

(2)输出计算结果的语句如何描述:printf(\三角形面积为:%.2f\\n\(3)试写出完整的程序实现代码: #include #include void main( )

{ float a,b,c,s,area;

printf(\请输入三角形三边长:\ scanf(\ s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(\三角形的面积为:%.2f\\n\ }

2.编写程序,从键盘上输入某学生四门课程的成绩,计算并输出总成绩和平均成绩。

参考程序代码如下: #include void main( )

{ float a,b,c,d,sum=0,ave;

printf(\请输入四门课程成绩:\ scanf(\ sum=a+b+c+d; ave=sum/4;

printf(\该学生的总成绩为%.2f,平均成绩为:%.2f\\n\ }

3.设半径r=2.5,编程计算相应的圆的周长、圆的面积和圆球的体积。用函数scanf输入数据,输入数据要有提示语,输出计算结果中要有文字说明,计算结果取小数点后2位。

参考程序代码如下: #include #define PI 3.14 void main( ) { float r,c,s,v;

printf(\请输入半径值:\ scanf(\ c=2*PI*r; s=PI*r*r; v=3*PI*r*r*r/4;

printf(\半径为%.2f时,对应的:\\n\ printf(\圆的周长为:%.2f.\\n\ printf(\圆的面积为:%.2f.\\n\

17

《C语言程序设计基础》教材参考答案

printf(\球的体积为:%.2f.\\n\}

4.将“China”字符串译成密码,译码规则:对每个字母用其后面的第5个字母替换。即字母a用f替换,b用g替换,以此类推。

(1)请预编写程序,定义五个字符型变量c1、c2、c3、c4和c5,同时赋初值分别为’C’、’h’、’i’、’n’和’a’,然后译成密码并输出,分析结果是否符合要求。

参考程序代码如下: #include void main( )

{ char c1='C',c2='h',c3='i',c4='n',c5='a'; printf(\原数据为:\

printf(\ c1+=5; c2+=5; c3+=5; c4+=5; c5+=5;

printf(\译成密码后的结果:\ printf(\}

(2)将变量c1、c2、c3、c4和c5的初值改为’H’、’a’、’p’、’p’和’y’,再次运行程序,分析结果是否符合要求。

答:不符合要求了,初值’H’、’a’、’p’、’p’和’y’译成密码后的结果为“Mfuu~”,初值最后一个字母’y’其后第5个字母应该为’d’。通过分析可以看出,要想获得字母’y’后的第5个字母,直接加5是得不到的。对于这样的情况应该进行选择判断处理,在下一章讲解。

18

《C语言程序设计基础》教材参考答案

单元四 选择结构程序设计

一. 随堂练习 【随堂练习4-1】

1.当a=3,b=2,c=1时,判断例4-1中条件表达式的值? (1)a>b==c 真 (2)a=b

(1)r==3 真 (2) r=4 真 (3)0

【随堂练习4-2】

1.判断字符变量ch的值为大写字母的逻辑表达式为: ch>=’A’&&ch<=’Z’ 。 2.判断某一年份是否为闰年。闰年是符合以下条件的年份:能被4整除但不能被100整除,或者能被400整除。若用整型变量year 表示年份,则闰年的逻辑判断表达式为: year%4==0&&year0!=0||year@0==0 。

【随堂练习4-3】

1.以下程序段的运行结果是 x=20,y=20 。

int x=10,y=20; if(x

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

2.以下程序段的功能是计算一个整数的绝对值,将程序补充完整。

int n;

scanf(“%d”,&n); if(n<0) n=-n;

printf(“该整数的绝对值是%d.”,n);

【随堂练习4-4】

1.以下程序可判断指定的年份是否为闰年,补充完整。

19

本文来源:https://www.bwwdw.com/article/phx7.html

Top