This presentation is the property of its rightful owner.
1 / 40

流程图与数据类型 PowerPoint PPT 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

流程图与数据类型

• C程序结构

• 算法定义、特点、要求

• VC6.0使用

目标

• 了解算法实现

• 掌握流程图中使用的符号

• 熟练掌握使用visio绘制流程图

• 讨论变量

• 区分常量和变量

• 掌握变量的命名规则和定义

• 列出C语言程序中的各种数据类型并使用它们

结构化程序的三种基本结构

• 顺序结构：先执行A模块，再执行B模块。

• 选择结构：当条件P的值为真时执行A模块，否则执行B模块。

• 循环结构

• 当型循环结构：当条件P的值为真时，就执行A模块，然后再次判断条件P 的值是否为真，直到条件P的值为假时才向下执行。

•  直到型循环结构：先执行A模块，然后判断条件P的值是否为真，若P为真 ，再次执行A模块，直到条件P的值为假时才向下执行。

Start

INPUT

C=A+B

DISPLAY C

Stop

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

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

使用 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运算符可以很方便的将这些条件连接起来。

嵌套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，但功能一样

嵌套IF 结构2-2

START

INPUT yearsWithUs

INPUT bizDone

yearsWithUs>=10

DISPLAY A little…

bzDone>5000000

DISPLAY"class.."

DISPLAY“A little"

STOP

循环结构

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

visio操作

• 功能和版本

• 主界面分布

• 流程图的画法

• 常用快捷键

• 项目中主菜单功能流程图示例

变量

• 程序要为每一项数据分配内存，通常使用变量来存储数据。使用变量可以引用存储在内存中的数据，并随时根据需要显示数据或执行数据操纵。

• 需要多少内存

• 数据被存储在哪里

• 操作系统负责集注变量在内存中的地址

• 要引用内存空间中的值，只需指定变量名

常量

• 常量就是一个保持不变的值

• 示例

• 5 数字/整型常量

• 5.3数字/浮点常量

• “Black”字符串常量

• ‘C’字符常量

• 符号常量

#define COUNT 100

提高代码的可读性，还可以做到一改全改

• 使用const关键字

const int COUNT = 100;

符号常量的使用2-1

#include <stdio.h>

int main(){

int score = -1;

do {

scanf("%d",&score);

} while(score < 0 || score > 100);

do {

scanf("%d",&score);

} while(score < 0 || score > 100);

/*其它省略*/

return 0;

}

符号常量的使用2-2

#include <stdio.h>

#define MINSCORE 0

#define MAXSCORE 100

int main(){

int score =-1;

do {

scanf("%d",&score);

} while(score < MINSCORE || score > MAXSCORE);

do {

scanf("%d",&score);

} while(score < MINSCORE || score > MAXSCORE);

return 0;}

标识符

• 变量、函数、标签和其他各种用户定义的对象的名称都称为标识符

• 正确的标识符名称

Arena、s_count、marks40、class_one

• 不正确的标识符示例

1sttest、oh!god、start... end

• 标识符的长度可以是任何合适的数值，但是各种编译器能够识别的变量中的字符数目有所不同

• C语言中的标识符区分大小写

关键字

• 在一个特定语言的上下文中有特殊意义的单词。是标识符的一个特殊的集合。在C语言中有预先定义好的特殊意义。不能用于其他任何目的。

• 所有的数据类型都是保留的关键字

• 所有的关键字小写

• C语言的关键字共32个：

系统内置的标识符

• 系统内置的标识符指的是系统函数名称、系统定义的结构体名称、系统定义的符号常量名称等

• 例如：printf、FILE、date、RED等

• 以上各种标识符不要用于用户定义的标识符上，防止发生不必要的错误

数据类型分类

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

变量的声明2-1

• 数据类型描述了变量中将存放的数据的种类

• 数据类型位于变量名的前面

• 例如：数据类型 int将位于变量名 varName的前面

• 变量声明必须放在变量使用之前（先定义后使用）

• 一般放在函数体的开头部分，可执行代码的前面

• 变量声明也可以放在代码块的前面

int varName;

变量的声明2-2

include <stdio.h>

int main(){

int a = 10;

if(a == 10){

int i = 12;

/*变量i只允许在if内部使用，即两个{ }之间*/

}

return 0;

}

变量的初始化

• 程序中常常需要对一些变量预先设定初始值

• 定义时初始化变量

Datatype variablename = value;

例如：int num1,num2 = 12;

• 定义后初始化变量

variablename = value;

例如：int num;

num = 12;

int

void

float

char

double

int类型2-1

• 存储数字数据，不能存储类似于“Alan”或“abc”等任何其他类型的数据

• 声明方式：int num;

• 分配32位（4 个字节）的内存空间

• int类型在16位系统中和在32位系统中，所占用字节数是不一样的(TC2.0下占2个字节)

int page_number, copies, paper_width;

int类型2-2

• 十进制整型常量

没有前缀，0～9的数字组成

示例：12322、0、-232

• 八进制整型常量

以０打头，由0～7的数字组成

示例：023、0101

• 十六进制整型常量

以0X或0x打头，由0～9、A～F或a～f组成

示例：0xff、0X2A

float 类型

• 存储整数或包含小数位的值

• 声明方式：float num;

• 有效数字是 6 位

• 分配32 位（4 个字节）的内存空间

示例：23.05、56.5、32.0、3.14159

double 类型

• 存储超出float类型大小的限制的值

• 声明方式: double num;

• 有效数字是 17 位

• 分配64 位（8个字节）的内存空间

示例：123.45678901234567

char 类型2-1

• 存储一个字符信息

• 声明方式:char gender;

gender = 'M';

• 分配8位（1个字节）的内存空间

示例：'a'、'm'、'\$'、'%'、'1'、'5'

• 实质是占一个字节的整型数（小整数）

void 类型

• 告诉编译器没有任何类型的值

• 不能像其它数据类型一样来声明变量

• 例如：void num; /*这是错误的声明*/

• 但是void 可以用在指针生命中

• void作用：

• 在函数声明中使用，代表不返回任何值

• 与指针搭配使用

派生数据类型

int

unsigned int

unsigned

short int

int

short

long int /long double

long

int/double

signed和unsigned类型

• signed最重要的是修改char数据类型

• unsigned 类型指定变量只能接受正值

• unsigned int varNum;

• varNum = 23123;

• 加上unsigned前缀，正数的取值范围是原来的两倍

• 修饰符可以与 int 和 float 数据类型一起使用

• unsigned int 支持的范围是从 0 到 4,294,967,295

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 个字节）的内存空间

声明示例

#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;

}

/*选择数据类型时首先考虑变量用来存放什么类型值，

• 算法实现

• 流程图中使用的符号

• 使用visio绘制流程图

• 什么是变量

• 常量的定义

• 变量和常量的区别

• 什么是标识符

• 关键字

• 变量的声明和定义