C语言程序设计教程第2章程序流程

合集下载

C语言程序设计教案第2章4 -6

C语言程序设计教案第2章4 -6
(2)表达式的名称和运算结果是由优先级最低的运算符决定的。
(3)关系或逻辑表达式的值只有两个:真(非零)和假(零)。
(4)分析复杂表达式时,应先找优先级别最高的运算符,同时,注意”()”的优先级别很高,它往往可以改变表达式的运算次序。通过分析复杂表达的运算逻辑,推导出短路原则。
(5)编写一个输出复杂表达式的值及每个参与变量的值的程序。预估程序结果,然后与实验结果对比,从而深入理解短路原则及表达式的运算规律。
【问题】ppt中的程序有哪些错误
【实践】基于强制类型范围缩放数据处理技术的成绩分档程序的设计与实现
授课阶段总结
本节内容以实践为主,以当前所学的知识点,学生可以组织起一个逻辑上相对完整的程序,所以本小节以程序设计思维的训练为重点内容。首先,引导学生设计一个可以进行人机交互的界面—编写一个计算器的菜单,通过选择进行计算,把第一章的计算语句copy到适当的位置(增量开发)。然后,运用本章的知识点,设计具有一定的容错能力和设计技巧(强制类型转换与归一化处理)的学生成绩分档程序。两个例子都用到了本章所介绍的if和switch嵌套句型。
2.4 应用实例(1学时)
教学内容
(1)计算器程序设计。
(2)强制类型转换。首先讲解数据类型之间的转换规则,然后讲解转换的方法及用途。
(3)学生成绩档案管理—成绩等级划分。
讲解思路
(1)本小节主讲设计思想,所以每一个例题都必须有流程图来表达设计思想,通过讲解流程图帮学生梳理思路。然后,把对编程实现时用到技巧及难点进行讲解。
(2)掌握switch多路选择语句,在解决问题时,能够正确选择switch和if语句。
(3)掌握选择语句的流程图的算法描述方法
重点:if选择结构和switch选择结构。

C语言程序设计 第2章PPT教学课件

C语言程序设计 第2章PPT教学课件

16
2.实型格式说明符 用于输入的单精度实型格式说明符为
%f 或 %e 用于输入的双精度实型格式说明符为
%lf
3.字符型格式说明符 用于输入的字符型格式说明符为
%c 或 %mc
2020/12/10
17
(1)在格式输入中,内存地址表中必须是变量地址,不 能是变量名。
(2)与格式输出一样,格式输入格式控制中的各格式说 明符与内存地址表中的变量地址在个数、次序、类型方面 必须一一对应。
③ C语言允许在定义变量的同时为变量赋初值。
④ 在为整型变量初始化或赋值时,C编译系统自动 将被赋数据转换成与相应变量的类型一致。
⑤ 由于各种整型变量所占的字节数有限,因此, 它们所能存放的整数有一定的范围。
2020/12/10
8
2.2.2 实型常量及其变量的定义
1.实型(浮点型)常量 (1)十进制数形式 (2)指数形式(科学记数法)
2020/12/10
3
下面针对一般的C程序作几点说明:
(1)一个完整的C语言程序可以由多个函数组成,但必须 包含一个且只能包含一个名为main的函数(主函数)。程 序总是从main函数开始执行。 (2)在一个C函数模块中,由左右花括号{ }括起来的部分 是函数体,其中的语句系列实现函数的预定功能。 (3)C程序中的每一个语句必须以“;”结束,但书写格 式是自由的。 (4)#include是编译预处理命令,其作用是将双引号或尖 括号括起来的文件内容读到该命令的位置处。 (5)在C程序的任何位置处都可以用/* ...... */作注释,以 提高程序的可读性。
' \ddd' 1~3位八进制数所代表的ASCII码字符
' \xhh' 1~2位十六进制数所代表的ASCII码字符

C语言程序设计(谭浩强版)第二章

C语言程序设计(谭浩强版)第二章
奇妙的输出结果。并且,处理出错的方法
不应是中断程序的执行,而应是返回一个
表示错误或错误性质的值,以便在更高的
抽象层次上进行处理。
算法设计的原则
4.高效率与低存储量需求
通常,效率指的是算法执行时间; 存储量指的是算法执行过程中所需 的最大存储空间, 两者都与问题的规模有关。
算法设计的原则
算法的时间复杂度
第二章 程序的灵魂——算法
2.1 算法的概念 2.2 算法的简单举例
2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法
算法的概念
计算机应用: 提取数学模型—设计算法— 编程—测试—应用
程序设计=数据结构+算法
数据结构:对数据的描述 算法:对操作的描述 除此之外程序设计还包括:程序设计方法, 和程序设计语言
怎样表示一个算法
例4的伪代码表示法如下 开始 读入整数n 置sum的初值为0 置k的初值为1 执行下面的操作: 如果k为奇数,置item=1/k 如果k为偶数,置item=-1/k sum=sum+item 直到k>n 打印sum的值 结束
算法设计的原则
算法设计的原则
设计算法时,通常应考虑达到以下目标: 1.正确性 2.可读性 3.健壮性 4.高效率与低存储量需求
从算法中选取一种对于所研究的问题 来说是 基本操作 的原操作,以该基 本操作 在算法中重复执行的次数 作 为算法运行时间的衡量准则。
结构化程序设计方法
采用结构化算法写成的计算机程序是结构 化程序。要编写出结构化程序,经常采用 的方法是结构化程序设计方法。这种方法 的基本思路是: 把给定的问题按层次(纵方向)、分阶段 (横方向)分解为一系列易于编程解决的 小问题,然后对应着这些分解的小问题, 设计结构化的算法,最后采用语言将算法 描述出来。这样一种程序设计方法就是结 构化程序设计方法。

C语言程序设计(李圣良)章 (2)

C语言程序设计(李圣良)章 (2)

}
第2单元 顺序和选择结构程序设计
图2-6 例2-6程序运行结果 注意,长整型的数据输出使用“%ld”或“%Ld”,在 Visual C++ 6.0系统中,“%d”、“%ld”控制结果一样,但 在Turbo C中则要严格区分。 (4) %mld:按照指定宽度输出长整型数据。
第2单元 顺序和选择结构程序设计
第2单元 顺序和选择结构程序设计
以上介绍了常用的几种格式符,归纳如表 2-1 所示。
第2单元 顺序和选择结构程序设计
2.1.2 输出语句printf函数 对于一个有意义的程序来说,应该有一个或多个输出,也
就是至少要有一个输出,将程序的结果进行输出。所谓输出, 是指从计算机向外部输出设备(显示器、打印机、磁盘等)输出 数据。一般默认的标准输出设备是显示器。
C语言本身并不提供专门的输入输出语句,C语言中的输入 输出操作是调用专门的输入输出函数来完成的。输入输出函数 的有关信息存放在文件“stdio.h”中,“stdio.h”是标准输 入输出库的头文件,其中包含了所有的标准输入输出函数的有 关信息。因此,在使用这些函数前,必须有“# include <stdio.h>”编译预处理命令,否则系统会提示出错信息 “error C2065:'printf':undeclared identifier”。
{ 语句 1; 语句 2; … 语句 n;
} 例如: { t=x;
x=y; y=t; }
第2单元 顺序和选择结构程序设计
4. 控制语句 控制语句是C语言程序中用来控制程序流程的语句。在C语 言中可具体划分为9种程序流程控制语句。 条件判断语句:if,switch。 循环语句:do…while,while,for。 转向语句:break,continue,goto,return。 以上9种控制语句具体的应用将在后续单元中进行详细讲 解。

C语言程序设计 第2章 顺序结构与分支结构程序设计

C语言程序设计 第2章 顺序结构与分支结构程序设计

main() { char op;float x,y;
scanf("%f%c%f",&x,&op,&y); switch (op) { case '+' : printf("=%f\n",x+y); break;
case '-' : printf("=%f\n",x-y); break; case '*' : printf("=%f\n",x*y); break; case '/' : if (y!=0.0)
200,0,0
空语句
空语句是只有分号 ;的语句。示什么操作也不做。 从语法上讲,空语句也是一条语句。 在程序设计中,若某处在语法上需要一条语句,而实际上不需要 执行任何操作时就可以使用它。 例如,在设计循环结构时,有时用到空语句。
int i,s=0; for(i=1;i<=10;s=s+i++);
main() { int a;
scanf("%d",&a); switch(a) { case 3+8:printf("a==11");break; case 90: printf("a==90");break; case 'a': printf("a==97");break; case a>100:printf("a>100");break; default:printf("default"); } }
printf("%c\n",c); }

第二章 C语言程序设计

第二章 C语言程序设计
有符号 (signed) 整型变量 无符号 (unsigned) 基本整型(int) 短整型(short int) 长整型(long int)
例:整型数据的溢出。 main( ) { int a, b; a=32767; b=a+1;
printf(“%d,%d”,a,b);
}
返回
整型变量的定义
[unsigned][short][long] int <变量名1>, <变量名2>,……<变量名n>;
表达式1,表达式2……表达式n
说明:
1、逗号运算符的结合性为从左到右
2、所有运算符中,逗号运算符的优先级最低
练习题
执行下列语句后,a和b的值 分别为
int a, b; a=1+(b=2+7%-4-’A’)
练习题
执行下列语句后,a和b的值 分别为 -59,-60
int a, b; a=1+(b=2+7%-4-’A’)
练习题
一个C语言的源程序中,
(A)必须有一个主函数

(B)可以有多个主函数
(C)必须有主函数和其他函数
(D)可以没有主函数
练习题
1、编程实现,输入一个数,输出其 绝对值。 2、编程实现,输入a,b,c三个数, 输出其中最大者。
题 1、
Void Main()
{
int a, result; /*定义变量*/ scanf(“please input a number:%d”, &a); if (a>=0) result=a; else result=-a;
3、类型转换
例:
void main( )
{ float x, y;

C语言程序设计第2章 顺序结构流程及应用

C语言程序设计第2章  顺序结构流程及应用

试一试
问题2.2 新生入学需要将自己的姓名、年龄、学 号、性别、入学成绩打印出来,请编程实现。 【解题步骤】 1.定义整型变量iAge,iNum存放年龄、学号; 2.定义字符变量chSex存放性别; 3.定义实型变量fScore用来存放入学成绩; 4.用printf函数上面的信息打印出来;

普通常量与符号 常量
1. 普通常量 普通常量有3类:数值常量、字符型常量和字符串常量。 例如, 1, 200,3500 ,0x12 —— 整型数值常量 835.6, 77.2, 0.618 —— 实型数值常量 ‘a’, ‘A’, ‘$’ —— 字符型常量 “Hello”,“Welcome”—— 字符串常量 2. 符号常量 在C语言程序中,可对常量进行命名,即用符号代替常 量,叫做符号常量,一般用大写字母表示,一经定义就 可以代替常量使用。
想一想

对于一个四位整数,其千位、百位、十位、 个位上的数如何求得?
强制类型转换运算符
学一学 在实际应用中,常常要把一些表达式的 类型转换成所需的类型。C语言提供了强 制类型转换运算符。其格式为: (类型名)(表达式)
试一试

1. 2.
3. 4. 5.
问题2.7 从键盘输入一个球的半径值,计算并 输出这个球的体积。球体积计算公式为: v=4/3*∏*r3。其中r是球的半径,∏是圆周率, v是球的体积。 【解题步骤】 定义符号常量PAI=3.1415926作为圆周率; 定义float型变量fRadius、fVolum用来存放球 半径和球体积; 从键盘输入球半径放变量fRadius; 计算球的体积; 输出球体积。
想一想
生活、学习、工作中有哪些量是其值
不变的常量?哪些信息是经常变化的? 定义成什么类型的变量比较合适?

C#程序设计实用教程 第2章 C#程序设计入门

C#程序设计实用教程 第2章 C#程序设计入门
static void Main(string[] args) { double dblHeight; int nAge; Console.Write("请输入您的身高(单位:米):"); dblHeight = double.Parse(Console.ReadLine());
Console.WriteLine("请输入您的年龄:"); nAge = Convert.ToInt16(Console.ReadLine());
✓合理的注释非但不会浪费编写程序的时间,反而能让程 序更加清晰,这也是具有良好编程习惯的表现之一。
✓在C#语言中,提供了两种注释方法: (1)每一行中“//”后面的内容作为注释内容,该方式 只对本行生效。 (2)需要多行注释的时候,在第一行之前使用“/*”, 在最后一行之后使用“*/”,即被“/*”与“*/”所包含 的内容都作为注释内容。
第2章 C#程序设计入门
本章将分别通过一个控制台应用程序和一个 Windows应用程序的创建、编译、执行、结构分析。
介绍了C#程序设计相关的基础知识,包括C#程序基 本程序、编译程序以及一些基本输入/输出操作等。
2.1 第一个控制台应用程序
2.1.1 创建程序
7. namespace Welcome
this.lblDisplay.Text = "Welcome C了C#程序设计的基本知识,并在两个实例 的基础上,重点论述、分析了C#程序的建立、调试、编 译、运行过程和C#程序的结构,使得读者对于C#的程序 设计有一个初步的认识和掌握。
{ Console.Write ("请输入字符:"); int a = Console.Read(); Console.WriteLine("用户输入的内容为:{0}",

c语言程序设计第2章(谭浩强)

c语言程序设计第2章(谭浩强)

第2章程序的灵魂——算法1. 概念:为解决某一特定问题而采取的具体工作步骤和方法。

2. 举例◆计算1+2+3+……+100的值◆计算1×2×3×……×1000的值◆有50个学生,要求输出他们之中成绩在80分以上的学号和成绩◆判定2000-2500年中的每一年是否闰年3. 算法的表示(1) 自然语言(2) 流程图表示法(3) 伪代码表示法(4) 计算机语言表示法(2) 流程图表示法顺序结构、选择结构和循环结构流程图这三种基本结构有以下共同的特点:1. 只有一个入口;2. 只有一个出口;3. 结构中的每一部分都有被执行到的机会;4. 结构内没有死循环。

用上述基本结构的顺序组合可以表示任何复杂的算法结构,但是基本结构中的流程线使流程图显得较乱,于是1973年美国学者提出了一种新的流程图形式。

在这种流程图中,完全去掉了带箭头的流向线,全部算法写在一个矩形框内。

下面是三种控制结构的N-S图。

例1 求四个数的和算法一:在内存中设一累加用的存储单元S。

第1步:将存储单元S清零。

第2步:输入第1个数a1。

第3步:把a1加到存储单元S中。

第4步:输入第2个数a2。

第5步:把a2加到存储单元S中。

第6步:输入第3个数a3。

第7步:把a3加到存储单元S中。

第8步:输入第4个数a4。

第9步:把a4加到存储单元S中。

第10步:把存储单元S中的结果输出。

算法二:在内存中设一累加用的存储单元S和一计数用的单元I。

第1步:将累加单元S清零。

第2步:将计数单元I清零。

第3步:输入一个数A。

第4步:把A加到累加单元S中。

第5步:计数单元I的值增加1,即I+1=>I。

第6步:若I<4则转去执行第3步,否则,继续执行第7步。

第7步:输出存储单元S中的结果。

开始结束S+A=>S 0=>S 0=>I 输入A I+1=>I I<4输出S 0=>s0=>I输入A S+A=>S I+1=>I 直到I=4输出结果S N-S 图Y例2 求5!开始结束T*i=>t 1=>t 2=>i i+1=>i i>5输出S N例3 将50名学生中成绩在80分以上练习1:交换两个单元的内容。

C语言程序设计-第2章 简单c程序设计ppt课件

C语言程序设计-第2章  简单c程序设计ppt课件

例 int a=3,b=2,c=1,d,f;
a>b
//表达式值1
(a>b)==c //表达式值1
b+c<a //表达式值0 d=a>b //d=1
f=a>b>c //f=0
结合方向: 自左向右
优先级别: 如下
<
<= >
i-- i参与运算后,i的值再自减1。
自增、减运算符只用于变量,而不能用于常量或表达 式。
8++,(x+y)++,(-i)++都不合法
自增、自减运算符常用于循环语句中,使循环变量自 动加1,也用于指针变量,使指针指向下一个地址。
【例2-2】自增、自减运算 void main() { int i=8; printf("%d\n",++i); printf("%d\n",--i); printf("%d\n",i++); printf("%d\n",i--); printf("%d\n",-i++); printf("%d\n",-i--); }
字符型 浮点型(实型)
单精度型

枚举类型
双精度型
言 语 的

数组类型
类 构造类型 构造类型

共用体类型
数 据 类
空类型

指针类型
C言语根本数据类型与取值范 围
〔不同C言语规范能够有差别〕
数据类型与名称 字符型 整型 长整型 浮点型
双精度型
类型标识符 char int long float double

《C语言程序设计》课件-第2章用C语言编写程序

《C语言程序设计》课件-第2章用C语言编写程序

input x: 2.5 f(2.50)=0.4
input x: 0 f(0.00)=0.0
软件测试的基本思想
if(x != 0) y = 1/x;
else y = 0;
input x: 2.5 f(2.50)=0.4
input x: 0 f(0.00)=0.0
软件测试
精心设计一批测试用例 [输入数据,预期输出结果] ,然后分 别用这些测试用例运行程序,看程序的实际运行结果与预 期输出结果是否一致。
double x, y;
Enter x (x>=0): 9.5 f(9.500000)=12.67
Enter x (x>=0): 15 f(15.000000)=20.00
printf("Enter x (x>=0):\n"); /* 输入提示 */
数据必须输入吗?
scanf("%lf", &x);
数据输2入.3:.4格式格化式输入化函输数入sca函nf(数) scanf()
#include <stdio.h>
scanf("%lf", &x);
scanf(格式控制字符串, 输入参数1, …, 输入参数n);
变量地址 用双引号括起来,表示输入的格式
scanf-格式控制字符串
格式控制字符串:
• 格式控制说明: 按指定的格式输入数据, %…
数据输出2.:2.格4 式格化式输出化函输数 出prin函tf()数printf()
#include <stdio.h>
printf("Hello World! \n"); printf("fahr = %d, celsius = %d\n", fahr, celsius);

C语言程序设计教程第2章北京邮电大学出版社.ppt

C语言程序设计教程第2章北京邮电大学出版社.ppt
2019/4/5
C语言程序设计教程
7
(1)变量名。每个变量都必须有一个名字──变量名,变量命名 遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程 序中,通过变量名来引用变量的值。 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成,且以字母或 下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有效。如果超长, 则超长部分被舍弃。
2019/4/5
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
11
5、变量的作用域 C语言程序是由函数组成的,且有且只能有一个main函数。 变量定义可以出现在函数内,亦可出现在函数外或者是函 数的参数中。 按照变量定义语句出现的位置,可以分为: 局部变量:在函数内定义; 只在该函数中才能使用。 全局变量:在函数外定义; 从它被定义的位置起,在之后的所有函数中有效。 形式参数:定义为函数的参数; 只在该函数中才能使用。
13
2.2 C语言的基本数据类型
一、整型数据 1、整型常量表示方法: (1) 十进制形式:与数学上的整数表示相同; 例如: 12, -100, 0 (2) 八进制形式:在数码前加数字0; 例如: 012=1*81+2*80=10(十进制) (3) 十六进制形式:在数码前加0X(数字0和字母X)。 例如: 0x12=1*161+2*160=18(十进制)
关键字 short unsigned short int unsigned long unsigned long
2019/4/5
所占位数 16 16 16 16 32 32
取值范围 -32768~32767 0 ~65535 -32768~32767 0 ~65535 -2147483648~2147483647 0~4294967295

C语言程序设计教程(第二版第2章

C语言程序设计教程(第二版第2章

本文由jianhongwei810贡献 ppt文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

第2章 数据类型,运算符和表达式 章 数据类型, 2.1 数据类型 2.2 C语言的基本符号 语言的基本符号 2.3 常量与变量 2.4 运算符与表达式 2.1 数据类型 数据是程序处理的对象. 语言在程序处理数据之前 语言在程序处理数据之前, 数据是程序处理的对象.C语言在程序处理数据之前,要求 数据具有明确的数据类型. 数据具有明确的数据类型.数据类型是指数据的内部表示形 体现的是数据的操作属性, 式,体现的是数据的操作属性,对具有不同数据类型的数据 可进行不同的操作. 可进行不同的操作.用户在程序设计过程中所使用的每个数 据都要根据其不同的用途赋以不同的类型, 据都要根据其不同的用途赋以不同的类型,一个数据只能有 一种类型.每种数据类型都由两方面组成, 一种类型.每种数据类型都由两方面组成,即数据的存储方 式和对该类型的数据的运算方式. 式和对该类型的数据的运算方式. 数据类型一般具有以下基本含义: 数据类型一般具有以下基本含义: ①数据类型规定了一个以值为其元素的集合,即规定该类型 数据类型规定了一个以值为其元素的集合, 中数据的定义域.例如double表明计算机能够计算的所有 中数据的定义域.例如 表明计算机能够计算的所有 实数;逻辑类型的数据取值范围是非" 实数;逻辑类型的数据取值范围是非"真"即"假". 下一页 返回 2.1 数据类型 ②数据类型定义了一个运算集,即不同类型的数据拥有不同 数据类型定义了一个运算集, 的运算关系.例如,对数值类型数据可进行算术运算, 的运算关系.例如,对数值类型数据可进行算术运算,对逻 辑类型数据可进行逻辑关系运算. 辑类型数据可进行逻辑关系运算. ③数据类型定义了数据在计算机内的存储以及在书写中的表 示方式.例如整型占用计算机一个字长, 示方式.例如整型占用计算机一个字长,而空类型的长度为 零. C语言规定任何数据都必须有明确的数据类型.C语言提供了 语言规定任何数据都必须有明确的数据类型. 语言提供了 语言规定任何数据都必须有明确的数据类型 5种基本数据类型:字符型(char),整型(int),单精 种基本数据类型: ),整型 ),单精 种基本数据类型 字符型( ),整型( ), 度实型(float),双精度实型 和空类型(void), 度实型 ,双精度实型(double)和空类型 和空类型 , 以及6种聚合类型 数组,指针,结构体,公用体(联合 种聚合类型: 联合), 以及 种聚合类型:数组,指针,结构体,公用体 联合 , 位域和枚举类型. 位域和枚举类型.实际上较为复杂的数据结构或类型是由基 本数据类型按照某种方式组合而成的. 本数据类型按照某种方式组合而成的. 上一页 返回 2.2 C语言的基本符号 语言的基本符号 2.2.1 基本符号集 C语言的基本符号集是 语言的基本符号集是ASCII字符集,参见本书的附录 . 字符集, 语言的基本符号集是 字符集 参见本书的附录1. 它由以下几部分组成: 它由以下几部分组成: 阿拉伯数字10个 ①阿拉伯数字 个:0,1,2,3,…,8和9. , , , , , 和 . ②大小写英文字母各26个:A,B,C,…,Z,a,b, 大小写英文字母各26个 A,B,C,…,Z,a,b, c,…,y和z. , , 和 . 下划线: . ③下划线:_. 特殊符号,主要是指运算符和操作符. ④特殊符号,主要是指运算符和操作符.相关内容我们将在 以后介绍. 以后介绍. 下一页 返回 2.2 C语言的基本符号 语言的基本符号 2.2.2 标识符 标识符是一个字符序列. 语言的标识符可分为用户标识符 语言的标识符可分为用户标识符, 标识符是一个字符序列.C语言的标识符可分为用户标识符, 保留字和预定义标识符3类 有些教材称保留字为" 保留字和预定义标识符 类,有些教材称保留字为"关键 标识符的作用是作为常量,变量,函数和类型的名称. 字".标识符的作用是作为常量,变量,函数和类型的名称. 1.用户标识符 用户标识符 用户可以根据需要对C程序中用到的变量 符号常量, 程序中用到的变量, 用户可以根据需要对 程序中用到的变量,符号常量,用户 函数或文件指针进行命名,形成用户标识符, 函数或文件指针进行命名,形成用户标识符,这类标识符的 构成规则如下: 构成规则如下: 由英文字母,数字和下划线组成,且第1个字符不能是数 ①由英文字母,数字和下划线组成,且第 个字符不能是数 必须是字母或下划线. 字,必须是字母或下划线. 例如: , , 都是合法的标识符, 例如:a,_A,aBc,xlz和y_3都是合法的标识符,而 , 和 都是合法的标识符 123,3_ab,#abc,! 和a*bc都是非法标识符. ,!45和 都是非法标识符. , , ,! 都是非法标识符 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 ②大,小写英文字母的含义不同.比如SUM,Sum和sum 小写英文字母的含义不同.比如 , 和 代表3个不同的标识符 这一点一定要注意. 个不同的标识符, 代表 个不同的标识符,这一点一定要注意. 语言本身并没有要求标识符的长度, ③C语言本身并没有要求标识符的长度,不同的 编译系统允 语言本身并没有要求标识符的长度 不同的C编译系统允 许包含的字符个数有所不同.通常可以识别前面8个字符 个字符, 许包含的字符个数有所不同.通常可以识别前面 个字符, 但在任何机器上,所能识别的标识符的长度总是有限的, 但在任何机器上,所能识别的标识符的长度总是有限的,有 些系统可以识别长达31个字符的标识符 个字符的标识符( 些系统可以识别长达 个字符的标识符(如VAX-11 VMSC),而有些系统只能识别 个字符长度的标识符.这 ),而有些系统只能识别 个字符长度的标识符. ),而有些系统只能识别8个字符长度的标识符 意味着即使第9个字符不同 只要前8个字符一样 个字符不同, 个字符一样, 意味着即使第 个字符不同,只要前 个字符一样,系统也认 为是同一个标识符, 为是同一个标识符,如:Category1和Category2表示同 和 表示同 一个标识符.因此,为了避免出错和增加可移植性, 一个标识符.因此,为了避免出错和增加可移植性,标识符 最好前8个字符有所区别 个字符有所区别. 最好前 个字符有所区别. 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 ④用户定义标识符时,应当尽量遵循"简洁明了"和"见名 用户定义标识符时,应当尽量遵循"简洁明了" 知意"的原则.一个写得好的程序, 知意"的原则.一个写得好的程序,标识符的选择应尽量反 映出所代表对象的实际意思.如表示" 映出所代表对象的实际意思.如表示"年"可以用year,表 可以用 , 示"长度"可以用length,表示加数的"和"可以用sum 长度"可以用 ,表示加数的" 可以用 等,这样增加了标识符的可读性,使程序更加清晰. 这样增加了标识符的可读性,使程序更加清晰. 指出以下各标识符组中合法的用户标识符. 例2-1 指出以下各标识符组中合法的用户标识符. 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 分析: 语言规定用户标识符可以由 个英文字母(大写或 语言规定用户标识符可以由26个英文字母 分析:C语言规定用户标识符可以由 个英文字母 大写或 小写),数字(0~ 和下划线 组成, 小写 ,数字 ~9)和下划线 (_)组成,且第 个必须是字 组成 且第1个必须是字 母或下划线.对于第1组选择项 由于A.和 中分别包含有 组选择项, 母或下划线.对于第 组选择项,由于 和D.中分别包含有 非法的标识符字符(#和 , 中又使用了关键字void, 非法的标识符字符 和*),而C.中又使用了关键字 中又使用了关键字 , 因此都不是合法的用户标识符;答案B.中虽然使用了预定义 因此都不是合法的用户标识符;答案 中虽然使用了预定义 标识符scanf,但它不是关键字,C语言语法允许将预定义 标识符 ,但它不是关键字, 语言语法允许将预定义 标识符作为用户标识符使用,因此编译时并不报错, 标识符作为用户标识符使用,因此编译时并不报错,只是这 样会使其失去原来的特定含义,所以虽然合法但不提倡. 样会使其失去原来的特定含义,所以虽然合法但不提倡.故 组中B.是正确答案 组中D.是正确答案 第1组中 是正确答案.同理第 组中 是正确答案,第3组 组中 是正确答案.同理第2组中 是正确答案, 组 是正确答案. 组的D.答案中有 中A.是正确答案.在第 组的 答案中有 是正确答案 在第2组的 答案中有INT为大写而不是 为大写而不是 关键字,因为C语言中大小写字母是不一样的字符 语言中大小写字母是不一样的字符. 关键字,因为 语言中大小写字母是不一样的字符. 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 2.保留字 保留字 保留字是C语言编译系统固有的 语言编译系统固有的, 保留字是 语言编译系统固有的,用作语句名和类型名的标 识符. 语言共有 个保留字,每个保留字在C程序中都代 语言共有32个保留字 识符.C语言共有 个保留字,每个保留字在 程序中都代 表着某一固定含义,所有保留字都要用小写英文字母表示, 表着某一固定含义,所有保留字都要用小写英文字母表示, 且这些保留字都不允许作为用户标识符使用. 且这些保留字都不允许作为用户标识符使用. ①描述数据类型定义:typedef,void. 描述数据类型定义: . ②描述存储类型:auto,extern,register,static和 描述存储类型: 和 volatile. . 描述数据类型: ③描述数据类型: char,const,double,float,int,long,short,signed,st ruct,union,unsigned和enum. 和 . 描述语句: ④描述语句: break,case,continue,default,do,else,for,goto,if, return,sizeof,switch和while. 和 . 上一页 下一页 返回 2.2 C语言的基本符号 语言的基本符号 3.预定义标识符 预定义标识符 这些标识符在C语言中都具有特定含义, 这些标识符在 语言中都具有特定含义,如C语言提供的编译 语言中都具有特定含义 语言提供的编译 处理预命令#define和#include.C语言语法允许用户把 和 处理预命令 . 语言语法允许用户把 这类标识符作其他用途, 这类标识符作其他用途,但这将使这些预定义标识符失去系 统规定的原意.鉴于目前各种计算机系统的 语言已经把这 统规定的原意.鉴于目前各种计算机系统的C语言已经把这 类标识符作为统一的编译预处理中的专用命令名使用, 类标识符作为统一的编译预处理中的专用命令名使用,因此 为了避免误解, 为了避免误解,建议用户不要把这些预定义标识符另作它用 或将它们重新定义. 或将它们重新定义. 上一页 返回 2.3 常量与变量 C语言中的各类数据类型都有常量和变量之分.常量用来表 语言中的各类数据类型都有常量和变量之分. 语言中的各类数据类型都有常量和变量之分 示数据的值.变量不但表示数据的值,也可用来存放数据. 示数据的值.变量不但表示数据的值,也可用来存放数据. 2.3.1 常量 所谓常量,就是在程序运行过程中其值不改变的量. 所谓常量,就是在程序运行过程中其值不改变的量.如: 21,'x',123.23,3.14e,3和"china"等.常量也 , , , , 和 等 有数据类型,根据常量的不同取值形式, 语言将常量分为 语言将常量分为5 有数据类型,根据常量的不同取值形式,C语言将常量分为 整型常量,实型常量,字符型常量, 种:整型常量,实型常量,字符型常量,字符串常量和符号 型常量. 型常量. 1.整型常量 整型常量 通常情况下,整型常量有4种表示形式 即二进制,八进制, 种表示形式: 通常情况下,整型常量有 种表示形式:即二进制,八进制, 十进制和十六进制. 十进制和十六进制. 下一页 返回 2.3 常量与变量 (1)二进制整数表示 ) 一个二进制数有两个特点: 一个二进制数有两个特点: ①它有两个不同的数码符号,即:0和1. 它有两个不同的数码符号, 和 . 等都是二进制数. ②它是逢二进位的.如:10101,1010等都是二进制数. 它是逢二进位的. , 等都是二进制数 通常,任意一个二进制整数 ,都可以表示为: 通常,任意一个二进制整数M,都可以表示为: 其中i表示数的某一位, 表示第 位的数码,它可以是0, 表示第i位的数码 其中 表示数的某一位,Mi表示第 位的数码,它可以是 ,1 表示数的某一位 中的任意一个, 为整数 的位数.式中2就称为计数制底数 为整数M的位数 中的任意一个,n为整数 的位数.式中 就称为计数制底数 (或称为基数 ,所以这是二进制整数. 或称为基数),所以这是二进制整数. 或称为基数 上一页 下一页 返回 2.3 常量与变量 将二进制数10101转换成十进制数. 转换成十进制数. 例2-2 将二进制数 转换成十进制数 转换过程如下: 转换过程如下: (10101)2=1×24+0×23+1×22+0×21+1×20=(2 × × × × × 1)10 (2)八进制整数表示 ) 一个八进制数也有两个特点: 一个八进制数也有两个特点: 个不同的数码符号, ①它有8个不同的数码符号,即:0,1,2,3,…,6和7; 它有 个不同的数码符号 , , , , , 和 ; 语言中, 开头. ②它是逢八进位的.在C语言中,以0开头.如:0123, 它是逢八进位的. 语言中 开头 , 056等都是八进制整数. 等都是八进制整数. 等都是八进制整数 上一页 下一页 返回 2.3 常量与变量 通常,任意一个八进制整数 ,都可以表示为: 通常,任意一个八进制整数B,都可以表示为: 其中i表示数的某一位, 表示第 位的数码,它可以是0~ 表示第i位的数码 其中 表示数的某一位,Bi表示第 位的数码,它可以是 ~7 表示数的某一位 中的任意一个, 为整数 的位数,式中的8就是基数 为整数B的位数 就是基数, 中的任意一个,n为整数 的位数,式中的 就是基数,故称 八进制整数. 八进制整数. 将八进制数372换成十进制数. 换成十进制数. 例2-3 将八进制数 换成十进制数 转换过程如下: 转换过程如下: (372)8=3×82+7×81+2×80=(250)10 × × × (3)十进制整数表示 ) 一个十进制数有两个特点: 一个十进制数有两个特点: 它有10个不同的数码符号 个不同的数码符号, ①它有 个不同的数码符号,即:0,1,2,3,…,8和 , , , , , 和 9; ; 它是逢十进位的. 等都是十进制整数. ②它是逢十进位的.如:123,456等都是十进制整数. , 等都是十进制整数 上一页 下一页 返回 2.3 常量与变量 通常,任意一个十进制整数 ,都可以表示为: 通常,任意一个十进制整数A,都可以表示为: 其中i表示数的某一位, 表示第 位的数码,它可以是0~ 表示第i位的数码 其中 表示数的某一位,Ai表示第 位的数码,它可以是 ~9 表示数的某一位 中的任意一个, 为整数 的位数,式中10就是基数 为整数A的位数 就是基数, 中的任意一个,n为整数 的位数,式中 就是基数,所以 这是十进制整数. 这是十进制整数. (4)十六进制整数表示 ) 类似于十进制,八进制有两个主要特点: 类似于十进制,八进制有两个主要特点: ①它有16个不同的数码符号,即:0~9和A,B,C,D, 它有 个不同的数码符号, ~ 和 , , , , 个不同的数码符号 E和F. 和 . 它是逢十六进位的, 语言中, 开头. ②它是逢十六进位的,在C语言中,以0X开头.如: 语言中 开头 0X123,0X18等都是十六进制整数. 等都是十六进制整数. , 等都是十六进制整数 上一页 下一页 返回 2.3 常量与变量 通常,任意一个十六进制数 ,都可以表示为: 通常,任意一个十六进制数C,都可以表示为: 其中i表示数的某一位,Ci表示第 位的数码,它可以是 ~F 表示第i位的数码 其中 表示数的某一位, 表示第 位的数码,它可以是0~ 表示数的某一位 中的任意一个, 为整数 的位数,式中以16为基数 为整数C的位数 为基数, 中的任意一个,n为整数 的位数,式中以 为基数,故称 十六进制整数. 十六进制整数. 例2-4 将十六进制数123转换成十进制数. 将十六进制数 转换成十进制数. 转换成十进制数 转换过程如下: 转换过程如下: (123)16=1×162+2×161+3×160=(291)10 × × × 上一页 下一页 返回 2.3 常量与变量 (5)十进制整数转换成非十进制数 ) 通常,十进制整数转换成非十进制整数,采用" 通常,十进制整数转换成非十进制整数,采用"整除基数倒 序取余数"的方法,即用十进制数不断除以相应的基数(如 , 序取余数"的方法,即用十进制数不断除以相应的基数 如2, 8和16)直至商为 为止.将所得余数,依次倒序排列,即可 直至商为0为止 和 直至商为 为止.将所得余数,依次倒序排列, 得到转换后的数制. 得到转换后的数制. 将十进制数的96转换成二进制数 转换成二进制数. 例2-5 将十进制数的 转换成二进制数. 转换过程如下: 转换过程如下: 所以与十进制96等值的二进制数是 所以与十进制 等值的二进制数是1100000. . 等值的二进制数是 上一页 下一页 返回 2.3 常量与变量 将十进制数的215转换成八进制数. 转换成八进制数. 例2-6 将十进制数的 转换成八进制数 转换过程如下: 转换过程如下: 所以与十进制215等值的八进制数是 等值的八进制数是327. 所以与十进制 等值的八进制数是 . 上一页 下一页 返回 2.3 常量与变量 将十进制数1234转换成十六进制数. 转换成十六进制数. 例2-7 将十进制数 转换成十六进制数 转换过程如下: 转换过程如下: 所以与十进制1234等值的十六进制数是 等值的十六进制数是4D2. 所以与十进制 等值的十六进制数是 . 上一页 下一页 返回 2.3 常量与变量 语言中整型常量不管是十进制, 在C语言中整型常量不管是十进制,八进制或十六进制,它 语言中整型常量不管是十进制 八进制或十六进制, 的数值范围为-2 的数值范围为 15~215-1.整型常量一般在微型机中占两 . 个字节. 个字节. 为了扩大整型数据的数值范围,C语言还提供了一种"长整 语言还提供了一种" 为了扩大整型数据的数值范围, 语言还提供了一种 型常量" 它的数值范围是 型常量",它的数值范围是-231~231-1,在微型机中占 ,在微型机中占4 个字节,但长整型数值后面通常要加" 或 个字节,但长整型数值后面通常要加"L"或"l".例如, .例如, 123L,78L等是长整型数.因此对于超出基本整型的数据, , 等是长整型数. 等是长整型数 因此对于超出基本整型的数据, 可使用长整型表示. 可使用长整型表示. 上一页 下一页 返回 2.3 常量与变量 2.实型常量 实型常量 实型常量又称为"浮点数" 有两种表示形式: 实型常量又称为"浮点数",有两种表示形式: (1)十进制小数表示形式 ) 它是由数字和小数点组成, 它是由数字和小数点组成,如:0.35,-0.56等都是十进制 , 等都是十进制 小数形式. 小数形式. (2)指数表示形式 ) 它是由尾数,字母 或 和指数 部分组成, 和指数3部分组成 它是由尾数,字母e(或E)和指数 部分组成,如:123e3 均表示123×103.但需要注意的是: 但需要注意的是: 或123E3均表示 均表示 × 之前必须有数字. ①尾数必须存在,即e(或E)之前必须有数字. 尾数必须存在, 或 之前必须有数字 ②指数必须是整数. 指数必须是整数. 上一页 下一页 返回 2.3 常量与变量 一个实数既可以用十进制小数表示,也可以用指数形式表示, 一个实数既可以用十进制小数表示,也可以用指数形式表示, 甚至可以有多种指数表示形式,例如1234.56可以表示为 甚至可以有多种指数表示形式,例如 可以表示为 1.23456e3,12.3456e2和0.123456e4等多种形式. 等多种形式. , 和 等多种形式 但所有这些表示形式中,只有1.23456e3是 "规范化指数 但所有这些表示形式中,只有 是 形式" 即在尾数中,小数点左边只有一个非零数字, 形式",即在尾数中,小数点左边只有一个非零数字,一般 地在C程序中一个实数在用指数形式输出时 程序中一个实数在用指数形式输出时, 地在C程序中一个实数在用指数形式输出时,都是按规范化 形式输出的.实型常量通常在微型机中占4个字节 个字节. 形式输出的.实型常量通常在微型机中占 个字节. 3.字符型常量 字符型常量 字符型常量是用单引号括起来的一个字符, 字符型常量是用单引号括起来的一个字符,通常在微型机中 占一个字节, 等都是字符型常量. 占一个字节,如' a',' *',' A' 和 ' 3' 等都是字符型常量. , , 需要注意的是: 语言中 字符区分大小写, 语言中, 需要注意的是:C语言中,字符区分大小写,且空格也是一 个字符. 个字符. 上一页 下一页 返回 2.3 常量与变量 指出下面不合法的常量. 例2-8 指出下面不合法的常量. 分析:从上面的4个选项可以看出 和C.是字符常量,选项 分析:从上面的 个选项可以看出A.和 是字符常量, 个选项可以看出 是字符常量 A.是一个普通的八进制转义字符 ASCII码值是 A.是一个普通的八进制转义字符,ASCII码值是2,C.仅由 是一个普通的八进制转义字符, 码值是2,C.仅由 两个连续的单引号组成,不是正确的字符常量,不过, 两个连续的单引号组成,不是正确的字符常量,不过, Turbo C 2.0之前的 语言版本不能检测出此类错误.B.和 之前的C语言版本不能检测出此类错误 之前的 语言版本不能检测出此类错误. 和 D.是字符串常量,由于 语言中允许空字符串,B.是正确的. 是字符串常量, 语言中允许空字符串, 是正确的 是正确的. 是字符串常量 由于C语言中允许空字符串 D.初看起来像是一个八进制的转义序列,但其中的数字8超 初看起来像是一个八进制的转义序列,但其中的数字 超 初看起来像是一个八进制的转义序列 出了八进制的范围,所以D.是不合法的常量 是不合法的常量. 出了八进制的范围,所以 是不合法的常量. 除了上述形式字符常量外,C还允许用一种特殊形式的字符 除了上述形式字符常量外, 还允许用一种特殊形式的字符 常量,就是以反斜杠" 开头的字符序列, 常量,就是以反斜杠"\"开头的字符序列,由于该形式将 反斜杠后面的字符序列转换成另外的含义,故称之为转义符. 反斜杠后面的字符序列转换成另外的含义,故称之为转义符. 所示的是常用转义字符. 下表2-1所示的是常用转义字符. 所示的是常用转义字符 上一页 下一页 返回 2.3 常量与变量 注意: 表示的含义是不同的, 注意:"A"和' A' 表示的含义是不同的,"A"为字符串 和 为字符串 常量, 是字符常量.字符' 常量,而' A' 是字符常量.字符' \234' 的值为 (234)8=156,不是 = ,不是234.字符 ' \x34 ' 的值为 . (34)16=52,不是 . = ,不是34. 在C语言中,字符是按其所对应的ASCII码值来存储的,一 语言中,字符是按其所对应的 码值来存储的, 语言中 码值来存储的 个字符占一个字节.例如字符' : 个字符占一个字节.例如字符' A': 字符常量是由单引号引起的一个字符, 字符常量是由单引号引起的一个字符,同时该字符常量也可 以用整数来表示(ASCII码值 .故其输出形式有两种,既可 码值).故其输出形式有两种, 以用整数来表示 码值 以输出字符本身,也可输出其ASCII码值. 码值. 以输出字符本身,也可输出其 码值 上一页 下一页 返回 2.3 常量与变量 写出下面程序的输出结果. 例2-9 写出下面程序的输出结果. #include main ( ) { char ch=′A′; /* 定义 为字符变 定义ch为字符变 同时赋初值′A′*/ 量,同时赋初值 printf(〃\c,%d,%o〃,ch,ch,ch); /*分别以字符,十 分别以字符, \ 分别以字符 进制,八进制形式输出ch*/ 进制,八进制形式输出 } 运行结果为: 运行结果为: A,65,101 上一页 下一页 返回 2.3 常量与变量 4.字符串常量 字符串常量 字符串常量就是用一对双引号括起来的若干字符序列. 字符串常量就是用一对双引号括起来的若干字符序列.如: \\" "china","c program\n","\\ , \ , \\ok!\\"和"a" \\ 等都是字符串常量. 等都是字符串常量. 一个字符串中所含字符的个数称为该字符串的长度,例如: 一个字符串中所含字符的个数称为该字符串的长度,例如: "TURBO"和"T\\ 和 \\ABC\\ 的长度分别是5和6,但它们 \\"的长度分别是 和 , \\ \\ 的长度分别是 在微机中所占字节数分别是6和7. C语言中字符串在微机 在微机中所占字节数分别是6和7.在C语言中字符串在微机 中所占的字节数不等于字符串的长度是因为C规定 规定: 中所占的字节数不等于字符串的长度是因。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
画出
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
第二章 程序设计和程序结构
函数体内的说明语句不能放在可执行语句中间, 在下面的例2-3中,
main() 一般放在一个源文件的最前头。
如果在程序中还有其它函数,它们也是
直接或间接地被main()调用。 函数是C语言程序的基本单位。
C语言程序设计
第二章 程序设计和程序结构
2.3.2 函数的一般结构
任何函数(包括主函数main())都是由函数 头和函数体两部分组成。其一般结构如下:
[函数类型] 函数名([函数参数表]) */ { /* 函数头部分 /* 函数体部分*/
int x,y;
x=3; y=6;
/*说明语句:定义2个整型变量x、y*/ /*可执行的赋值语句:将3赋值给x*/ /*可执行的赋值语句:将6赋值给y*/ /*说明语句:定义一个整型变量 max */
int max;
max=x>y?x:y;
printf("max=%d\n",max); }
C语言程序设计
条件
C语言程序设计
第二章 程序设计和程序结构
(2)设计算法:根据题目要求,设计合理 的算法。对于复杂的问题,一般都需经过 抽象后再建立数学模型,即对问题进行数 学上 的描述,使问题变得简明而有效。 (3)选择合适的程序结构:根据算法和所 用的计算机语言特点,确定程序结构。
C语言程序设计
第二章 程序设计和程序结构
C语言程序设计
第二章 程序设计和程序结构
程序源代码如下:
/*代码文件名:E2_2.C*/ /*程序功能:实现两个整数的相加*/ #include "stdio.h" main( ) {
int num1,num2,sum;
printf("Input the 1st integer number: "); scanf("%d", &num1); printf("Input the 2nd integer number: "); scanf("%d", &num2); sum=num1+num2; printf("sum=%d\n",sum); }
(4)确定变量及其数据类型: 一般的程序都会用到变量,根据问题的条件 、
处理过程、结果要求所涉及到的所需的各种数据, 选用适当的变量形式来描述、处理。正确 、合理、经济地处理所需的变量,是计算机应 用技术的基本功之一。
C语言程序设计
第二章 程序设计和程序结构
(5)画流程图
详细思路
(6)编写代码
体 现
C语言程序设计
第二章 程序设计和程序结构
2.3 程序结构
一个完整的C语言程序的组成
一个main()函数 或 若干个其它函数 一个main()函数
C语言程序设计
第二章 程序设计和程序结构
• 如果一个程序中有多个源文件,则main() 只能在一个 源文件中存在 。在第二章至
第五章的例题中,主要以只有一个 main()
放在由“/*”和“*/” 对构成的注释部分中
接下来给出以“#include”开始的预处理命令 行
指定程序中要调用的函数printf()所在的头 文件;
接下来是main()函数,将所有需要程序完 成的语句均放在
以‘{’、‘}’括起来的函数体内,本程序中 只有一条语句,用来在屏幕显示信息。
C语言程设计
第二章 程序设计和程序结构
算法具有如下性质:
(1)有穷性 (2)确定性 (3)有效性 (4)有0个或多个输入 (5)有一个或多个输出 另外,算法还应有清晰、直观的表示方 式,以利于算法的理解、维护。
C语言程序设计
第二章 程序设计和程序结构
描述算法的方法 (1)自然语言 (2)N-S图 (3)结构化流程图 在实际编程过程中
3. 程序中有一个main(),在其后面有一
对‘{’、‘}’,在‘{’、‘}’中有多行以
‘;’结尾的语句。 main()函数是C语言程序的主函数,一个 程序有且只有一个main()主函数。
C语言程序设计
第二章 程序设计和程序结构
不论它在程序前面还是后面,整个程序总是从
main() 函数开始执行; main() 执行完毕时,程序也执行完毕。
输入\输出
判断 预定义过程 连接点
数据的输入与输出
根据条件选择相应的 分支 一个定义过的过程, 如函数 与流程图其它部分连 接
连接各图框,表执行顺 序
流程线
C语言程序设计
第二章 程序设计和程序结构

在长期的程序设计实践中,人们提
• 出了结构化的流程图,即一个流程图都 可以由三种基本的结构(顺序、选择、 循环)组成,程序设计语言对这三种结
C语言程序设计
第二章 程序设计和程序结构
用程序实现对一个具体问题的处理,往往基于 手工处理的方式,也就是设计人员对实际问题 的分析。 在算法设计之前 首先,要认真考虑和设计数据的组织方式 然后,再针对此数据结构设计相应的操作步骤 计算机中的算法可以更简洁地表示繁琐的手工 操作过程。
C语言程序设计
应先分析题意 画出流程图 再进行编程
初学者可以从流程图开始
C语言程序设计
第二章 程序设计和程序结构
2.2流程图
• 流程图是用几何图形、箭头和文字说明 来表示算法的框图。
直观 描述 算法 清楚的表达 设计者的思路
形象
表2-1 程序流程图符号
图形符号
名称
起止 处理
操作
流程的起点与终点 各种形式的数据处理
C语言程序设计
第二章 程序设计和程序结构
2.1 程序设计与算法
2.1.1程序设计的概念
1. 程序包括对数据的描述和对数据处理的 描述
程序 包 括
数 据
数据处理
C语言程序设计
第二章 程序设计和程序结构
• (2)对数据处理方法的明确描述,即算 法,是程序的灵魂,是程序设计的核心。 著名计算机科学家 沃思(Nikiklaus Wirth)
数据结构
+
算法
=
程序
C语言程序设计
第二章 程序设计和程序结构
实际上,一个程序除了数据结构和算 法外,还必须使用一种计算机语言来实现 ,C语言就是这样的一种计算机语言。
C语言程序设计
第二章 程序设计和程序结构
• 2. 程序设计过程
问题
认真
分析
明确
似是而非 简单化
分析详尽
避免
描述准确
力求
系统目标
内容
说明语句部分;
执行语句部分; }
C语言程序设计
第二章 程序设计和程序结构
1、函数头
函数头由函数类型(可缺省)、函数名
和函数参数表(可缺省)三部分组成。
2、函数体 在函数说明部分的下面、大括号(必须配对
使用)内的部分。函数体一般由说明 语句
和可执行语句构成:
C语言程序设计
第二章 程序设计和程序结构
定义语句“int max;”的位置就是非法的:
例2-3 一个位置错误的定义语句。
编程思路:函数中的说明语句只能放在可 执行语句之前,本程序给出了一个位置错 误的定义语句。
C语言程序设计
第二章 程序设计和程序结构
程序源代码如下:
/*代码文件名:E2_3.C*/ /*主函数main()*/ #include "stdio.h" main() { /*头文件说明*/
例2-2 求两个整数的和。
编程思路:要求两个整数的和,首先必须 存在两个整数,因此先定义两个整数 : 程序中用整型变量来表示 再从键盘输入两个整数,然后将两个数 相加,最后在输出两个数的和
如果没有输出,就不知道结果
当然,还得定义一个整型变量存放两数之和。
在main()函数中,对变量的定义要放在输入、相 加、输出等可以执行的语句前面。
函数的程序进行讲解 ;第六章开始 ,我
相关文档
最新文档