第三章 分支结构

文章详细介绍了编程中的二分支结构,包括if-else语句和省略else的if语句,以及多分支结构的else-if和switch语句的用法。同时,讨论了字符型数据的处理,如输入输出、ASCII码和逻辑判断。此外,还提到了逻辑运算在条件判断中的应用,例如闰年的判断表达式。
摘要由CSDN通过智能技术生成

第三章 分支结构

二分支结构(2)

if-else语句

if(表达式)
    语句1;
else
    语句2;
数字奇偶分类
scanf("%d",&n);
for(i=1;i<=n;i++)                      //这里的n表示输入了n个数字,进行n个循环
{
    scanf("%d",&number);              //通过for循环来对每一个输入的数字进行if-else奇偶分类
    if(number%2!=0){ count_odd++;}
    else           { count_even++;}
}

*统计个数时要在主程序进行前赋值,如该程序count_odd=0;count_even=0;

省略else的if语句

if(表达式)
    语句1;
//否则就什么也不做

多分支结构

else-if语句

if(表达式1)
    语句1else if(表达式2)
    语句2...
else if(表达式n-1)
    语句n-1;
else
    语句n;
   

嵌套的if-else语句

if(表达式1)
    if(表达式2) 语句1else 语句2//内嵌的if最好不要省略else部分
else                 
    if(表达式3) 语句3else 语句4

*else与if的匹配原则:else与最靠近它的、没有与别的else匹配过的if相配

*计算分段函数常用if-else来实现:常用双精度浮点型变量double x,y;

​ 输出结果常要小数点后两位%.2f

switch语句

switch(表达式)                         //表达式和常量表达式一般是整型或字符型,例case 1:    case '*': 
   
{
        case 常量表达式1:语句段1;break; //语句段可一可多可为空
        case 常量表达式2:语句段2;break;//记住case和常量表达式之间有空格,常量表达式不可以是一个逻辑判断的式子,故统计字母要
        ...                          //把52个大小写字母单列出来
        case 常量表达式n:语句段n;break;
        default:        语句段n+1;break;//default可省略,若省则当表达式的值与任一常量表达式不等,就什么都不执行
}

*共用语句段

switch(op)
{
    case '0':
    case '1':
        digit++;
        break;
}

*可以使用break跳出for循环 if(choice==0)

break;

*两个数的简单计算机 对%和/都要对除数0作特殊处理

四则运算

字符型数据(类型名:char)

字符型常量

*单个字符,用单引号和括起来的字符组成

*常见有’A’、‘a’、‘9’、‘$’、‘+’

*ASCII字符集,共256个。特点:唯一次序值

常见(十进制):‘A’到’Z’——65到90

​ ‘a’到’z’——97到122

​ ‘0’到’9’——48到57

字符型变量

*类型名char,eg:char op;

*赋值形式, 例:op='+';

*判定时要==,例:if(op=='+'){...;}

字符型数据的输入和输出

*输入输出:函数scanf()和printf() scanf("%c",&op);

*字符输入函数getchar() op=getchar();

*字符输出函数putchar() putchar(op); putchar('a');

小程序

int first=1,k;               //输入ABCDEFGH,输出A-B-C-D-E-F-G-H
for(k=1;k<=8;k++)            //都是字符型数据,故分解A  -B -C .....-H  ,就第一个不同
{
    ch=getchar();
    if(first==1)             //设计first=1和first=0,分支表达
    {
        putchar(ch);
        first=0;
    }
    else
    {
        putchar('-');
        putchar(ch);
    }
}

字符型判断表达if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')){...;}

逻辑运算

*逻辑运算符: !(逻辑非) &&(逻辑与) ||(逻辑或)

*逻辑运算符的优先级低于关系运算符,故(ch>='a')&&(ch<='z') 可写成ch>='a'&&ch<='z'

*闰年(能被4整除但不能被100整除,或能被400整除)表达式 (year%4==0&&year%100!=0)||(year%400==0)

*统计字符,在循环进行前输入 getchar(); 表示读入并舍弃换行符,若无掉用该式,则换行符作为第一个需统计的字符

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值