1樓:匿名使用者
1全部1:已知a=13,b=6,a%b的十進位制數值為()
a%b,整數%整數,表示求餘數,因此13%6=1
2:設x的值為15,n的值為了2,則表示式x%=(n+3)運算後的x的值是()
x%=(n+3)相當於x=x%(n+3),x%=n+3也表示x=x%(n+3),類似的有+=,-=,*=,/=
因此x=x%(n+3),x=15%5,x=0.
3:int x=y=4,z=2;x=y==z;則x的值為()
x=y=4,等號是右結合的,也就是這種情況下要從右向左計算,因此相當於y=4;x=y;
而x=y==z,==的優先順序比=高,因此相當於x=(y==z),y=4,z=2所以y==z不成立,所以y==z這個表示式的值是false,也就是0,所以x=0
4:若有定義:int a=10,b=9,c=8;接著順序執行後下列語句是,變數b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
由上面的幾題為基礎,
c=(a-=(b-5))相當於c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表示式b-5並沒有改變b的值)
c=(a%11)+(b=3)相當於,c=6%11+3=6+3=9,所以a=6,c=9,b=3
5:int x=2,y=2,z=0;則表示式的x==y>z的值為()
x==y>z這個一個復合邏輯表示式,>優先順序高於==,所以相當於x==(y>z),y>z成立,所以y>z==1,x==1不成立,所以表示式的值為0
6:若有以下定義和語句int a[4]=,*p;
p=&a[2];則*--p的值是()
p=&a[2];表示p是a[2]的地址
*--p相當於*(--p),就是先將p減1,也就是a[1]的地址,然後用*操作符取出地址中的值,也就是1
2樓:匿名使用者
1.1 %表示求餘數
2.0 x%=(n+3)表示把x對n+3的餘數賦值給x3.0 x=(y==z)表示把y==z的值給x,x==y是邏輯運算,假為0
4.3 只要看b的值就行了,最後一條b=3就把3付給了b5.1 x==y表示x等於y的邏輯值,真為1假為0,顯然x,y都為2,2>z是真,所以結果是0
6.1 p=&a[2]使p指向a[2]即2,前--優先順序高於*,--p使p指向a[1]即1
3樓:匿名使用者
1:已知a=13,b=6,a%b的十進位制數值為(1) // 13/6=2餘1 (&就是取餘數的意思)
2:設x的值為15,n的值為了2,則表示式x%=(n+3)運算後的x的值是(0);
//即x=15%(2+3)
3:int x=y=4,z=2;x=y==z;則x的值為(0)
// y=4,z=2; y==z返回值為假,即0; (== 的意思是比較,返回值是一個bool值)
4:若有定義:int a=10,b=9,c=8;接著順序執行後下列語句是,變數b中的值是(3)
c=(a-=(b-5));
c=(a%11)+(b=3);
// 只看最後(b=3)就夠了,只有這句改變了b的值
5:int x=2,y=2,z=0;則表示式的x==y>z的值為(0)
// >號的優先順序更高,即先算 y>z值為真-即值為1
//再算 x==1;的得值為假,即最後答案為0
6:若有以下定義和語句int a[4]=,*p;
p=&a[2];則*--p的值是(1);
//p被賦值為a[2]的地址,則 --p的值是 a[1]的地址,
//它指向的內容就是a[1]即*--p的值是1;
//&是取地址的意思,*是通過地址獲取物件的意思
如果再要詳細的解釋就去看書吧,這邊說沒意思,這邊來就是基礎知識
4樓:小老鼠
1:已知a=13,b=6,a%b的十進位制數值為()
%是取餘運算子 ,注意兩邊的運算元必須是整數,13%6 商就是2 餘數就是1 ,所以結果為1
2:設x的值為15,n的值為了2,則表示式x%=(n+3)運算後的x的值是()
%=是複合運算子,就為x=x%(n+3) ; 15%5 商是3 餘數為0
3:int x=y=4,z=2;x=y==z;則x的值為()
x=y是賦值表示式,優先順序最低,y==z是判斷y是否等於z,如果不等,則表示式值為假(0);否則為真(1); y!=z 所以x的值為0
4:若有定義:int a=10,b=9,c=8;接著順序執行後下列語句是,變數b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
c=(a=a-(b-5)) 所以a=6;c=6;
c=(a%11)+(b=3) c=6+3=9;b還是等於9,所有表示式中並沒有改變b的值;
5:int x=2,y=2,z=0;則表示式的x==y>z的值為()
關係運算子優先順序要比等於運算子高,所以先判斷y>z; 值為真,所以等於1;
再判斷 x==z ??值為假,整個表示式值為0;
6:若有以下定義和語句int a[4]=,*p;
p=&a[2];則*--p的值是()
p=&a[2] 所以*p=2;
*--p;指標運算子和自減運算子優先順序相同,看結合性,是從右到左;所以相當於*(--p) 先減 後取值 結果等於1
5樓:匿名使用者
1 %是求餘數 ( 1)13除以6餘數為12 (0)這裡先算()裡面的n+3=5然後15除以5餘數為0賦值給x
3 (0)這裡y不等於z所以這裡為假還有記住==後結果只能為0或1(==就是我們數學中的等於)(=是我們說的給它一個數但可以變的)
4 (3)一開始b=9但是後來c=(a%11)+(b=3);
這裡有一個b=3所以最後b=3了記得b它是一個變數5(0)第五題和第三題差不多
6 (1)這題的*p是一個指標變數
然後將a[2]的地址賦給p
然後又有一個(--p)這裡就是p先自減1(也就是退1)所以p現在是a[1]的地址了
*p就是輸出它的值
如果是*p--那麼結果就是2了
因為p--是先計算後自減
--p則是先自減後計算
6樓:
你的題大部分是關於運算子的,建議多看看c 語言書的相關章節
1. 答案是1. %表示求餘數,13%6 , 就相當於13/6 = 2 餘 1,13%6 = 1.
2. 答案是0. 根據優先順序,先算n+3 = 2+3 =5; 然後 x % = 5,相當於x = x%5;x%5 = 15%5 =0;所以 x =0;
3.答案是0. 求x的值,實際上是算x=y==z, 根據優先順序相當於x=( y==z );先算y==z, 運算子 == 是一個邏輯運算的符號,如果兩邊相等,它的值是1,如果不等就是0;所以(y == z) 就是0; 然後 x = 0, 注意這個式子中的 = 也是一個符合不是等號,叫賦值號, 把 0 賦給 x, 最終 x 值為 0.
4.答案是3. 可以不用管第一句,關鍵是b =3,因為是賦值,所以這句話完後b 就等於3了,其他的東西對b 的值沒影響。
5.答案是0. 這道題只有兩種答案1 或者0;前面我們提到==是邏輯運算子,>也是邏輯運算子,根據優先順序相當於 x==( y>z ),明顯y>z,所以(y>z)的值是1;
所以答案就相當於 x==1, 但x不等於1,所以(x==1)這個式子的值就是0.
6.答案是1. 這個估計你還沒學, int a[4]=,定義了一個陣列, *p定義了一個指標變數p; p=&a[2],表示p指向陣列裡下標為2的元素,也就是 之中的2; *--p 按優先順序是*(--p),所以先--p,變成了&a[1], *表示取該指標所指向的值,所以 *(&a[1]) = 1 .
這個沒懂沒關係,算是對初學者比較難的了。
c語言的程式設計題目,請高手幫忙!謝謝
第一題 從鍵盤輸入任意兩個正整數x和y,程式設計求出兩數的最大公因子和最小公倍數 include int main void a 0 b 0 for i 2 i x y i if a 0 printf d 和 d 沒有公因子。最小公倍數是 d。n x,y,b else printf d 和 d 的最...
程式語言c語言,c語言是所有語言的基礎嗎
一是要看呼叫函式對引數的要求,比如scanf如果輸入整數要求給一個指向整數變數的指標,而int a 是整數變數,它不是指標,而是int型的,所以要取出這個變數的地址寫到引數位置 a 如果是int a 10 10 那麼a也不是指向整數變數的指標,假設輸入a i j 這個變數,它的型別是int型的,也需...
初學者求教一道c語言題目,一道C語言程式設計題,初學者求教
include include int main void height height pow 0.5,n 小數點後多保留幾位,不然容易出現0.0,同時double型別應該是 lf printf distance 6lf n distance printf distance 1f n distanc...