目录:

一、流程控制 条件分支 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. gulp使用心得

    本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...

  2. 转发年浩大神的spfa算法

    http://www.cnblogs.com/superxuezhazha/p/5426624.html #include<iostream> #include<stdio.h> ...

  3. Linux分区方案

    创建三个分区 1./boot     启动分区     存放内核和启动程序                   空间分配:100M     类型:ext4 2./swap     交换分区     虚 ...

  4. qt检测网络连接状态【只能检测和路由器的连接,不能测试到外网的连接】

    #include <QCoreApplication>#include <QDebug>#include <QTextStream>#include <QDi ...

  5. 关于strcpy的实现.

    #include <stdio.h> #include <stdlib.h> int strlen(const char *str) { ; while(*str++!='\0 ...

  6. php执行shell更新svn文件的方法

    vim /etc/sudoers 修改内容如下: #Defaults !visiblepw Defaults visiblepw #Defaults requiretty <?php set_t ...

  7. rsyslog 基本组成

    Facility 定义日志消息的来源,以方便对日志进行分类,facility 有以下几种: --kern 内核消息 --user 用户级消息 --mail 邮件系统消息 --daemon 系统服务消息 ...

  8. VS2010 win32项目windows窗体程序 向导生成代码解析

    目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的window ...

  9. 航道水下地形DEM构建方法比较

    论文<航道水下数字高程模型的构建方法> 对航道水下地形建立DEM,技术路线:先构建TIN,手动去除多余三角边,再利用CAD ObjectARX二次开发接口中提供的几种内插方法生成grid ...

  10. windows下Qt Creator5.1.0编写程序以及调用OpenCV库

    系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...