C語言中的if(1)是什么意思啊
if(表達式)表達式的值為1后面的程序執行,若為0則不執行。
比如if(1>2)其中1>2是個邏輯判斷,1<2當然是假,所以就是false(false為0,true為1),但cpu不認false只認0和1,所以1《2的邏輯返回值就是0,所以if(0)等價于if(1>2),其他的同理。
還有一種就是if(5),c語言默認if(判別的返回值)是0就不執行,不是0就是執行!所以if(5)等同于if(1)也就是說if(表達式結果為0(邏輯判斷只返回0和1,但若是某個數值則不為0則當做是1))。
所以f(0)等價于f(1<2)等價于f((1+4)<9),f(!1)等,不執行。
if(1)相當if(5),if(1<2);
int a=0;
if(1)執行;
a=3;結果a=3;
if(0)不執行跳過;
a=4;
else a=5;執行a=5;
擴展資料:
C語句常用語句:
一,表達式語句
表達式語句由表達式加上分號“;”組成。
其一般形式為:表達式;執行表達式語句就是計算表達式的值。
例如: x=y+z;a=520;賦值語句;
y+z;加法運算語句,但計算結果不能保留,無實際意義;
i++; 自增1語句,i值增1。
i++; 是先運算i后再加1。
++i; 是先把i值增1后運算。
二,函數調用語句
由函數名、實際參數加上分號“;”組成。
其一般形式為: 函數名(實際參數表) ;
執行函數語句就是調用函數體并把實際參數賦予函數定義中的形式參數,然后執行被調函數體中的語句,求取函數值。
調用庫函數,輸出字符串。
例如:
printf(a,b,c); /*調用名為"printf"的函數*/
三,控制語句
控制語句用于控制程序的流程, 以實現程序的各種結構方式。
它們由特定的語句定義符組成。C語言有九種控制語句。 可分成以下三類:
(1). 條件判斷語句
if語句、switch語句;
(2) .循環執行語句
do while語句、while語句、for語句;
(3). 轉向語句
break語句、goto語句(此語句盡量少用,因為這不利結構化程序設計,濫用它會使程序流程無規律、可讀性差)、continue語句、return語句。
條件判斷
int x,y;
if(x>y)
printf("x,\n");
else
printf("y,\n");
四,復合語句
把多個語句用括號{}括起來組成的一個語句稱復合語句。 在程序中應把復合語句看成是單條語句,而不是多條語句,例如
{
x=y+z;
a=b+c;
printf(“%d%d”,x,a);
}
是一條復合語句。復合語句內的各條語句都必須以分號“;”結尾;此外,在括號“}”外不能加分號。
五,空語句
只有分號“;”組成的語句稱為空語句。空語句是什么也不執行的語句。在程序中空語句可用來作空循環體。
例如 while(getchar()!='\n'); 本語句的功能是,只要從鍵盤輸入的字符不是回車則重新輸入。這里的循環體為空語句。
求助
*語句的一般格式
if(表達式)
{語句組1;}
[else
{語句組2;} ]
(1)if語句中的“表達式”必須用“(”和“)”括起來。
(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用。
(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用復合語句形式(即去掉花括號)。
*語句的執行過程
(1)缺省else子句時
當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,否則直接轉向執行下一條。
(2)指定else子句時
當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,然后轉向下一條語句;否則,執行語句組2。如圖4-1(b)所示。
*語句的嵌套與嵌套匹配原則
if語句允許嵌套。所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況。
if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對。
為明確匹配關系,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來。
C語言中if(--i)是什么意思
下面的代碼中if(--i)這句的意思是:
先將i自減去1,然后判斷i的值是否等于0,不等于0即條件成立,執行顯示函數并遞歸。
自減1后如果等于0,則不執行if里面的語句,退出main函數。
#include <stdio.h>
int main()
{
static int i = 5;
if (--i)
{
printf("%d ", i);
main(10);
}
}
關于IF語句
&& 與 ||
#include
int main(void)
{
int i;
for (i = 0; i if (i>3 && iprintf("%d ", i);
}
}
getchar();
return 0;
}
#include
int main(void)
{
int i;
for (i = 0; i if (i7) {
printf("%d ", i);
}
}
getchar();
return 0;
}
& 與 |
#include
int main(void)
{
int i;
for (i = 0; i if (i>3 & iprintf("%d ", i);
}
}
getchar();
return 0;
}
#include
int main(void)
{
int i;
for (i = 0; i if (i7) {
printf("%d ", i);
}
}
getchar();
return 0;
}
!
#include
int main(void)
{
int i;
for (i = 0; i if (!(i >4)) {
printf("%d ", i);
}
}
getchar();
return 0;
}
梯次:
#include
int main(void)
{
int i;
for (i = 0; i if (i/2 == 0) {
printf("%d: 0-1 ", i);
} else if(i/2 == 1) {
printf("%d: 2-3 ", i);
} else if(i/2 == 2) {
printf("%d: 4-5 ", i);
} else {
printf("%d: 6-9 ", i);
}
}
getchar();
return 0;
}
嵌套
#include
int main(void)
{
int i;
for (i = 0; i if (i >2) {
if (i%2 == 0) {
printf("%d ", i);
}
}
}
getchar();
return 0;
}
簡化的 if 語句(? :)
#include
int main(void)
{
int i,j;
for (i = 0; i j = iprintf("%d ", j);
}
getchar();
return 0;
}
#include
int main(void)
{
int i,j;
for (i = 0; i i}
getchar();
return 0;
}
應該是這樣的吧