1樓:雨落巴黎塔
選ddo while語句:
先執行do裡面的迴圈體,再去判斷while條件是否成立,如果成立,一直執行下去,直到不成立終止迴圈
2樓:匿名使用者
選d.c語言書上寫有,do 語句 while(表示式)其中語句是迴圈體,先執行後判斷,先執行一次指定的迴圈體語句,然後判別表示式,當表示式的值為非零(真)時,返回重新執行迴圈體語句,如此反覆,直到表示式等於0(假)為止,此時迴圈結束
3樓:匿名使用者
選by--先使用y的值,再做運算y--;
--y先執行--y,再取y值;
do{}while(x)迴圈當while(0)時停止。
4樓:匿名使用者
程式的執行過程是
第一次 do語句後y=9 while迴圈條件判斷後 y=8第二次 do語句後y=7 while迴圈條件判斷後 y=6第三次 do語句後y=5 while迴圈條件判斷後 y=4第四次 do語句後y=3 while迴圈條件判斷後 y=2第五次 do語句後y=1 while迴圈條件判斷後 y=0 退出迴圈
列印輸出前先計算--y 所以y=-1
程式最後輸出結果是-1
有下列程式: main() {int y=10; do{y--;}while(--y); printf("%d\n",--y); } 當執行程式時輸出的結果是
5樓:匿名使用者
程式的執行過程是
第一次 do語句後y=9 while迴圈條件判斷後 y=8第二次 do語句後y=7 while迴圈條件判斷後 y=6第三次 do語句後y=5 while迴圈條件判斷後 y=4第四次 do語句後y=3 while迴圈條件判斷後 y=2第五次 do語句後y=1 while迴圈條件判斷後 y=0 退出迴圈
列印輸出前先計算--y 所以y=-1
程式最後輸出結果是-1
執行以下程式後輸出的結果是( )。 main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
6樓:匿名使用者
y最終值為-1
y--是先抄作運
bai算然後減變
du量值
--y是先減變數值然後再作運算zhi
printf("%d\n",y--);運算到這裡時,y是的dao值為0,由於是先算後減,所以在輸出y值後,再作減1運算,就成了-1
如果 y的初始值是不是偶的話,那就是死迴圈了.
main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); } 求輸出結果,詳細解及思路
7樓:2023年3月
答案是0 但是是因為while 括號從9減到0後 (因為while後面有;)再輸出y=0,然後又把y-1
8樓:
輸出:0
do while迴圈的終止條件就是while後面的語句的值為false,具體到本題就是--y為0,因為--y是先--在計算表示式的值,所以此時y=0,因此printf的時候就是輸出0,需要提醒的是y--是先算表示式的值在--的
9樓:瓊頭浪子
main()
//這一句做完,y=9
while(--y);//這一句做完,y=8printf("%d\n",y--);}所以過程如下;
y--之後:y=9;
--y:y=8
y--:y=7
--y:y=6
y--:y=5
--y:y=4
y--:y=3
--y:y=2
y--:y=1
--y:y=0
迴圈停止
然後輸出:0
之後,y的值變為-1
10樓:匿名使用者
main()
while(--y);//因為之前y的值被減1 現在是9而當它執行到下一行列印命令的時候它的值變成了8
printf("%d\n",y--);//此時輸出的值為8,而y的實際值變成7
}注 :y-- 是先進資料運算後將原值減1 而--y是先將原值減1後再進行資料的運算
輸出結果應為86
42當y為0的時候while語句的判斷應該為假,這時候迴圈終止6年沒用c語言了,有點手生.....
1:下面程式的執行結果是: 。 #include
11樓:帶淚的紫藤花
0~~~~~~~~~~~第一次次do裡面是10,while是8,之後是8和6,一直到do裡面y--的值是2,while裡面--y的值為0,終止迴圈,輸出y--值為0~~
以下程式的輸出結果是 #define min(x, y) (x) < (y) ? (x) : (y) main() { int i , j, k; i = 10; j = 15;
12樓:匿名使用者
結果為15。
程式的第一行進行帶參巨集定義,用巨集名min表示條件表示式(x) < (y) ? (x) : (y) ,形參x,y均出版現在條件表示式中。
權程式中 min(i,j) 為巨集呼叫,實參i,j,將代換形參x,y。
巨集後該語句為: 10*(i) < (j) ? (i) : (j),運算結束的結果為15。
巨集只是做了簡單的替換操作。而函式的引數只在函式呼叫時求值一次,並將結果傳遞給函式即可。
define,無參巨集定義的一般形式為:#define 識別符號 字串define 函式定義一個常量。
常量類似變數,不同之處在於:
在設定以後,常量的值無法更改。
13樓:匿名_熱心網友
綜合下面兩個你再稍微改一下吧,現在沒時間專門弄個完全專扣題的了,見諒#include
#include
#include
struct stu
{屬int num;
int wuli;
int huaxue;
int math;
14樓:匿名使用者
把巨集定義帶入 k = 10 * min(i, j)得k=10*icopy由於算數運算子(*)的優先順序高於比較運算子(<)和三目運算子(?:),所以應該先計算10*i得100,然後進行三目運算,因為100<15為假,所以結果等於j,即k=15
15樓:匿名使用者
巨集定義是按字串完全。完全的字串替換內。
所以k = 10 * min(i, j);
是容:k=10*(i) < (j) ? (i) : (j);
i是10,10*i 是100,
100<15,是假,所以k=j 所以是15.
16樓:匿名使用者
巨集定義最重要的就是要把握原樣代入的原則,不要主觀的加括號#define min(x, y) (x) < (y) ? (x) : (y)
所以:回
10 * min(i, j)
=10*i在10*i被結合了,答
將i = 10; j = 15代入,變成:
=10*10<15?10:15
=100<15?10:15
由於100<15為假,所以k=15
17樓:馮冶
首先你要明白#define min(復x,y) (x)<(y)?(x):(y).的意思,這是制一個帶引數的
bai巨集定義,起作用就du
是一個簡單的替換。其次你要zhi明白dao ? :是一個三目運算子。問號前面的表示式為真的話表示式的值就是?後面的值,要是假的話就是:後面的值。所以有:
k=10*min(j,k)=10*min(10,15)=10*10<15?10:15=15
18樓:匿名使用者
我被繞進去了
抄半個多小時,終於清醒了,bai答案是
du15.
關鍵在 (x) < (y) ? (x) : (y)對min(x,y)進行巨集定義的時zhi候,保險起見,應該寫成((x)dao
<(y)?(x):(y))。
為什麼外面再加個大括號呢,我一開始算的時候就是按照10小於15成立,所以min(i,j)等於i等於10,所以k=100。但是這是外面加了個大括號才這麼算的。沒加的話,就是這道題,結果就是k=10*x x:y;即k=10*i j,先計算乘法,k=100<15?10:15,也就是說100<15不成立,所以k=j=15。 所以巨集定義的時候最外面有沒有大括號很關鍵。 19樓:匿名使用者 c.15 k = 10 * (i) < (j) ? (i) : (j) = (10 * (i) ) < (j) ? (i) : (j) = (100) < (15) ? (10) : (15) = 15 你主要不明白無符號整型和有符號整型的區別 歸根結底printf 輸出的都是記憶體中儲存的值,只是有符號的第一位儲存符號位,而無符號整型則把它當做了資料的一部分輸出了,4在記憶體中的儲存為1 111 111 111 111 100 反碼為1 000 000 000 000 100 知道補碼的知識吧,1... 從主函式開始,首先,樓主你宣告瞭一個整型變數c,由於沒有賦值,系統給它賦一個隨機值。接下來進入fun函式,這時,系統在另一個地方開闢了一塊記憶體儲存a,b,c形參,注意,這裡系統是另一個地方開闢了一個c,而不是原來的那個c,這也是你的問題核心所在 然後把2的值賦予a,把3的值賦予b,把c的值賦予c ... 韋榮軒喜昱 當a 14時執行do while迴圈 由於開始時對a賦值10,所以輸出a 10,y 0 堵丹彤牟萱 輸出為 a 16 y 60,分析如下 main while a 14 這裡的迴圈條件不是判斷是否滿足a等於14,而是一個賦值語句,每次執行到這裡都會將14賦值給a,因此這裡的迴圈條件始終都...以下程式的輸出結果為,以下程式的輸出結果是 main int a 4,b 5,c 0,d d a b c printf d n ,d
以下程式輸出的結果是?fun(int a,int b,int cc a b
下面程式輸出結果是,下面程式輸出結果是什麼?