当前位置:首页 » 编程语言 » c语言输if

c语言输if

发布时间: 2024-07-13 22:28:08

c语言if语句的使用讲解

if语句的使用

用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。

语句的三种形式

1) 第一种形式为基本形式:if

if(表达式) 语句

其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

【例1】

#include

int main(void){

int a,b,max;

printf(" input two numbers: ");

scanf("%d%d",&a,&b);

max=a;

if (max

printf("max=%d",max);

return 0;

}

本例程序中,输入两个数a、b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。

2) 第二种形式为: if-else

if(表达式)

语句1;

else

语句2;

其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

【例2】

#include

int main(void){

int a, b;

printf("input two numbers: ");

scanf("%d%d",&a,&b);

if(a>b)

printf("max=%d ",a);

else

printf("max=%d ",b);

return 0;

}

输入两个整数,输出其中的大数。改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。

3) 第三种形式为if-else-if形式

前二种形式的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】

#include

int main(void){

char c;

printf("input a character: ");

c=get);

if(c<32)

printf("This is a control character ");

else if(c>='0'&&c<='9')

printf("This is a digit ");

else if(c>='A'&&c<='Z')

printf("This is a capital letter ");

else if(c>='a'&&c<='z')

printf("This is a small letter ");

else

printf("This is an other character ");

return 0;

}

本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。

if语句的嵌套

当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。其一般形式可表示如下:

if(表达式)

if语句;

或者为:

if(表达式)

if语句;

else

if语句;

在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。例如:

if(表达式1)

if(表达式2)

语句1;

else

语句2;

其中的else究竟是与哪一个if配对呢?应该理解为:

if(表达式1)

if(表达式2)

语句1;

else

语句2;

还是应理解为:

if(表达式1)

if(表达式2)

语句1;

else

语句2;

为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。

【例4】

#include

int main(void){

int a,b;

printf("please input A,B: ");

scanf("%d%d",&a,&b);

if(a!=b)

if(a>b) printf("A>B ");

else printf("A

else printf("A=B ");

return 0;

}

比较两个数的大小关系。本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即A>B、A

简单讲解C语言中宏的定义与使用

宏定义是预编译功能的一种, 预编译又称为预处理, 是为编译做的预备工作的阶段。处理#开头的指令, 比如拷贝 #include 包含的文件代码,#define宏定义的替换,条件编译等。

使用宏定义的好处:使用宏定义的好处:可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如 π 这个常量,我们有时候会在程序的多个地方使用,如果每次使用都重新定义,一来比较麻烦,二来容易出错,所以我们可以把 π 做成宏定义来使用。

语法说明:

(1)宏名一般用大写

(2)使用宏可提高程序的`通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义

(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。

(4)宏定义末尾不加分号;

(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。

(6)可以用#undef命令终止宏定义的作用域

(7)宏定义可以嵌套

(8)字符串" "中永远不包含宏

(9)宏定义不分配内存,变量定义分配内存。

定义:

#define 宏名 内容#define kArrLen 10 // OC驼峰命名法:首字符为k,其他单词首字符大写#define ARR_LEN 10 // C语言中的宏命名规范:所有字母大写,单词用下划线分隔

例如:

#define PI 3.1415926

我们就可以使用 PI 来代替 3.1415926 即可:

float r = 0.5;float area = PI * r * r;printf("area = %fn", area);

在程序预编译阶段会把 PI 替换成 3.1415926:

float area = 3.1415926 * r * r;

宏定义内容很简单,也很好理解,但是有几个如下的注意事项:

1、因为宏定义只是简单的替换,如果宏定义的内容有运算的时候,要把每个变量加上括号,以免影响运算的优先级

比如:#define MUL(A, B) (A * B)

使用方法:

MUL(3 + 5, 5 + 6) //会替换成 3 + 5 * 5 + 6 = 34

我们希望(3 + 5) * (5 + 6),所以定义宏定义的时候应该:

#define MUL(A, B) ((A) * (B))

2、注意宏定义后面没有分号(;),它不是一条语句

3、宏定义是在程序编译前期进行替换,此时程序还没有编译

⑵ if语句的用法c语言是什么

c语言提供了三种形式的if语句:

1、if(表达式)语句。

例如:if(x>y)printf("%d",x);

此时,如果表达式为真,则执行printf语句。

2、if(表达式)语句1 else 语句2

例如:

if(x>y)printf("%d",x);

elseprintf("%d",y);

此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。

如果x>y不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。

3、if(表达式1)语句1

else if(表达式2)语句2

else if(表达式3)语句3

else if(表达式m)语句m

else 语句 n

此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。

在每个语句中,可以有多个语句,但需要加上大括号

例:if(x>y){printf("%d",x);break;}


IF函数的参数:

(1)Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。

例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(=(等于)、>(大于)、>=(大于等于)、<=(小于等于等运算符))。

(2)Value_if_true表示 logical_test 为 TRUE 时返回的值。

例如,如果本参数为文本字符串“预算内”而且
logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而
value_if_true 为空,则本参数返回 0。

(3)Value_if_false表示 logical_test 为 FALSE 时返回的值。

例如,如果本参数为文本字符串“超出预算”而且
logical_test 参数值为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且忽略了
value_if_false(即 value_if_true 后没有逗号)。

⑶ C语言中的的if语句共有多少种格式

3种形式

1、 第一种形式为基本形式:if

if(表达式) 语句

其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

2、第二种形式为: if-else

if(表达式) 语句1;else 语句2;

其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

3、第三种形式为if-else-if形式

前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,

一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;…

else if(表达式m) 语句m; else 语句n;

其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if

句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。

(3)c语言输if扩展阅读

在使用if语句中还应注意以下问题:

在三种形式的if语句中,在if关键字之后均为表达式。

该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句; if(b) 语句;

都是允许的。只要表达式的值为非0,即为“真”。如在: if(a=5)…;中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

参考资料

网络-if语句

⑷ c璇瑷镐庝箞鐢╥f璇鍙ュ疄鐜板傛灉杈揿叆浠涔堬纴灏辫緭鍑轰粈涔堬纻

鍦 C 璇瑷涓锛屽彲浠ヤ娇鐢 if 璇鍙ユ潵瀹炵幇镙规嵁杈揿叆鍐呭硅緭鍑轰笉钖岀殑缁撴灉銆傚叿浣揿疄鐜版柟娉曞备笅锛
#include <stdio.h>
int main() {
int num;
printf("璇疯緭鍏ヤ竴涓鏁板瓧锛");
scanf("%d", &num);
if (num == 1) {
printf("浣犺緭鍏ヤ简1锛岃緭鍑篈銆\n");
} else if (num == 2) {
printf("浣犺緭鍏ヤ简2锛岃緭鍑筑銆\n");
} else if (num == 3) {
printf("浣犺緭鍏ヤ简3锛岃緭鍑篊銆\n");
} else {
printf("浣犺緭鍏ヤ简鍏朵粬鏁板瓧锛岃緭鍑哄叾浠栫粨鏋溿\n");
}
return 0;
}

⑸ c语言if语句

c语言中的if语句,一般有三种形式,其它的形式都在此三种形式基础上建立而来,活学活用嘛。


1、 if……形式
一般格式:if(表达式) 语句;
语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:

#include<stdio.h>
intmain(){
inta,b,max;
printf(" inputtwonumbers:");
scanf("%d%d",&a,&b);
max=a;
if(max<b)max=b;
printf("max=%d ",max);
return0;
}


2、if……else形式
一般格式:
if(表达式)
语句1;
else
语句2;


语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
示例如下:

#include<stdio.h>
intmain(){
inta,b;
printf("inputtwonumbers:");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d ",a);
else
printf("max=%d ",b);
return0;
}

3、if……else……if形式
一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;

else if(表达式m)
语句m;
else
语句n;
语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:

#include<stdio.h>
intmain(){
charc;
printf("inputacharacter:");
c=getchar();
if(c<32)
printf("Thisisacontrolcharacter ");
elseif(c>='0'&&c<='9')
printf("Thisisadigit ");
elseif(c>='A'&&c<='Z')
printf("Thisisacapitalletter ");
elseif(c>='a'&&c<='z')
printf("Thisisasmallletter ");
else
printf("Thisisanothercharacter ");
return0;
}

4、扩展形式
if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。

热点内容
猫咪国外访问 发布:2024-11-26 09:32:05 浏览:616
威立信监控原始密码是多少 发布:2024-11-26 09:24:06 浏览:487
超凡先锋选择不了服务器该怎么办 发布:2024-11-26 09:15:56 浏览:336
搭建ff服务器喝茶 发布:2024-11-26 09:10:09 浏览:845
乐山云服务器公司 发布:2024-11-26 08:59:44 浏览:953
ftp工具可以上传吗 发布:2024-11-26 08:55:04 浏览:569
压缩量密封 发布:2024-11-26 08:52:10 浏览:581
java把一个list 发布:2024-11-26 08:38:38 浏览:585
混沌珠算法 发布:2024-11-26 08:29:17 浏览:163
阿里云解析不到服务器 发布:2024-11-26 07:57:59 浏览:493