9512.net
甜梦文库
当前位置:首页 >> 学科竞赛 >>

第二周 选择结构



回顾 ?请同学们到讲台签到,密码是1
? 程序是为执行一项任务而编写的有序指令集

? 算法是解决问题的具体方法和步骤
? 流程图是算法的图形化表现形式 ? C语言的特点

? C程序的编译和运行过程
? 编译器将源程序转换成机器能理解的程序 ? 连接器用于连接相关的目标文件以生成可执行程序

1

第二周第一节

变量和数据类型

目标
? 理解变量和常量的含义 ? 熟悉基本数据类型 - int、char、float 和 double

? 熟练使用 scanf() 和 printf() 函数

3

C语言中的基本元素
程序
常量是在程序中保持不变的量 常量用于定义具有如下特点的数据: ?在程序中保持不变 ?在程序内部频繁使用 ?需要用比较简单的方式替代某些值

指令

标识符 关键字 常量 运算符 分隔符 等

4

变量
内存
编写程序时,常常需要将数据存储在内存 10 9.5 0.5 中,方便后面使用这个数据或者修改这个 数据的值。 通常使用变量来存储数据。使用变量可以 引用存储在内存中的数据,并随时根据需 要显示数据或执行数据操纵。

程序

存储 Rate

Rate * 5% 将值存储为DiscAmt Rate-DiscAmt 将值存储为Result

5

声明和使用变量
? 声明变量:
Datatype variablename; 数据类型(int/float/char…) 变量名;

? 定义时初始化变量:
Datatype variablename = value;

? 定义后初始化变量:
variablename = value;
给变量赋值,除了给一个直接的值以外,还可以通过计算获得。

6

变量命名
在 C 语言中,变量命名需要遵循一定的规则

有效名称 ? 变量的命名规则:

无效名称

cost_price

? 变量名可以由字母、数字和 _(下划线)组合而成 ? 变量名不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、 principal 123rate 空格等lastname zip code ? 变量名必须以字母或 _(下划线)开头 ? 变量名不能包含空白字符(换行符、空格和制表符称为空白字符) ? C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊 marks_3 discount% 意义,不能用作变量名 ? C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的 变量

city

currency$

7

基本数据类型
数据类型

数据

数值 2.175

非数值 Africa char

123 整型

非整型 9/12/2003 int 整型 非整型 floatThe quick brown fox Jackie short intChan double 数值 非数值 long int 999 9002.12 数据属于不同类别 TRUE

8

整型
名称
整型 无符号整型 短整型

全称类型说明符 缩写类型说明符 位数 范围
int unsigned int short int int unsigned short 16 16 16 16 32 32 -32768 至 +32767 0 至 65,535 -32768 至 +32767 0 至 65,535 -2,147,483,648 至 2,147,483,647 0至 4,294,967,295

无符号短整型 unsigned short int unsigned short 长整型 long int long unsigned long

无符号长整型 unsigned long int

9

使用整型变量
? 声明:
int page_number; long int population; unsigned int age;

? 可按如下方式初始化:
page_number=0; int max_marks = 100; 在同一语句中可以声明多个类型相同的变量: int page_number, copies, paper_width;

10

单精度浮点型
float 在 C 语言中用于存储单精度浮点数
float 32 位 10-38 至 10+38 ,7位有效数字

? 声明:
float selling_price;

? 初始化:
float selling_price = 11.3; selling_price = 65.90;

11

双精度浮点型
内存

float

213.5671435568967

double
64位

16 位有效数字

? 声明:

? 初始化:

? double pressure_level; 取值范围:10-308 至 10308 ? pressure_level = 213.5671435568967; ? double dvalue = 35.4;
12

输入/输出函数
#include <stdio.h>
输入/输出函数 (printf/scanf) 用于接受和显示数据或信息

void main() { int num; printf("请输入一个数:"); scanf("%d",&num); printf(" \n%d 的平方为 %d \n",num,num*num); 转换字符串 }
转义序列

13

printf 函数5-1
int visitor_count = 150; "" %d "" , visitor_count printf ( %d visitor_count);
将一些信息按照指定的格式送到标准输出(显示器) 将按指定的格式显示该变量的值
转换字符串 说明 将参数按整数形式转换输出,对应参数应是int 类型

%d

%ld
%c %s

将参数按长整数形式转换输出,对应参数应是long 类型
输出一个字符,对应参数应该是一个char字符 输出一个字符串,对应参数应该是一个字符串 将参数按带小数点数形式输出,对应参数应是float 类型, 默认情况下精确到 6 位小数

%f
14

printf 函数5-2
int visitor_count = 150; printf (" %d" , visitor_count);

输出结果:150

15

printf 函数5-3
int salary = 5500; printf ( %10d "" %10d "" , salary);

输出结果:

5500

输出结果的左边显示了 6 个空格

16

printf 函数5-4
float circumference = 78.53; 9.4786789; printf (" %f" , circumference);

9.478679 输出结果:78.530000
默认情况下精确到六位小数

17

printf 函数5-5
double mercury_level = 168.2251074; printf ( ""%7.2f" " , mercury_level);

输出结果: 168.23
宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。

精度(精确到小数点后多少位)

18

转义序列
转义序列 名称 描述 输出结果: Name: Audrey Hepburn \a 警告 产生一则警告。 Movie: ?Roman Holiday?
\b 退格 换页 将光标回退一格。

代码: \f
\r
\v

将光标移到下一页的第一格。

printf( Audrey Hepburn \n Movie: \?Roman Holiday\?”); \n “Name: 换行 将光标移到下一行的第一格。

回车
垂直制表

将光标移到当前行的第一格。
将光标移到下一个垂直制表位置。

\t 水平制表 将光标移到下一个水平制表位置。 转义序列允许在输出结果中包括特殊字符

\'
\" \? \\
19

单引号
双引号 问号 反斜线 空

产生一个单引号。
产生一个双引号。 产生一个问号。 产生一条反斜线。 产生一个空字符。

\0

printf 函数使用示例
内存 #include <stdio.h> pi radius high void main() { 3.14159 2.0 1.5 float radius=1.5, high=2.0; vol float pi=3.14159, vol; 14.14 /*计算体积*/ vol=pi*radius*radius*high; /*输出体积的值*/ printf("vol=%7.2f\n",vol); } 输出:

vol= 14.14
20

scanf 函数
scanf 函数从标准输入(键盘)读取信息,按照格式描述 把读入的信息转换为指定数据类型的数据,并把这些数 据赋给指定的程序变量。

scanf("%d",&num);
变量的名称

&符号(附在读取的每个变量上)用于指明变量 在内存中的位置
转换字符串 转换字符串 参数变量的类型 要求的实际输入

%d
%ld %f %lf
21

int
long float double

十进制数字序列
十进制数字序列 十进制数,可以有小数点及指数部分 十进制数,可以有小数点及指数部分

scanf
内存
tax_rate

float tax_rate; scanf (" %f" , &tax_rate); ? 在内存中分配一块 32 位存储空间
? 存储空间使用名称“ 提示用户输入一个值tax_rate”标识 ? 输入的值存储在变量中(因为 scanf 提供此变量的 地址)

12.234
22

输入输出函数使用示例
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {

内存

radius 5

high 10

float radius,high,vol; vol //输入圆柱体底面积的半径和高,求体积 785 scanf("%f%f",&radius,&high); vol=3.14*radius*radius*high; printf("radius=%7.2f,high=%7.2f,vol=%7.2f\n" ,radius,high,vol);
system("PAUSE"); return 0; }

5 10 radius=
23

5.00, high= 10.00, vol= 785.00

第二周第二节

运算符和字符处理

目标
? 使用算术运算符 ? 熟练使用 getchar() 和 putchar() 函数

? 理解类型转换

25

算术运算符2-1
算术 操作数 一元 运算符 操作数

二元

26

算术运算符2-2
算术

++
一元

num++ num=num+1 ++num --num 前缀 num++ num-后缀

-二元

num-- num=num-1

27

算术运算符示例
#include <stdio.h> void main() { int a = 5, b = 3, c = 25, d = 12; float qu; int re,in,de; /* 使用算术运算符 */ qu = a / b; // 除法 re = a % b; // 求模 in = ++c; de = --d; printf ("商为 %f\n",qu); printf ("余数为 %d\n",re); printf (“加 1 后为 %d\n",in); printf ("减 1 后为 %d\n",de); }
28

输出:

商为 1.000000
余数为 2 加 1 后为 26

减 1 后为 11

练习:算术运算符的练习题
?输入两个数,求它们的和、差、积、商。

?提示: ?变量定义:float num1,num2,sum……. ?输入函数:scanf(); 输出函数:printf();

29

字符型3-1
在线保险单
23 年龄:_____

保险总额:98340 _____
'M' 性别:_____

int/float

char

30

字符型3-2

0 32 33 34 35 36 37 38

符号
空字符 44 45 46 47


, . /

符号
91 92 93 94 95 96


[ \ ] ^ ` {

符号

' 空格 ' ! '5' " # 'p' $ '$'
% &

"2"
'2'

48 ~ 57 58 59 60

0 ~ 9 : ; <

97 ~ 122 a ~ z 123

正确

39
40 41 42 43
31

'
( ) * +

'2' + '2' = 4
62 63 64 65 ~ 90 > ? @ A ~ Z 125 126 127

61

=

124

|
} ~ DEL (Delete键)

字符型3-3
占 8 位内存

char gender; gender='m'; unsigned
0 至 255

signed 或 unsigned

char gender='m';
Signed -128 至 +127
32

接受并显示字符
字符型数据

字符型数据

字符型变量

33

getchar() 函数
语法:

char variablename; variablename = functionname;
例如: char c; c=getchar();

34

getchar()和putchar()示例
内存

#include <stdio.h> a void main() { O char a,b; printf(" 请输入两个字符:\n"); a=getchar(); fflush(stdin); 输出: b=getchar(); 请输入两个字符: fflush(stdin); O putchar(a); K putchar(b); putchar('\n'); OK }
35

b K

Press any key to continue_

类型转换
? 自动类型转换
?原则:把表示范围小的类型的值转换到表示范围大的 类型的值

? short ? int ? long ? float ? double

? 强制类型转换
?语法:(类型名) 变量或数值 ?例如:

int a = 5, b = 3; float qu = float(a) / b;

36

数据类型的转换:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {

试一试:按F9 后,看看输出 了什么?

char c1,c2; int i; c1=65; i='a'; c2=c1+32; printf("%c ,%d\n %c %d\n",c1,c1,i,i); printf("%c %d\n",c2,c2);
system(“PAUSE”); return 0;

}
37

提示:%c对应输出 字符,%d对应输出 整数。

总结 2-1
? 常量是在程序中不能被更改的值;而变量在程序 中可以被更改的,通过变量可以引用存储在内存 中的数据 ? C语言中的基本数据类型包括整型、单精度浮点 型、双精度浮点型和字符型

? 整型分为短整型、整型、长整型,每种整型又可 分为有符号型和无符号型

38

总结 2-2
? 单精度浮点型和双精度浮点型变量可以存储实数, 但双精度型取值范围要比单精度型大的多 ? 字符型变量可以存储单个字符,其值是该字符的 ASCII 码 ? 算术运算符提供运算功能,包括+、-、*、/、%、 ++和-? printf() 和 scanf() 函数属于格式输入输出函数 ? getchar() 和 putchar() 函数用来输入输出单个字 符的函数
39



更多相关文章:
第二选择结构程序设计
第二选择结构程序设计_计算机软件及应用_IT/计算机_专业资料。第二选择结构程序设计 2.1 if 语句基础『问题描述』如果明天天气不好,就留在家里看电视,...
第二章第三节选择结构
一、案例背景;高中信息技术新课程的实施,其课程目标定位于全面提高学 生的信息素养;二、教材分析;算法与程序设计是普通高中信息技术课程中选修 模块之一;“选择结构...
实验二 选择结构
实验二 选择结构_数学_自然科学_专业资料。实验二 选择结构一、实验目的 ……二、实验题目 1、教材 P63 编程题第一题 2、教材 P63 编程题第二题 3、教材 P63...
实验二 选择结构程序设计
实验二 选择结构程序设计_计算机软件及应用_IT/计算机_专业资料。实验二 选择...(letter2 = getchar()) == 'u') /*如果第二个字母是 u*/ printf("...
高二数学选择结构
练习:课本第 11 页练习第 1、2、3 题. 五.回顾小结 1.选择结构的概念: 先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构. 2.理解选择结构的...
数学北师版必修3第二章§2.1顺序结构与选择结构
顺序结构是算法框图中最简单、 最基本的逻辑结构, 是任何一个算法都含有的. 此 类算法中不含有判断框. 题型二 设 计含有选择结构的算法框图 [来源:学科网 ZXXK...
第4单元选择结构作业
第4 单元 选择结构作业注:将本次作业的 17 个程序的答案写到后面的作业模板中...(a>0) a=1; 2 if(x>=0) if(x==0) y=0; else y=1; else y=-...
实验二、选择结构程序设计
实验二、选择结构程序设计_计算机软件及应用_IT/计算机_专业资料。【实验二】选择结构程序设计一、实验目的 1. 掌握关系表达式和逻辑表达式的使用。 2. 熟悉选择...
指导书_实验二+选择结构
指导书_实验二+选择结构_电脑基础知识_IT/计算机_专业资料。c语言实验实验...(3)单击 Go 按钮,输入 a,b,c 的值(2.0 9.0 3.0)后,程序执行 到第一...
§2.1顺序结构与选择结构导学案
高一数 学必修 三导学 案 第二章 算法初 步 编号 21 导学案高一 班组 姓名: 组评: 师评: 学习笔记 §2.1 顺序结构与选择结构学案编号:21 主备课人:...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图