c++语言程序设计第三讲
第三讲 选择结构程序设计

5.3.2 switch语句的一般形式 语句的一般形式 switch(整数表达式) (整数表达式) { case 常数表达式 :<语句 ;> 常数表达式1: 语句 语句1; case 常数表达式 :<语句 ;> 常数表达式2: 语句 语句2; …… case 常数表达式 :<语句 ;> 常数表达式n: 语句 语句n; default: 语句序列 : 语句序列n+1; ; }
5.3 switch语句 语句 5.3.1 问题引入 switch 语句和 语句和if-else语句(if…else if…else)是C语 语句( 语句 ) 语 言的两种多分支选择形式。 言的两种多分支选择形式。 if…else if…else结构用于对多条件并列测试,从中 结构用于对多条件并列测试 结构用于对多条件并列测试, 取一的情形; 取一的情形; switch结构用于 单条件 测试 , 从其多种结果中取一 结构用于单条件测试, 结构用于 单条件测试 种的情形。 种的情形。 一 般 情 况 下 用 switch 能 解 决 的 问 题 , 用 if…else if…else也一样能解决,反之用 也一样能解决, 也一样能解决 反之用if…else if…else能解决的 能解决的 问题用switch也能解决。 也能解决。 问题用 也能解决
5.2.1 if 语句
(4)if-else-if结构: ) 结构: 结构 if ( 条件 ) 语句 ; 条件1 语句1; else if ( 条件 ) 语句 ; 条件2 语句2; else if ( 条件 ) 语句 ; 条件3 语句3; ┇ else 语句 ; 语句n;
F 表达式1 表达式 T 表达式2 表达式 T F 表达式3 表达式 T 语句1 语句 语句2 语句 语句3 语句 F 表达式 T 4 语句4 语句 F 语句5 语句
C语言程序设计 第3版 第3章 算法与流程图

输入/输出框
处理框
流程图表示法一般包括三部分:
(1)表示相应操作的框; (2)带箭头的流程线; (3)框内外符
C语言程序设计
2. 流程图
符号表示 简单实例
用流程图表示下面的分段函数。
2x 1 y 0
3x 1
x0 x0 x0
C语言程序设计
3. 程序设计结构
顺序结构 选择结构 循环结构
(4)有零或多个输入:根据算法的不同,有的在实现过程中需要输入一些原始数据,而有 些算法可能不需要输入原始数据;
(5)有一个或多个输出:设计算法的最终目的是为了解决问题,为此,每个算法至少应有 一个输出结果,来反应问题的最终结果。
C语言程序设计
2. 流程图
符号表示 简单实例
流程图常用的符号:
起止框
顺序结构 选择结构 循环结构
循环结构流程图:
某学生在操场上跑步,一共要跑四圈,每一圈 都要跨过障碍,请画出该算法的流程图。
不成立 条件? 成立
A
圈数≤4? 成立
跨障碍
不成立
执行过程:
先判断条件,如果条件成立,执行A,再循环判断条件, 否则,跳出循环。
C语言程序设计
谢谢
C语言程序设计
第3章 算法与流程图
提纲
1.算法定义及特征 2. 流程图表示法 3. 程序设计结构
1. 算法
算法定义 算法特征
定义:
现实生活中解决问题时,一般都要制订一个针对具体问题的步骤和方法,以此为据去实现目标。 将为了解决问题所制订的步骤、方法称为算法(Algorithm)。
计算下面的分段函数。
特征:
(1)有穷性:算法中所包含的步骤必须是有限的,不能无穷无止,应该在一个人所能接受 的合理时间段内产生结果;
C语言程序设计教案第3讲 数据类型、运算符与表达式

<
>
2,实型变量的分类
说明: C并没有具体规定每种类型的长度 并没有具体规定每种类型的长度, 说明:ANSI C并没有具体规定每种类型的长度,精度和数值 范围.下面是常用的C 范围.下面是常用的C编译系统的情况 类 型 字节数 有效数字 最小取值范围 float 4 6~7 -3.4*10-38~ 3.4*1038 double 8 15~16 -1.7*10-308~ 1.7*10308 long double 16 18~19 -1.2*10-4932~1.2*104932
8
取反
<
>
2.
整型变量分类
基本类型: 基本类型:int 根据数值的范围分为: , 根据数值的范围分为:int,short,long , 根据有无符号(singed/unsigned)及范围可分: 及范围可分: 根据有无符号 及范围可分
类 型 举例: 举例: [signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsinged long [int]
C 数 据 类 型
构造类型 指针类型 空类型 void
定义类型 typedef
<
>
2
2.2 常量与变量
一,标识符
定义:用来标识变量名,符号常量名, 定义:用来标识变量名,符号常量名,函数 数组名,类型名, 名,数组名,类型名,文件名的有效字符序 列称为标识符.(即一个名字) .(即一个名字 列称为标识符.(即一个名字) 使用规则
32767,32767,-32768,8
<
《C语言程序设计教程》(第三版)课后习题参考答案

C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。
《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。
它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。
1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。
其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。
1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。
每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。
1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。
通过运算符和表达式可以进行各种数值计算和逻辑判断。
第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。
整型数据类型可以表示整数值,并具有不同的取值范围。
2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。
浮点型数据可以表示较大或较小的数值,并具有一定的精度。
2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。
字符型数据可以用于表示各种字符(包括字母、数字、符号等)。
2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。
C语言第三讲_输入与输出语句

• 例:
#include <stdio.h> void main() {
puts(“this is a c program”); }
格式输出函数printf
• 语法格式:
printf(“控制字符串”,参量表);
参量表为需要输出显示的变量、常量、表达式,由 逗号,分隔。
字符输入函数
• 语法格式:
ch=getche();
/* 回显输入 */
ch=getch();
/* 不回显输入 */
• 例:从键盘输入一个字符,然后显示该字符
#include <stdio.h>
void main()
{ char ch;
ch = getch();
putchar(ch);
}
字符串输入函数gets
• 语法格式: gets(*str); 其中str为字符数组或字符指针,在键盘上以Enter键表示 输入结束
• 例:从键盘输入一个字符串,然后显示该字符串 #include <stdio.h> void main() { char ch[80]; gets(ch); puts(ch); }
格式输入函数scanf
控制字符串由两种内容组成:
字符、转义字符:原样显示输出
显示格式:定义每个参量的显示格式
%c 单个字符
%s 字符串
%d 十进制整数
%o 八进制整数
%x 十六进制整数
%f 小数
%e 科学记数
%% 显示%
格式输出函数printf
#include <stdio.h> void main() {
C语言程序设计(第三版)_谭浩强(3)

系统先把2.45678和4523.65作为双精度数,然后进行相乘的运算,得到 的乘也是一个双精度数。最后取其前7位赋给浮点型变量f。如是在数的 后面加字母f或F(如1.65f, 654.87F),这样编译系统就会把它们按单 精度(32位)处理。
§3.5字符型数据
§ 3.1 C的数据类型
C语言提供了以下一些数据类型。
数据类型
基本类型
构造类型 指针类型
整型 int
字符型 char 单精度实型
实型(浮点型)
float
数组类型
双精度实型
double
结构类型 struct
联合类型 union
枚举类型 enum
空类型(无值类型) void
§3.2 常量与变量3.2. Nhomakorabea 常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量 常量区分为不同的类型:
total=num * PRICE; printf(″total=%d\n″,total); } 说• 明说:明用:程一如序个再中标用用识赋#符d值代e语f表in句e一给命个P令常R行IC量定E的义,称PR为IC符E号代常表量常,量即3以0,标此识后符凡形在式本
• 文出P件现R中的IC出常E=现量40的。; 符PR号IC常/E*都量错代的误表值,3在不0,其能可作给以用符和域号常(常量在量一本赋样例值进中。行为运主算函数)内不能 改变,也不能再被赋值。
类型 float double型 long double
位数 32 64 128
数的范围 10-37 ~ 1038 10-307~10308 10-4931~104932
有效数字 6~7 位 15~16位 18~19位
北京航空航天大学C语言c第三讲(第五章) 选择结构程序设计

if (money>=500) cost=0.8; else if (money>=300) cost=0.85; else if (money>=100) cost=0.9 else if (money>=50) cost=0.95; else cost=1.0; price=money*cost;
高 低
3,优先级 <,<=,>,>= 为同一级别,== 和!= 为同一级别. 在同一级别中,采取由左至右的结合方向.
算术运算符 -> 关系运算符 -> 赋值运算符
4,关系表达式
用关系运算符将两个表达式连接起来叫关 系表达式。 例:关系运算的优先级举例
c>a+b a>b!=c a==b<c a=b>c
if (表达式) 语句1 else 语句2
说明: (1)表达式是指关系表达式或逻辑表达式,条
件满足指的是表达式的值为真,即表达式的 值是一个非0值。 例如: if (3) printf(“O.K”); 输出O.K(永真) if („a‟) printf(“%d”,„a‟); 输出97 (永真) if (0) printf(“false”); 不执行printf语句(永假)
能被4整除,但不能被100整除; 能被400整除。
用year表示年份,判断闰年的逻辑表达式为: (year%4==0 && year%100 != 0)||(year % 400 ==0)
如果给year输入一个的值,使上面的表达式的值为1
时,则year所代表的年份就是闰年。
• 课堂练习: 写出逻辑表达式。 10 1. 判断一个点是否 10 -10 落入圆形中 2. 求落入阴影部 -10 分的任意一点 x*x+y*y<=100 (小园的半径为1.)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b
b
a=b; b=a; a=b; b=c;
b c =a;
#include <stdio.h> void main( ) { int a, b, c; printf("Please input a b:"); scanf("%d%d", &a, &b); printf("a=%d,b=%d\n", a, b); c=a; a=b; b=c; printf("a=%d,b=%d\n", a, b); }
Please input a b: 2 1
a=2 , b=1 a=1, b=2
举 例
#include <iostream.h> void main( ) { int a, b, c; cout<<"Please input a b:"; cin>>a>>b; cout<<"a="<<a<<",b="<<b<<endl; c=a; a=b; b=c; cout<<"a="<<a<<",b="<<b<<endl; }
+ +
举 例
例1:将键盘输入的小写字母,以大写输出。 P292
'A'='a'-32 开始
#include <iostream.h> void main() { char little, big; cout<<"请输入小写字母:"; cin>>little; big=little-32; cout<<little<<big<<endl; }
scanf函数的格式
scanf("格式控制",地址表列)
格式控制 意义
数据输入语句
scanf("格式控制",地址表列); 如:scanf("%d,%f",&a,&b) ;
地址表列:&:取址运算符 &a:变量a的地址 &b:变量b的地址 格式控制: 指定数据输入的格式
格式 %d 按十进制输入整数 说明 %f 按小数形式输入实数 其它字符 原样输入 例如:设a=2,b=2.5,写出执行下 面的语句时,数据输入的形式。
运行结果,请仔细观察
C 关闭工作空 间
+ +
选择菜单命令File|Close Workspace
运行C++程序
运行C++程序
C 启动Visual C++6.0开发环境 C 创建一个文件 *.cpp
+ + + +
C 编辑C++的源程序文件内容
+ +
C 建立并运行可执行程序
+ +
C 关闭工作空间
举 例
#include <stdio.h> void main( ) { char little, big; printf("输入小写字母:"); little=getchar(); big=little - 32; putchar(little); putchar(big); putchar('\n'); }
scanf("%d%f",&a,&b);
2 •2.5
2,2.5
:数据间的分隔符 •
• 意义
输 入 缓冲区
内存 单元
程 序 a 运 行 b时
scanf("%d,%f",&a,&b);
scanf("a=%d,b=%f",&a,&b);
a= 2,b=2.5
scanf("%7.2f", &a);
1234567
scanf("%3d%2d", &a, &b);
12345
scanf("%c%d%f", &c, &a, &b);
a• 12.78 112•
scanf("%c%c", &c1, &c2);
a• b
ab
putchar函数
作用:输出一个字符 格式:putchar(c); 其中:c是字符型变量、 字符型常量、整型变量、 整型常量。
• 作用:输入一个字符 • 格式:getchar( )
a
a
输入输出流格式控制符
C++提供了一些控制符可以直接嵌入到输入/输出语句中来 实现I/O格式控制。 P29
setw(n) 设置字段宽度为n。默认右对齐。
setprecision(n) 设置浮点数的精度(有效位数)为n。 setiosflags(ios::fixed) 设置浮点数以固定的小数位数 显示,默认显示6位小数。
#include <stdio.h> void main( ) { char a,b,c; a='Y'; b='e'; c='s'; putchar(a); putchar(b); putchar(c); putchar('\n'); }
Yes
getchar函数
#include <stdio.h> void main( ) { 注意:只能接收一个字符。 char c; c=getchar( ); putchar(c); }
C 运行
+ +
运行C++程序
C 建立并运行可执行程序
+ +
选择菜单命令Build|Compile sy1.cpp (编译)Ctrl+F7 选择菜单命令Build|Build sy1.exe (连接)F7 选择菜单命令Build|Execute sy1.exe (运行)Ctrl+F5
运行C++程序
++x; yபைடு நூலகம்++x; x++; x=x+1; y=x;
y=x++;
y=x; x=x+1;
复 习
cout<<表达式1<<表达式2……<<表达式n; cin>>变量1 >>变量2…… >>变量n; 程序: #include <iostream.h> #include <math.h> void main( ) { float a, b, alf, c; cin>>a>>b>>alf; c=sqrt(a*a+b*b-2*a*b*cos(alf)); cout<<"c="<<c<<endl; }
复 习
printf("格式控制", 输出表列);
格式控制 %d
格 式 说 明
#include <stdio.h>
意义
按十进制输出整数 按小数形式输出实数 输出一个字符 输出一个字符串
%f %c %s
\n
其它字符
换行
原样输出
%md
按十进制输出整数
占 m位
%m.nf 按小数形式输出实数
...
n位 m位
.obj
.exe
Microsoft Visual C++ 简介
C 启动Visual C++6.0开发环境
+ +
开始程序 Microsoft Visual Studio 6.0
工作区窗口
Microsoft Visual C++ 6.0
编辑窗口
输出窗口
运行C++的程序
C 创建一个文件
+ +
单击File菜单中的New选项。 显示New(新建)对话框
输入小写
转换
输出大写 结束
举 例
#include <stdio.h> void main( ) { char little, big; printf("输入小写字母: "); scanf("%c" , &little); big=little-32; printf("%c%c\n", little, big); }
复 习
赋值时的类型转换
1 计算右侧表达式的值;
2 判断“=”两侧类型是否一致,如果一致,直接赋值; 如果不一致,将计算结果转为左侧变量的类型,再赋值。
复合赋值运算符: += -= *= /= %=
如:x+=y+3 x-=y+3 等价于 等价于 x=x+(y+3) x=x-(y+3)
增量运算符: ++ --
运行结果: Input a,b: 2 6 x=1, y=1
例3:将两个变量中的值互换。 中间变量的类型要与原始变量一致
分 析 a 2 输 入 交 换 输 出 方法一: (1) a 2 11 1 (2) 方法二: a 2 1 1 2 c 2 b 1 a 1 b 2
c 酱
(1)
油
(3)