C语言if语句的基本用法

C语言if语句的基本用法C语言if语句的基本用法一、if…1.一般形式:if(表达式){语句;}表达式:a,用非0值表示真,用0表示真;b,if(flag)相当于if(1==flag)c,浮点数无法与0比较,只能用近似的值比较;例:(1e-6)相当于1×10的-6次方;2.用于单分支选择结构;3.如含有交叉关系,使用并列的if语句;例:输出两个整数中的最大值#inclu…

大家好,又见面了,我是你们的朋友全栈君。

一、if(…) {…}
1.一般形式:
if (表达式) {语句;}

表达式:
a,用非 0 值表示真,用 0 表示假;
b,if(flag) 相当于 if(flag!=0);
c,浮点数无法与 0 比较,只能用近似的值比较;例: 1e-6 等于1×10的-6次方可以看成0来使用;

2.用于单分支选择结构;
3.如含有交叉关系,使用并列的if语句;

例1:输出两个整数中的最大值

#include <stdio.h>
void main()
{ 
   
     int a,b;
     printf("请输入两个整数:");
     scanf("%d %d",&a,&b);
     if(a>b)
     { 
   
     printf("max = %d\n",a);
     }
     if(a<b)
     { 
   
     printf("max = %d\n",b);
     }
}

二、if(…) {…} else {…}

  1. 一般形式: if(表达式) {语句1; } else { 语句2;}
  2. 用于双分支控制的条件语句;
  3. 用于非此即彼的关系时;

例2:输出两个整数中的最大值

例2关于对于非法字符的检查与处理

#include <stdio.h>
void main()
{ 
   
	int a,b,max,data;
	printf("Input a,b:");
	data = scanf(" %d,%d",&a,&b);/*记录scanf()的返回值;*/
	if(data!=2)/*根据scanf()的返回值判断输入数据个数或者格式是否错误*/
    { 
   
		printf("格式输入错误!");
		fflush(stdin);/*清除输入缓冲区中的错误内容(fflush()可能带来可移植性的问题)*/
	}
	else
	{ 
   
		max = a>b?a:b;/*三目运算符(a>b值为真则输出a的值,反之输出b的值)*/
		printf("%d\n",max);
	}

}

三、if(…) {…} else if(…) {…} … else if(…) {…} else {…}

  1. 一般形式:
    if(表达式1) { 语句1;}
    else if(表达式2) {语句2;}

    else if(表达式n){语句n;}
    else{语句n+1;}

  2. 用于多分支的控制的条件语句;

例3:判断字符

#include <stdio.h>
void main()
{ 
   
	char ch;
	printf("请输入一个字符:");
	ch = getchar();/*getchar、putchar专门用于字符输入输出; getchar()写法上要写为 变量 = getchar(); putchar()用法为putchar(变量); putchar('\n')输出一个控制符; putchar('字母/字符');输出字母/字符; */
	if(ch<=31)
	{ 
   
		printf("这是一个控制字符或通讯专用字符!\n");
	}
	else if(ch >= '0' && ch <= '9')
	{ 
   
		printf("这是一个数字!\n");
	}
	else if(ch >= 'A' && ch <= 'Z')
	{ 
   
		printf("这是一个大写字母!\n");
	}
	else if(ch >= 'a' && ch <= 'z')
	{ 
   
		printf("这是一个小写字母!\n");
	}
	else
	{ 
   
		printf("这是其他字符!\n");
	}
}

四、switch() {case …: …; case …: …; … default: …;}

  1. 一般形式:
    switch(表达式)
    {

    case 常量1:语句1;
    case 常量2:语句2;

    case 常量n:语句n;
    default: 语句n+1;
    }
  2. 用于多路选择的语句;

switch语句相当于多个if-else语句;
(表达式)只能是char型或者int型;
case 后面至少要有一个空格,常量后面是冒号
(表达式)与 常量类型要保持一致;
记得记得记得 在需要跳出的时候,在语句后面加上break;

例4:简单的加减乘除计算

#include <stdio.h>
void main()
{ 
   
	double a,b;
	char ch;
	printf("Input a(+ - * /)b:");
	scanf("%f%c%f",&a,&ch,&b);
	switch(ch)
	{ 
   
	case '+':
		printf("%f%c%f=%.2f\n",a,ch,b,a+b);/*%.2f表示精度,可以理解为保留两位小数*/
		break;
	case '-':
		printf("%f%c%f=%.2f\n",a,ch,b,a-b);
		break;
	case '*':
	case 'X':
	case 'x':
		printf("%f%c%f=%.2f\n",a,ch,b,a*b);/*输入"x" "X" "*" 都执行这一条语句;不加break,会顺语句执行*/
		break;
	case '/':
		printf("%f%c%f=%.2f\n",a,ch,b,a/b);
		break;
	default:
		printf("请输入正确算式!\n");
	}
}

扩展
5.1:C语言中输出格式%m.nf的意思

  • m:表示宽度
  • .n:表示精度
假设,
i=10.1;
printf("%5.2f",i);

输出结果为 10.10(m=5,其中空格占1位,小数(n)占2位)

本文出现任何错误,欢迎留言批评指正。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144383.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 下午6:00
下一篇 2022年5月19日 下午6:00


相关推荐

  • UML图:类图 –详细介绍

    UML图:类图 –详细介绍类图的概念描述类、接口及它们之间关系的图,显示系统中各个类的静态结构类图的元素类面向对象系统组织结构的核心对一组具有相同属性、操作、关系和语义的对象的抽象包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation)类的组成名称属性操作名称:应该是一个名词,分为简单名称和路径名称,每个单词首字母大写属性:描述了类在软件系统中代表的事物(即对象)所具备的特性,类可以有任意数目的属性,也可以没有属性在UML中,类属性的语法为属性的可见性

    2022年7月12日
    22
  • python转义字符_python转义字符

    python转义字符_python转义字符广告关闭腾讯云 11 11 云上盛惠 精选热门产品助力上云 云服务器首年 88 元起 买的越多返的越多 最高返 5000 元 用科学计数法格式化浮点数 g 根据值的大小决定使用 f 活 e g 作用同 g 根据值的大小决定使用 f 活 e p 用十六进制数格式化变量的地址 python 的转义字符及其含义符号说明单引号双引号 a 发出系统响铃声 b 退格符 n 换行符 t 横向制表符 v 纵向制表符 r

    2026年3月26日
    2
  • JDBC_4数据库连接池[通俗易懂]

    JDBC_4数据库连接池[通俗易懂]数据库连接池JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按照以下步骤:在主程序(如servlet beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再验证用户名和密码(大概花费0.05s-1s),需要数据库连接的时候,就向数据库要求一个,执行完成后再断开。这样的方式将会消耗大量的时间。数据库的

    2022年8月8日
    8
  • 喜欢井宝的七大理由

    喜欢井宝的七大理由

    2021年7月25日
    57
  • s一般怎么称呼自己的m_教师节到了,聊一聊该怎么称呼尊敬的老师[通俗易懂]

    s一般怎么称呼自己的m_教师节到了,聊一聊该怎么称呼尊敬的老师[通俗易懂]01.Teacher当面看到老师不能直接叫teacher哦,但是你可以用Mr/Mrs/Miss/Ms+surname(姓)的方式来称呼老师们,这四个称谓适用的人群如下:Mr/ˈmɪstər/:(已婚/未婚)男性Mrs/ˈmɪsɪz/:(已婚)女性Miss/mɪs/:(未婚)女性Ms/mɪz/:(已婚/未婚)女性一般来讲,因为Ms不透露女性的婚姻状态,所以用其称呼女…

    2022年6月23日
    80
  • Claude Code 玩法大全:从入门到上瘾的终极指南

    Claude Code 玩法大全:从入门到上瘾的终极指南

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号