第二章
This presentation is the property of its rightful owner.
Sponsored Links
1 / 40

流程图与数据类型 PowerPoint PPT Presentation


  • 102 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

流程图与数据类型

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.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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3874753

第二章

流程图与数据类型


3874753

回顾

  • C程序结构

  • 算法定义、特点、要求

  • VC6.0使用


3874753

目标

  • 了解算法实现

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

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

  • 讨论变量

  • 区分常量和变量

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

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


3874753

流程图符号


3874753

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

  • 顺序结构:先执行A模块,再执行B模块。

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

  • 循环结构

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

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


3874753

两数相加的流程图

起止框:这里是程序的开始

Start

INPUT

输入输出框:这里用来输入两个数

C=A+B

处理框:这里用来两个数相加

DISPLAY C

输入输出框:这里用来显示和

Stop

起止框:这里是程序的结束


3874753

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

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

使用 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

嵌套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

嵌套IF 结构2-2

START

INPUT yearsWithUs

INPUT bizDone

yearsWithUs>=10

DISPLAY A little…

bzDone>5000000

DISPLAY"class.."

DISPLAY“A little"

STOP


3874753

循环结构

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

visio操作

  • 功能和版本

  • 主界面分布

  • 流程图的画法

  • 常用快捷键

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


3874753

变量

内存

数据15

通过变量,可以为内存中的位置提供一个有意义的名称

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

    • 需要多少内存

    • 数据被存储在哪里

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

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


3874753

常量

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

  • 示例

    • 5 数字/整型常量

    • 5.3数字/浮点常量

    • “Black”字符串常量

    • ‘C’字符常量

  • 符号常量

    #define COUNT 100

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

  • 使用const关键字

    const int COUNT = 100;


3874753

符号常量的使用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;

}


3874753

符号常量的使用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;}


3874753

标识符

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

    • 正确的标识符名称

      Arena、s_count、marks40、class_one

    • 不正确的标识符示例

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

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

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


3874753

关键字

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

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

  • 所有的关键字小写

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


3874753

系统内置的标识符

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

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

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


3874753

数据类型分类

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


3874753

变量的声明2-1

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

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

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

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

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

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

数据类型 变量名称;

int varName;


3874753

变量的声明2-2

include <stdio.h>

int main(){

int a = 10;

if(a == 10){

int i = 12;

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

}

return 0;

}


3874753

变量的初始化

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

  • 定义时初始化变量

    Datatype variablename = value;

    例如:int num1,num2 = 12;

  • 定义后初始化变量

    variablename = value;

    例如:int num;

    num = 12;

给变量赋值,除了给一个直接的值以外,还可以通过计算获得。


3874753

基本数据类型

基本数据类型

int

void

float

char

double

单个或多个数字系列

没有任何类型的数据

存储含有小数位

存放一个字符

超出float类型大小的值


Int 2 1

int类型2-1

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

  • 声明方式:int num;

  • 分配32位(4 个字节)的内存空间

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

在同一语句中可以声明多个类型相同的变量:

int page_number, copies, paper_width;


Int 2 2

int类型2-2

  • 十进制整型常量

    没有前缀,0~9的数字组成

    示例:12322、0、-232

  • 八进制整型常量

    以0打头,由0~7的数字组成

    示例:023、0101

  • 十六进制整型常量

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

    示例:0xff、0X2A


Float

float 类型

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

  • 声明方式:float num;

  • 有效数字是 6 位

  • 分配32 位(4 个字节)的内存空间

    示例:23.05、56.5、32.0、3.14159


Double

double 类型

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

  • 声明方式: double num;

  • 有效数字是 17 位

  • 分配64 位(8个字节)的内存空间

    示例:123.45678901234567


Char 2 1

char 类型2-1

  • 存储一个字符信息

  • 声明方式:char gender;

    gender = 'M';

  • 分配8位(1个字节)的内存空间

    示例:'a'、'm'、'$'、'%'、'1'、'5'

  • 实质是占一个字节的整型数(小整数)


Char 2 2

char 类型2-2


3874753

void 类型

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

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

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

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

  • void作用:

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

    • 与指针搭配使用


3874753

派生数据类型

通过修改四种基本数据类型以适应不同的

情况而产生的数据类型叫做派生数据类型

数据类型修饰符

基本数据类型

派生数据类型

只允许正数

int

unsigned int

unsigned

short int

是int所占空间的一半

int

short

long int /long double

long

int/double

和int/double占的内存空间一样


Signed unsigned

signed和unsigned类型

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

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

    • unsigned int varNum;

    • varNum = 23123;

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

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

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


Long short

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


3874753

数据类型及其范围 2-1


3874753

数据类型及其范围 2-2


3874753

常量与后缀


3874753

声明示例

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

}

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

然后再根据存放值的最大值和最小值,进一步选择适当的类型和类型的

修饰符*/


3874753

总结

  • 算法实现

  • 流程图中使用的符号

  • 使用visio绘制流程图

  • 什么是变量

  • 常量的定义

  • 变量和常量的区别

  • 什么是标识符

  • 关键字

  • 变量的声明和定义


  • Login