『壹』 c語言中的"++在前"和"++在後"的區別是什麼
++在前是先加1在運算, 在後面是先運算在加1
例子如下。
int i=0;
printf("%d",++i);i加了1才給傳遞參數,所以輸出是1
i=0;
printf("%d",i++)前傳遞參數,所以還是輸出原來的值是0
printf("%d,i) 因為上面那句加了1所以 輸出是1
『貳』 在C語言里++在前與在後的區別
關於你上面那道題答案的解釋:
首先:我敢確認你的答案八成是抄錯了,因為p的值應為6。
第二點:++不管在前在後都只能讓i自增1。
那麼下面我們來將你那個例子改一下:
int
p,i=2;
P=i+(++i+(i++))+i;//上式P=++i+(i++)
P=6
printf("i=%d",&i);
printf("P=%d",&P);
你說現在的P和i分別是多少呢?答案:i=4;P=12;
首先i=4,說明i之前只增加了2次,即++i和i++
第二點:p=12而你上面P=++i+(i++)(P=6),只不過多加了二個i而P值就增加了一倍。我這時想會不會和加的i順序有關結果我將i放了好幾個不同的位置,可結果都一樣。
最後一次我將它這樣放置:
P=++i+(i++)+i+i=12與P=++i+(i++)=6
比較得出這時的i為3,最後的輸出i為4.這樣規律就出來了
結論:首先++、--的執行單位是以一個;結尾的語句,當算表達式時首先算裡面帶有的(i)++(i)、(i)--(i)的運算式,得出當前的i值(如果運算符在前就先將i的值改變,如果i在後就先不改變i的值,等到以一個;結尾的本條語句執行完後再將i的改變),將最後得出i值全部賦給運算式中的i,最後再按運算符的結合性做運算。
如:
int
p,i=2;
int
p=i+(++i)+i++;
//首先算i值,在這一句:++i---->i=3,i++---->i=3(i不改變)
//再將i值用i=3替換掉:即p=3+3+3;
//再做運算將P算出:p=9;
//這句執行完後再將i+1--->i=4
『叄』 *在前面和*在後面的區別c語言
* 用作 取值運算符時,形式是: *指針變數,它是 單目運算符,順序:右到左。
* 用作 乘號,形式是: 表達式*表達式,它是 雙目運算符,順序:左到右。
*= 用作 乘後賦值,形式是: 變數*=表達式
*q=p* 這個是取p的地址賦值給q嗎? 不是, 這里 後一個 星號是 乘法運算符,後面還有東西,例如:
*q=p*5;
若是 取p的地址:
若是 int *q; int p; 則 q=&p;
若是 int *q; int *p; 則 q=p;
若是 求值:
若是 int *q; int p; 則 *q= p;
若是 int *q; int *p; 則 *q = *p;
『肆』 c語言++放在前面和後面的區別分析
++在前是先加1在運算, 在後面是先運算在加1 例子如下。 int i=0; printf("%d",++i);i加了1才給傳遞參數,所以輸出是1 i=0; printf("%d",i++)前傳遞參數,所以還是輸出原來的值是0 printf("%d,i) 因為上面那句加了1所以 輸出是1
『伍』 C語言 自加在前面和在後面有什麼區別
在前面是該語句運行前就自加,後面是該語句運行完才自加
『陸』 c程序語言中前++與後++的不同
++在前,表示先進行++運算,在進行與它同時出現的運算,而++在後的情況正好相反。例如:
while(++a)表示,a先進行++運算,結果進行while判斷。
while(a++)表示,先進行while判斷,然後再讓a進行++運算。
再如:
int a = 0;
int c = 0;
int b = 1;
cout << ++a + b << endl;先進行a++,結果1和b相加,所以最終結果是2;
cout << c++ + b << endl;先進行c + b,結果為 0 + 1 = 1;在進行c++,此時c 的值才變為1;
對於單獨出現a++,和 ++a的情況,其運算結果相同,區別不大。
『柒』 c語言感嘆號在前在後有區別
C語言中感嘆號在前表示取非,非真為假,非假為真,感嘆號沒有在後面吧,如果在後應該是和等號一起連用,比如a!=b表示a不等於b為真,否則為假,數學上如10!表示10的階乘,但在C語言中不能直接這么用。
『捌』 在C語言中,++放在前面和後面有什麼區別詳細解釋please
分兩種情況
【1】 作為單獨的語句 i++; ++i; 沒區別
【2】 在賦值輸出等語句中,++放在前面, 先自加,然後在做其他的操作語句
++放在後面則是 先執行其他的操作,後自加
『玖』 在C語言的文件中,像r,w,a,r+,w+,a+分別是什麼意思,前面三者與後面三者有什麼區別嗎
r 打開只讀文件,該文件必須存在。
r+ 打開可讀寫復的文件,該文件必須存在。
w 打開只寫文件,若文件存在則文件長度清為0,即制該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立百該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。
a+ 以附加方式打開可讀寫的文度件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(9)c語言在前在後有什麼區別擴展閱讀:
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。
C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
參考資料來源:網路資料—C語言