1樓:匿名使用者
一次都不執行。因為條件為a不等於b,而a,b的值都為100,一執行迴圈語句就不符合條件,所以一次就不執行。
2樓:匿名使用者
執行0次, for迴圈的條件是永遠不成立的。
c語言中有一道題目:已知"int a=4,b=5,c;",則執行表示式"c=a=a>b後變數a的值為( ) a 0 b 1 c 4 d
3樓:網友
這個涉及到c語言的單目運算子優先順序與結合性的知識:
62616964757a686964616fe59b9ee7ad9431333330356165
優先順序:在表示式中,優先順序較高的先於優先順序較低的進行運算。而在乙個運算量兩側的運算子優先順序相同時,則按運算子的結合性所規定的結合方向處理。
結合性:c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。
這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。
在你的問題中,"="在表示式中是賦值運算子,而在c語言中,賦值運算子是典型的右結合性運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。
所以,本例就是先計算雙目運算子「>」a>b,因為a=4,b=5,a是小於b的,所以式子計算就變成了c = a = 0,然後再計算a = 0(即a = (a > b)),最後式子就是c = 0, 所以答案選a
具體運算子優先順序和結核性請參考:
4樓:匿名使用者
a, a=0
是由du右向zhi左運算的,a>b值為daofalse,值為0
所以c=a=0
另外也可以專寫程式屬驗證:
#include
int main(void)
c語言求3個數最大 怎麼寫如題,編寫乙個程式,輸入a、b、c(0
5樓:
非常簡單。
定義乙個變數(名max),用於儲存最大值,通過比較就可以if(a>b) max=a; else max=b; 也可以寫max = a>b? a:b;
此時max即是a和b當中較大的乙個值,再與c比較即可if(c>max) max=c; 也可以寫max= c>max? c:max;
這樣max就是abc三個數中最大的值了,使用printf輸出即可。
c語言的一道題int x, a, b; 語句x=(a=1, b=2, a+3, b+4, a+b)執行後, x、a、b的值依次為 求解為什麼
6樓:匿名使用者
逗號運算子,取最後乙個表示式的值進行賦值,但是要把前面每個表示式都計算一遍,所以a=1,b=2,x=3
7樓:網友
x=3,a=1,b=2
逗號運算子返回最後乙個表示式(a+b)的值,a和b在被賦值1和2後,沒有改變過。
c語言中,設int型變數a=5, b=6-(-a),那麼b的值為什麼是2?
8樓:日出日落三十天
這個問題不應該出現b=11,你要是有這樣的**,貼出來看看,到底出了什麼問題,再作討論。
9樓:水宮御子
不會吧,你什麼編譯器,我執行的是11
假定a和b為int型變數,則執行以下語句後b的值是: a=1;b=10; do{b-=a;a++;}while(b--<0);
10樓:網友
額 一開始我被糊弄抄到了 後來用printf一輸出才發現原來錯得糊弄離譜啊。
b=10 a=1 b-=a 等價於b=b-a 所以b=9 a++ 所以a=2 重頭戲來啦。
while(b--<0) 嘿嘿 注意是《號哦 b--<0 是先用b的值與0比較大小 再b自減1 也就是說9<0 當然是假啦 所以就退出迴圈 又b要自減1 所以最後b=8呵呵。
11樓:鐵書包
這是正常的,因為迴圈只執行了一遍!
do...while()的用法是執行一遍之後判斷是否符合條件!
對應本題就是執行一遍之後,檢查b--是否小於0,若果小於0則繼續執行,不小於0則退出!
12樓:逆筆回鋒
在do執行完後,b變成9
在while語句中,先判斷b<0==false再進行b--;
所以b==8;
又例a[3]=;
a=1;那麼a[++a]==2;a[a++]==1;但無回論是哪乙個答a都變成了2
13樓:網友
不是8能是什麼?
一開始, a=1, b=10
b-=a; 這時b=9了。
a++;這時a=2了,b還是9
while(b--<0) ;這時b為8了,所以條件不成立,跳出迴圈。
所以,最後b=8.
14樓:美麗的華
首先b-=a,這時b=10,a=1,執行後b=9,a=2
然後while(b--<0),b--了一次,b=8
15樓:網友
其實,來你應該是記錯了,do-while語句自裡面while(表示式)必須在判斷表示式為真,才可以繼續進行下一輪的迴圈,這裡說的是b--<0,是假的,所以停止迴圈,退出語句。b--使用過後,自減,得出來b值為8.
請教個c語言問題 int a=2000,b=100,c=20,x,y; a=b*x+c*y; 求x
16樓:塵雨洛煙
利用雙重迴圈就可以了,因為x,y是整型,所以最差的情況都是從0到2000進行迴圈,for(x=0;x<=2000;x++)
for(y=0;y<=2000;y++)
if(100*x+20*y==2000)
printf("x=%d,y=%d",x,y);
這是最壞的情況,當然可以對迴圈次數進行剪枝,從而提高效率,其實x和y迴圈到100就行了。
17樓:
化簡後是5x+y=100,如果不限制x、y的範圍(比如都是正數或什麼),那有無陣列解,無法求得確定組合數。
一道c語言的題目 定義int a=5,b;則執行表示式b=++a*--a之後,變數b的值為
18樓:匿名使用者
1級優先順序(左結合) (圓括號;下標運算子;->指向結構體成員運算子;. 結構體成員運算子。
2級優先順序(右結合) !邏輯非運算子;~按位取反運算子;++字首增量運算子;--字首減量運算子;+正號運算子;-負號運算子;(型別)型別轉換運算子;*指標運算子;&位址運算子;sizeof長度運算子。
3級優先順序(左結合) *乘法運算子;/除法運算子;%取餘運算子。
4級優先順序(左結合) +加法運算子;-減法運算子。
5級優先順序(左結合) 《左移運算子;>>右移運算子。
6級優先順序(左結合) <=、>、=關係運算子。
7級優先順序(左結合) ==等於運算子;!=不等於運算子。
8級優先順序(左結合) &按位與運算子。
9級優先順序(左結合) ^按位異或運算子。
10級優先順序(左結合) |按位或運算子。
11級優先順序(左結合) &邏輯與運算子。
12級優先順序(左結合) |邏輯或運算子。
13級優先順序(右結合) ?條件運算子。
14級優先順序(右結合) =、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <=、 >=賦值運算子。
15級優先順序(左結合) ,逗號運算子。
c語言中。設int a=5,b=6, 寫出表示式 a=a+b, a-b 的值_ ?
19樓:聽不清啊
設int a=5,b=6, 表示式 a=a+b, a-b 的值為 5 。
因為逗號運算子的優先順序最低。原式,等價於:
a=a+b), a-b
逗號運算的結合性是從左至右,完畢之後整個表示式的值是最後乙個表示式的值。即11-6=5
20樓:匿名使用者
如果是這樣的。
#include
main()
那麼結果是逗號表示式後面的值,應該是5;因為a=a+b,後a的值就成了11,也就是逗號表示式也要運算a=a+b
21樓:網友
由於逗號運算子的優先順序最低,在「表示式1,表示式2,..表示式n,」中,逗號表示式的結果為最後乙個表示式的值,即表示式n的值。
如果語句為a=a+b,a-b;則先運算a=a+b,再運算a-b,而整個逗號表示式的值為5,即a-b的值,最後結果為a=11,b=6。
如果語句為a=(a+b,a-b);則先運算a+b,結果無意義,再運算a-b,結果賦值作為逗號表示式的結果賦值給a,最後結果為a=-1,b=6。
22樓:烏盈盈
因為 "a=a+b, a-b" 是乙個逗號表示式 ,根據逗號表示式的特點,最後表示式的值就是最後乙個表示式的值,亦即是 a - b 的值 -1 ;
that means a = ( a+b ,a - b ) is -1 ( a = -1 );
23樓:我想知道
-1,逗號表示式以它的最右邊為整條式子的值。
24樓:網友
這是乙個逗號表示式,最後結果是a=-1
25樓:七級狗
有病嗎??根本看不懂你說啥。。。
c語言一道題,求解釋,一道C語言題,求解釋
輸入比如 13 4 15 6 12 這樣的加減法表示式並根據表示式計算結果 把輸入的字元轉化成int型 如果oldc為 則執行加法運算,否則執行減法運算 輸出sum 迴圈一直到輸入為 時結束 這個其實就是類似於簡單的 計算機 呵呵 一道c語言題,求解釋 題目輸出的是 指標所指的字串的長度。一共是10...
求解一道C語言基礎程式設計題,一道C語言程式設計題求解
舉個例子你就懂了,以16進位制的2abc為例,16進位制轉為10進位制的方法,就是從右到左,依次用該位的數字乘以16的0次方 16的1次方 16的2次方 同樣如果是其它進位制,比如8進位制,那就是8的0次方 1次方等等 之和,比如說2abc轉10進位制,就等於 2abc 16 c 1 b 16 a ...
關於c語言的一道題,關於C語言的一道題
第一個是把整型資料格式輸出為浮點型資料,這個主要還是看float的小數點有效位數,我也不太記得了,6 7位,是哪一個我也不記得了。第二個是把浮點型資料格式輸出為整形,就會把小數點部分省略,記住這裡不是數學上的四捨五入,不管多大的小數部分都會扔掉。輸出是什麼你應該知道的,執行 就ok 第一句自不必多說...