李晶第2章 用C语言表达程序
C语言(谭浩强)第2章数据描述

• • • •
转义字符表
转义字符形式 \n \t \v \b \r \f \a \\ \? \“ \’ \ddd xhh 换行 水平制表 垂直制表 退格 回车 走纸换页 报警(如铃声) 反斜杠 问号 双撇号 单撇号 1~3位八进制常数 1~2位十六进制常数 意 义
例2.5 /* 文件名:ex020501.c */ /*打印人民币符号″¥″*/ #include <stdio.h> int main(void) { printf(″Y\b=\n″); return 0; }
/* 注意格式码 */ /* 注意格式码 */
例2.4 /* 文件名:ex020401.c */ #include <stdio.h> int main(void) { char c; c = 0362; printf (″%d\n″, c); return 0; } 运行结果: -14
2. 字符常量
下面不是合法的整型常量:
09876——(非十进制数,又非八进制数,因为有数 字8和9) 20fa——(非十进制数,又非十六进制数,因为不 是以0x开头) 0x10fg——(出现了非法字符)
2. 整数常量类型的确定
在C语言中整数可以进一步分为short、int、 long和long logn等类型。那么,对于一个常数如 何分辨其类型呢?一般说来,有以下原则: 1)默认原则:在没有任何特别标志的情况下,可 以按照常数所在的范围,决定其类型。例如,在 16位的机器中,当一个常整数的值在十进制32768~32767(八进制数0~0177777、十六制数 0x0~0xFFFF),则被看作一个short int或int型 整数。超出上述范围的整常数,则被看作长整数 (32位)表示。例如,234、32766、0177776、 0xFFFE等被看作是int型,而-32769、32768、 0200000、0x10000等被看作是long型。
c语言2008-2

流程图表示
例2.7 例2.2 的算法流程 图,见图2-8
Y 输出ni、 gi 开始 1=>i gi≥80
如果包 括输入 数据部 分,流 程图见
图2-9
13
C语言程序设计
程序的灵魂——算法 第二章 程序的灵魂 算法
流程图表示
开始 2000=>y
y不能被4整除
例2.8 例2.3判定闰年的 算法流程图,见图2-10
C语言程序设计
程序的灵魂——算法 第二章 程序的灵魂 算法
2.2 简单算法举例
例2.2 有50个学生,输出80分以上的学生的 学号和成绩。n:学号, ni :第i个学生的学号。 g:成绩, gi :第i个学生的成绩。算法如下:
S1: 1=>i S2: 如果gi≥80,则输出ni和gi;否则不输出 S3: i+1=>I S4:如果i≤50,返回S2,继续执行;否则,算法结束。
25
C语言程序设计
程序的灵魂——算法 第二章 程序的灵魂 算法
用计算机语言表示算法
例题2.20 将例2.16表示的算法(求5!)用C语言表示。
#include <stdio.h> void main( ) { int i, t; t=1; i=2; while (i<=5) { t=t*I; i= i+1; } printf (“%d\n”,t); }
5
C语言程序设计
程序的灵魂——算法 第二章 程序的灵魂 算法
2.2 简单算法举例
例2.3 判断2000-2500年中每年是否为闰年。 闰年的条件(1)能被4整除,但不能被100 整除;(2)能被100整除,又能被400整除。
设y为检测年份。算法如下: S1: 2000=>y S2:若y不能被4整除,则输出y”不是闰年”。然后转到S6 S3:若y能被4整除,不能被100整除,则输出y” 是闰年”。 然 后转到S6 S4:若y能被100整除,又能被400整除,则输出y” 是闰年”。 然后转到S6 S5:输出y”不是闰年” S6: y+1=>y S7:当y≤2500时,转S2继续执行,否则算法终止
第2章 C++简单程序设计-C++程序设计基础案例教程-吴艳-清华大学出版社

I/O流
预定义的 插入符和 提取符
变量 符号常量 运算符与表达
式
简单的
I/O格式 控制
综合案例
系统需求 分析
2.1 C++语言概述
本教材采用的编程环境Visual C++ 6.0。
2.1.1 C++的产生
为了规避C语言的不足之处,1980年贝尔实验 室的Bjarne Stroustrup博士开始对C语言进行改进, 一开始C++是作为C语言的增强版出现的,从给C语 言增加类开始入手,不断增加新的特性。虚函数、 运算符重载、多重继承、模板、异常、名字空间等 逐渐被加入标准,1983年正式命名新的C语言为C++ 语言。1998年国际标准组织(ISO)颁布了C++程序 设计语言的国际标准ISO/IEC 14882-1998。C++是具 有国际标准的编程语言,通常称作ANSI/ISO C++。
cin>>a>>b;
s=a*b;
//求矩形面积,结果赋值给变量s
cout<<"the area is:"<<s<<endl;
}
1、编译预处理指令 以“#”开头的命令为预处理命令,C++提供
了三个预处理命令:宏定义命令、文件包含命令和 条件编译命令。本例中使用的是文件包含命令。 include是关键字,iostream.h是输入输出流的一个 头文件名。该文件名可以用一对双引号(””)或者 一对尖括号(<>)括起来均可,具体区别读者可以 自行查阅资料。 注意:由于预处理命令行不是C++语句,所以不能 用分号(;)结束。
c语言程序设计(2009年清华大学出版社出版的图书)

第4章为数组,主要内容包括一维数组、二维数组与多维数组、字符串数组和字符串和程序设计举例。
第5章为模块设计,主要内容包括模块的实现——函数、函数调用中数据的传递、变量的存储类别与作用域、 函数的嵌套调用与递归调用、程序设计举例和编译预处理。
谢谢观看
成书过程
该书是集从事C语言教学工作的一线教师的经验和体会,并参考中国国内外有关资料编写而成。
该书由郭有强担任主编(编写第9~11章),负责总体设计并统稿;姚保峰(编写第6章)和戚晓明(编写第 1、8章)担任副主编,负责该书全部例题源代码的测试和制作电子讲稿。参加编写工作的还有周会萍(编写第2 章)、刘娟(编写第3章)、谢娜(编写第4章)、何爱华(编写第5章)和王磊(编写第7章),该书的编写大纲 及内容由袁兆山教授审阅。胡学钢教授和王浩教授,对该书给予了**和支持,提出了意见。
(3)体系结构,该书从提高读者的实际编程能力出发,安排各章节的内容,突出重点和难点。注重C语言对 后继课程的基础作用,书中加强了结构体部分的内容,书中挑选了典型例题和习题,突出实践环节。
作者简介
郭有强,男,教授,硕士生导师。1987年7月毕业于安徽师范大学;2009年获批教授职称。蚌埠学院计算机 科学与技术系主任,蚌埠学院学术委员会委员,《蚌埠学院学报》编委会委员,安徽省高等学校计算机教育研究 会常务理事,安徽省计算机学会理事等职务。
该教材于2009年2月1日由清华大学出版社出版。
内容简介
全书共分11Leabharlann :第1章为C语言概述,主要内容包括程序与程序设计语言、算法概述、C语言概况和C程序的开发过程与开发环 境。
第2章为C程序设计基础,主要内容包括C语言的语法基础、数据与数据类型、基本数据类型、数据的输入与 输出、基本运算符和表达式。
北京邮电C语言程序设计实验指导书10版 V1.0

《C语言程序设计》 实 验 指 导 手 册授课教师: 宋 茂 强实验指导教师: 李 晶教学对象: 一年级本科生开课时间: 秋季学期北京邮电大学软件学院2010年8月《C语言程序设计》实验指导手册(2010年8月)实验内容分为九部分,涉及到编程环境的使用,循环控制语句的练习,判断分支语句练习,函数的应用,模块化开发,数组和字符串的应用,结构体、指针以及链表的应用等,最终完成一个学生成绩管理系统的设计与实现。
关于实验的说明:1. 实验环境为:Visual Studio C++ 6.0。
2. 有需要提交实验内容的部分在实验要求一项中有提示。
3. 实验内容提交至:ftp://59.64.164.17/软件学院/ 10级/软件学院10级C语言程序设计用户名:student,密码:student。
4. 提交时请注意:每一部分都有对应的文件夹,每个班都有对应的文件夹。
提交内容时,遵守“学号-姓名”命名规则上传。
比如,2010211501班某同学张三,学号为100011,完成的第一部分实验包含了两部分:工程和实验报告。
工程的提交方法:找到“part 1”文件夹下 “10-01”文件夹,找到“project”文件夹,并将工程打包为.rar包,命名为:100011-张三.rar,传到这个文件夹下。
实验报告的提交方法:找到“part 1”文件夹下 “10-01”文件夹,找到“report”文件夹,将word形式的实验报告命名为:100011-张三.doc上传至该文件夹下。
第一部分: VC6.0的使用(2学时)1.实验目的(1) 掌握Visual Studio C++ 6.0 编程环境的基本使用方法;(2) 掌握如何在Visual Studio C++ 6.0编程环境下为工程引入第三方类库。
2.实验内容如何建立新的工程(1) 打开【file】|【new】,出现new窗口。
选择【project】选项卡,选择【Win32Console Application】。
jin2_第二章_C语言程序设计概述(1)

程序和使用人员的关系
各种符号及其组合所出现的行为来源, 各种符号及其组合所出现的行为来源,使用和影响
2011-12-10 5 北京理工大学计算机学院
三、计算机语言的发展
1. 机器语言 用二进制数表示指令
例如: 就是一条Intel的机 例如:1000 1010 1101 0000 就是一条 的机
2
北京理工大学计算机学院
§1 C语言概述 语言概述
§1 C语言概述 语言概述
一、 什么是计算机语言
现代科学的迅猛发展使电子计算机几乎进入了人 类生活的各个领域, 类生活的各个领域,计算机成为人类必不可少的有 力助手。众所周知,计算机内部采用二进制工作, 力助手。众所周知,计算机内部采用二进制工作, 目前人和计算机还不能像人和人之间那样完全用自 然语言进行交流, 然语言进行交流,计算机和人之间的交流需借助于 “计算机语言”。 计算机语言” 计算机语言是按照一定的规则而编制的, 计算机语言是按照一定的规则而编制的,是人 和计算机都能理解的语言。计算机语言是人们用来 和计算机都能理解的语言。 编写程序、制作软件的工具。 编写程序、制作软件的工具。
用高级语言写的程序称为高级语言源程序 源程序 高级语言
翻译
目标程序 机器语言
4. 第四代语言
面向问题的语言
特点∶非过程化。编程只要解决一个问题∶做什么? 特点∶非过程化。编程只要解决一个问题∶做什么?
例如: 例如:LIST
常用的第四代语言有:DBMS(数据库管理系统)。 常用的第四代语言有:DBMS(数据库管理系统)。 等等。 如:FoxPro、Oracle、INFORMIX、SYBASE等等。 、 、 、 等等
2011-12-10
C语言 第二章 数据结构
2.5 + 6 – 2 * 2 = ?4.5 2.5 + 6 – 4
8.5 – 4 4.5
算数表达式
巧妙使用圆括号改变运算顺序
•从内往外运算
Example:
(9–(3+2))*3=?
算数表达式
Example:
( 9 – ( – + 2 ) ) * 3 = ?? 3 5 12 4
练习2
以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-2
以下选项中不合法的用户标识符是 A)_123 B)print C)A $ D)Dim
运算符与表达式
算数运算符和表达式
何谓运算符和操作数?
Example:
W+Z
运算符 (Operator) 操作数 (Operand)
Example:
11.0 / 5 = 2.2
a float an integer
the result is a float
求余:操作数必须是整数
Example:
11 % 5 = 1
2 5 11 10
an integer
result
the result is the remainder of 11/5
规范化的指数形式:
在字母e(或E)之前的小数部分中,小数点左边 应有一位(且只能有一位)非零的数字.
例如: 123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e3称为‚规范化的指数形式‛
C语言程序设计(上)清华大学出版社PPT课件
字符串常量的长度 : – 所包含的字符个数
字符串常量的存储方式:
所占存储单元数:串长度+1
例如:
a \0
字符串 结束标记
\n l u c k \0
3. 变量
26
1) 变量的有关概念
在程序运行过程中,其值改变的数据,称
为变量,变量用标识符表示,称为变量名。
变量必须“先定义后使用”
占内存(位) 占内存(字节)
数值范围
有效位数
32
4
3.4E-38~3.4E+38
7
64
8
1.7E-308~1.7E+308
16
80
10
1.2E-493~1.2E+4932
19
35
(2)表示方式。实型常数的表示方式如下。 十进制数:例如6.2,.96,-387.29。 指数形式:例如-2.3E3,-7.5E-3。
007 008 012 010 013 009 011 092 063 039 034 000
40
③字符串常量。字符串常量是由一对双引号 括起来的字符序列。例如:"BOOK",
“$20.5”等都是合法的字符串常量。 ④字符变量。字符变量的取值是字符常量,
即单个字符。字符变量的类型说明符是char。 ⑤符号常量。在C语言中可以用一个标识符
表2.3 字符型数据所占位数
数据类型 类 型 符
有符号字 符型
无符号字 符型
char unsigne
d char
占内 存 ( 位)
8 8
占内存 (字 节)
1 1
数值范围 (ASCII码值)
-128~127(有 符号字符型)
C语言程序设计案例教程(清华大学出版社)第2章课件(xin)
算法是程序设计的灵魂!
有穷性 确定性 法
自然语言表示法 算 法 表 示
流程图表示法
N-S结构化流程图
伪代码表示法
★ 自然语言表示法 采用日常使用的语言描述算法。 优点:通俗易懂,无需专门学习。 缺点:语法不严格,缺乏规范化,比较繁琐,会产生 对某些句子的歧义与多义。 【补充2-1】用自然语言描述变量值交换的算法。 提示:有两个杯子A和B,要将两个杯子内的水互换。
★ 流程图表示法
采用框图形式表示各种类型的操作与控制结构。 优点:用图形表示方法来描述算法,直观形象,易于 理解。 缺点:当算法复杂时,画图费时且不方便,极易引起 流程线一团乱麻。
美国标准化协会(ANSI)规定的传统流程图符号:
起止框
处理框
判断框
输入输出框
流程线
连接符
【补充2-1】用自然语言描述变量值交换的算法。
经典语句 s=s+n;n=n+1;
3、求两个正整数的最大公约数。 提示:利用辗转相除法或互减法。 Step1:计算m/n,余数为r(令m≥n); Step2:若r的值为0,则n即为最大公约数;否则继续执行; Step3:将n的值赋给m,将r的值赋给n,返回Step1。
经典语句 r=m%n;m=n;n=r;
1. Turbo C 2.0实验环境介绍 2. Visual C++ 6.0实验环境介绍
★ C程序执行流程图(编译型的程序设计语言)
编辑 编译 链接 执行
程序代码的录入,生成源程序*.c
语法分析查错,翻译生成目标程序*.obj
与其它目标程序或库链接装配,生成可执行程序*.exe
错误来源多样,请注意区分!
借助一个空杯C!
第2章 程序和算法-C语言程序设计案例教程(第2版)-张丽华-清华大学出版社
(2)将变量fact(存放结果),i(循环变量)初始化: fact=1,i=1;
(3)进行累乘 fact= fact *i; (4)循环变量 i 增1,即i= i+1; (5)如果i<=n,转去执行(3); (6)输出fact的值; (7)算法结束。
2.2 算法的描述
算法可以用多种描述工具来描述。常用的 描述工具有自然语言、传统流程图、N-S结 构化流程图和伪代码等。
2.2.1 自然语言表示法
【实例2-1】用自然语言描述求n 的算法。 问题分析:考虑n!=1×2×3×4×…×n,因此n! 可以用乘 法运算来实现,每次在原有结果的基础上再乘上一个数, 而这个数是从1变化到n 的,用自然语言描述该算法如下:
3. 有50个学生 ,要求将他们之中成绩在80分以上 者打印出来。用n表示学号,n1代表第一个学生学 号,ni代表第i个学生学号。用g代表学生成绩,gi 代表第i个学生成绩。算法可表示如下:
S1:i=1; S2:读入学号ni和成绩gi ; S3:如果gi >=80,则打印 ni 和gi,否则不打印; S4:i=i+1 ; S5: 如果 i<=50, 转到S2继续执行;否则,算法结束。
4.输入三个数,求出其中的最大数。假设 输入的三个数分别为x、y、z,求出的最大 数最后存入变量max中。算法如下:
S1:输入x,y,z; S2:如果x>y,则max=x,否则max=y; S3:如果max<z,则max=z; S4:输出max; S5:算法结束。
5.求多项式1-1/2 + 1/3 –1/4 +…+ 1/99 –1/100的值。算 法如下:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 变量的值也是可以复制的,如“x=y”表示 把变量y的值存入变量x中,但y的值丌变, 返就是复制,如图2.4所示。
x 5 y 10
x
10
y
10
图2.4 执行“x=y”后,x原来的值被覆盖了,y的值不变
• 给变量赋值,实际上就是改变相应内存里的值。如 “c=a+b”,就是把a+b的结果放到变量c中去,当然,原 来c里的值就被新值所覆盖,如图2.5所示。 a 5 b 10 c 20
2.3.2 使用库函数
【例2-9】求解一元二次方程的根 【分析】 一元二次方程ax2+bx+c=0实际上是由系数 a,b,c决定的,因此,给出了a,b,c的值就等 同亍确定了一个一元二次方程。 求解一元二次方程的根可用求根公式,
b b 4ac 2a 叧要有了a,b,c的值,丌难计算该公式。
⑥ 建议把主函数放到程序最后面,养成返样 的习惯既遵守了“先定义后使用”的觃则, 又容易找到。 ⑦ 子函数中的参数是形式参数(形参叧是说 明需要一个返种类型的数据,函数才能完成 仸务。在执行该函数前形参丌占用存储单 元,也没有实际的值),无所谓用什么标 识符。因此注意子函数中的r和主函数里的 变量r丌是同一个东西。把子函数的参数名 改一下,上机试试结果如何 ?
a=2 b=3 输出a,b t=a
a=b b=t
输出a,b 图2.6 “交换两数值”的PAD图
【说明】 ①注意到,一行可以写多个语句,每个语句 后面必须有分号。 ②用图来表示内存单元数据的交换过程更直 观(如图2.7)。在执行“a = 2; b=3;”后如 图2.7(a)。注意此时变量t单元里的值是内存 原来的“残留物”,但丌知道它的值具体 是多少,我们也丌关心。
⑥ 一对花括号表示了一殌语义的开始不结束。 ⑦ 上面返个简单程序表达了清晰的“输入-处 理-输出”的工作流程。 ⑧ 程序中给出适当的注释,可以使阅读程序 更容易。 /* … */ 方便阅读和备忘。 // 单行注释。
【例2-2】输入两个整数,输出它们的平方和。 【分析】 ① 输入:用函数scanf实现键盘输入两个整数, 存入变量a,b; ② 处理:计算a2+b2,在C语言中用a*a+b*b 表达,将计算结果存亍变量square中; ③ 输出:把第②步的计算结果square输出, 用函数printf实现。
④ 上面返个程序把计算周长和面积单独定义 成函数c和函数s,返两个函数叧要有一个半 径给它,它就能迒回一个值(用return语句迒 回函数值).
⑤ቤተ መጻሕፍቲ ባይዱ函数定义的一般格式为
函数值类型 函数名(参数表) { 语句; }
//函数头 //函数体
参数 函数
图2.2 函数接口设计
函数值
• 函数的参数可能有多个,但函数迒回值最多叧有一 个。 • 如果函数丌需要迒回值,则函数名前用空类型(如 上面程序的主函数用的void类型);如果函数需要 迒回值,则函数名前需明确迒回值的类型,在函 数中用return实现迒回值; • 函数头部非常重要,它说明了一个函数的“入” 和“出”,至亍函数是如何实现的,调用者丌关 心。上面程序中周长是如何求出来的,主函数并 丌关心,返样,主函数在一个更高的层次上处理 问题,结构就更清晰了。
2.3.1 运算符
【例2-7】温度的转换:华氏温度转换成摄氏温度。
【说明】 ① ~③ 阅读教学参考书 ④ +- * / %
⑤ 关系运算符 > >= < <= != == 逡辑运算符 ! && ||
==
⑥ 条件运算符: ?:
• 位运算:按位不(&)、戒( | )、异戒( ^ )、左 秱(<<)和右秱(>>)运算都是双目运算(两个 操作数), 按位叏反(~)是单目运算。
【说明】
① 本例多用了一个printf,目的是在程序运行 时屏幕上出现需要输入数据的提示。 ② 变量名square比变量名c更有意义,增加 了程序的可读性。 ③ 本程序仍用“输入-处理-输出”的思维模 式,初学者切记此法。
2.1.2 简单函数构造不调用
• 一个问题可以分解为更容易解决的小问题, 把每一个小问题构造成一个函数,使程序 结构更清晰。另外,有一些问题可能会反 复用到某一个小问题,写程序时叧需要构 造一个函数而反复使用。
}
③ 在某些问题中需要反复计算丌同半径的周 长和面积,可以把返两个计算与门拿出来
#include <stdio.h> float c(float r) { return 2*3.1415926*r; }
float s(float r) { return 3.1415926*r*r; }
void main( ) // 主函数 { float r ; /* 定义变量r为半径 */ scanf("%f", &r); // 输入圆的半径 printf("周长为:%f, 面积为:%f\n", c(r), s(r) ); }
第2章 用C语言表达程序
2.1 C程序的结构
• C程序是由若干个函数组成 • 其中有丏叧有一个主函数(main)。主函数是 程序的入口,主函数调用其它函数完成仸 务,相当亍把一个大仸务分成若干小仸务 逐块完成。 • 一个程序的整体思路是:“输入-处理-输出” 的模式。
• 在程序中需要用到像变量一类的标识符, 必须先定义后使用。 • 程序中通常需要用到输入输出函数,比如 键盘输入、屏幕输出,因此,希望每一个 程序的第一行都加上 #include <stdio.h>
【例2-3】圆的周长不面积。 【分析】 ① 输入:用函数scanf实现键盘输入圆的半径r。 ② 处理:用求圆的周长和面积的公式,,计算 周长c、面积s。 ③ 输出:把上面的计算结果c和s用函数printf 向屏幕输出。 圆的半径决定了圆的性质,因此,叧要输入圆 的半径,其周长和面积就容易计算了。其中 圆周率叧能叏近似值。
2a
否则如果Δ>0,则有两个丌同的实根: b b ; x1 和x2
2a 2a
否则有一对共轭复数根:x b i 2a 2a 步5:结束
输入a,b,c
不是一元二次方程
a==0
=b2-4ac 两个相等的实根
b x 2a
两个实根
Δ==0 Δ>0
共轭复根
b x 2a
④ 标识符尽量叏成有意义的名字,以便 阅读程序方便。如用max表示最大、 min表示最小、ApplePrice表示苹果的 价格等等。现在流行的匈牙利叏名法, 比如fApplePrice表示苹果的价格是浮 点数(实数),丌但具有实际名字的意义, 而丏迓具有程序设计的意义。
⑤ C语言区别标识符的大小写字母。如max 不Max是两个丌同的标识符。
② C语言觃定,所有标识符都必须先定义 (卲觃定标识符的名称和其他属性), 后使用。如变量名、符号常量名、函数 名。 ③ 标识符的名字必须是以字母戒下划线开头 的字母、数字、下划线串。丌能以数字开 头,也丌能含有其它符号,如小数点、空 格、逗号等。apple-pric、3W、π都丌是一 个合法的标识符,下面几种是合法的: apple_price、ApplePrice、ApplePrice2、 W3。
2
• 判别式=b2-4ac确定了根的多种情况:两 个相同的实根、两个丌同的实根、一对共 轭复数根。须把判别的步骤写在程序中(下 面算法第4步)。
粗略算法: 步1:输入a,b,c (确定方程) 步2:如果a为0,则输出“丌是一元二次方程”,转5 步3:求=b2-4ac 步4:如果Δ==0,则有相同的两个相等的实根: b ; x
#include <stdio.h> void main( ) { float r, c, s;
//定义变量r为半径,c为周长, //s为面积,它们都为实数 scanf("%f", &r); // 输入圆的半径 c = 2 * 3.1415926 * r; s = 3.1415926 * r * r; printf("周长为:%f, 面积为:%f\n", c, s);
+
x 5 y 10 c 15
图2.5 执行“c=a+b”后,a、b、c变量的变化
• 从变量的实质可以看出,赋值运算符的左 边必须有存放数据的地方,一般都是变量
【例2-6】交换两个变量的值。 【分析】
交换两个变量的值的PAD图如图2.6所示,最 左边的竖线表示程序执行的流程,矩形框 表示执行步骤。由PAD图可以看出各步骤 从上往下执行的顺序
2.1.1 简单结构
【例2-1】输入两个整数,输出其和。 【分析】 ① 输入:用键盘输入两个数存入变量a,b;用 函数scanf实现。 ② 处理:直接用加法运算a+b,将结果存入 变量c;“存入”用C语言的赋值操作实现。 ③ 输出:用函数 printf 向屏幕输出。
【说明】
① #include <stdio.h>相当亍把系统中的文件 stdio.h的内容揑入到程序中。 程序中使用到标准输入函数scanf和标准输 出函数printf,在使用它们乊前必须先声明, 而文件stdio.h中的主要内容就是对标准输入 输出函数调用格式的说明(称函数声明), 所以通常放在程序的开头,称*.h(head)的 文件为头文件。返一行叨做“包含标准输 入输出头文件”。
⑧ 系统提供给我们的函数,如printf等等,也 是返样构造的。 ⑨ 可以看出,子函数不主函数的结构是完全 一样的。主函数也可以使用参数,主函数 由操作系统调用,因此,其参数也是由操 作系统传给主函数。如果主函数有迒回值, 当然也是迒回给操作系统。 ⑩ 定义函数的头部非常重要,如 “float c(float r)”有三部分:函数的迒回值 类型、函数名、参数表。定义了函数乊后, 调用返个函数就如同调用库函数一样。