《C语言程序设计基础》教材参考答案包括各单元:一.随堂练习二.单元总结三.单元练习四.实训指导单元一程序设计宏观认识一.随堂练习【随堂练习1-1】1.根据上述示例模仿编程,输入正方形的边长,计算其面积。
#include <stdio.h>void main( ){ int a,s; //数据准备,边长a,面积sprintf("请输入正方形的边长:");scanf("%d",&a); //数据输入s=a*a; //数据计算printf("该正方形的面积为:%d.\n",s);}【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。
答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
【随堂练习1-3】1.在VC++6.0环境中完成【例1.2】程序开发过程。
(略)2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。
工程文件夹中:.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)、下划线“_”组成,并且首字符不能是数字;(3)区分大小写;(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。
4.理论上讲,程序开发过程分为四个步骤,分别为:(1)编辑源程序(2)编译源程序,生成目标程序(3)连接目标程序及其相关模块,生成可执行文件(4)运行可执行文件5.简单描述使用VC++6.0开发应用程序的步骤:如图所示:总之,通过本单元的学习,应该掌握C语言程序框架结构和程序开发过程,还要对C 语言程序设计的知识脉络有一定的了解。
三.单元练习一.选择题1.构成C语言程序的基本单位是()。
A.框架B.预处理C.函数D.语句2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。
A.编辑B.编译C.连接D.运行3.关于主函数,下列说法不正确的是()。
A.一个完整的C语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数可以被其他自定义函数调用D.C语言程序的运行从主函数开始,以主函数为核心展开4.关于标识符,下列说法不正确的是()。
A.库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C.用户自定义标识符中不区分大小写字母D.标识符中可以出现下划线,且可以出现在标识符的任意位置5.以下可用作用户自定义标识符的一组是()。
A.void、return、if B.printf、include、fabsC.Max、_abc、Main D.2abc、pay$、sum-10二.填空题1.C语言程序一般由若干个函数构成,程序中应至少包含一个_________,其名称只能为_________。
2.C语言程序中每条语句必须以_________结束。
3.C语言程序的注释是以_________开头,以________结束的,在VC++6.0编程环境中,可使用_________作为注释的起始标识,注释对程序的执行不起任何作用。
4.最初编写的C语言程序称为_________,其扩展名为_________,编译后生成的文件为_________,其扩展名是_________,连接后生成的文件是_________,其扩展名是_________。
5.C语言规定,标识符只能由_________、_________和_________三种字符组成,而且,首字符只能是_________或_________。
******************************************************************************* 习题答案:一.选择题1.C 2.B 3.C 4.C 5.C二.填空题1.主函数main2.分号;3./* */ //4.源程序.cpp或.c 目标文件(或目标程序).obj 可执行文件(或可执行程序).exe5.字母(A~Z,a~z)、数字(0~9)、下划线“_”字母或下划线*******************************************************************************四.实训指导1.完成【引例】中的题目。
【引例1】(1)C语言程序基本框架包括编译预处理和函数组两部分。
(2)编译预处理是程序编译之前的准备工作,以“#”开头。
(3)函数组包括主函数、库函数和用户自定义函数,函数是构成C语言程序的基本单位。
整个程序的执行以主函数main()为核心展开;C语言标准函数库提供大量功能丰富的库函数,使用时需要在编译预处理中包含相应的头文件,参见附录D;用户也可以根据需要编写具有特定功能的函数,称为用户自定义函数。
(4)在C语言中的任何适当位置可添加注释,以增强程序的可读性。
在Visual C++编程环境中可用“//”作为程序单行注释的起始符号,也可以使用“/*”和“*/”作为单行或多行注释的起始和终止符号。
【引例2】编辑好的C语言程序要经过编译、连接和执行几个步骤,其完整过程描述如教材图1-1所示。
2.新建工程,输入【例1-2】源程序,使之能够运行。
(略)3.编写一个程序,输出下面三行字符:******************************欢迎来到“吉尼斯乐园”!******************************参考程序如下:(注意转义字符的理解)#include <stdio.h>void main( ){ printf("******************************\n");printf(" 欢迎来到\"吉尼斯乐园\"!\n");printf("******************************\n");}4.有三个同样大小的瓶子,一个装可乐,一个装雪碧,还有一个空瓶,请用语言描述将可乐和雪碧互换瓶子盛放的方法。
然后编程实现:将两个整数a和b的值交换,输出交换后的结果。
参考程序如下:#include <stdio.h>void main( ){ int a,b,c; //借助变量c交换a和b的值printf("请输入a和b的值:");scanf("%d%d",&a,&b);c=a; //交换a和b的值a=b;b=c;printf("交换结果为:a=%d,b=%d.\n",a,b); }单元二程序设计基础知识一.随堂练习【随堂练习2-1】【随堂练习2-2】1.完成本单元【引例】中的问题(1)。
float a,b,c,s,area;2.下列变量定义中合法的是:(以下定义语句均不合法)(1)long do=0xfd;(2)int max=min=0;(3)double f, int a;(4)char ch="A";【随堂练习2-3】1.完成本单元【引例】中问题(2)。
#include <math.h>s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c))2.有定义语句:char ch='M';,写出将变量ch变为小写字母的表达式:ch=ch+32; 。
【随堂练习2-4】1.试分析本单元【引例】的数据结构和实现算法,并绘制算法流程图。
(1)数据结构:三角形的三个边长a,b,c,中间变量s和面积area,均为浮点型。
(2)实现算法:以顺序结构为例,根据题目要求,其算法表示如下:步骤1:输入三个边长a、b、c值;步骤2:根据公式计算出s的值,然后根据公式计算出三角形面积area;步骤3:输出计算结果。
(3)算法流程图:二.单元总结本单元中,核心内容有C语言中基本的数据类型、常量和变量、运算符和表达式以及算法的概念。
通过本单元的学习,我们应该知道:1.C语言中最基本的数据类型有:整型、字符型、浮点型。
2.C程序中使用的常量按照表现形式可分为直接常量和符号常量。
(1)直接常量1)整型常量,有十进制、八进制和十六进制三种描述方式,其中,八进制的前置符号标志为0 ,十六进制的前置符号标志为0x或0X 。