執行以下程式後,輸出的結果是mainint y 10 do ywhileyprintfd n ,y

2021-06-17 08:09:00 字數 4577 閱讀 5034

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 main( ) { int y=10; do { y--; } while(--y) ;

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

以下程式的輸出結果是mainint a 4,b 5,c 0,d d abc printfd n ,d

輸出內容為1 d a b c 由於c 0 所以 c為真,或者說是整形值為1 而邏輯或運算只要有一個1那麼運算結果為1 所以d為1 輸出內容為1 include include main 1 press any key to continue 結果應當為非零數1 a 4 所以!a為0 同樣 b 0 a...

下列程式段執行後的輸出結果是什麼,為什麼

1 3dowhile 型,必定執行一次,所以第一次迴圈,一定會進入這時 printf 2d a 3 等價於 a a 3 因為a初值為4,所以a 1 printf 2d a 輸出1while a 等價 while a 1 等價 while 0 因為 0的值為 true 所以再迴圈1次 a a 3 等價...

1有如下程式,該程式的輸出結果是main

int main i,j,s 0 for i 1 i 3 i for j 0 j i j s a i j printf d n s a 2 2 沒賦值為0 include void main i,j,s 0 for i 1 i 3 i for j 0 j printf d n s 執行結果14 以下...