1樓:匿名使用者
if()括號
裡是邏輯判斷的表示式,如果括號裡面的表示式為真則執行後面的語句,否則跳過。這裡的if(3),3是整數,在c語言裡非零為真,所以這裡是可以執行跟隨if語句的意思,if(!1)1的非為0,所以不執行其後的語句。
c語言中的if(1)是什麼意思啊
2樓:你不愛吃烤肉
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");
四,復合語句
把多個語句用括號{}括起來組成的乙個語句稱復合語句。 在程式中應把復合語句看成是單條語句,而不是多條語句,例如
是一條復合語句。復合語句內的各條語句都必須以分號「;」結尾;此外,在括號「}」外不能加分號。
五,空語句
只有分號「;」組成的語句稱為空語句。空語句是什麼也不執行的語句。在程式中空語句可用來作空迴圈體。
例如 while(getchar()!='\n'); 本語句的功能是,只要從鍵盤輸入的字元不是回車則重新輸入。這裡的迴圈體為空語句。
3樓:銀孟昝迎彤
首先你要明白什麼是表示式,還有變數。
a是乙個變數。
a++,++a都是a加了1.
比如a原來是1,執行了a++或++a後,a變數的值就是2了至於a++和++a的區別主要是在表示式上的區別。
++a是先執行了a加1後,參與表示式的計算。
a++是a先參與表示式的計算,後執行自加1.
比如:int
a,b;
a=1;//如果你想把a的值1,付給b.那麼,但你又想使得a加1。你就可以這麼做
b=a++;//++在a之後,先把a的值付給b,然後再本身加1。這時候b=1,a=2了。
//如果你還不懂得話。b=a++;的意思
就是b=a;a=a+1;這兩句意思
//而b=++a
就是a=a+1;b=a;的意思
至於a++=a+a+1
好像寫錯了吧
是a+=a+a+1
優先順序等於
a=a+(a+a+1)//a+=b
是a=a+b
的簡化!=
不等於,是條件運算子,用來判斷真假的。
比如1!=2;
表示式的值就是假,也就是0;
c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。
4樓:宜都書童
if()括號裡面跟的是條件句,如果條件成立,也就是if(1),則後面的程式執行。c語言預設if(判別的返回值)是0就不執行,不是0就是執行、所以if(5)等同於if(1)。
c# 中 if 語句的語法:
if(boolean_expression)
如果布林表示式為 true(1),則 if 語句內的**塊將被執行。如果布林表示式為 false(0),則 if 語句結束後的第一組**(閉括號後)將被執行。你的**解釋如下:
int a=0;
if(1)//執行
else a=5//執行a=5
擴充套件資料:
1、一般形式 if(表示式)表示式1 else 表示式2 :表示式成立(為真)則執行表示式1,否則執行表示式2.
適用範圍:真假,對錯,開關,對立面的條件
注意:如果if語句中只包括一條語句,可以省略{}但最好不要省略,如果有多條語句,一定要加{}
如果else不包含任何語句,則可以省略掉else
2、分支 if(表示式1){語句1}else if(表示式){語句2} else if(表示式3){語句3}。。。。。else(語句4)
表示式1成立立即執行語句1,否則判斷表示式2,表示式2成立則立即執行語句2,否則判斷表示式3,表示式3成立則立即執行語句3,表示式1,表示式2,表示式3都不成立,則執行語句4
分支if語句中條件是互斥的,不能有重複或互相包含的情況。如果有,必須重新理清程式思路。
if的條件是一段連續的範圍,要把所有的情況都涵蓋完
適用範圍:條件互斥,沒有相重合的條件,且條件都是一段連續的範圍的時候用
3、巢狀形式:
if (表示式) else
}elseelse
}使用範圍:適合逐層遞進,從大到小細分條件,可用巢狀。
5樓:匿名使用者
邏輯判斷
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)執行
else a=5;執行a=5
還乙個是,*************這個自己動腦,按上面的方法試試
int a=0;
if(1)
a=3;
if(0)
a=4;
else a=5;
請一步步的說一下是什麼意思啊··想了半天也沒想明白··
6樓:匿名使用者
if(1)裡的1同時被理解為真假值,代表真,也就是如果為真,就進行if後邊的操作
c語言中if(!n)是什麼意思?
7樓:桑仁言雪
\n是換行符,通常在輸出中用作格式控制。如printf("what
agood
day!\n");
這樣,在輸出what
agood
day!之後,就可以換行,游標移動到下一行了。
希望可以幫到你。
8樓:匿名使用者
對於整數 ,當n為0時,轉換為布林值就是 假,此時 !n 就是 真 進入if後面的語句塊
當 n 為 非0值是,轉換為布林值 就是 真,此時 !n 就是假,不執行if後面的語句塊
如果n 本身就是布林值,也就是 在n為假的時候 執行if後面的語句塊,n為真的時候不執行 if後面的語句塊
希望可以幫助到你
9樓:匿名使用者
這個語句沒有什麼難理解的,急需要把if('\n' == ch)中的'\n'理解成乙個字元變數。只要ch的值等於'\n',此判讀語句為真。
10樓:汝曼華劍念
「==」是判斷符號,c等於n時,c=='n'語句執行完後為1,所以總的來說就是c等於'n'或者'n'時,括號中的語句為真,那麼執行if下的指令語句
11樓:惠素芹慎煙
這是「轉義字元」。表示乙個「換行(lf)」
,將當前位置移到下一行開頭。
12樓:偏愛你眼
if(!n)等價於if(n=0)
if(n)等價於if(n!=0)
c語言裡面那個if(i==1)。。乙個等號和兩個等號什麼區別。。都分別代表什麼意思啊。。
13樓:子小夜
if(i==1)的兩個等號的區別是:兩者的運算子型別不一樣,乙個等號表示賦值, 兩個等號表示比較。
1、c語言中 2個等號為關係運算子,意思是:判斷兩邊的值是否相等。
== 關係運算子的表現形式為: 變數1 == 變數22、c語言中 1個等號為賦值運算子,意思是:賦值如:
x = 5,意思是將常量值5賦值給變數xif(i&1==1)這句話表示:如果是 奇數 則。。。
i&1 -- 按位與運算,取 2進製整數 i 的最低位,如果最低位是1 則得1,如果最低位是0 則得0。 奇數 i 的最低位 是1,偶數i 的最低位 是0。
14樓:弋風
c語言中,乙個等號和兩個
等號的區別是:兩者的運算子型別不一樣,乙個等號表示賦值, 兩個等號表示比較。
兩者的具體意思如下:
1、c語言中 1個等號為賦值運算子,意思是:賦值
= 賦值運算子的表現形式為: 變數 = 表示式
例如:x = 5,意思是將常量值5賦值給變數x
2、c語言中 2個等號為關係運算子,意思是:判斷兩邊的值是否相等。
== 關係運算子的表現形式為: 變數1 == 變數2
例如:int x=3,y=5; x==y; 意思是比較變數x和變數y是否相等,結果是0,表示不相等。
3、c語言中 1個等號和2個等號的區別為:
= 表示把乙個值賦值給變數, == 表示比較兩個變數是否相等
示例**為:
int a = 1, b = 3;
int c = a; // 給變數c賦值,結果為:c = 1
int d = a == b; // a和b比較是否相等,不相等的話返回0,結果為:d = 0
擴充套件資料:
c語言中比較兩個字串是否相等,通常情況下有2種實現方法:
(1)通過庫函式strcmp
形式為 int strcmp(char *a, char *b);
該函式會對a和b的每個字元,按照ascii碼值比較,如果二者完全相同返回0;如果a的ascii碼值先出現較大者,會返回1;否則返回-1。
(2)自定義函式
基本原理為按位元組比較,舉例如下:
int my_strcmp(char *s1, char *s2)
c語言中yx又是什麼意思,C語言中yx是什麼意思
c語言中y x 它的功能就是 y x x 就是上面兩個語句的簡寫形式。c語言中y x是什麼意思 x 先自加後賦值,表示式的值為x加1後的值,x自身加1.比如b 5,a b,那麼a 6,b 6 y x y x 1 x x 1 把x的值先加1,再賦值給y x表示在做後面的運算之前x先做一次加法,所以這裡...
yx1c語言中是什麼意思,C語言中yx是什麼意思
y x 1 x x 1 y x 1 y x 1c 1c是16進製製數 c語言中y x是什麼意思 x 先自加後賦值,表示式的值為x加1後的值,x自身加1.比如b 5,a b,那麼a 6,b 6 y x y x 1 x x 1 把x的值先加1,再賦值給y x表示在做後面的運算之前x先做一次加法,所以這裡...
c語言裡的FOR原理,C語言中巢狀迴圈的執行原理是什麼(詳細點)應注意什麼細節?
親,是for語句迴圈一次就操作一次,因為它是for語句的乙個巢狀語句,功能就是計算1 2 3 100的值。如果改成 for i 1 i 100 i i sum sum i 那麼就是你說的第二種情況了,即迴圈到for結束才把i的值帶入進去給sum賦值,此時for迴圈的語句體為一空語句。望能幫到您啊!對...