7.1  if语句

通用形式:if(expression)

      statment

7.2  if else语句

通用形式:if(expression)

       startment

    else

       startment2

7.2.1  字符输入,输出函数:getchar(),putchar()

ch=getchar()类似scanf("%c",&ch)

putchar(ch)类似printf("%c",ch)

这两个函数定义在stdio.h文件中

7.2.2  ctype.h系列字符函数

字符映射函数不会修改原始参数。

7.2.3  多重选择 else if

7.2.4  else 与if配对

规则else与离它最近的if匹配,除非最近的if被花括号括起来。

7.2.5  多层嵌套if语句

7.3  逻辑运算符

与&&、或||、非!

7.3.1  备选拼写:iso646.h

and:&&、or:||、not:!。

7.3.2

!优先级只比圆括号低,

&&比||优先级高,但是两者都比关系运算符低,比赋值运算符高。

7.3.3  求值顺序

逻辑表达式顺序从左往右,一旦发现有使整个表达式为假的的因素,便立即停止求值。

7.5  条件运算符:?

c语言使用条件表达式作为表达if else的一种快捷方式。

该方式使用体哦阿建运算符,该运算符分为两部分,需要三个运算对象。

通用表达形式:expression1?expression2;expression3

如果expression1为真(非0),那么整个表达式的值和expression2相同,假和expression3相同。

7.6  循环辅助:continue和break

7.6.1  continue语句

终止当前循环,进行到下一次循环。

对于while而言,执行continue后,下一个被求值的是循环测试条件。

对于for而言,执行continue后,下一个是对循环测试表达式求值。

7.6.2  break 语句

结束包含它的循环,执行下一阶段

7.7  多重选择 switch和break

7.7.1  switch语句

switch(expression)

{

  case label1:statement1

  case label2:startment2

}

程序根据expression的值跳入相应的case值处,执行剩下所有语句,除非执行break语句进行重定向。

如果没有和case值相匹配的,控制则跳到标签带有default的语句,,否则将执行紧跟在switch语句后面的语句。

default:标签行,如果上述没有匹配的标签,执行到该语句时,就跳转到指定的标签行。

break:让程序离开switch语句

7.8  goto语句

goto 语句有两部分:goto 和标签名

例:goto part2;

part2:printf(“”);

7.12  编程练习

1.

#include <stdio.h>
int main(void)//报告读取的空格数,换行符数,和所有其他字符数
{
char ch;
int a=,b=,c=;
printf("enter\n");
while((ch=getchar())!='#')
{
if(ch==' ')
a++;
else if (ch=='\n')
b++;
else
c++;
}
printf("空格数%d__换行符%d__其他字符%d",a,b,c);
return ;
}

2.

#include <stdio.h>
#include <ctype.h>
int main(void)//将字符转化为ascll对应的十进制值
{
char ch;
int i=;
printf("please enter one sentence\n");
while((ch=getchar())!='#')
{
if(isgraph(ch))
{
i++;
if(i%!=)
printf("%d ",ch);
if(i%==)
printf("\n%d ",ch);
}
}
printf("\n%d",i);
return ;
}

3.

#include<stdio.h>

int main()
{
int integer=;
int even=;
int odd=;
int i=,j=;
printf("please enter integer\n");
while ((scanf("%d",&integer)==)&&integer!=)
{
if((integer%)==)
{ i++;
even=even+integer;
}
else
{
j++;
odd=odd+integer;
}
}
printf("偶数平均值%d,偶数个数%d,奇数平均值%d,奇数个数%d\n",even,i,odd,j);
getchar();
getchar();
return ;
}

4.注意字符替换

#include<stdio.h>
int main()
{
char ch=;
int i=,j=;
printf("please enter integer\n");
while ((ch=getchar())!='#')
{
if(ch=='.')
{
putchar('!');
i++;
}
else if(ch=='!')
{
putchar('!');
putchar('!');
j++;
}
else
{
printf("%c",ch);
}
}
printf("%d",i+j);
getchar();
getchar();
return ;
}

5.

#include<stdio.h>
int main()
{
char ch=;
int num=;
int i=,j=;
printf("please enter integer\n");
while ((ch=getchar())!='#')
{
switch (num=ch)
{
case '.':
putchar('!');
i++;
break;
case '!':
putchar('!');
putchar('!');
j++;
break;
default:
printf("%c",ch);
}
}
printf("%d",i+j);
getchar();
getchar();
return ;
}

6.

#include<stdio.h>
int main()
{
char ch=;
int num=;
int i=,j=;
printf("please enter integer\n");
while ((ch=getchar())!='#')
{
if(ch=='e')
{
i=;
}
else if((i==)&&(ch=='i'))
{
j++;
i=;
}
else
{
i=;
} }
printf("%d",j);
getchar();
getchar();
return ;
}

7.

#include<stdio.h>
#define a 1000
#define b 1.5
#define c 0.15
#define d 0.20
#define e 0.25
int main()
{
char ch=;
int num=;
int i=,j=;
float total_wage=0.0;
float taxes =0.0;
float net_income=0.0;
printf("please enter the number of working hours per week\n");
scanf("%d",&num);
if(num>)
{
total_wage=((num-)*b+)*a;
}
else
{
total_wage=num*a;
}
if(total_wage<)
{
taxes=total_wage*c;
}
else if(total_wage<)
{
taxes=+(total_wage-)*d;
}
else
{
taxes=+(total_wage-)*e;
}
printf("%.2f,%.2f,%.2f",total_wage,taxes,total_wage-taxes);
getchar();
getchar();
return ;
}

8.

#include<stdio.h>
#define b 1.5
#define c 0.15
#define d 0.20
#define e 0.25
int main()
{
char ch=;
int num=;
int gread=;
float a=;
float total_wage=0.0;
float taxes =0.0;
float net_income=0.0;
do
{
printf("******************************\n");
printf("enter the number corresponding to the desired pay rate or action:\n");
printf("1) $8.75/hr\t\t");
printf("2) $9.33/hr\n");
printf("3) $10.00/hr\t\t");
printf("4) $11.20/hr\n");
printf("5) quit\n");
printf("******************************\n");
scanf("%d",&gread);
switch (gread)
{
case :
a=8.75;
break;
case :
a=9.33;
break;
case :
a=10.00;
break;
case :
a=11.20;
break;
case :
break;
}
if((gread>=)&&(gread<=))
{
printf("please enter the number of working hours per week\n");
scanf("%d",&num);
if(num>)
{
total_wage=((num-)*b+)*a;
}
else
{
total_wage=num*a;
} if(total_wage<)
{
taxes=total_wage*c;
}
else if(total_wage<)
{
taxes=+(total_wage-)*d;
}
else
{
taxes=+(total_wage-)*e;
}
printf("%.2f,%.2f,%.2f\n",total_wage,taxes,total_wage-taxes);
}
else
{
printf("请重新选择正确的选项");
}
} while (gread!=);
getchar();
getchar();
return ;
}

9

第7章,c语言控制语句:分支和跳转的更多相关文章

  1. C控制语句--分支和跳转

    /*C控制语句--分支和跳转*/ /*关键字 if else switch continue break case default goto 运算符:&&(且) ||(或) ?:(三元 ...

  2. C语言编程入门之--第六章C语言控制语句

    导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用. 6.1 什么是控制语 ...

  3. 零基础学Python--------第2章 Python语言基础

    第2章  Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...

  4. “全栈2019”Java第二十七章:流程控制语句中循环语句for

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. “全栈2019”Java第二十六章:流程控制语句中循环语句do-while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. “全栈2019”Java第二十五章:流程控制语句中循环语句while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. “全栈2019”Java第二十四章:流程控制语句中决策语句switch下篇

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第二十三章:流程控制语句中决策语句switch上篇

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第二十一章:流程控制语句中的决策语句if

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. 第一章.C语言简介

    C语言第一章 C语言简介   目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...

随机推荐

  1. 记一次菜鸡的低级折腾--WordPress get Webshell(后台文件编辑插马)

    挺简单的一个测试站,开始思路错了,一直去网上找WordPress的漏洞,看有没有什么能利用的,未果,因为这个测试站有些地方并不完善,有的漏洞利用不了,菜鸡的我连弱口令都没猜对,没知识就是这么悲哀. 下 ...

  2. i春秋-百度杯九月场-YeserCMS(cmseasy的UpdateXML注入漏洞)

    学习了大佬们的操作才做出来,记录一次菜鸡的无能为力. tips:flag在网站根目录下的flag.php中.我们的目标就是flag.php了. 题目说是心的CMS:YeserCMS,然而百度一下,出来 ...

  3. Mac 终端启动AVD模拟器

    cd ~/Library/Android/sdk/tools ./emulator -list-avds // 列出av列表 Nexus_5X_API_26 ./emulator @Nexus_5X_ ...

  4. Jmeter测试入门——分析HBase访问服务性能瓶颈

    开启HBase服务 新建线程组,设定线程数为10:  设定请求方法和请求参数: 查看请求的返回结果: 查看服务响应的性能分析结果: 可能出问题的地方:Phoenix.数据库连接池(操作Phoenix)

  5. webpack 命令 Module build failed (from ./node_modules/babel-loader/lib/index.js) 错误问题解决方案

    在项目中运行的时候出现报错,错误为Module build failed (from ./node_modules/babel-loader/lib/index.js) 解决方案: 控制台输入  np ...

  6. SimpleAliasRegistry

    SimpleAliasRegistry :主要使用map最为alias的缓存,并对接口AliasRegister进行实现. ==============================插曲====== ...

  7. 清北学堂例题 LUOGU2523【HAOI2011】problem c

    题目描述 给n个人安排座位,先给每个人一个1~n的编号,设第i个人的编号为ai(不同人的编号可以相同),接着从第一个人开始,大家依次入座,第i个人来了以后尝试坐到ai,如果ai被占据了,就尝试ai+1 ...

  8. 008-PHP定义数组

    <?php /*定义数组$Cities[]*/ $Cities[0] = "北京"; $Cities[1] = "天津"; $Cities[2] = &q ...

  9. BFC的基础理解及应用场景

    最近学习了BFC,开始学习的时候,单纯看概念,有种云里雾里的感觉,字都认识,凑一起啥意思大致也知道,但是具体有什么用呢? 这个就有点迷迷糊糊的,经过老师的讲解,以及自己课后的代码实验与总结,就拨云见日 ...

  10. Spark Deploy 模块

    Spark Scheduler 模块的文章中,介绍到 Spark 将底层的资源管理和上层的任务调度分离开来,一般而言,底层的资源管理会使用第三方的平台,如 YARN 和 Mesos.为了方便用户测试和 ...