C语言基础:流程控制单分支语句

用if语句实现分支结构

单分支:if…

  • 语法:
//语法1:舍弃{}
if(表达式)
	单语句;
//语法2:保留{}
if(表达式)
{	
	单语句或复合语句;
}
  • 流程图

在这里插入图片描述

  • 功能
    • 若表达式值为True(非0),则执行表达式后面的语句。执行玩该语句后继续执行if语句后的语句。
    • 若表达式值为0,则不执行表达式后面的语句而直接执行if语句后面的语句。
  • 说明:
    • 如果表达式(条件表达式)后面的是复合语句,则要用一对花括号{}括起来。单语句可有可无。
  • 案例
    • 要求:计算并输出下列分段函数的值
      在这里插入图片描述
  • 流程图:
    在这里插入图片描述
  • 代码:
#include <stdio.h>

int main()
{
	//创建两个变量,用来存储两个操作数
	double x,y=-2;//给y赋初始值,假定x<0
	//从控制台输入x
	printf("请输入一个整数作为x的值:\n";
	scanf("%lf",&x);

	//校验
	if(x>=0)
	   y=2;
	printf("x=%lf,y=%ld\n",x,y)return 0
}

  • 案例:
    要求:有a,b,c三个数,要求从控制台输入,并且求最大值
    分析:
    1. 通过控制台给a,b,c赋值
    2. 创建一个变量max,用来存放a,b,c中的最大值,默认a是最大值(这样可以减少一次判断)
    3. 让a,b和max进行比较,让最大值存入max
      代码:
#include <stdio.h>

int main(int argc,char *argv[])
{
	// 要求:求a,b,c中的最大值
	// 创建三个变量,用来存放a,b,c的值
	int a,b,c;
	// 创建一个变量,用来存放max的值
	printf("请在控制台输入三个整数:\n");
	scanf("%d%d%d",&a,&b,&c);
	// 创建一个变量,用来存放max的值
	int max = a;
	// 让最大值分别和b,c进行比较
	if (max < b)
	{
	max = b; // 如果max < b,就让b作为a,b中的最大值
	}
	if (max < c)
	{
	max = c; // 其实a,b中的最大值和c比
	}
	printf("%d,%d,%d中的最大值是%d\n",a,b,c,max);
	return 0;
}

有可能产生的问题:
1. scanf()同时输入多个变量时,默认时使用空格或者回车换行。
2. 在变量赋值前使用变量,导致运算结果错误(莫名输出随机数)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值