1、 l1.1 程序设计语言l1.2 算法l1.3 程序设计与实现l1.4 C语言程序的基本结构 计算机能够理解和识别的一种语言体系,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理。按照程序设计语言的规则组织起来的一组计算机指令。机器语言、汇编语言和高级语言。1972年由美国的Dennis Ritchie设计发明。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对 C的发展和扩充,制定了C的标准,称为 ANSI C。1987年ANSI又公布了新的标准87 ANSI C。/*program e1-0.c*/#includevoid main()int i=1,s
2、=0;while(i=100)/*循环控制*/s=s+i;/*数据累加*/i=i+1;/*生成下一个要累加的数*/printf(sum=%dn,s);/*输出结果*/l1.2.1 算法概念与算法描述 l1.2.2 算法的逻辑结构 l1.2.4 算法的特性l1.2.4 算法评价算法是求解问题的方法,是在有限步骤内求解某一问题所使用的一组定义明确的规则,是计算机处理问题所需要的具体步骤。自然语言流程图N-S图PAD图伪码等。“计算1到100的所有自然数的和”i和s赋初值,使i=1,s=0;判断i的值,若i100 则执行步骤;否则,转步骤;s加i;i加1,转步骤;显示s的值,结束。步骤步骤 i=1,
3、s=0;步骤步骤 若i100 则执行步骤;否则,转步骤;步骤步骤 s+i;步骤步骤 i+1,转步骤;步骤步骤 显示s的值,结束l算法 输入一个学生两门课的成绩a1、a2;计算平均成绩(a1+a2)/2ave;输出平均成绩ave,结束。开始输入成绩计算平均成绩输出平均成绩结束问题1-输入一个学生的两门课的成绩,计算出平均成绩。问题2-输入一个学生的两门课的成绩,若平均成绩不低于90分,则显示“优等生”,否则显示“要加油啊!”l算法步骤 输入一个学生两门课的成绩a1、a2;步骤 计算平均成绩(a1+a2)/2ave;步骤 若ave90,则执行步骤;否则执行步骤;步骤 输出“优等生”,结束。步骤 输
4、出“要加油啊!”,结束。问题3-按照问题2的标准,统计全班的优等生人数(全班共30人)。l算法 设置变量count对输入的数据量计数,其初值为1;设置变量result对优等生计数,其初值为0;若count30,则执行步骤;否则转步骤;输入一个学生两门课的成绩a1、a2;计算平均成绩(a1+a2)/2ave;若ave90,则执行步骤;否则转步骤;result+1result;count+1count;转步骤;输出统计结果,结束。开始1 count0 resultcount30输入成绩计算平均成绩aveave90result+1 resultcount+1 count输出count结束真假真假l算
5、法逻辑结构框图 顺序结构 顺序结构传统流程图 顺序结构N-S图l算法逻辑结构框图(2)分支结构 分支结构流程图 分支结构N-S图 l算法逻辑结构框图(3)循环结构 循环结构流程图 循环结构N-S图 经过有限步骤解决问题 :每个步骤所规定的操作必须是确定的。每一个步骤必须能够有效地执行。有零个或多个输入,有一个或多个输出。一一个具体问题可以有不同的解决方法,因此个具体问题可以有不同的解决方法,因此可以设计解决问题的不同算法。可以设计解决问题的不同算法。一个算法应是适用于某类问题,而不只是适一个算法应是适用于某类问题,而不只是适用于某一个问题。用于某一个问题。使用VC+6.0实现C程序的基本步骤
6、设矩形的边长为设矩形的边长为a和和b、矩形面积为、矩形面积为s,则,则s=ab。通过键盘输入等方式为矩形边长通过键盘输入等方式为矩形边长a、b提供数据。提供数据。程序执行后要输出计算结果。程序执行后要输出计算结果。输入输入a、b的值。的值。计算计算ab,并存储到,并存储到s中。中。输出输出s。假设该矩形都是整型数据,因此,要使用假设该矩形都是整型数据,因此,要使用int对对a、b、s进行说明。进行说明。使用使用scanf()函数输入数据函数输入数据a、b。使用使用“s=a*b”计算矩形面积,并存储到计算矩形面积,并存储到s中。中。使用使用printf()函数输出计算结果函数输出计算结果s。把上
7、面的一些具体语句放在把上面的一些具体语句放在main()函数中。函数中。假设该矩形都是整型数据,因此,假设该矩形都是整型数据,因此,要使用要使用int对对a、b、s进行说明。进行说明。使用使用scanf()函数输入数据函数输入数据a、b。使用使用“s=a*b”计算矩形面积,并计算矩形面积,并存储到存储到s中。中。使用使用printf()函数输出计算结果函数输出计算结果s。把上面的一些具体语句放在把上面的一些具体语句放在main()函数中。函数中。/*program area.c*/#includevoid main()。启动启动VC+6.0,使,使用用“File”“New”命令,命令,打开打开
8、“new”窗口,选用窗口,选用“Files”选项卡,在主窗选项卡,在主窗口中选择口中选择“C+Source File”项,在项,在“File”对话对话框中输入文件名,在框中输入文件名,在“Location”对话框中指对话框中指定文件的存储位置。定文件的存储位置。单击单击“OK”按钮,按钮,打开程序编辑窗口录入打开程序编辑窗口录入编辑源程序,并及时存编辑源程序,并及时存盘。盘。程序编辑完成后,使程序编辑完成后,使用用“Build”“Compile”命令编译命令编译 执行“Build”“Compile”命令后的提示信息编译结果显示在编译报告窗口。l 1.4.2 程序中的常量和变量程序中的常量和变量
9、l 1.4.3 程序中的基本语句程序中的基本语句l 1.4.4 标识符与保留字标识符与保留字l 1.4.5 程序风格程序风格C语言程序是由函数构成的,任何一个C语言程序都有一个称为主函数的main()函数,例如,前面介绍的C语言程序e1-0.c和e1-1.c,其主体内容都是main()函数。程序中main()函数的一般结构:#includevoid main()printf(Hello!n);任何一个C语言程序,main()函数都是不可缺少的,当一个C语言程序只有一个函数模块时,这个函数必然是main()函数。上述程序,在“void main()”之前都有一行代码“”,作为初学者,为方便起见,
10、不妨先将其视为C语言程序的基本构成部分。可以认为,简单C语言程序的基本结构:一个一个C语言程序,在结构上不仅要有语言程序,在结构上不仅要有main()函数,还可以包括其他独立的函数,还可以包括其他独立的函数,一个函数可以在另一个函数中被使用。函数,一个函数可以在另一个函数中被使用。输出图案程序。输出图案程序。/*program e1-3.c program e1-3.c*/#includestdio.h#include void main()/void main()/*主函数主函数 */void p_s(void void p_s(void););p_sp_s();();p_sp_s();()
11、;p_sp_s();();void p_svoid p_s()/()/*其他函数其他函数 */printf($#$nprintf($#$n););C语言程序由函数构成,而且每个程序可以有多个函数。一个源程序不论由多少个函数组成,有且只能有一个main()函数,而且main()函数可以放在程序的任何位置。一个源程序无论由多少个函数构成,总是从main()函数开始执行程序,与main()函数在程序中的位置无关。程序中的常量分为直接常量和符号常量两种。直接常量就是具体的数据,有整数、实数、字符和字符串四种类型。例如,程序e-0.c中的“1”和“100”是整数常量,程序e1-2.c中的“Hello!”
12、是字符串常量;符号常量是通过特殊方式定义的一类常量,其定义方法将在第2章介绍。程序中的变量用变量名标识,每个变量具有特定的数据类型,计算机按照一定的规则为变量分配一定的内存空间,变量的值存储在变量所在的存储空间中。C语言中变量的基本类型有3种:整型、实型和字符型,分别用的int、float和char进行标识。数据定义语句流程控制语句数据处理语句对程序中使用的变量名称、数据类型等进行说明。例如,对程序中使用的变量名称、数据类型等进行说明。例如,程序程序e1-1.c的的“int a,b,c;”语句。语句。对程序中的数据进行运算、输入、输出等。例如,程序对程序中的数据进行运算、输入、输出等。例如,程
13、序e1-1.c的的“s=a a*b b;”、“printf(“Area:%dn,s);”等。等。对程序的执行流程进行控制,分为分支控制和循环控制两对程序的执行流程进行控制,分为分支控制和循环控制两类。例如,程序类。例如,程序e1-0.c中的中的while语句。语句。两个标识符中的字母相同而大小写形式不同时,C语言认为是两个不同的标识符。标识符命名应尽量有相应的意义,以便阅读理解。建议初学者尽量使用较短而有意义的标识符,既便于上机训练,也会使程序更清晰。算法是求解问题的方法,是计算机处理问题所需要的具体步骤。算法是求解问题的方法,是计算机处理问题所需要的具体步骤。顺序结构、分支结构和循环结构是算
14、法的三种基本结构。顺序结构、分支结构和循环结构是算法的三种基本结构。程序设计步骤:问题分析、算法设计、编写程序、调试运行程序。程序设计步骤:问题分析、算法设计、编写程序、调试运行程序。实现实现C C语言程序步骤:建立源程序、编译源程序、构建可执行文件、运行程序。语言程序步骤:建立源程序、编译源程序、构建可执行文件、运行程序。函数化结构是函数化结构是C C语言程序的特点,语言程序的特点,main()main()函数是任何一个函数是任何一个C C语言程序中必须具有的语言程序中必须具有的函数。函数。main()main()函数的一般结构:函数的一般结构:C C语言程序中的常量分为语言程序中的常量分为5 5种:整数、实数、字符、字符串和符号常量;种:整数、实数、字符、字符串和符号常量;C C语言有语言有3 3种基本变量类型:种基本变量类型:intint型、型、floatfloat型和型和charchar型,任何一种变量在使用之前必须先行定义。型,任何一种变量在使用之前必须先行定义。程序中使用的变量名、函数名等统称为标识符。标识符有一定的命名规则,标识符程序中使用的变量名、函数名等统称为标识符。标识符有一定的命名规则,标识符中字母的大、小写形式是不等价的。中字母的大、小写形式是不等价的。