㈠ c语言中的if ,else 语句
区别是很明显的!
先讲一下
if
分支结构吧!
if(express)语句1
else
语句2
当express为真时,执行语句1,假时执行语句2,很显明,只能是一个语句,那么如果要使用多个语句,必需使用{}表示语句块!
回过头来看看
if(express1)语句1
else
if(express2)
语句2
else
语句3
因为一个
if结构可以称为一个复合语句!所以,在这个嵌套if中,第二个if为一个语句,所以,和
if(express1)语句1
if(express2)
语句2
else
语句3
很明显不一样!
前者是第二个if为第一个if的else分支的语句,而后者为平行的两个if分支复合语句!
㈡ C语言 #if……#else……的意思
预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:
指令 用途
# 空指令,无任何效果
#include 包含一个源代码文件
#define 定义宏#undef 取消已定义的宏#if 如果给定条件为真,则编译下面代码
#ifdef 如果宏已经定义,则编译下面代码
#ifndef 如果宏没有定义,则编译下面代码
#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写
#endif 结束一个#if……#else条件编译块#error 停止编译并显示错误信息
#if……#else……
就是预编译,比如:
#if 1
。。。。
#else……
这里#if 1表示此次编译把其下的代码编译进去,如果改为#if 0,则表示此次编译把#else后面的代码编译进去,而不是#if 0下的代码。
#if TT ……#else……
TT是一个宏,这里表示如果TT这个宏定义的话,则编译#if 下的代码,否则#else下的代码。
具体可以参考:
http://blog.csdn.net/qiantuo1234/article/details/6976072
㈢ C语言 if else语句
规则是else与他上面的最近的还没有配对的if配对。
例如判断三角形的。
if((a+b>c)&&(a+c>b)&&(b+c>a))。
if((a==b)||(a=c)||(b=c))。
printf("是等腰三角行")。
else printf("是普通三角形")。
else printf("不能够成三角形")。
这个没有细分,其中if((a==b)||(a=c)||(b=c))。
printf("是等腰三角行")。
else printf("是普通三角形");是一对,再外面的也是一对。
if语句一般形式。
if语句的一般形式如下:
if(表达式)语句1。
[else语句2]。
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。
㈣ 关于C语言中if else的用法,高手来帮下忙
if-else-if形式
当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如图3—3所示。
【例】
#include"stdio.h"
main()
{
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}
本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分
支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。
在使用if语句中还应注意以下问题:
1) 在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。
例如:
if(a=5) 语句;
if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。
如在:
if(a=5)…;
中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。冲带
又如,有程序段:
if(a=b)
printf("%d",a);
else
printf("a=0");
本语句的语义是,把b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。
2) 在if语句中,条件判断表达式必须用括号括起培禅来,在语句之后必须加分号。
3) 在if语句的三种形式中,所有的语句应为单个语句,配判尘如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。
例如:
if(a>b)
{a++;
b++;}
else
{a=0;
b=10;}