C程序中if的使用

在C程序中用到if(); 一般情况不都是if(x==0)或者一些大小比较啊什么的 有时候只有变量比如if
(!S.base) 这个是什么意思 能具体解释下么 最好多举些这样的例子详细说明下
在C程序中exit()是怎么使用的,有什么作用。程序中止执行,返回调用过程是什么意思,与return有什么区别

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

语句的三种形式
1) 第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。

【例5-3】#include <stdio.h>int main(void){ int a,b,max; printf("\n input two numbers: "); scanf("%d%d",&a,&b); max=a; if (max<b) max=b; 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 。其执行过程可表示为下图。

【例5-4】#include <stdio.h>int main(void){ int a, b; printf("input two numbers: "); scanf("%d%d",&a,&b); if(a>b) printf("max=%d\n",a); else printf("max=%d\n",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语句的执行过程如下图所示。

【例5-5】#include <stdio.h>int main(void){ 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"); return 0;}
本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。

在使用if语句中还应注意以下问题:
在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如:
if(a=5) 语句;
if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。如在:
if(a=5)…;
中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

又如,有程序段:

本语句的语义是,把b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。
if(a=b)
printf("%d",a);
else
printf("a=0");
在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。例如:

if(a>b){a++;
b++;
}else{
a=0;
b=10;
}
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配对,因此对上述例子应按前一种情况理解。

【例5-6】#include <stdio.h>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\n"); else printf("A<B\n"); else printf("A=B\n"); return 0;}
比较两个数的大小关系。本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即A>B、A<B或A=B。这种问题用if-else-if语句也可以完成。而且程序更加清晰。因此,在一般情况下较少使用if语句的嵌套结构。以使程序更便于阅读理解。

【例5-7】复制纯文本新窗口
#include <stdio.h>int main(void){ int a,b; printf("please input A,B: "); scanf("%d%d",&a,&b); if(a==b) printf("A=B\n"); else if(a>b) printf("A>B\n"); else printf("A<B\n"); return 0;}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-08
if 下面的小括号 里 应当是 逻辑值 或 能计算返回 逻辑值 的 表达式。
C/C++ 逻辑值 有“真”“假”两个值。 或 规定 0 是 “假”,1是 “真”,并规定 大于0和小于0的其它整数 都 是 真。
惊叹号 在 逻辑运算中 叫 “非”运算,(是一目运算),原来是真的,“非”运算后变假。
原来是假的,“非”运算后变真。

(!S.base) 其中 S.base 是一个结构元素,如果 它 是 真, 或 (大于0 或 小于0的整数),
“非”运算 后 得 “假”。

exit()是void 型 函数,作用是 结束 本程序。
return 0; 是 语句。退出本函数,送回返回值。

int main(){ } 型 函数 要求 有 整型返回值,所以结束时 要有 return 数值; 语句。
void main(){ } 型 函数 不需要 return 0; 语句,但 通常 需要 退出 语句,exit(0),
其它 void 函数 不需要 exit(0),
非 void 函数,都需要 return 语句。
exit(0) 是结束程序,无论 你写在 主函数 和 其它函数 里,一旦执行 exit(0) ,就是结束程序。
return 语句 在 某函数 里,只从 这个函数 退出,返回到 调用语句所在地。

主函数的 return 值, 任何函数里的 exit(值),都将 送 往 本程序的 “父进程”,
父进程 程序 可以 使用 这个值 作判断,作计算。追问

exit()是结束整个程序,使全部程序结束运行吗

追答

exit()是结束整个程序,使全部程序结束运行吗 -- 正确。无论写在哪里,全部程序结束。

本回答被网友采纳
第2个回答  推荐于2017-10-15

C语言中的if语句有三种结构,如下:

    if(表达式)语句;

    先判断表达式的值,若表达式的值为非0(真),则执行语句,否则,若表达式的值为0(假),则执行if语句之后的语句。例如:

    #include<stdio.h>
    void main()
    {
    int n;
    scanf("%d",&n);
    if (n) printf("%d\n",n+1);
    }

    样例1,输入:1

    输出:2

    样例2,输入:0

    输出:       (无输出)

    if(表达式)语句①;

    else 语句②;

    先判断表达式的值,若表达式的值为非0(真),则执行语句①,否则,若表达式的值为0(假),执行语句②。例如:

    #include<stdio.h>
    void main()
    {
    int n;
    scanf("%d",&n);
    if (n) printf("%d\n",n);
    else printf("%d\n",n+1);
    }

    样例1,输入:2

    输出:2;

    样例2,输入:0

    输出:1

    if(表达式①)语句①;

    else if(表达式②) 语句②;

    else ……;

    这是if语句的嵌套。先判断表达式①的值,若表达式①的值为非0(真),则执行语句①,否则,若表达式①的值为0(假),else后的if语句,例如:

    #include<stdio.h>
    void main()
    {
    int n;
    scanf("%d",&n);
    if (n==0) printf("%d\n",n);
    else if (n>0) printf("%d\n",n-1);
    else printf("%d\n",n+1);
    }

    样例1,输入:0

    输出:0

    样例2,输入:2

    输出:1

    样例3,输入:-2

    输出:-1

第3个回答  推荐于2017-09-11

第一个问题:if()是条件,括号里是判断,符合条件是执行,否则跳过。有时候只有一个变量这是因为您没有弄懂一句话:非零即是真的。所谓是真的,即是符合执行的条件。举个例子,如下。

#include<stdio.h>

int main()

{

    int a=1;

    if(a)

    {

        printf("%d",5);

    }

}

第二个问题:exit(),这个怎么用,就是终止程序的执行。下面说个例子:当执行到exit()时,程序就退出了,不再执行了。置于详细用法,可以看百度百科。还有就是自己可以写一下程序,不然是得不到提高的。望采纳!

#include<stdio.h>

#include<stdlib.h>

int main()

{

    int a=1;

    if(a)

    {

        printf("%d",5);

        exit(0);

    }

    printf("您是好人。");

    return 0;

}

追问

IF 可以理解为只要括号里的值不为0 都执行么?

追答

可以这么理解,准确应该是为”假“

本回答被提问者采纳

if在c语言中的意思
在C语言编程中,if 是一个非常重要的关键字。它用于编写条件判断语句,通过判断一个条件是否为真,来决定程序执行哪部分代码。编译器会将C语言代码转化为机器语言,if 语句就是其中的一种。具体来说,if 语句的核心功能是检查一个表达式的值是否为真。如果条件为真,程序将执行紧跟在 if 之后的一条语...

c语言if语句用法
C语言中的if语句是一种条件判断语句,用于基于表达式的值决定执行特定的代码块。其基本结构如下:if(表达式){\/\/如果表达式为真,执行这里的代码}。当需要在表达式为假时执行其他代码时,可以结合使用else语句:if(表达式){\/\/如果表达式为真,执行这里的代码}else{\/\/如果表达式为假,执行这里的代码}。此...

C语言if函数的用法
if是C语言中的条件分支语句,用于根据某个条件来选择执行不同的代码块。基本语法为:if(condition){},其中`condition`是一个表达式,其值为真或假。如果`condition`为真,执行`{}`中的代码;若为假,则不执行。若要实现二选一的执行逻辑,可以添加else语句:if(condition){}else{}。注意点包括:...

C语言中if()函数的几个用法?
if (条件) { \/\/ 如果条件为真,则执行的代码}多分支 if-else 语句:if (条件1) { \/\/ 如果条件1为真,则执行的代码} else if (条件2) { \/\/ 如果条件1为假且条件2为真,则执行的代码} else { \/\/ 如果条件1和条件2都为假,则执行的代码}嵌套 if 语句:if (条件1) { ...

c语言if语句用法
if(i%2)就是判断i除以2的余数是否为零,不为零就执行if内的语句,如果余数为零,就不执行if内的语句。if(条件){ }是条件判断语句,条件为零,不执行if内的语句,条件不为零就执行if内的语句。i%2是求i除以2的余数。如:if(i%2){i++;} 当 i=8时,i%2=0 执行后i还是为8 ...

c语言if语句的用法
在C语言中,if语句的使用方式多种多样,以满足不同情况下的条件判断。主要有以下三种形式:1. 基础形式的if(表达式)语句,如:if(x > y){ printf("%d", x); } 当表达式为真时,执行紧跟其后的语句。例如,如果x的值大于y,就会打印x的值。2.if-else结构,例如:if(x > y) printf("...

c语言if语句
c语言中的if语句,一般有三种形式,其它的形式都在此三种形式基础上建立而来,活学活用嘛。1、 if……形式一般格式:if(表达式) 语句;语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:include <stdio.h>int ...

c语言if语句是什么?
在每个语句中,可以有多个语句,但需要加上大括号。例:if(x>y){printf("%d",x);break;}。相关内容解释:C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序...

c语言中if语句的用法有哪些?
if( (a>0 && a<100) || (a>100 && a!=1000) ){a = 2015} 资料扩展:if语句怎么使用 1\/5 打开编程软件:C-FREE,Ctrl+N新建一个cpp。2\/5 输入图中的程序,该程序的作用是对输入的三个数字按大小排序。3\/5 注意图中if语句的格式:if(条件){条件成立的结果}。按F5执行程序。4\/5 ...

c语言if语句的用法
c语言提供了三种形式的if语句:1、if(表达式)语句。例如:if(x>y)printf("%d",x);此时,如果表达式为真,则执行printf语句。2、if(表达式)语句1 else 语句2 例如:if(x>y)printf("%d",x);else printf("%d",y);此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else...

相似回答