03_运算符和条件结构


– 输入字符串:
Scanner input = new Scanner(System.in); String name = input.next(); //输入姓名
6
为什么使用关系运算符
比较高低、大小、长短
张三的考试成绩是否比李四高 大象是否比乌龟更长寿 篮球跟地球一样大吗
使用关系运算符可以比较高低、大小、长短 如何比较?
System.out.println(“老师说:不错,给你一本书");
} else { System.out.println(“老师说:罚你去跑步");
}
} }
16
演示示例4:使用if-else结构
小结1
• 说出已学过的数据类型有哪些? – 基本数据类型:int、double、char、boolean、 – 引用数据类型:String • 其他基本数据类型 – byte、short、long、float • 举例说明已学过的运算符有哪些? – 赋值运算符、算术运算符、条件运算符、逻辑运算符 • if和if-else条件结构执行的顺序是什么? – if:如果条件表达式成立,执行语句 – if-else:如果条件表达式成立,执行语句1,如果不成立 执行语句2
}
} }
11
演示示例2:使用基本if条件结构
如何使用if条件结构6-2
3、小明Java成绩大于90分,而且音乐成绩大于80分, 老师奖励他;或者Java成绩等于100分,音乐成绩大于 70分,老师也可以奖励他
运算 符 && || !
12
表达式 分析:怎样把多个条件连接起来? 使用逻辑运算符
条件1 && 条件2 条件1 || 条件2 ! 条件
使用两个基本if条件结构 使用if-else条件结构实现 if ( score > 90 ) { System.out.println(“老师说:不错,给你一本书"); } if ( score <= 90 ) { System.out.println(“老师说:罚你去跑步"); }
14
如何使用if条件结构6-5
说明
仅仅两个条件同时为真,结 果为真 只要两个条件有一个为真, 结果为真 条件为真时,结果为假 条件为假时,结果为真
如何使用if条件结构6-3
问题3的条件如何编写
score1 > 90 && score2 > 80 || score1 == 100 && score2 > 70 public class HelloWorld3 {
5
从控制台输入
• 导入包:
– import java.util.Scanner; – import java.util.*;
• 使用Scanner输入:
– 输入整数:
Scanner input = new Scanner(System.in); int age = input.nextInt(); //输入年龄 在源代码第一行
boolean (布尔)类型
boolean类型的值:
真:true 假:false
boolean类型只有这两个值
4
如何使用boolean类型
1、用boolean类型描述:学员张三的考试成绩是 否比学员李四(80分)高
存储比较结果
int liSi = 80; boolean isBig ;
//学员李四成绩 //声明一个boolean类型的变量
21
为什么使用switch结构
6、 小明参加知识竞赛
如果获得第一名,将出任学生会主席 如果获得第二名,将出任学生会副主席 如果获得第三名,将出任学生会委员 否则,将被开除
使用if条件结构如何实现
更好的解决办法:使用switch结构解决
22
什么是switch结构
switch结构
switch (表达式) { case 常量 1: 语句; break; case 常量 2: 语句; break; default: 语句; 计算表达式的值
24
常见错误3-1
int mingCi = 1; switch (mingCi){ 输出结果是什么? case 1: System.out.println(“出任学生会主席"); case 2: System.out.println(“出任学生会副主席"); case 3: System.out.println(“出任学生会委员"); default: System.out.println(“被开除"); }
运算符的优先级: public static void main(String[ ] args) {
最高的优先级:小括号,即( ) int score1 = 100; //小明的Java成绩 最低的优先级:赋值运算符,即= int score2 = 72; //小明的音乐成绩 优先级顺序:!>算术运算符>比较运算符>&&>||
89 19
2
本章目标
• 掌握boolean类型的用法 • 掌握关系运算符和逻辑运算符 • 掌握if条件结构
– 使用基本if条件结构 – 使用多重if条件结构
• 掌握switch结构的用法 • 掌握键盘输入
3
为什么需要boolean类型
用什么数据类型能表示
一件商品是真货还是假货 一个条件成立还是不成立
表达 式
真 语句

10
如何使用if条件结构6-1
回顾:如果小明的Java考试成绩大于90分,老师就奖励 他一本书
import java.util.Scanner;
public class HelloWorld2 { 使用if条件结构该如何实现 public static void main(String[ ] args) {
Scanner input = new Scanner(System.in); System.out.print("输入小明的Java成绩: "); int score = input.nextInt(); if ( score > 90 ) { //小明的Java成绩 //判断是否大于90分
System.out.println(“老师说:不错,给你一本书");
运算符和条件结构
回顾
• 找出错误并更正
需进行强制类型转换
int radius = 10; double high = 1.9; int vol = 3.14 * radius * radius * high;high); int vol = (int)(3.14 * radius * radius *
7
什么是关系运算符
• 常用的关系运算符有哪些:
– >,< – = =,!= – >=,<=
大象的寿命 < 乌龟的寿命 张三的成绩 > 李四的成绩 小明每次考试成绩 >= 90分 篮球的大小 == 地球的大小 真 假 真 假
由此看出 关系运算符的作用:用来做比较运算 比较后结果:boolean类型
8
使用多重if结构
19
什么是多重if结构
多重if结构就是在else部分中还包含其他if块 多重if结构
if ( 条件 ) { 表达式 1 真 语句1 假
//语句
}
else if ( 条件 ) {
//语句
} else { //语句 }
20
表达式 2 真 可以有多个 语句2

语句3
可以省略
如何使用多重if结构
17
小结1
1、 小布什买了一筐鸡蛋,如果坏蛋少于5 个,他就吃掉,否则他就去退货
2、 要求用户输入两个数a、b,如果a能被 b整除或a加b大于100,则输出a,否则 输出b
18
为什么使用多重if结构
5、对学员的结业考试成 绩评测
成绩>=90 :优秀 成绩>=80 :良好 成绩>=60 :中等 成绩<60 :差
为什么需要if条件结构
2、如果小明的Java考试成绩大于90分,老师就奖励他 一本书
使用if条件结构可以解决
9
什么是if条件结构
• if条件结构是根据条件判断之后再做处理
基本的if条件结构
if ( 条件 ) { //语句 }
结合问题2 if ( 小明Java成绩 > 90 ) { 老师奖励小明; }
if ( (score1 > 90 && score2 >80)
多使用小括号( )控制优先级 System.out.println(“老师说:不错,给你一本书");
} }
13
|| (score1 == 100 && score2 > 70) ) {
}
如何使用if条件结构6-4
4、如果小明考试成绩大于90分,老师就奖励他一本 书,否则老师就罚他跑步
从控制台输入
Scanner input = new Scanner(System.in); System.out.print("输入学员张三成绩: "); //提示输入学员张三的成绩 int zhangSan = input.nextInt(); //输入张三的成绩 isBig = zhangSan > liSi ; //将比较结果保存在isBig变量中 System.out.println( "张三成绩比李四高吗 ? "+isBig ); //输出比较结果 条件表达式
使用多重if结构解决问题5
int score = 70; //考试成绩 大于等于90分 if ( score >= 90 ) { System.out.println("优秀"); 大于等于80分,小于90分 } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 60 ) { 大于等于60分,小于80分 System.out.println("中等"); } else { 小于60分 System.out.println("差"); }
合集下载

大一c语言章节知识点

大一c语言章节知识点

大一c语言章节知识点第一章:基本概念和数据类型C语言的历史背景C语言的特点和优势关键字和标识符数据类型及其表示范围变量的定义和声明常量的定义和分类运算符的分类和优先级第二章:运算符和表达式算术运算符和表达式逻辑运算符和表达式位运算符和表达式赋值运算符和表达式关系运算符和表达式条件运算符和表达式运算符的优先级和结合性第三章:控制语句顺序结构选择结构(if语句、switch语句)循环结构(for循环、while循环、do-while循环)循环控制语句(break、continue、goto)嵌套控制语句第四章:数组和字符串数组的定义和初始化数组的访问和操作多维数组字符数组和字符串的处理字符串的输入和输出第五章:函数和递归函数的调用和返回函数的参数传递(值传递、地址传递)递归函数的原理与应用递归和迭代的比较第六章:指针指针的定义和声明指针与数组的关系指针的运算(指针的加减、指针的比较)指针与字符串的处理函数指针和指针数组第七章:结构体和共用体结构体的定义和初始化结构体中成员的访问和操作结构体的嵌套和对齐枚举类型的定义和应用第八章:文件操作文件的打开和关闭文件的读写操作(字符型文件、二进制文件)文件指针的位置控制文件的随机访问和更新第九章:动态内存管理内存分配与释放的概念malloc函数和free函数的使用calloc函数和realloc函数的使用动态分配二维数组的操作第十章:预处理指令宏定义的使用条件编译指令的应用文件包含指令的作用错误指示和行控制指令无论是在学习C语言的过程中,还是在实际应用中,以上这些章节知识点都是非常重要的。

掌握这些知识点,将帮助你深入了解C语言的基本原理和常用功能,为编写高效、健壮的程序奠定扎实基础。

在学习过程中,请务必理解并实践每个章节的知识点,并结合实际案例进行练习和应用,以加深对C语言的理解和应用能力。

祝你在学习C语言的道路上取得优异的成绩!。

C语言第四章.选择结构程序设计

C语言第四章.选择结构程序设计

case 常量表达式n: 语句n; default : 语句n+1; }
语句的执行过程:
先计算表达式的值,并逐个与其后的常量表达式值相 比较; 当表达式的值与某个常量表达式的值相等时,即执行
其后的语句;
然后不再进行判断,继续执行后面所有case后的语句;
如表达式的值与所有case后的常量表达式均不相同时,
a+b>c && x+y<b 等价于 ((a+b)>c) && ((x+y)<b)
2)逻辑运算的值: 逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”
来表示。
反过来在判断一个量是为“真”还是为“假”时,以“0” 的数值代表“假”,以非“0”的数值代表“真”。
3)逻辑运算的规则:
(1)与运算&&
条件运算符和条件表达式
条件表达式通常用于赋值语句之中。 例如条件语句:
if(a>b) max=a;
else max=b; 可用条件表达式写为 max=(a>b)?a:b;
执行该语句的语义是:如a>b为真,则把a 赋予max, 否则把b 赋予max。
注意以下几点:
条件运算符的运算优先级 低于关系运算符和算术运算符,高于赋值符。 因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
注意:
(3) 在if 语句的三种形式中,所有的语句应为单个语句,
如果要想在满足条件时执行一组(多个)语句,则必须
把这一组语句用{ } 括起来组成一个复合语句。 例如:交换两个变量 if (a>b) { t= a; a=b; b=t; }

4.C语言学习--条件结构

4.C语言学习--条件结构
真 假


4.2 多重 if 结构示例
#include <stdio.h> int main() 内存 { 问题描述: grade float grade; 编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定 59 printf("\n 请输入期末考试成绩: "); 信息。成绩大于等于90分输出“优”;成绩大于等于80分小于90分 scanf("%f", &grade); 输出“良”;成绩大于等于60分小于80分输出“中”;成绩小于60 if(grade>=90) 分输出“差”。 printf("\n 优"); else if ((grade>=80) && (grade<90)) printf("\n 良"); else if ((grade>=60) && (grade<80)) printf("\n 中"); else printf("\n 差"); 请输入期末考试成绩:59 printf("\n"); 差 }
4.4 switch 结构注意事项
在使用switch结构时应注意以下几点:
1. 比较少见的用法是,为了执行某个case的代码后继续执行下一个case的 代码,故意省略break语句。 2. 一个普遍的误解:以为程序只会执行匹配的case标号相关联的语句。实 际上,程序从该点开始执行,并跨越case边界继续执行其他语句,直到 switch switch结束或遇到break语句为止。 break 3. switch内部的变量定义: 对于switch结构,只能在它的最后一个case标号或default标号后面定义变量 ,制定这个规则是为了避免出现代码跳过变量的定义和初始化的情况。 在这种情况下,如果要为某个特殊的case定义变量,则可以引入块语句{}, 在该语句中定义变量,从而保证这个变量在使用前被定义和初始化。

程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表

程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表
例如:判断2005年和2008年。
6
• 四、 选择型程序设计
– if语句(条件选择语句)
• if语句的三种形式 – 形式一: »格式:if (expression) statement »执行过程:
expr 非0 statement =0
例: if (x>y) 形式二 : 非0 printf(“%d”,x); 格式:if (expression) statement1 statement1 else statement2 执行过程: 例:if (x>y) max=x; else max=y;
expr
=0 statement2
7
– 形式三: »格式: 执行过程:
=0
if ( expr1 )
else if (expr2 ) else if (expr3 )
statement1
statement2 statement3
…...
[ else statement n ]
例:if (salary>1000) index=0.4; 非 0 if (salary>800) =0 index=0.3; else expr2 else if (salary>600) index=0.2; =0 非0 else if (salary>400) expr3 index=0.1; else 非0 index=0;
5
三、逻辑运算符和逻辑表达式
1、逻辑运算符: &&:与 ||:或 ! :非 (注意:三个运算符之间的优先级) 注意特例: !0 !2 2||3 2&&3
2、逻辑表达式举例:判断一年为润年的条件是: 年数可以被4整除但不能被100整除 或者 年数可以被400整除。 ( year % 4 ==0 && year % 100 !=0 )||( year % 400 ==0 )

(3)程序控制结构(选择结构)-田媚

(3)程序控制结构(选择结构)-田媚
• 格式输出函数 • 格式输入函数
17
例:设1990年我国工业产值是100,如果每年以7.4% 的速度增长,求20年后我国的工业产值是多少?
1.
分析:计算产值的公式是:
p1=p0(1+r)n 其中:p1为n年后的产值,p0为初始值, r为增长率,n 为年数。
2. 3.
安排计算步骤 写出完整的程序
18
5
6ቤተ መጻሕፍቲ ባይዱ
1
主 函数一个C 1. 一个 C 程序必须有一个_____
二、填空:
主 函数开始执行。 程序必定从______
7
8
2. C 语言中的标识符可分为
用户标识符 关键字 、______________ _______
3. C 语言程序中的数据,在计算机内存储器中
位 ,其中只能存 最小的存储单位称为______
if
if 语句
if–else else–if
if(表达式)语句; if (表达式)语句; if(表达式)语句1 if(表达式)语句 1; else 语句2 语句2; if(表达式1 if(表达式 1)语句 )语句1 1; else if(表达式 if(表达式2 2)语句 )语句2 2; … else if(表达式 if(表达式m m)语句 )语句m m; else 语句 n; 36
23
一、关系运算符和关系表达式
关系表达式概念:
用关系运算符将两个表达式(可以是算术 用关系运算符将两个表达式 (可以是算术 表达式、关系表达式、赋值表达式或逻辑表达 式)连接起来的式子,称为关系表达式。 式) 连接起来的式子,称为关系表达式。
关系表达式 逻辑表达式
关系运算符:
< <= > >=

C语言32个关键字九种控制语句34种运算符

C语言32个关键字九种控制语句34种运算符

第一个关键字:auto用来声明自动变量。

可以显式的声明变量为自动变量。

只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。

并且只在声明它的函数内有效。

而且当使用完毕后,它的值会自动还原为最初所赋的值。

自动变量使用时要先赋值,因为其中包含的是未知的值。

例:auto int name=1;第二个关键字:static用来声明静态变量。

可以显式的声明变量为静态变量。

也为局部变量。

只在声明它的函数内有效。

它的生命周期从程序开始起一直到程序结束。

而且即使使用完毕后,它的值仍旧不还原。

即使没有给静态变量赋值,它也会自动初始化为0.例:static int name=1.第三个关键字:extern用来声明全局变量。

同时声明在main函数之前的变量也叫全局变量。

它可以在程序的任何地方使用。

程序运行期间它是一直存在的。

全局变量也会初始化为0.例:extern int name;第四个关键字:register用来声明为寄存器变量。

也为局部变量,只在声明它的函数内有效。

它是保存在寄存器之中的。

速度要快很多。

对于需要频繁使用的变量使用它来声明会提高程序运行速度。

例:register int name=1;第五个关键字:int用来声明变量的类型。

int为整型。

注意在16位和32位系统中它的范围是不同的。

16位中占用2个字节。

32位中占用4个字节。

还可以显式的声明为无符号或有符号:unsigned int signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。

也可用short和long来声明为短整型,或长整行。

例:int num;第六个关键字:float用来声明变量的类型。

float为浮点型,也叫实型。

它的范围固定为4个字节。

其中6位为小数位。

其他为整数位。

例:float name;第七个关键字:double用来声明为双精度类型。

它的范围为8个字节。

14位为小数位。

也可使用更高精度的long double 它的范围则更大,达到10字节。

第3章 运算符和条件结构


表达 式
真 语句
7
如何使用if条件结构6-1
回顾:如果令狐冲的Java考试成绩大于90分,师父就奖 励他《独孤九剑》剑谱
import java.util.Scanner;
public class Hello2 {
使用if条件结构该如何实现 public static void main(String[ ] args) { Scanner input = new Scanner(System.in); System.out.print("输入令狐冲的Java成绩: "); int score = input.nextInt(); if ( score > 90 ) { //令狐冲的Java成绩 //判断是否大于90分
int score = 70; //考试成绩 大于等于90分 if ( score >= 90 ) { System.out.println("优秀"); 大于等于80分,小于90分 } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 60 ) { 大于等于60分,小于80分 System.out.println("中等"); } else { 小于60分 System.out.println("差"); }
}
22
……
演示示例8:完整代码
比较switch和多重if结构
相同点
都可以实现多分支结构
不同点
switch
只能处理等值的条件判断,且条件是整型变量或字符 变量的等值判断
多重if

C语言运算符大全

C语言运算符大全C语言运算符大全C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。

C语言有三大运算符:算术、关系与逻辑、位操作。

另外,C还有一些特殊的运算符,用于完成一些特殊的任务。

2.6.1算术运算符表2-5列出了C语言中允许的算术运算符。

在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。

当“/”被用于整数或字符时,结果取整。

例如,在整数除法中,10/3=3。

一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。

模运算符“%”在C 语言中也同它在其它语言中的用法相同。

切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。

最后一行打印一个0和一个1,因为1/2整除时为0,余数为1,故1%2取余数1。

2.6.2自增和自减C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。

运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x;自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。

自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。

请看下例:x=10;;y=++x;此时,y=11。

如果程序改为:x=10;y=x++;则y=10。

在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。

在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码要快得多,所以尽可能采用加1或减1运算符是一种好的选择。

下面是算术运算符的优先级::最高++、----(一元减)*、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。

03-选择结构程序设计

军事交通学院
计算机教研室
C语言笔试—3-27
switch 语句
考点1:switch 语句
switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; case 常量表达式3: 语句3; break; default: 语句4; } 计算机教研室
<
>
小于
大于
<= 小于等于
>= 大于等于
军事交通学院
计算机教研室
C语言笔试—3-7
选择结构基本概念
考点1:关系运算和逻辑运算 3、关系运算 例1:若 a=5, b=3, c=1,则: a>b>c 的值为______。 例2:若 a=5, b=3, c=1, d=0, 则: d=b>c!=a 的值为______。
B)和之前与其最近的 if 配对; C)和之前与其最近的且不带 else 的 if 配对; D)和之前的第一个 if 配对。
军事交通学院
计算机教研室
C语言笔试—3-23
if 语句与条件表达式
例9:[2008年9月]有以下程序 #include <stdio.h> main( ) { int x=1, y=2, z=3; if(x>y) if(y<z) printf("%d", ++z); else printf("%d", ++y); printf(“%d\n”, x++); } 程序的运行结果是( )。 A)331 B)41 C)2
结束
军事交通学院
结束
计算机教研室
C语言笔试—3-5

C语言程序设计第4章

技能目标
能够使用if语句和switch语句,进行 选择结构程序设计 会利用多分支结构解决较复杂逻辑 判断问题
目录
CONTENTS
00 案例4 百分制转换等级制 01 4.1 选择结构判定条件的构成 02 4.2单分支和双分支选择结构程序设计 03 4.3 多分支选择结构程序设计
目录
CONTENTS
04 4.4 小结 05 4.5 拓展案例
案例4 百分制转换等级制
问题描述
学生成绩管理系统中需要对老师录入的百分制转换为等 级制。百分制与等级制的对应关系如下:90-100 对应A、 80-89对应B、70-79对应C、60-69对应D、0-59对应E。
问题分析
这是一个需要根据不同条件作出相应选择的程序,根据 描述,我们可以定义float变量fScore用来存放成绩值, 从而根据题目列出下列条件表达式: fScore>=90&&fScore<=100 your grade is A fScore>=80&&fScore<=89 your grade is B fScore>=70&&fScore<=79 your grade is C fScore>=60&&fScore<=69 your grade is D fScore>=0&&fScore<=59 your grade is E
4.4 小结
(1)嵌套if-else语句和switch语句都是用来实现多分支选择结构的,它们的 应用环境不同,嵌套if-else 语句用于对多条件并列测试,从中取一的情形; switch语句用于单条件测试,从其多种结果中取一种的情形。 (2)一般情况下用switch能解决的问题,用嵌套if-else 也一样能解决,反 之用嵌套if-else 语句能解决的问题用switch也能解决,在使用时要根据具体 问题灵活运用。 (3)如果多分支选择结构中需要判断的逻辑关系只是是否相等,则最好用 switch语句。switch语句的执行效率高于嵌套if-else语句。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档