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. 题解 P5122 【[USACO18DEC]Fine Dining】

    思路:最短路+dp 1.先跑一遍最短路,计算出没有干草垛最少要多少时间 2.dp求出有干草垛至少需要多少时间,由于dp有后效性,所以用SPFA辅助转移,dp方程和求最短路一模一样,只是先将有干草垛的拉 ...

  2. 如何给谷歌浏览器安装vue-devtools插件

    感谢原作者:https://www.cnblogs.com/alice-fee/p/8038367.html 安装方法1: 需正常打开chrome商店,搜索vuejs devtools 安装.chro ...

  3. java 十大经典排序算法

    十大排序算法可以说是每个程序员都必须得掌握的了,花了一天的时间把代码实现且整理了一下,为了方便大家学习,我把它整理成一篇文章,每种算法会有简单的算法思想描述,为了方便大家理解,我还找来了动图演示:这还 ...

  4. s2010编译C++ 链栈的使用

    // CTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include &l ...

  5. 在linux7(centos)中安装python3.7.2

    一般情况下linux上都默认安装了python,检查一下我的版本 没有安装python3,但是目前已经是python3了,所以为了方便,还是要在系统上安装一下比较好. 上面的命令,直接输入python ...

  6. 关于 float 型和 double 型的区别,以及 char 型和 String 型的不同

    一.1.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位 double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位 2.java中默认声明的小数是double类 ...

  7. (转)CentOS/Debian/Ubuntu系统 TCP-BBR 一键安装脚本

    本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 虚拟技术:OpenVZ 以外的(KVM.Xen.VMware等) 内存要求:≥128M 日期 :2017 年 0 ...

  8. 页面的html调试

    点击页面按下键盘的F12,或者鼠标右键选择检查(N) 会弹出一个窗口,这个窗口就是调试窗口 如上图所示,第一个图标是标签元素选择器,点击使用后,在页面上移动,会在Elements的区域找到你鼠标选中的 ...

  9. Day7 - H - 青蛙的约会 POJ - 1061

    两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特 ...

  10. synchronized wait notify 生产者消费者

    1.生产者消费者模型 public class ProducterConsumerTest{ public static void main(String[] args){ System.out.pr ...