目录:

一、流程控制 条件分支 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. lucene3.6笔记添加搜索功能

    lucene为程序添加搜索功能,此功能基于已创建好的文档的索引之上.这里我已经为一些文档建立了索引,并保存到硬盘上.下面开始针对这些索引,添加搜索功能. 1.简单的TermQuery搜索 Java代码 ...

  2. asp.net ToString()方法介绍

      C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToStri ...

  3. android入门——UI(6)——ViewPager+Menu+PopupWindow

    一.使用ViewPager开发新特性引导界面 <?xml version="1.0" encoding="utf-8"?> <Relative ...

  4. MMDrawerController 的实践,已经实现,几行简单的代码实现侧栏

    学习方法,看readme,看给的Demo 看功能怎么实现的去模仿,个人感觉模仿是最快的学习方法 废话少说,上代码 导入MMDrawerController框架我就不多少了,之后做什么才是我们才关注的事 ...

  5. ssh生成密钥(供git使用)

    我们在使用git远程更新时候,需要设置好远程密钥,以使我们能够远程更新代码到代码库中.现在我们就来做一下这件事情(ssh模式下) ssh-keygen  -t rsa -c “hcu5555@hotm ...

  6. [C#参考]锁定lock

    Lock关键字解释: lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. 下面的示例包含一个 lock 语句. lock 关键字可确保当一个线程位于代码的临界区 ...

  7. 使用Docker官方的Django包【转】

    官方Django docker,并没有安装Django 所以需要 在requirements.txt中配置Django 具体安装流程可以参考:http://www.logme.cn/blog/51/u ...

  8. MYSQL 的数据读取方式

    例子: create table T(X bit(8)); insert into T (X) values(b'11111111'); select X from T; 这个时候会发现这个X 是乱码 ...

  9. 查看、修改oracle字符集,查看oracle版本

    1.查看数据库字符集 数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 客户端字符集环境select * fr ...

  10. QT完美转换特殊字符的大小写

    Util::ShowMessage(QString::fromUtf8("ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ€")); Util::ShowMess ...