1 / 40

流程图与数据类型

第二章. 流程图与数据类型. 回顾. C 程序结构 算法 定义、特点、要求 VC6.0 使用. 目标. 了解算法实现 掌握流程图中使用的符号 熟练掌握使用 visio 绘制流程图 讨论变量 区分常量和变量 掌握变量的命名规则和定义 列出 C 语言程序中的 各种数据类型并使用它们. 流程图符号. 结构化程序的三种基本结构. 顺序结构:先执行 A 模块,再执行 B 模块。 选择结构:当条件 P 的值为真时执行 A 模块,否则执行 B 模块。 循环结构

etenia
Télécharger la présentation

流程图与数据类型

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 流程图与数据类型

  2. 回顾 • C程序结构 • 算法定义、特点、要求 • VC6.0使用

  3. 目标 • 了解算法实现 • 掌握流程图中使用的符号 • 熟练掌握使用visio绘制流程图 • 讨论变量 • 区分常量和变量 • 掌握变量的命名规则和定义 • 列出C语言程序中的各种数据类型并使用它们

  4. 流程图符号

  5. 结构化程序的三种基本结构 • 顺序结构:先执行A模块,再执行B模块。 • 选择结构:当条件P的值为真时执行A模块,否则执行B模块。 • 循环结构 • 当型循环结构:当条件P的值为真时,就执行A模块,然后再次判断条件P 的值是否为真,直到条件P的值为假时才向下执行。 •  直到型循环结构:先执行A模块,然后判断条件P的值是否为真,若P为真 ,再次执行A模块,直到条件P的值为假时才向下执行。

  6. 两数相加的流程图 起止框:这里是程序的开始 Start INPUT 输入输出框:这里用来输入两个数 C=A+B 处理框:这里用来两个数相加 DISPLAY C 输入输出框:这里用来显示和 Stop 起止框:这里是程序的结束

  7. IF结构 BEGIN INPUT num R=num MOD 2 If r=0 Display “number is even “ END IF END START INPUT num R=num MOD 2 否 R=0 是 DISPLAY “Number is ven” STOP

  8. IF-ELSE结构 BEGIN INPUT num r=num MOD 2 IF r=0 DISPLAY " Even Number " ELSE DISPLAY " Odd Number " END IF END START INPUT num r=num MOD 2 否 是 r=0 DISPLAY “Number is Even” DISPLAY “Number is odd” STOP

  9. 使用 AND/OR连接多个条件 BEGIN INPUT yearsWithUs Input bizDone IF yearsWithUs>=10 AND bizDone>=5000000 DISPLAY “Classified as an MVS " ELSE DISPLAY " A little more effort required! " END IF END • 在现实生活中有大量的需要检查的情况,可以用AND/OR运算符可以很方便的将这些条件连接起来。

  10. 嵌套IF 结构2-1 BEGIN INPUT yearsWithUs INPUT bizDone IF yearsWithUs >= 10 IF bizDone >=5000000 DISPLAY " Classified as an MVS " ELSE DISPLAY " A little more effort required! " END IF ELSE DISPLAY " A little more effort required! " END IF END • 嵌套IF结构是指一个IF 语句中包含另一个IF语句,虽然没有AND,但功能一样

  11. 嵌套IF 结构2-2 START INPUT yearsWithUs INPUT bizDone 是 否 yearsWithUs>=10 DISPLAY A little… bzDone>5000000 否 是 DISPLAY"class.." DISPLAY“A little" STOP

  12. 循环结构 BEGIN cnt=0 WHILE (cnt < 1000) DO DISPLAY "Scooby" cnt=cnt+1 END DO END START cnt=0 cnt<1000 否 是 DISPLAY “scooby” cnt=cnt+1 STOP

  13. visio操作 • 功能和版本 • 主界面分布 • 流程图的画法 • 常用快捷键 • 项目中主菜单功能流程图示例

  14. 变量 内存 数据15 通过变量,可以为内存中的位置提供一个有意义的名称 • 程序要为每一项数据分配内存,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。 • 需要多少内存 • 数据被存储在哪里 • 操作系统负责集注变量在内存中的地址 • 要引用内存空间中的值,只需指定变量名

  15. 常量 • 常量就是一个保持不变的值 • 示例 • 5 数字/整型常量 • 5.3数字/浮点常量 • “Black”字符串常量 • ‘C’ 字符常量 • 符号常量 #define COUNT 100 提高代码的可读性,还可以做到一改全改 • 使用const关键字 const int COUNT = 100;

  16. 符号常量的使用2-1 #include <stdio.h> int main(){ int score = -1; do { printf("please input chinese[0-100]:"); scanf("%d",&score); } while(score < 0 || score > 100); do { printf("please input math[0-100]:"); scanf("%d",&score); } while(score < 0 || score > 100); /*其它省略*/ return 0; }

  17. 符号常量的使用2-2 #include <stdio.h> #define MINSCORE 0 #define MAXSCORE 100 int main(){ int score =-1; do { printf("please input chinese[%d-%d]:",MINSCORE,MAXSCORE); scanf("%d",&score); } while(score < MINSCORE || score > MAXSCORE); do { printf("please input mtah[%d-%d]:",MINSCORE,MAXSCORE); scanf("%d",&score); } while(score < MINSCORE || score > MAXSCORE); return 0;}

  18. 标识符 • 变量、函数、标签和其他各种用户定义的对象的名称都称为标识符 • 正确的标识符名称 Arena、s_count、marks40、class_one • 不正确的标识符示例 1sttest、oh!god、start... end • 标识符的长度可以是任何合适的数值,但是各种编译器能够识别的变量中的字符数目有所不同 • C语言中的标识符区分大小写

  19. 关键字 • 在一个特定语言的上下文中有特殊意义的单词。是标识符的一个特殊的集合。在C语言中有预先定义好的特殊意义。不能用于其他任何目的。 • 所有的数据类型都是保留的关键字 • 所有的关键字小写 • C语言的关键字共32个:

  20. 系统内置的标识符 • 系统内置的标识符指的是系统函数名称、系统定义的结构体名称、系统定义的符号常量名称等 • 例如:printf、FILE、date、RED等 • 以上各种标识符不要用于用户定义的标识符上,防止发生不必要的错误

  21. 数据类型分类 • C语言中数据有常量和变量之分,它们分别属于以下这些类型

  22. 变量的声明2-1 • 数据类型描述了变量中将存放的数据的种类 • 数据类型位于变量名的前面 • 例如:数据类型 int将位于变量名 varName的前面 • 变量声明必须放在变量使用之前(先定义后使用) • 一般放在函数体的开头部分,可执行代码的前面 • 变量声明也可以放在代码块的前面 数据类型 变量名称; int varName;

  23. 变量的声明2-2 include <stdio.h> int main(){ int a = 10; if(a == 10){ int i = 12; /*变量i只允许在if内部使用,即两个{ }之间*/ } return 0; }

  24. 变量的初始化 • 程序中常常需要对一些变量预先设定初始值 • 定义时初始化变量 Datatype variablename = value; 例如:int num1,num2 = 12; • 定义后初始化变量 variablename = value; 例如:int num; num = 12; 给变量赋值,除了给一个直接的值以外,还可以通过计算获得。

  25. 基本数据类型 基本数据类型 int void float char double 单个或多个数字系列 没有任何类型的数据 存储含有小数位 存放一个字符 超出float类型大小的值

  26. int类型2-1 • 存储数字数据,不能存储类似于“Alan”或“abc”等任何其他类型的数据 • 声明方式:int num; • 分配32位(4 个字节)的内存空间 • int类型在16位系统中和在32位系统中,所占用字节数是不一样的(TC2.0下占2个字节) 在同一语句中可以声明多个类型相同的变量: int page_number, copies, paper_width;

  27. int类型2-2 • 十进制整型常量 没有前缀,0~9的数字组成 示例:12322、0、-232 • 八进制整型常量 以0打头,由0~7的数字组成 示例:023、0101 • 十六进制整型常量 以0X或0x打头,由0~9、A~F或a~f组成 示例:0xff、0X2A

  28. float 类型 • 存储整数或包含小数位的值 • 声明方式:float num; • 有效数字是 6 位 • 分配32 位(4 个字节)的内存空间 示例:23.05、56.5、32.0、3.14159

  29. double 类型 • 存储超出float类型大小的限制的值 • 声明方式: double num; • 有效数字是 17 位 • 分配64 位(8个字节)的内存空间 示例:123.45678901234567

  30. char 类型2-1 • 存储一个字符信息 • 声明方式:char gender; gender = 'M'; • 分配8位(1个字节)的内存空间 示例:'a'、'm'、'$'、'%'、'1'、'5' • 实质是占一个字节的整型数(小整数)

  31. char 类型2-2

  32. void 类型 • 告诉编译器没有任何类型的值 • 不能像其它数据类型一样来声明变量 • 例如:void num; /*这是错误的声明*/ • 但是void 可以用在指针生命中 • void作用: • 在函数声明中使用,代表不返回任何值 • 与指针搭配使用

  33. 派生数据类型 通过修改四种基本数据类型以适应不同的 情况而产生的数据类型叫做派生数据类型 数据类型修饰符 基本数据类型 派生数据类型 只允许正数 int unsigned int unsigned short int 是int所占空间的一半 int short long int /long double long int/double 和int/double占的内存空间一样

  34. signed和unsigned类型 • signed最重要的是修改char数据类型 • unsigned 类型指定变量只能接受正值 • unsigned int varNum; • varNum = 23123; • 加上unsigned前缀,正数的取值范围是原来的两倍 • 修饰符可以与 int 和 float 数据类型一起使用 • unsigned int 支持的范围是从 0 到 4,294,967,295

  35. long和short类型 • 要求某个整数的长度比正常长度更长或更短时,使用long 和short • short int 占 16 位(2 个字节)的内存空间 • 允许的数字范围是从 -32768 到 32767 • long int 占 32 位(4 个字节)的内存空间 • 2,147,483,648 到 2,147,483,647 • long double 占 64 位(8 个字节)的内存空间

  36. 数据类型及其范围 2-1

  37. 数据类型及其范围 2-2

  38. 常量与后缀

  39. 声明示例 #include <stdio.h> int main () { char sex = ‘F’; /*用M和F代表性别*/ float length = 13.5; /*声明length,长度可能带有小数位*/ double area; /*声明area */ double pay; /*money有角和分*/ short age = 89; /*人类的年龄现阶段不可能超过150*/ return 0; } /*选择数据类型时首先考虑变量用来存放什么类型值, 然后再根据存放值的最大值和最小值,进一步选择适当的类型和类型的 修饰符*/

  40. 总结 • 算法实现 • 流程图中使用的符号 • 使用visio绘制流程图 • 什么是变量 • 常量的定义 • 变量和常量的区别 • 什么是标识符 • 关键字 • 变量的声明和定义

More Related