C语言程序概述.docx
- 文档编号:27982634
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:14
- 大小:207.54KB
C语言程序概述.docx
《C语言程序概述.docx》由会员分享,可在线阅读,更多相关《C语言程序概述.docx(14页珍藏版)》请在冰豆网上搜索。
C语言程序概述
第1章C语言程序概述
本章主要介绍C语言的特点、C语言程序的结构、TurboC2.0集成环境下的上机操作过程。
学习本章的目的是使读者对C语言和程序设计有一个概略的了解,并掌握上机运行简单程序的操作步骤。
1.1C语言的特点
C语言是国际上广泛流行的计算机高级程序设计语言,它是1973年由美国贝尔实验室设计发布的。
1983年,美国国家标准化协会(ANSI)成立了一个委员会,制定了C语言标准(ANSIC),为C语言的进一步发展奠定了良好的基础,也成为现今C语言的标准。
现在,常见的C语言编译器有TurboC2.1,VisualC++6.0。
C语言之所以能迅速发展,得到大量程序员的支持,是因为它有许多别的编程语言所不具备的特色,归纳起来C语言有以下特点:
(1)最接近低级语言的高级语言。
(2)是一种结构化的程序设计语言(StructuredProgramLanguage)。
(3)具有强大的功能且适合多种领域的开发,特别适合开发底层或者系统级的应用软件。
1.2C语言程序的结构
用C语言语句编写的程序称为C程序或C源程序。
一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其他函数结合而成的,或仅由一个main()函数构成。
【项目任务1】
在屏幕上显示一行语句。
【设计思想】
仅由main()函数构成的C语言程序示例。
【程序代码】
#include
main()
{
printf("ThisisaCprogram.\n");
}
【运行结果】
ThisisaCprogram.
【项目任务2】
利用函数编写求两个数的最大值的C语言程序。
【设计思想】
由main()函数一个其他函数max()构成的C语言程序示例。
【程序代码】
intmax(intx,inty)
{return(x>y?
x:
y);}
main()
{
intnum1,num2;
printf("Inputthefirstintegernumber:
");
scanf("%d",&num1);
printf("Inputthesecondintegernumber:
");
scanf("%d",&num2);
printf("max=%d\n",max(num1,num2));/*调用函数*/
}
【运行结果】
Inputthefirstintegernumber:
6←┘
Inputthesecondintegernumber:
9←┘
max=9
【知识拓展】
(1)任何一个C程序都是由一个或多个函数构成的,一个C程序中至少必须存在一个主函数main(),它是程序运行开始时被调用的一个函数。
也就是说程序总是从主函数开始执行而不管其处于该程序的什么位置上。
例如,在上一个项目中,程序开始执行时先执行主函数main(),而直到主函数体中的语句“max(num1,num2)”时才会调用自定义函数max()。
(2)函数是C语言程序的基本单位。
主函数是一个特殊的函数,一个完整的C程序至少要有一个且仅有一个主函数,它是程序启动时的唯一入口。
除主函数外,C程序还可包含若干其他C标准库函数和用户自定义的函数。
这种函数结构的特点使C语言便于实现模块化的程序结构。
(3)函数是由函数说明和函数体两部分组成。
函数说明部分包括对函数名、函数类型、形式参数等的定义和说明;函数体包括对变量的定义和执行程序两部分,由一系列语句和注释组成。
整个函数体由一对花括号括起来。
(4)语句是由一些基本字符和定义符按照C语言的语法规定组成的,每个语句以分号结束,函数的最后一个语句也不例外。
(5)程序行的书写格式自由,既允许一行内写几条语句,也允许一条语句分写在几行上。
(6)允许使用注释。
C语言的注释格式为/*……*/,“/*”和“*/”必须成对使用,且“/”和“*”、以及“*”和“/”之间不能有空格,否则都出错。
1.3C语言的基本组成
任何程序设计语言如同自然语言一样,都具有一套对字符、单词及一些特定符号的使用规定,也有对语句、语法等方面的使用规则。
在C语言中,所涉及到的规定很多,其中主要有:
基本字符集、标识符、关键字、语句和标准库函数等。
这些规定构成了C程序的最小的语法单位。
例如,上一项目中,int是关键字,scanf和printf是标准库函数等,这些都是由C语言规定的基本字符组成。
1.基本字符集
一个C程序是C语言基本字符构成的一个序列。
C语言的基本字符集包括:
(1)数字:
0、1、2、3、4、5、6、7、8、9。
(2)字母:
A、B、C、……、Z、a、b、c、……、z。
注意:
字母的大小写是可区分的,如abc与ABC是不同的。
(3)运算符:
+、-、*、/、%、=、<、>、<=、>=、!
=、==、<<、>>、&、|、&&、||、^、~、(、)、[、]、->、.、!
、?
、:
、,、;。
(4)特殊符号和不可显示字符:
_(连字符或下划线)、空格、换行、制表符。
对初学者来说,书写程序要从一开始就养成良好的习惯,力求字符准确、工整、清晰。
尤其要注意区分一些字形上容易混淆的字符,避免给程序的阅读、录入和调试工作带来不必要的麻烦。
2.标识符
在程序中有许多需要命名的对象,以便在程序的其他地方使用。
如何表示在一些不同地方使用的同一个对象?
最基本的方式就是为对象命名,通过名字在程序中建立定义与使用的关系,建立不同使用之间的关系。
为此,每种程序语言都规定了在程序里描述名字的规则,这些名字包括变量名、常数名、数组名、函数名、文件名、类型名等,通常被统称为“标识符”。
C语言中标识符的组成:
(1)26个英文字母,包括大小写。
(2)阿拉伯数字0,1,2,…,9。
(3)下划线。
C语言中标识符的命名规则:
(1)标识符只能由字母、数字和下划线构成,并且第一个字符不能为数字。
(2)标识符的长度不能超过8个字符,如果超过8个字符,多余的字符将不能被识别。
例如,computer1和computer2会被认为是相同的标识符computer。
说明:
为了标识符构造和阅读的方便,C语言把下划线作为一个特殊使用,它可以出现在标识符字符序列里的任何地方,特别是它可以作为标识符的第一个字符出现。
C语言规定,标识符中同一个字母的大写与小写被看作是不同的字符。
这样,a和A,AB和Ab是互不相同的标识符。
表1-1所示的是合法的和不合法的两组C标识符。
表1-1合法标识符与不合法标识符比较
合法的C标识
不合法的C标识符
说明
call_name
call...name
(非字母数字或下划线组成的字符序列)
test39
39test
(非字母或下划线开头的字符序列)
_string1
-string1
(非字母或下划线开头的字符序列)
在C程序中,标识符的使用很多,使用时要注意语言规则。
在例1.4的程序中,a、r是变量名,main和area是函数名,它们都是符合C语言规定的标识符。
构造标识符时应尽量做到“见名知意”,即选择有含义的英文单词(或汉语拼音)来作为标识符,增加程序的可读性。
例如,表示日期可以用date,表示宽度可用width,表示和可以用sum等。
3.关键字
C语言有一些具有特定含义的关键字,用作专用的定义符。
这些特定的关键字不允许用户作为自定义的标识符使用。
C语言关键字绝大多数是由小写字母构成的字符序列,它们是:
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
4.语句
语句是组成程序的基本单位,它能完成特定操作。
语句的有机组合能实现指定的计算处理功能。
所有程序设计语言都提供了满足编写程序要求的一系列语句,它们都有确定的形式和功能。
C语言中的语句有以下几类:
(1)选择语句:
if,switch。
(2)流程控制语句:
循环语句for,while,do_while。
(3)转移语句:
break,continue,return,goto。
(4)C语句:
表达式语句。
(5)复合语句。
(6)空语句。
5.标准库函数
标准库函数不是C语言本身的组成部分,它是由C编译系统提供的一些非常有用的功能函数。
例如,C语言没有输入/输出语句,也没有直接处理字符串的语句,而一般的C编译系统都提供了完成这些功能的函数,称为标准库函数。
常用的有数学函数、字符函数和字符串函数、输入输出函数、动态分配函数和随机函数等几个大类。
在C语言处理系统中,标准库函数存放在不同的头文件(也称标题文件)中。
例如,输入/输出一个字符的函数getchar和putchar、有格式的输入/输出函数printf和scanf等就存放在标准输入输出头文件stdio.h中,求绝对值函数和三角函数等各种数学函数存放在标准输入输出头文件math.h中。
这些头文件中存放了关于这些函数的说明、类型和宏定义,而对应的子程序则存放在运行库(.lib)中。
使用时只要把头文件包含在用户程序中,就可以直接调用相应的库函数了,即在程序开始部分用如下形式:
#include<头文件名>或#include“头文件名”
标准库函数是语言处理系统中一种重要的软件资源,在程序设计中充分利用这些函数常常会有事半功倍的效果。
所以,读者在学习C语言本身的同时,应逐步了解和掌握标准库中各种常用函数的功能和用法,避免自行重复编制这些函数。
1.4算法
计算机之所以能够自动地、按照一定的步骤来处理问题,是因为计算机是在程序的控制下进行工作的,程序是计算机处理对象和计算规则的描述。
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。
1.4.1算法的特征
通俗地说,算法就是计算机解题的过程。
在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。
前者是推理实现的算法,后者是操作实现的算法。
算法应当具有以下五个特征:
(1)有穷性:
一个算法应包含有限的操作步骤而不能是无限的。
(2)确定性:
算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。
(3)有效性:
算法中每一个步骤应当能有效地执行,并得到确定的结果。
(4)有零个或多个输入。
(5)有一个或多个输出。
1.4.2算法的流程图表示
在日常工作中,通常使用流程图来描述算法。
常见的流程图有传统流程图、N-S流程图两种。
使用流程图表示来算法,形象直观,更易于理解。
1.传统流程图
传统流程图的使用的图例如图1-1所示。
图1-1传统流程图使用的图例
在程序设计中,顺序结构、选择结构、循环结构对应的传流流程图如图1-2~图1-4所示。
图1-2顺序结构
图1-3选择结构
图1-4循环结构
2.N-S流程图
N-S流程图是1973年美国学者提出了一种新型流程图。
使用N-S流程图描述三种基本程序结构如图1-5~图1-7所示。
图1-5顺序结构
图1-6选择结构
图1-7循环结构
1.5C语言的上机过程
编写出C程序仅仅是程序设计工作中的一个环节,写出来的程序需要在计算机上进行调试运行,直到得到正确的运行结果为止。
1.5.1C程序编译过程
使用C语言直接编写的源程序,称为C源程序。
C源程序文件是一个文本文件,任何一种文本编辑器都可以编辑它。
C源程序文件默认扩展名为“.c”。
C源程序是不能直接执行的。
C源程序必须首先经过编译,编译过程由C语言编译程序完成。
编译时,编译程序首先对源程序中的每一条语句检查语法错误,当发现错误时,显示错误信息及错误位置,提示用户进行修改。
修改完成后,再进行编译,如此反复修改、编译,直至排除所有的语法错误。
编译成功,得到一个扩展名为“.obj”的目标文件。
编译后产生的目标文件是可重定位的程序模块,不能直接运行,还需要进行连接。
连接是由连接程序将“.obj”文件与C语言提供的各种库函数连接起来生成一个扩展名为“.exe”的可执行文件。
该.exe文件可以脱离C编译系统直接运行。
由C源程序转换成可执行程序的过程如图1-8所示。
图1-8由C源程序转换成可执行程序的过程
1.5.2C语言程序编辑环境简介
本书将以VisualC++6.0作为C程序的编辑环境,该软件是一种面向对象的程序设计语言。
开发C程序的过程如下:
(1)启动VisualC++,进入系统工作界面。
(2)执行“File”菜单中的“New”命令,系统弹出如图1-9所示的新建程序对话框。
图1-9新建程序对话框
(3)单击“Files”选项卡,在列表框中选择“C++SourceFile”选项,在“File”文本框中输入新建的单文件C++文件名称“SingleFile”,“在Location”文本框中指定存放文件的目录(如E:
\VCPP)。
(5)单击OK按钮,返回VisualC++的主窗口。
在代码窗口中输入以下程序源代码:
#include
voidmain()
{
printf("这是一个简单的单文件VisualC++程序!
\n");
printf("欢迎进入VC程序开发的世界!
您的基础知识准备好了吗?
");
}
(6)输入完后,按Ctrl+S组合键进行保存。
(7)至此,源程序代码编辑完成。
接下来还需要进行编译和链接。
(8)执行“Build”菜单中的“CompileSingleFile.cpp”选项,如图1-10所示。
图1-10执行菜单命令
(9)系统弹出如图1-11所示的对话框,询问是否建立一个默认的工作区对话框。
图1-11系统提示对话框
(10)单击“是”按钮,VisualC++编译器将对该源代码进行编译。
如果发现错误,则将错误性质、出现位置及错误的原因等内容显示在下方的输出窗口中。
选中某个错误行按回车键,则会给出错误的详细说明;双击某条错误信息,将有一个提示箭头指向源代码编辑窗口中出错行的左边,提示用户根据错误性质进行修改。
然后再重新编译,直到不再显示错误信息为止。
(11)单击“Build”菜单中的“BuildSingleFile.exe”选项(见图1-12),将对编译好的程序进行链接。
如果该程序尚未编译,则先对其进行编译,然后进行链接。
在链接过程中,如果发现错误,则在输出窗口中显示错误的提示信息,用户需要修改程序后再进行链接,直到没有错误,生成可执行文件为止。
图1-12执行菜单命令
(12)源代码经过编译链接后就生成了可执行文件,单击“Build”菜单中的“ExecuteSingleFile.exe”选项,如图1-13所示。
生成的可执行文件将被运行,运行后的结果将被显示在控制台窗口(类似于DOS窗口)的屏幕上,如图1-14所示。
查看结果后,按任意键,则返回VisualC++的主窗口。
图1-13运行程序
图1-14运行结果
课后习题
(1)判断一个整数n能否同时被3和7整除,用流程图表示该算法。
(2)求某课全班的平均分,用流程图表示该算法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 概述