C语言if语句的基本用法

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

表达式:
a,用非 0 值表示真,用 0 表示假;
b,if(flag) 相当于 if(1==flag)
c,浮点数无法与 0 比较,只能用近似的值比较;例: 1e-6 等于1x10的-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);
		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");
	}
}

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

猜你喜欢

转载自blog.csdn.net/weixin_46623617/article/details/105346418
今日推荐