当前位置:首页 >> 其它课程 >> C第03次课

C第03次课


C 语 言 程 序 设 计

第二章

用C语言编写程序

教学内容与目的
?了解分支结构的特点和基本的写法(if语句和if...else语句) ?掌握使用关系运算符、逻辑运算符编写简单的表达式 ?掌握条件运算符 ?掌握数学库函数的使用

电气与信息工程学院计算机系制作

> C 语 言 程 序 设 计 ? 例1 分段计算水费
4x ? x ? 15 ? y ? f ( x) ? ? 3 ? ?2.5x ? 10.5 x ? 15

分析 需要对x进行判断,x不同y的计算方法也不同

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
开始

定义变量,x,y 从键盘输入x x小于等于15
是 否

流程特点: 有选择,根据条件来 执行不同的计算

计算y=4x/3

计算y=2.5x-10.5

输出x,y

结束

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 例1 关系运算
x <= 15

比较 x 和 15 的大小 比较的结果:真(1) 假(0)
当 x 取值9.5时, x <= 15的结果是:? 当 x 取值21.3时, x <= 15的结果是:?

关系运算 — 比较运算,比较两个操作数 ? 关系运算符(优先级低于算数运算符) x < y x <= y x == y 区分= 和==
x>y x >= y

x != y ? 关系表达式:用关系运算符将2个表达式连接起来的

式子。

如:x <= 1

x+y > 2+5
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 例1 运用关系表达式

表示比较的数学式
x≤10 x≥10 x≠10 x = 10

C关系表达式
x <= 10 x >= 10 x != 10 x == 10

用关系表达式描述条件
– 判断 x 是否为负数 x<0 – 判断 x 是否不为零 x != 0

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? if…else语句 if (表达式) 语句1 else 语句2
真 表达式 语句1 语句2

if(x <= 15) y = 4 * x / 3; else y = 2.5 * x - 10.5;


电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? if…else使用
一、if …else… 语句用来编写“二分支”的程序语句非常 方便,即当程序要求满足某个条件时,执行某条语句,否 则(不满足)执行另一条语句 二、编写过程为: 1、先将条件写成表达式,作为if的条件表达式,将满足条 件时需要执行的语句放在if后面 2、然后再写else,将不满足条件需要执行的语句放在else 后面 3、关键是构造条件表达式,需要根据程序的要求编写符 合要求表达式

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? if…else语句注意

1、else 后面什么都不要写 :else (x<0) 是错的!
2、else 不能单独使用,它只能与if语句配合使用。 否则会出现 “else没有if 配对的错误”。 3、C语言中非零值都认为是真,所以if(1) 表示条件 成立,而if(0)表示条件不成立

3、if语句只管到其后的一条语句,如果if后面跟有 两条及两条以上的语句,将其使用{ }括起来

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
if(a>b) b=b-1; printf(“max is %d,min is %d”,a,b); else a=a+1; printf(“max is %d,min is %d”,b,a); if(a>b){ b=b-1; printf(“max is %d,min is %d”,a,b); } else{ a=a+1; printf(“max is %d,min is %d”,b,a); }

错误代码

正确代码

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
#include <stdio.h> void main() { double x, y; Enter x (x>=0): 9.5 f(9.500000)=12.67 Enter x (x>=0): 15 f(15.000000)=20.00 数据必须输入吗?

}

printf("Enter x (x>=0):\n"); /* 输入提示 */ scanf("%lf", &x); /* 调用scanf函数输入数据 */ if(x <= 15) /* if – else语句 */ y = 4 * x / 3; else y = 2.5 * x - 10.5; Enter x (x>=0): printf("y = f(%f) = %.2f\n", x, y); 21.3

f(21.300000)=42.75
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 例2 输入一个成绩判断其是否是合法的成绩(假 设满分为100分)
开始

定义变量,score

从键盘输入score
score大于等于0小于等于100
是 否

输出“合法”

输出“不合法”

结束

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 逻辑运算

0 <= x <= 100 x>=0 x<=100 关系运算 x>=0 && x<=100

0

50

100

x

x >= 0 并且 x <= 100
x >= 0 && x <= 100
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 逻辑运算符 逻辑与 && 逻辑或 || 逻辑非 !

x 1 1 0 0

y 1 0 1 0

x&&y 1 0 0 0

x||y 1 1 1 0

!x 0 1

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 逻辑运算含义

逻辑与 &&
(x>1)&&(y>1)

逻辑或 ||
(x>1)||(y>1)

逻辑非 !
(x>1)

!(x>1) 即 x<=1

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 逻辑表达式 逻辑表达式:用逻辑运算符将表达式连接起来的式子。 例: 1、两位数的偶数:x>=10 && x<100 && x%2==0 2、year 是闰年,即 year 能被 4 整除但不能被 100 整除,或 year 能被 400 整除。 (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) 说明:逻辑运算符优先级低于关系运算符
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
#include <stdio.h> void main(){ /*主函数*/

int score;

/*定义变量*/
/*提示输入*/ /*输入*/ /*判断*/

printf("请输入成绩\n"); scanf("%d",&score); if(x>=0&&x<=100)

printf("输入成绩合法!\n");

else
printf("输入成绩合法!\n"); }
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
课堂练习

编写表达式: 1、表示关系:a>b>c

2、编写程序,求y x2+2x-1 (1<x<10) y= x+1 (其他)

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 从键盘输入两数,求其中的最大值
开始

第一种解法

定义变量:x,y,max 从键盘输入x,y 假设x最大:max=x x<y
是 否

max=y

输出max

结束

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
#include <stdio.h> void main(){/*主函数*/

int x,y,max;/*定义变量*/
printf("请输入x和y\n");/*提示输入*/ scanf("%d,%d",&x,&y);/*输入*/ max=x; if(x<y) /*判断*/

max=y;
printf("max=%d",max); }
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? if语句

一般形式: if(表达式) 语句1
表达式值为真
是 否

语句1

是if…else…语句的特例
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
开始

第二种解法

定义变量,x,y,max 从键盘输入x,y x<y
是 否

max=y

max=x

max 结束

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
#include <stdio.h> main(){ /*主函数*/ /*定义变量*/ /*提示输入*/ /*输入*/

int x,y,max;

printf("请输入x和y\n"); scanf("%d,%d",&x,&y);

if(x<y)

/*判断*/
max=y; 注意:

else max=x; printf("max=%d",max); }

比较两种方法的异同

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计
#include <stdio.h> 第三种解法 main(){ int x,y,max; /*主函数*/ /*定义变量*/ /*提示输入*/

printf("请输入x和y\n");

scanf("%d,%d",&x,&y);
max=x>y?x:y;

/*输入*/

printf("max=%d",max);
}

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 条件运算符 一般形式: 表达式1?表达式2:表达式3
假 ( 0)

真 ( 非0)

表 达 式 1

整个 条 件 表 达 式 取表 达 式 2的 值

整个 条 件 表 达 式 取 表 达 式 3的 值

例如:

if(a>b) max=a; else max=b; 等价于: max=a>b?a:b;
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 说明

1、条件运算符的优先级高于赋值运算符,低于逻辑、 关系运算符和算术运算符。
例如: max=a>b?a:b 等价于: max=((a>b)?a:b)

2、条件运算符的结合性“自右向左”。
例如:a>b?a:c>d?c:d。 等价于: (a>b)?a:((c>d)?c:d)。

3、表达式可以是任意类型
例如:a>b? printf(“a>b”):printf(“a<=b”); 等价于:if(a>b) printf(“a>b”) ; else printf(“a<=b”);

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 库函数

? 库函数
– C语言处理系统提供事先编好的函数,供用户在编程时调 用。scanf(), printf(), exp() – 在相应的系统文件(头文件)中定义一些必需的信息。

? #include命令
– 用户调用库函数时,将相应的头文件包含到源程序中。

例如
– 调用scanf, printf,需要 #include <stdio.h> – 调用sqrt,需要 #include <math.h>

电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 常用数学库函数 ? 平方根函数: sqrt(x) ? 绝对值函数: fabs(x)
fabs(-3.56) 的值为3.56

? 幂函数 pow(x, n) :xn
pow(1.1, 2) 的值为1.21(即1.12)

? 指数函数 exp(x):ex
exp(2.3) 的值为e2.3

? 以e为底的对数函数 log(x):ln x
log(123.45) 的值为4.815836

? 以10为底的对数函数 log10(x):log10x
log10(123.45) 的值为2.091491。 ? 三角函数:sin(x)、cos(x)等
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 库函数使用方法
使用方法: 例如:sin函数的原型为
参数的类型 求得的结果的类型 函数的名称 参数的名称

double sin( double x) 那么如果要求: sin(2y)+sin(y)2 写成相应的表达式为:sin(2*y)+sin(y)*sin(y)
注意: 不能写成:

sin(double 2*y)+sin(double y)* sin(double y) 电气与信息工程学院计算机系制作 sin(2*x)+sin(x)* sin( x)

C 语 言 程 序 设 计


求z=|sin(4x-y)|-ln(cos(2x+2y));
z=fabs(sin(4*x-y))-log(cos(2*x-2*y))
课堂练习

1、求z=ex+e2y-ex+y
2、求z=xy+yx
电气与信息工程学院计算机系制作

C 语 言 程 序 设 计 ? 例3 计算存款的本息
已知某银行存款年利率(复利),计算n年后存款的 本息 分析

sum = money ( 1 + rate)year
思路 输入存款金额 money、存期 year 和年利率 rate, 根据公式计算存款到期时的本息合计sum,输出 时保留2位小数。

sum = money * pow((1 + rate), year)
电气与信息工程学院计算机系制作

# include <stdio.h> # include <math.h> int main(void) { int money, year; double rate, sum;

C 语 言 程 序 设 计

Enter money: 1000

Enter year: 3
Enter rate: 0.025

printf(―Enter money:"); sum = 1076.89 scanf("%d", &money); printf(―Enter year: "); scanf("%d", &year); printf(―Enter rate:"); scanf("%lf", &rate); sum = money * pow((1 + rate), year); printf("sum = %.2f", sum); return 0; scanf("%d%d%lf", &money, &year, &rate); }
电气与信息工程学院计算机系制作


更多相关文档:

第03次课 静力学基本理论

第03次课 静力学基本理论_教育学_高等教育_教育专区。流体力学讲稿 二 平衡...(b)测真空度 图 2-11 不同测压仪表原理 (c)测压管 U型测压计如图 2-...

C语言第03次课

C语言第03次课 - 闽南理工学院备课笔记 第3章 3.1 if 结构 分支结构程序设计 第3课 用 if 语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个...

第03次课 作业

第03次课 作业 隐藏>> 第六章 平面直角坐标系作业题一、 选择题(每题 3 ...x 轴,垂足为 C,则 C 点的坐标是( ),(A) (0,0)(B) ;(0,2)(C) ...

第03次课(数据表的基本操作、多表操作)

第03次课(数据表的基本操作、多表操作) 隐藏>> 全国计算机等级考试(二级 Visual...格式:SET RELATION TO eExpression INTO nWorkArea | cTableAlisa nWorkArea ...

第03次课 平面直角坐标系复习题

第03次课 平面直角坐标系复习题 七年级数学下册七年级数学下册隐藏>> 平面直角...线段 CD 是由线段 AB 平移得到的,点 A(–1,4)的对应点为 C(4,7) ,则...

第03次课条件概率

第03次课条件概率 隐藏>> 第一章 随机事件的概率 第三节 条件概率与乘法公式..., P( AB) = P( B1 ) + P( B2 ) 1 3 2 C 4 C 6 C 4 C 62 ...

xxx 3-24第03次课 平行线与相交线 2

xxx 3-24第03次课 平行线与相交线 2_数学_初中教育_教育专区。经典个性化教学...其中正确的个数是( ) A、4 个 B、3 个 C、2 个 D、1 个 9、下列...

科学 7-8第03次课 水

科学7-8第03次课 水 隐藏>> 英捷中小学生课外辅导中心学员辅导资料课程名称 辅导...用口杯接水刷牙 C.工业用水重复利用或循环利用 2、下列物质中属于纯净物的是...

《生产管理学》第03章在线测试

暂无评价|0人阅读|0次下载|举报文档 《生产管理学》第03章在线测试_管理学_高等...多样化 C、低廉 D、可靠 B、质量 D、不确定 B、产品的相似性 D、材料的...

第03次课(数据表的索引、参照完整性、多表操作)

第03次课(数据表的索引、参照完整性、多表操作) 隐藏>> 全国计算机等级考试(...3.工作区的切换命令: 格式:SELECT nWorkArea | cTableAlias 如:SELECT 3 ...
更多相关标签:
欢乐课程03 | mit公开课18.03 | 黄简讲书法三级课程03 | 警视厅印尼炒饭课03 | 课程与教学论03任务 | 欢乐课程第二季03视频 | fa主演必修课03 | 一课一练03 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com