目录:

一、流程控制 条件分支 if else

二、流程控制 开关分支 switch

回到顶部

一、流程控制 条件分支

1.语法格式:if(表达式1){

//表达式1为真(非0时),执行的语句部分。

//代码块由一条件或多条语句组成

}else if(){

//表达式1为0为假,执行的语句部分。

}else{

//以上条件补满足是,执行的语句部分。

}

2.在一个完整的if语句中至少要有一个if,elseif可以出现0~n次,else可以出现0~1次。

3.if else语句应用与需要根据不同条件执行代码的场合。

4.if else 语句最多只能执行一个分支,有else分支,必须选择其一执行,无else分支,可以选择其一执行,也可能不执行。

5.如果{}中仅有一条语句,可以省略{},不推荐。

练习:输入一个成绩,得到评价,>90,优;<60,不及格;其他,一般。

1)在键盘上输入一个字母,将小写转换为大写,如果是大写就原样输出。

#include <stdio.h>
//在键盘上输入一个字母,将小写转换为大写,如果是大写就原样输出。
int main()
{
char ch;
printf("请输入一个字母:\n");
scanf("%c",&ch);
if (ch >= 'a' && ch <= 'z') {
printf("转换为大写:%c\n",ch -('a'-'A'));
}else{
printf("大写:%c\n",ch);
}
return ;
}

2)输入一个成绩,0~100之间的整数,根据分数得到相应的级别,100~90优90~80良80~60中60~0不及格

3)准备回家,交通工具,输入工资,小于1300,则显示输入错误,大于10000坐飞机,大于5000坐火车,大于3000坐汽车,大于1500骑自行车,都不满足步行。

4)优化第二题,优A良B中C不及格D,根据分数级别,判断分数范围。

5)判断闰年,平年2月份29天,闰年2月份29天,条件:a,年份可以同时整除4且不能整除100;b,整除400,满足其一就是闰年。输入一个年份判断是否是闰年。

6)输入年、月,求某月有多少天,一共有28,29,30,31几种。

7)输入年,求该年的总天数,365、366

 #include <stdio.h>
//输入一个成绩,0~100之间的整数,根据分数得到相应的级别,100~90优90~80良80~60中60~0不及格
void test()
{
int i;
printf("输入一个成绩:\n");
scanf("%d",&i);
if (i >= && i <= ) {
printf("优\n");
}else if(i >= && i < ){
printf("良\n");
}else if(i >= && i < ){
printf("中\n");
}else if(i >= && i < ){
printf("不及格\n");
}else{
printf("无效\n");
}
}
//3)准备回家,交通工具,输入工资,小于1300,则显示输入错误,大于10000坐飞机,大于5000坐火车,大于3000坐汽车,大于1500骑自行车,都不满足步行。
void test2()
{
int salary;
printf("输入工资:\n");
scanf("%d",&salary);
if (salary >= ) {
printf("坐飞机回家\n");
}else if (salary >= ){
printf("坐火车回家\n");
}else if (salary >= ){
printf("坐汽车回家\n");
}else if (salary >= ){
printf("骑车回家\n");
}else if (salary >= ){
printf("步行回家\n");
}else{
printf("输入错误\n");
}
}
/*
输入分数级别ABCD
优(90-100)A
良(80-90)B
中(60-80)C
不及格(0-60)D,
根据分数级别,判断分数范围。
*/
void test3()
{
char fj;
printf("输入分数级别:\n");
scanf("%c",&fj);
if(fj == 'A' || fj == 'a'){
printf("您的分数范围在90~100间\n");
}else if(fj == 'B' || fj == 'b'){
printf("您的分数范围在80~90间\n");
}else if(fj == 'C' || fj == 'c'){
printf("您的分数范围在60~80间\n");
}else if(fj == 'D' || fj == 'd'){
printf("您的分数范围在0~60间\n");
}else{
printf("输入数据无效");
}
}
//判断闰年,平年2月份29天,闰年2月份29天,条件:a,年份可以同时整除4且不能整除100;b,整除400,满足其一就是闰年。输入一个年份判断是否是闰年。
void test4()
{
int year;
printf("输入一个年份:\n");
scanf("%d",&year);
if((year % == && year % !=) || year % == ){
printf("该年是闰年\n");
}else{
printf("该年是平年\n");
}
}
//输入年、月,求某月有多少天,一共有28,29,30,31几种。
void test5()
{
int year;
int month;
printf("请输入年、月\n");
scanf("%d%d",&year,&month);
if(month == ){
/*if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
printf("%d是闰年,%d月有29天\n",year,month);
}else{
printf("%d是平年,%d月有28天\n",year,month);
}*/
printf("%d年,%d月有%d天\n",year,month, + (year % == && year % != || year % == ));
}else if(month == || month == || month == || month == ){
if((year % == && year % !=) || year % == ){
printf("%d是闰年,%d月有30天\n",year,month);
}else{
printf("%d是平年,%d月有30天\n",year,month);
}
}else{
if((year % == && year % !=) || year % == ){
printf("%d是闰年,%d月有31天\n",year,month);
}else{
printf("%d是平年,%d月有31天\n",year,month);
}
}
}
//输入年,求该年的总天数,365、366
void test6()
{
int year;
printf("输入年份:\n");
scanf("%d",&year);
/*if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
printf("%d年是闰年,总天数366天\n",year);
}else{
printf("该年是平年,总天数365天\n",year);
}*/
printf("%d年,有%d天\n",year, + (year % == && year % != || year % == ));
}
int main()
{
//test();
//test2();
//test3();
//test4();
//test5();
test6();
return ;
}

作业:

1)输入四个数,求出四个数中的最大数、最小值、和

回到顶部

二、流程控制 开关分支(选择分支switch)

1.语法规则:switch(控制表达式){

case 常量表达式1:

语句;

break;

case 常量表达式2:

语句;

break;

……

default:

语句;

}

2. break关键字,终止switch代码块的执行。

3.控制表达式当做整型数据处理,也可以是字符型数据处理,但不能是浮点数和字符串。常量表达式必须是常量(常量和字符),不允许重复。

4.default语句,不一定在最后一行。

#include <stdio.h>

int main()
{
int i =;
char ch = 'a';
/*switch (i){
case 1:
printf("一\n");
break;
case 2:
printf("二\n");
break;
default:
printf("有误\n");
}*/
switch (ch){
case 'a':
printf("1\n");
break;
case 'b':
printf("2\n");
break;
default:
printf("有误\n");
}
return ;
}

作业:

(使用switch写)输入一个成绩,0~100之间的整数,根据分数得到相应的级别,100~90优(A)90~80良(B)80~60中(C)60~0不及格(D),根据分数级别,判断分数范围。

#include <stdio.h>

int main()
{
char j;
printf("输入分数级别:\n");
scanf("%c",&j);
switch (j){
case 'A':
printf("范围在90-100\n");
break;
case 'B':
printf("范围在80-90\n");
break;
case 'C':
printf("范围在60-80\n");
break;
default:
printf("范围在0-60\n");
}
return ;
}

07-C语言流程控制if、switch的更多相关文章

  1. 04. Go 语言流程控制

    Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...

  2. 运算符的应用及流程控制if,switch语句

    运算符的应用 1:赋值运算符    简单赋值运算符        例如var useName='tom';//简单赋值运算符    复合赋值运算符        a+=b;//相当于a=a+b;   ...

  3. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

  4. Go语言 - 流程控制 if else | for | switch case

    流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制: if | for | switch | goto// switch ...

  5. 9. Go语言—流程控制

    一.流程控制语法 if condition_1{ }else if condition_2{ }else if condition_3{ }else{ } 二.switch分支 package mai ...

  6. Go语言( 流程控制)

    流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.降低重复代码而生的结 ...

  7. Go语言流程控制(六)

    go语言的流程控制主要有if , for和switch. if else(分支结构) go语言的if判断: func main() { score:=65 if score>=90{ fmt.P ...

  8. C语言--流程控制

    一.流程控制 1.顺序结构 *默认的流程结构,按照书写顺序执行每一条语句 2.选择结构 *对给定的条件进行判断,再根据判断结果来决定执行那一段代码 3.循环结构 *在给定条件成立的情况下,反复执行某一 ...

  9. JavaScrip流程控制之switch选择,for循环

    swith根据表达式的值来case ,break执行跳转语句 <!DOCTYPE html> <html lang="en"> <head> & ...

随机推荐

  1. svm评价指标公式

    在做svm分类试验时,对于结果的处理,仅用一种指标很难得到正确评估算法的效果.所以,一般要用到precision(精确率),recall(召回率),F-measure.accuracy(准确率)四个指 ...

  2. EF简介

    EF:EF是 asp.net的一套ORM框架. ORM: 广义上:ORM指的是面向对象的模型和关系型数据库的数据库之间的相互转换; 狭义上:ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟 ...

  3. USACO Section 5.1 Musical Themes(枚举)

    直接枚举O(n^3)会TLE,只要稍微加点优化,在不可能得到更优解时及时退出.其实就是道水题,虽说我提交了6次才过= =..我还太弱了 -------------------------------- ...

  4. vi、vim 配置上下左右方向键和删除键

    vi.vim 配置上下左右方向键和删除键 " An example for a vimrc file. " " Maintainer: Bram Moolenaar &l ...

  5. hadoop搭建杂记:Linux下虚拟机集群网络搭建

    VirtualBox搭建hadoop伪分布式模式 VirtualBox搭建hadoop伪分布式模式 master: ip:192.168.56.120 机器名: master 启动NameNode 启 ...

  6. web编程速度大比拼(nodejs go python)(非专业对比)

    C10K问题的解决,涌现出一大批新框架,或者新语言,那么问题来了:到底谁最快呢?非专业程序猿来个非专业对比. 比较程序:输出Hello World! 测试程序:siege –c 100 –r 100 ...

  7. 四轴飞行器1.4 姿态解算和Matlab实时姿态显示

    原创文章,欢迎转载,转载请注明出处 MPU6050数据读取出来后,经过一个星期的努力,姿态解算和在matlab上的实时显示姿态终于完成了. 1:完成matlab的串口,并且实时通过波形显示数据 2:添 ...

  8. JAVA并发,线程异常捕获

    由于线程的特性,当我们启动了线程是没有办法用try catch捕获异常的,如下例: package com.xt.thinks21_2; import java.util.concurrent.Exe ...

  9. What do `?i` and `?-i` in regex mean?

    http://stackoverflow.com/questions/15145659/what-do-i-and-i-in-regex-mean

  10. PCB外形加工培训教材

    一.目录1.外形加工制程介绍2.外形加工机器介绍3.各制程流程介绍3.1锣板制程3.2V-Cut3.3啤板3.4斜边3.5洗板4.环保5.工业安全 1.0 外形加工制程介绍 外形加工包括: 1.1锣板 ...