选择语句
选择结构c语言

选择结构c语言选择结构是C语言中的一种重要语句,它可以根据条件的真假来选择执行相应的语句块,从而实现程序的不同流程控制。
本篇文章将详细介绍C语言中选择结构的使用方法及注意事项。
一、if语句if语句是C语言中最基本的选择结构,其语法结构为:if(条件表达式){//当条件表达式为真时执行的语句块}其中,条件表达式一般是关系表达式或逻辑表达式,其返回值为真或假。
当条件表达式为真时,执行花括号中的语句块;当条件表达式为假时,跳过整个if语句块,继续执行下一条语句。
示例代码:#include<stdio.h>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);if(age>=18){printf("您已经成年!\n");}printf("程序结束!\n");return 0;}该程序根据输入的年龄判断是否成年,并输出相应的提示信息。
二、else语句如果if语句的条件表达式为假,程序会直接跳过整个if语句块。
如果需要在条件为假时执行一些操作,可以使用else语句。
else语句的语法结构为:if(条件表达式){//当条件表达式为真时执行的语句块}else{//当条件表达式为假时执行的语句块}示例代码:#include<stdio.h>int main(){int age;printf("请输入您的年龄:");scanf("%d",&age);if(age>=18){printf("您已经成年!\n");}else{printf("您还未成年!\n");}printf("程序结束!\n");return 0;}该程序根据输入的年龄判断是否成年,并输出相应的提示信息。
C语言程序设计-if_else选择结构PPT

情景实现
int main() {
int i; printf(“明天下雨请输入1,不下雨请输入0\n”); scanf(“%d”,&i); if(i==0)
printf(“明天不下雨去春游\n”); else
printf(“明天下雨去图书馆\n”); return 0; }
例题讲解
从键盘上输入两个实数,比较并输出这两个数中 较大的一个。
printf(“两个数中较大的为%d\n”,b); return 0; }
课堂练习
体质指数 (Body Mass Index,简称BMI),是目前国际最常 用来量度体重与身高比例的工具。它利用身高和体重之间的 比例去衡量一个人是否过瘦或过肥。 体质指数(BMI)=体重(kg)/身高 (m)^2 编写一个C语言程序,输入班级某同学的身高体重,判断某 同学是否超重(BMI值大于24)。(在VC中实现此C程序)
C语言程序设计
使用if-else语句实现选择结构程序
目录
CONTENTS
01 情景导入 02 情景分析 03 if-else选择语句 04 例题讲解 05 课堂练习
情景导入
明天是周末,天气预报说明天有可能下雨, 小明计划如果明天不下雨就出去春游,否则 的话就去图书馆看书。 请根据以上情景设计一个C语言程序,模拟 小明明天的活动情况。
情景分析
根据案例描述,小明明天的活动有两个选择,去春游 或者去图书馆。小明具体选择什么活动要看明天是否 下雨。 在C语言中,可以通过if-else语句来实现类似的选择程序。
if-else选择语句
if-else语句的语法结构
if(条件) 选择语句1:; else 选择语句2;
开始if结构
成立
[笔记]ExcelVBA中之选择结构控制
![[笔记]ExcelVBA中之选择结构控制](https://img.taocdn.com/s3/m/473682064531b90d6c85ec3a87c24028915f8515.png)
ExcelVBA中之选择结构控制在实际中有许多需要根据某些条件判断是否执行的操作,这时就需要用到选择结构语句。
VBA的选择语句有If-Then语句和Select Case语句两类。
1.If-Then语句If-Then语句的作用是:根据给定的逻辑表达式的值有条件地执行某些语句组合。
在使用时,If-Then语句有以下两种形式。
·单行结构的If-Then语句格式1:If <逻辑表达式> Then <语句>功能:当逻辑表达式的值为True时Then后面的语句,否则不If语句。
格式2:If <逻辑表达式> Then <语句1> Else <语句2>功能:当逻辑表达式的值为True时执行语句1,否则执行语句2。
·块结构的If-Then语句格式1:If <逻辑表达式> Then<语句块>End If功能:当逻辑表达式的值为True时执行下面的语句块,否则不执行If语句。
格式2:If <逻辑表达式> Then<语句块1>Else<语句块2>End If功能:当逻辑表达式的值为True时执行语句块1,否则执行语句块2。
格式3:If <逻辑表达式1> Then<语句块1>Else If <逻辑表达式2> Then<语句块2>Else If <逻辑表达式3> Then<语句块3>Else If <逻辑表达式n> Then<语句块n>Else<语句块n+1>End if功能:当逻辑表达式1的值为T rue时执行语句块1;否则,当逻辑表达式2的值为True时执行语句块2;否则,当逻辑表达式3的值为Ture时执行语句块3……依次类推;否则执行语句块n。
所有逻辑表达式都为False时,执行Else后面的语句块n+1。
头歌关系运算符与选择语句答案

一.双目运算符1.1赋值运算符基本赋值运算符= Java中唯一一个自右向左运算的符号;扩展的赋值运算符+= 、-= 、*= 、/= 、%=(算术运算符+基本赋值运算符)推荐使用: 1.提高执行效率 2.自动做强制类型转换缺点:不直观1.2 关系运算符==、!=、>、>=、<、<=操作符描述== 检查如果两个操作数的值是否相等,如果相等则条件为真!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真1.3逻辑运算符&、|、^、!、&&、||操作符描述& 逻辑与,两个都为true才是true,一个为false就是false| 逻辑或,一个为true就是true,两个都是false才是false^ 异或,相同为false,不同为true! 非,取反 !true–>false !false–>true&& 短路与,两个都为true才是true,一个为false就是false|| 短路或,一个为true就是true,两个都是false才是false推荐使用短路**&&、||**:第一个操作数就已经能够决定最终的结果了,第二个操作数将不再执行2.三目运算符条件运算符也被称为三元运算符条件表达式 ? 值1 : 值2;1)执行条件表达式–>值为Boolean类型的表达式2)如果为true,最终的结果取值13)如果为false,最终的结果取值2二、键盘录入及随机函数Scanner : 可以接收用户收入的内容|接收键盘输入1.创建这个类型的变量|引用引用数据类型变量名|引用名 = new 引用数据类型();Scanner sc= new Scanner();2.根据引用数据功能引用.功能名字();sc.next();1.导包指明Scanner类的位置import java.util.Scanner;位置: 类的上面2.创建类型的引用|变量名3.使用功能sc.nextInt() 接收用户输入的int类型的整数sc.nextByte()sc.nextShort()sc.nextLong()sc.nextDouble()sc.nextFloat()sc.next() 接收用户输入的字符串遇到enter功能就结束从有效字符开始接收,遇到空格,tab就不接受了,但是功能不会结束,知道遇到enter功能才会结束sc.nextLine() 接收用户输入的一整行的内容,知道换行结束 enter换行如果在nextLine的前面有使用到系列的next功能,需要处理遗留的enter问题4.关闭sc.close()关闭友好的使用方式推荐关闭,但是不关闭也不会出错,注意:如果一旦关闭,必须在使用完成之后再关闭,否则重新开启也不可以使用Random 产生随机数1.导包指明Random类的位置2.创建引用数据类型的变量3.使用功能随机整数引用.nextInt() 产生一个int范围内的随机整数nextInt(整数n) [0,n) 0~n之间的随机整数随机小数nextDouble() 随机小数-> [0.0,1.0)*值1 值改变最大区间+值2 只改变最小区间公式:[0,max] ran.nextInt(max+1)+1; ->[1,6][min,max] ran.nextInt(max-min+1)+min ; [0,max-min]+min->[min,max] 伪随机数:三、流程控制语句java中的流程控制语句顺序结构:从上倒下,从左到选择结构:根据选择,决定执行的内容循环结构:重复执行同样的操作条件语句 - if…else语句单分支|单选泽if(条件表达式){语句体;}条件表达式必须值为boolean类型的表达式如果条件表达式结果为false,就不执行跳过整个if结构如果条件表达式结果为true,执行{}中的语句体双分支|双选择if(条件表达式){语句体1;}else{语句体2;}无论是否满足条件,都会执行语句体多分支|多选择:if(条件表达式1){语句体1;}else if(条件表达式2){语句体2;}else if(条件表达式3){语句体3;}....else{以上条件都不满足执行的内容}if语句和条件运算符之间的选择:1.条件运算符肯定会得到结果2.麻烦的使用if,简单的能使用条件运算符就是用条件运算符无论是多选还是单选,双选,只要语句体只有1句,前后的{}可以省略switch语句switch语句:定值判断switch(表达式){case 值1:语句体1;break;case 值2:语句体2;break;....default:语句体n;break;}表达式|变量: byte,short,int,char,枚举(1.5),字符串(1.7)case:拿表达式的结果与case后的值进行判断,如果相同,执行对应的语句体;break:结束这个switch语句,如果没有break会发生case穿透default: else作用一致,以上case都不满足条件,执行default中的语句体可以在switch语句中的任何位置,改变位置注意break的问题if语句可以做区间判断,可以做定值判断switch 只能做定值判断一、运算符(就是连接常量或者变量的一种符号)1.1算数运算符•分类:+ - * / % ++ --•注意事项:注意事项: 两个整数相除得到的是整数,想得到小数必须有浮点数(小数)参与运算•/和%的区别: /得到的是两个数的商 %得到的是两个的余数•字符串做参与运算,其实就是字符串的拼接,然后得到一个新的字符串•++和--的使用:o单独使用的时候比较多,++ -- 不管是在前或后,对结果没有影响的o参与其他操作的时候o++ -- 在变量的前面的时候先对其自身进行+1或者是-1 然后在参与运算o++ -- 在变量的后面的时候先参与运算,然后在自身进行+1或者是-1;o注意: 只能变量做++/--1.2赋值运算符•分类基本的为= ,扩展的赋值运算符 += -+ *= /= %=•扩展规则:将运算符左边的变量和右边的值做运算,在把结果赋值给左边的变量•注意事项:有强制类型转换的作用1.3关系运算符(也叫做比较运算符)•分类:== > >= < <= !=•用关系运算符连接起来的式子叫做关系表达式,结果是一个boolean类型的值•注意事项; = 它是赋值操作==它是判断两个数是否相等1.4逻辑运算符(连接关系表达式)•分类: & | ! && || ^•&&o特点:有false则falseo具有短路作用,当左边为false时候右边不执行•&o特点:有false则falseo不具备短路做用,不管左边为false还是true右边都执行•||o特点: 有true则trueo具备短路做用,当左边为true的时候,右边不执行•|o特点: 有true则trueo不具备短路做用,不管左边为false还是true,右边都执行•! 特点:非false则true,非true则false•^ 特点:相同为false,不同为true,举例男女关系1.5三元运算符(三目运算符)•格式: 关系表达式? 表达式1 : 表达式2 ;•执行流程: 首先计算关系表达式的值是true还是false 如果是true就执行值1; 如果为false就执行值2;二、流程语句2.1 顺序结构语句•代码从上往下依次执行2.2选择结构语句•if语句o第一种格式o if(关系表达式){o语句体;o}o第二种格式o if(关系表达式){o语句体1;o}else {o语句体2;o}o第三种格式o if(关系表达式1){o语句体1;o}else if(关系表达式2){o语句体2;o}else if(关系表达式3){o语句体3;o}.....else{o语句体n+1;o}•switch语句•switch(表达式){//表达式的值可以是byte char short int jdk5:枚举jdk7:字符串•c ase 值1:•语句体1;•break;//中断•c ase 值2:•语句体2;•break;•.......•default://相当于if语句中else•语句体n+1;•break;•}2.3循环结构语句•for循环语句o for(初始化语句;判断条件语句;控制条件语句){o循环体语句;o}o 1 初始化语句o 2 计算判断条件语句的值true或者falseo如果false 直接结束循环o如果是true 往下执行o 3 执行循环体语句o 4 执行控制条件语句o 5 回到第二步o*•while循环语句o* while(判断条件语句){o* 循环体语句;o* }o*o* 扩展格式o* 初始化语句;o*while(判断条件语句){o* 循环体语句;o* 控制条件语句;o* }•do...while循环语句o* 初始化语句;o* do{o* 循环体语句;o* 控制条件语句;o* }while(判断条件语句);。
c语言编写关公秦琼大战用选择语句

c语言编写关公秦琼大战用选择语句1. 嘿,想过用C语言让关公和秦琼大战一场不?就像安排两个来自不同时空的超级英雄对决。
这时候选择语句可就派上大用场啦,就好比在岔路口做选择,决定谁先出招呢。
2. 哇,C语言编写关公秦琼大战?听起来超酷的!要是没有选择语句,就像厨师做菜没放盐,完全没味道。
我跟朋友说这个想法,他还不信呢,说这怎么可能。
我就告诉他,只要用好选择语句,就像搭积木一样,能把这个不可能变成现实。
3. 你知道吗?用C语言编写关公秦琼大战,选择语句就像是指挥这场大战的军师。
关公和秦琼就像两个等待指令的勇士,没有军师的指挥,他们就只能干瞪眼,你说是不是这个理儿?4. 我觉得用C语言编写关公秦琼大战,就像是在创造一个全新的世界。
选择语句呢,就像这个世界里的规则制定者。
要是没它,关公可能就会不分青红皂白地乱砍,秦琼也只能瞎打一气,那可就乱套喽!5. 哟呵,C语言里的选择语句要用来编写关公秦琼大战喽。
这就好比在两个性格迥异的武林高手之间做裁判,根据不同的情况让他们出招。
我问同桌,他觉得这个难不难,他直摇头说,这简直比解开九连环还难。
可我觉得,只要掌握了方法,就像骑自行车,上手之后就简单啦。
6. 嘿呀,想象一下关公骑着赤兔马,秦琼拿着双锏,他们要大战一场,而我用C语言的选择语句来控制局面。
这感觉就像是我手里握着命运的缰绳,想让谁进攻就谁进攻,就像在玩一场超刺激的策略游戏,你难道不想试试?7. 我跟我哥说我要用C语言编写关公秦琼大战,还得用选择语句。
我哥瞪大了眼睛说我异想天开。
可我觉得这就像画家在空白画布上创作,只要有想法,有工具,就能画出独一无二的作品,选择语句就是我的画笔呀。
8. 用C语言编写关公秦琼大战,选择语句就像魔法咒语一样。
没有它,关公和秦琼就只能站在那对望。
我就像个魔法师,只要念对咒语,就能让这场跨时空的大战精彩绝伦。
你觉得我能成为这个厉害的魔法师吗?9. 哇塞,C语言中的选择语句在关公秦琼大战里就像是打开宝藏的钥匙。
然孩子多学点才艺等大了有选择语句

然孩子多学点才艺等大了有选择语句
1.孩子,在年轻的时候,多学点才艺,艺多不压身!谁也抢不走!你会受益终生!
2.孩子,每当你学会一个才艺后,就是为自己将来选择职业时,多一条出路!人们常说:三百六十行,行行出状元!条条大道,通罗马!就告诉我们:我们一辈子,不一定就干一种职业。
随着年龄的增长,有的行业自己就不能干了,就要转行。
此时,你的才艺越多,生活的就越安逸!
3.建议家长们,不要犹豫,让你的孩子从小学点才艺、技能、特长,它不单单是一门才艺、技能、特长,而是在某些方面可以塑造性格、建立自信、甚至影响人生。
而且长大以后有更多选择的机会。
4.学点才艺有啥好处,大家可能比我知道得多,起码艺不压身,人有点艺术才能总是好的,有点艺术特长的孩子与死读书数的孩子比较,平时的眼神明显不一样,有艺术特长的孩子感情丰富、充满灵性、充满想象,并且充满自信、内心镇定、表情坦然,而且以后的出路更多一点。
选择结构知识(第2课时)
语句组2
•
……
•
case else
•
语句组 N+1
• End select
多重选择------举例
Private Sub Command1_Click() a=3 b=5 f = InputBox("f=") Select Case f Case 1: c = a + b: d = "+" Case 2: c = a - b: d = "-" Case 3: c = a * b: d = "*" Case 4: c = a / b: d = "/" Case Else: End End Select Print a; d; b; "="; c End Sub
高二信息技术学业水平测试复习
----vb选择语句专题二
IF语句格式——单分支结构
• If 条件 then 语句组
开始
假
判断条件
真
语句组
结束
单分支结构只对判断条件为真的情况进行处理
IF语句格式——双分支结构
• If 条件 then • 语句组1 • Else • 语句组2 • End if
开始
判断条件
真
语句块1
假
语句块2
结束
双分支结构既对判断条件为真的情况进行处理,同时也对判断条件为 假的情况进行处理,所以双分支结构也就多了else部分的内容。
语法格式
(1)If <表达式> Then <语句1>
(2)If <表达式> Then <语句块1>
Else <语句块2>
C语言选择语句题库2
1、C语言的if语句,当条件表达式为真时执行的语句是:A、else后的语句B、if后的语句C、不执行语句D、if和else后的语句都执行B2、若分支结构的某个分支需要多个语句时,必须使用一个复合语句,所谓的复合语句是:A、一个语句B、用{}括起来的多个语句C、两个语句D、多个语句B3、判断char型变量c1是否为小写字母的最简单且正确的表达式是:A、’a’<=c1<=’z’B、(c1>=a)&&(c1<=z)C、(c1>’a’)&&(c1<’z’)D、(c1>=’a’)&&(c1<=’z’)D4、判断char型变量c1是否为数字0-9字符最简单且正确的表达式是:A、’0’<=c1<=’9’B、(c1>=0)&&(c1<=9)C、(c1>’0’)&&(c1<’9’)D、(c1>=’0’)&&(c1<=’9’)5、以下不正确的If语句是:A、if(x>y);B、if(x!=y) scanf (“%d”,&x) else scanf (“%d”,&y);C、if(x==y) x+=y;D、if(x<y){x++;y++;}B6、以下关于switch语句和break语句的描述中,正确的是:A、在switch语句中必须使用break语句B、break语句只能用于switch语句中C、在switch语句中,可以根据需要使用或不使用break语句D、break语句是switch语句的一部分C7、以下关于if语句的描述错误的是:A、条件表达式可以是任意的表达式B、条件表达式只能是关系或逻辑表达式C、条件表达式的括号不可以省略D、与else配对的if语句是其之前最近的未配对的if语句B8、程序设计的三种基本结构是A、顺序结构、选择结构、分支结构B、递归结构、选择结构、循环结构C、顺序结构、逻辑结构、循环结构D、顺序结构、选择结构、循环结构D填空题1、下列程序的运行结果是___________________#include "stdio.h"main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1:a++;case 2:a++;b++;}Printf(“a=%d,b=%d\n”,a,b);}a=2,b=12、下列程序的运行结果是___________________#include "stdio.h"main(){ int a=1,b=3,c=5;If(c=a+b) printf(“yes\n”);else printf(“no\n”);}yes3、若输入为:-1 -2,下列程序的运行结果是___________________ #include "stdio.h"main(){ int a,b,m,n;scanf(“%d%d”,&a,&b);m=1;n=1;if(a>0) m=m+n;if(a<b) n=2*m;else if(a==b) n=5;else m=m+n;printf(“m=%d n=%d\n”,m,n);}m=2 n=14、下列程序的运行结果是___________________#include "stdio.h"main(){ int a=100;If(a>0) printf(“%d\n”,a>100);else printf(“%d\n”,a<=100);}5、下列程序的运行结果是___________________#include "stdio.h"main(){ int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(x) x-=3;printf(“%d\n”,x);}-46、下列程序的运行结果是___________________#include "stdio.h"main(){ int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}6编程题1、判断整数N能否同时被3和7整除,如果能则打印“YES”,否则打印“NO”。
C++选择语句和循环语句专题
行。
6、一条语句在 C++中可以将它放在一行或者多行上,即在 C++中可以使用空格或制表符的地方都可以使用回车,注意: 这里指的是一条语句,而不是指的一个标识符或关键字可以写在多行上,要将一个标识符或关键字分开写在多行上,
应在上一行的行尾使用”\”符号,且”\”之后不能有任何其他字符(包括注释),在下一行的开头也不能有任何其他字符
(包括空白符),而语句则不同,语句分开写的时候在上一行不必使用”\”符号,而且在其后还可以有注释,在下一行
也可以使用空白符。示例如下:
in\
t a= //将关键字 int 写在多行上,上一行的”\”后面不能有任何其他字符,在下一行的开头也不能有任何其他字符(包括注释)
变量,则不能作为整型常量表达式使用,比如 const int a=1; 则是整型常量表达式,但 int b=1;const int c=b; 则单独使用 c 时不是整型常量表达式。 2)、因为整型常量表达式同时也是常量表达式,因此整型常量表达式应在编译时就能求出其值,而不应等到运行时 才能求出其值。比如 const int a=f(); 则不是整型常量表达式,因为 a 的值必须在调用 f 之后才能确定其值,而 调用 f 需在运行时才会进行,而不是在编译时。 4、有关标量类型、聚合类型、算术类型、不完整类型等基本概念请参阅《C++表达式与运算符及左值专题》本文不对 这些概念做重复讲解。
算符、增量运算符、减量运算符、函数调用、逗号运算符。从概念可以看到,若表达式中有变量,则不是常量表达 式,比如 int a=1; 则 a+2 不是常量表达式。 2、整型常量表达式:整型常量表达式要求其操作数只能是整数常量,枚举常量,字符常量,使用强制转换将浮点型常 量(不包括浮点型常变量)转换为整型的表达式,sizeof 表达式。因此,若表达式中有浮点数,变量都不是整型常量表 达式;示例:3+5 是整型常量表达式;3.3+5 不是整型常量表达式,int(3.3)+5;是整型常量表达式;float i=1.1; 则 int(i+1); int(i)+1;都不是整型常量表达式,强制转换将浮点型常量(不包括浮点型常变量)转换为整型的表达式才是整型常量表 达式,这里的 i 是浮点型变量,并不是浮点型常量,所以 int(i+1)和(int)i+1 都不是整型常量表达式。注意 sizeof 运算 符的结果是整数常量,因此 sizeof 表达式可以用作整型常量表达式的操作数。 3、整型常量表达式的注意事项: 1)、使用常量表达式初始化的整型const 变量可以作为整型常量表达式使用,但使用非常量表达式初始化的整型const
C语言的基本结构与选择语句
选择结构
循环结构
一、顺序结构
顺序结构是一种最基本的、最简单的编程结构。 A B
二、选择结构
二选一结构 选择结构有两种形式:
多选一结构 二选一结构( if 语句):
1 表达式为1? 0
A
B
1 表达式为1? 0
A
二、选择结构
多选一结构(switch语句):
常量表达式1
A1
表达式的值=?
常量表达式2
•
15、一个人炫耀什么,说明他内心缺 少什么 。。202 1年8月 下午1 时52分2 1.8.101 3:52Au gust 10, 2021
•
16、业余生活要有意义,不要越轨。2 021年8 月10日 星期二 1时52 分55秒1 3:52:55 10 August 2021
•
17、一个人即使已登上顶峰,也仍要 自强不 息。下 午1时52 分55秒 下午1 时52分1 3:52:55 21.8.10
do...while语句的一般形式为: do { 循环体;} while(表达式);
循环体
1 表达式为1?
void main(void) {int a=0,sum=0;
do {sum+=a; a++; }while(a<101); printf(“sum=%d”,sum); }
0
三、for 语句
for循环语句的一般形式为:
}
•
9、 人的价值,在招收诱惑的一瞬间被决定 。21.8.1 021.8.1 0Tuesd ay , August 10, 2021
•
10、低头要有勇气,抬头要有低气。1 3:52:55 13:52:5 513:52 8/10/20 21 1:52:55 PM
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单行语法 多行语法
这里的表达式是关系表达式(<、>、=、<>、<=、>=)或逻辑表达式 (and、or、not),其值只有真或假两种,当表达式的值为真时,视 为条件成立。例如:price<120属于什么表达式? 语句可以是赋值语句(a=3)、输出语句(print、msgbox)、结束语句 (end)等。
Else和If间无空格
格式:
表达式1= True 执行语句体1 False 表达式2= True 执行语句体2 False 表达式3=……
If…Then…ElseIf…结构
表达式1 T
F 表达式2 T F …… ……
……
表达式n T 语句体n F
语句体1
语句体2
语句体n+1
•判断的顺序为表达式1、表达式2…… •只有当表达式1为False时才判断表达式2,当表达式 1和表达式2都为False时,才判断表达式3, •程序执行语句体n+1的条件为前n个表达式均为False。
If…Then…ElseIf…结构
例:已知变量ch中存放了一个字符,判断该字符是字母字符、数 字字符、空格还是其它字符。
– 分析: 字母字符: ch>= ” And ch<= “z”Or Or ch>= ch>= A ” And “Z If ch>= “a” “a And ch<= “z” ““ A ” And ch<= ch<=“ Z”” Then 数字字符:ch>=“0” And ch<=“9” Print 空格字符: ch=“ ” “字母字符” ElseIf ch>=“0” And ch<=“9” Then – 实现:
Print “数字字符” ElseIf ch=“ ” Then Print “空格” Else Print “其他字符” End If
If…Then…ElseIf…结构
例7-3 旅客乘车旅行,可免费携带30公斤行李,超 过30公斤的部分每公斤需支付托运费10元,超过50 公斤部分则每公斤需支付20元托运费。请编程根据 每位旅客行李的重量计算其应付的行李托运费。
' x<30
' 30<=x<=50
' x>50 x >= 30 And x<=50
能否写成?
可以,但Else 已经包含了 x>=30的信息
在线测试练习
1.语句If x=1 Then y=1,下列说法正确的是(C )。 A、x=1和 y=1 均为赋值语句 B、x=1和 y=1均为关系表达式 C、x=1为关系表达式,y=1为赋值语句D、x=1为赋值语句,y=1为关系表达 2. 2.电梯的最大容量为13人,在此范围内电梯能正常运行,超出了这个范围 电梯将发出警报。(C) Dim a as integer a=val(inputbox(“请输入进入电梯的人数”)) if a<=13 then print “正常运行” else print “发出警报” end if A.if…….then……end if……else B.then……if……else……end if C.if……then……else……end if D.if……else……then……end if
一个双分支
If price =120 then MsgBox "猜对了,你真厉害“ Else MsgBox “猜错了,再试试“
双分支语法格式
双分支语法格式:
(1)If <表达式> Then <语句1> Else <语句2> (2)If <表达式> Then <语句块1> Else <语句块2> End If
If…Then…Else…结构
两种格式:
格式1: If <条件表达式> Then 语句体1 Else 语句体2 End If
T
条件表达式
F
语句体1
语句体2
格式2: If <条件表达式> Then 语句体1 Else 语句体2 注:当条件为True时执行语句体1,否则执行语句体2
例7-2
已知x,求
在线测试练习
3.以下程序段运行后,分别输入5和6,则输出字符的排列顺序是( I=val(inputbox(“请输入I的值”)) If I <6 then Print “#” ; Else Print “*” End if A.*# B.#* C.## D.** B )
在线测试练习
在vb程序中把代码补充完整并调试运行,得出结果后再选择答案 。 4.走路可以减肥,平地甩手走20分钟内(含20分钟)消耗的能量为6卡每分 钟,超过20分钟消耗的能量为7.9卡每分钟。走路的分钟数43分钟,输出共 消耗的能量。(D) Dim t,n as single t=val(inputbox(“请输入t的值”)) if t〈=20 then n=6*t else n=6*20+(t-20)*7.9 end if print “n=”;n A.258卡 B.339.7卡 C.439.7卡 D.301.7卡
选择结构
选择结构是算法的基本结构之一,凡是需要进行分情况执行的时候都应该 使用相关的选择结构语句。
猜价格游戏
猜价格游戏代码
If price < 120 Then MsgBox "猜低了,再试试“ If price > 120 Then MsgBox "猜高了,再试试“ If price = 120 Then MsgBox "猜对了,你真厉害“
条件满足 条件不满足
注意:在if语句中else部分不需要填写表达式
对比分析
单分支结构
开始
假
双分支结构
开始
假
判断条件
真
判断条件
真
语句块
语句块1
语句块2
结束
结束
单分支结构只对判断条件为真的情况进行处理,双分支结构既对判断条件 为真的情况进行处理,同时也对判断条件为假的情况进行处理,所以双分 支结构也就多了else部分的内容。
'第1个文本框的名称是txtX
'第2个文本框的名称是tx
等价于:
If x < 0 Then MsgBox "x不能小于0" Else y = Sqr(x) : txtY.Text = Str(y)
If…Then…ElseIf…结构
If <表达式1> Then 语句体1 ElseIf <表达式2> Then 语句体2 …… [Else 语句体n+1] End If
False
条件表达式 True
语句体
语句体
注 注 注 32 :语句体中可以是 1 :当条件为 :条件表达式的值为 True时执行语句体,否则执行 多条语句 True,当采用 或 False ,一 格式2 时,所有的语句必须写在一行,用冒号隔开语句 If 般是逻辑或关系表达式,也可以是算术表达 语句的下一条语句 体中的语句 式(转换为逻辑值)
If price < 120 Then MsgBox "猜低了,再试试“
开始
假
判断条件
Price<120?
真
猜低了,再试试
结束
这种只对条件满足时的情况进行处理,我们称为选择结构中的单分支结构。
单分支语法格式
单分支语法格式:
(1)If <表达式> Then <语句块> (2)If <表达式> Then <语句块> End If
引言
分支结构
True
F1.1 If…Then…结构 7.1.2 If…Then…Else…结构 7.1.3 If…Then…ElseIf…结构
If…Then…结构
两种格式:
格式1: 块形式 If <条件表达式> Then 语句体 End If 格式2:单行形式 If <条件表达式> Then
语法之间的转换
If price = 120 Then MsgBox " 猜对了,你真厉害“ 三个单分支 If price < 120 Then MsgBox " 猜低了,再试试“ If price > 120 Then MsgBox " 猜高了,再试试“
If price = 120 Then MsgBox " 猜对了,你真厉害“ 两个单分支 If price <> 120 Then MsgBox “猜错了,再试试“
y x
程序代码如下: Private Sub CmdCul_Click() Dim x As Single, y As Single x = Val(txtX.Text) If x < 0 Then MsgBox "x不能小于0" Else y = Sqr(x) txtY.Text = Str(y) tY End If End Sub
总结
单分支结构:
If < 表达式> Then <语句块> End If 双分支结构: If <表达式> Then <语句块1> Else <语句块2> End If 在分支语句中,程序执行一个分支后,其余分支不再执行;
If…Then…结构
例:已知有两数x、y,编程使x中存放较大的数
– 分析:如果x>=y,则不需要做处理 如果x<y,则做交换处理 – 实现: If x < y Then temp = x x=y y = temp 特别注意: End If 块结构时If和End If成对出现 – 用格式2描述: If x < y Then temp = x:x = y:y = temp