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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 沃舍尔算法求传递闭包_离散数学传递闭包

    沃舍尔算法求传递闭包_离散数学传递闭包给定 n 个变量和 m 个不等式。其中 n 小于等于 26,变量分别用前 n 的大写英文字母表示。不等式之间具有传递性,即若 A>B 且 B>C,则 A>C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序;如果发生矛盾,则结束循环,输出有矛盾;如果循环结束时没有发生上述两种情况,则输出无定解。输入格式输入包含多组测试数据。每组测试数据,第一行包含两个整数 n 和 m。接下来 m 行,每行包含一个不等式,不等式全部为小于关系

    2022年8月10日
    13
  • iframe属性与用法

    iframe标签有人说,iframe是能耗最高的一个元素,尽量减少使用。也有人说,iframe的安全性太差,尽量减少使用。虽然他们说的是真的,但是iframe的强大功能是不容忽视的,而且现在不乏公司正在使用它。标签规定一个内联框架。一个内联框架被用来在当前HTML文档中嵌入另一个文档。所有的主流浏览器都支持标签。你可以把提示的文字放到和里面,这样不支持的浏览器就会出现提示…

    2022年4月6日
    58
  • sqlyog数据库同步_数据库同步到另一个数据库

    sqlyog数据库同步_数据库同步到另一个数据库

    2022年10月15日
    4
  • vb.net listview_不VB思考VB数据表

    vb.net listview_不VB思考VB数据表控件:TEXTBOX   :1个     Name:txtJobNoBUTTON:    2个      Name:btnFilter,btnShowAllLISTVIEW: 1个      Name:lstvwJobNo Columns:JobNo,ContainerID,CartonID,PO,Style,Color,Size,ShipMent,Factory        

    2022年9月1日
    4
  • java基本输入语句_java键盘输入语句

    java基本输入语句_java键盘输入语句在Java中进行输入时,最常用的两种输入方式为:1.使用ScannerScanner使用步骤:导入包importjava.util.Scanner;//导包的动作必须出现在类定义的上方创建对象//newScanner(System.in)为固定格式,不可以改变Scannersc=newScanner(System.in); 接收数据inti=sc.nextInt(); //这里使用的为int型,如果改变,则需要改变sc.nextInt();

    2025年11月25日
    4
  • Eclipse 添加 Tomcat Server 配置

    Eclipse 添加 Tomcat Server 配置以下步骤是将一个独立安装的(standalone)Tomcat整合到Eclipse中,方便在Eclipse发布Web工程到Tomcat服务器,启停WebServer调试程序。项目开发中不推荐使用Eclipse自带的WebServer,不便于运行调试,往往需要根据项目需求独立安装指定厂家和版本的Webserver。(项目部署参考–>Eclipse部署项目到Tomcat)…

    2025年7月30日
    2

发表回复

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

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