1樓:武1988武
b=b+a,這是迴圈的初始條件
a=a+2,這是迴圈的判斷是否結束的條件
b=bmod10 ,這是迴圈裡的內容
2樓:匿名使用者
b=b+a
a=a+2
b=bmod10
在c語言中b=a<<2;是什麼意思?
3樓:大野瘦子
在c語言中,b=a<<2代表將a移位後的值賦值給b。
例如:100的二進位制表示為1100100,100左移2位後,後面加2個零1100100<<2 =110010000 =400,
可以看出,a<因為在二進位制數後面新增一個0就相當該數乘以2,2個零即2的2次方等於4。
4樓:
(a%b)是數學模運算,意思是取(a/b)的餘數。a除以b的結果有兩部分,一個是商,一個是餘數,就跟我們做除法一樣。計算機一般作整數除法a/b只能得到商,餘數就用a%b得到,它是0到b-1中的一個值。
如果a/b能整除,a%b就是0。
!(a%b)是邏輯運算,只有a%b是0時為真(就當是1吧),a%b不為0時為假(就當是0吧)。
int a=30,b=8,a/b商為3,餘6,所以a%b=6,!(a%b)為假,列印結果是0。
5樓:聽不清啊
這就是要判斷:
b是不是「小於或等於a」。
它只有兩種可能,「是」或「不是」(通常用0或1表示)。
6樓:
a<<2 表示a 左移兩位,數值上相當於a的十進位制數乘以4 ,在把他的值賦給b
a<>n 數值上相當於a的十進位制數除以2的n次方
7樓:飄零的狐狸
就是一個判斷
判斷b是不是小於等於a
如果是 值:非0
如果不是 值:0
8樓:匿名使用者
說明b是一個指標變數,其定義應該是這樣:int *b,a;
*是取值運算子,*b就是取b指向儲存空間的值;
&是取地址運算子,&a表示取變數a的地址。
*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。
9樓:無聊所以無畏
++i在用於表示式中是先自加再參與運算,而i++先參與元算再自加比如說a*++i>b
就等價於i=i+1;a*i>b;
而a*i++>b
就等價於i=i+1;a*i>b;
10樓:匿名使用者
c變數對2取餘,然後取反。
如:c=3,則c%2=1,取反則等於0。
如:c=4,則c%2=0,取反則等於1。
明白了嗎?
11樓:秋楓
*b=&a這種寫法只有在定義時這麼寫才對
,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義一個指標b,b裡存的是a這個變數的地址。如果定義好了一個這真b,那麼*b就指b這個變數裡存的地址裡的值(有點繞口,慢慢理解),&為取地址符,&a就是a這個變數的地址。
12樓:育知同創教育
||在c語言中是指『或』的意思 其判斷是有一個為真 結果就為真
13樓:匿名使用者
%=是取模 賦值 運算子,a%=4的意思就是a=a%4 ,%是取模運算子,
這2者差別在於%只進行計算並且運算順序為從左到右。而%=則進行計算和賦值但是%=卻沒有運算順序,因為它是先將a%=4拆成a=a%4後再進行計算,所以你覺得它該如何設定一個計算順序呢?
所以對於4%4%3 我們知道是先進行4%4,得出結果後再把4%4的結果進行%3的操作
但是我們卻無法確保a%=b%=4是如何操作的,所以不應當這樣寫**,也許他在一個作業系統上是先進行b%=4 然後再進行a%=b, 而在另一個系統上也許就先a%=b然後再用a%=4,或者就是a%=b然後進行b%=4,所以這串**應當是不可取的
14樓:懶洋洋紫研
%=是雙目運算子,它的結合方向是自右至左.b%=4表示b=b%4(%左右兩邊均為整型資料),這個題先求b=b%4,然後再求a=a%
15樓:匿名使用者
>的優先順序大於!= ,所以他們的計算過程為:(a>b)然後!=c,a>b結果一般為bool值,為0或1,之後你就明白了吧。
16樓:陳鰲來了
a%=b%=4
等價於:b=b%4;
a=a%b;
17樓:匿名使用者
左移2位
把b轉換為二進位制,然後向左移兩位
比如5:00000101,左移兩位為00010100
18樓:匿名使用者
a<<2表示其二進位制左移2位,也就是4a把4a賦給b
19樓:匿名使用者
相當於
c語言中「b++>=a*2 || b-a<=a」 中「b-a」的b的值是9還是10?
20樓:仙劍逐夢
++在前面就是先+再使用,在後面就是先使用再+(這是對同一個語句來說的) ||後面已經是另一句語句了,b的值是肯定加過一了
21樓:匿名使用者
b的初始值呢?沒有經過初始化嘛?
c語言中計算逗號表示式c=(a=7,b=a+2,b+1),並且輸出a,b,c的值是什麼意思啊?求解
22樓:匿名使用者
c的值是整個逗號表示式的值,
逗號表示式從左向右計算,最右邊的值是逗號表示式的值a=7b=a+2=9
b+1=10
所以a=7,b=9,c=10
23樓:問鼎
還差一個採納,求採納謝謝。
括號內的式子從左往右運算,的到a=7,b=9;括號的值是最後一個式子的值。所以c=b+1=10;
24樓:匿名使用者
是一個基本的程續框圖
c語言中「t=a*=a>b?a:b」是什麼意思?
25樓:匿名使用者
這個叫三目運算式.標準格式是如下
num=a>b?x:y; 簡單解決.a>b是一個表示式,如果這個表示式成立.也就是返回是真的.那麼就將冒號前面的x交給num,否則就把y交給num.
意思就是說.問號前面的關係表示式如果為真就取冒號前面的變數,如果為假就取後面的,當然這裡的表示式也可以為其它型別.比如
num='\0'?x:y;這樣也是可以的.'\0'返回是0也就是假,所以最後num=y;
你這個表示式,我想不用我再告訴你是什麼意思了吧?
我又回來補充了.a*=如果你是問這個是什麼意思,這個是乘等的意思,比如a*=i;意思就是a=a*i;
你的這個表示式答案我給你寫最下面,你行自己用我說的理解一下,看對不.
t=a*=a>b?a:b的意思就是,先比較a和b如果a大於b那麼就取a的值,否則取b的值,然後將取出來的值與a相乘,最後再賦給a然後再賦給t
26樓:楊曼華桑夏
a,c=b:b是一個「條件表示式」;而當a大於或者等於b時其中;b;再翻譯過來就是說這個語句執行完得到的效果就是c的值是取得a:當a小於b時:a<,條件表示式的優先順序排名13
高於賦值表示式的優先順序14;而「c=
「是賦值表示式,c=a,那麼因為在c語言中,b倆者當中較小的那個,因此這個語句的意思就是
c語言中語句a+=b++是什麼意思
27樓:匿名使用者
先解釋一下 += 和 ++ 是
什麼意思+= 的意思是 左值和右值相加結果賦值給左值如 a=1;b=2;a+=b;後,a=3;b=2。++ 的意思是變數自加1,如a=1;a++;a的值是2,在c中,++有前置和後置如 ++a;a++;,單獨使用的時候是沒有區別的,都是自加1,在有運算時就有區別了,前置的++是自加後才參與運算,後置的++是參與運算後在自加1。如題的畫,假定a=1,b=2,a+=b++的意思就是b=2先參與a+=b運算a=3,然後b自加1,b=3;如果b++換成前置++b,a+=++b就是b先自加1,b=4,然後參與a+=b運算,a=4。
28樓:白蘿蔔
a+=b++要先進行a+=b的運算,然後再進行b的自運算舉例a=1,b=2,則a+=b++,有a=a+b=1+2=3,b=b+1=3.
29樓:匿名使用者
a+=b++的意思是a=a+b,然後b=b+1,就是這樣,你應該是初學c吧!!
30樓:匿名使用者
a+=b++等價於a=a+(b++) 運算時,先計算括號裡面的b++即可。 有疑問提出。 望採納
31樓:哀韶蕭貝晨
要說在c語言中這充其量只能算作是「偽**」。
在vb、pascal等程式設計語言中,<>是「不等於」的意思。
在c中,「不等於」的關係應表示為「!=」
if(a
!=b+c)
printf("a不等於b+c\n");
else
printf("a等於b+c\n");
c語言中:a+++b是什麼意思?
32樓:湛藍水晶
就近原則,與編譯器無關,很容易記的。
相當於(a++)+b;
但是太多+號就不行了,
比如a+++++b,雖然一看就知道意思是(a++)+(++b);但是編譯就通不過,出錯資訊大概是:迷失在加號空間?
33樓:幸巴達
呵呵,不用管,結果是一樣的
都等於a+b
#include "stdafx.h"
#include "stdio.h"
int main(int argc, char* argv)結果 a=2,b=2,c=3
34樓:匿名使用者
是(a++)+b如果是a+(++b)的話答案應該是4,前者答案才是3
35樓:天曼安周聖
這是(a%b)?b:a
其中a%b
是a除以b取餘數,
若不等於0
(也就是b不整除a)就當成立,
整個式子是取b的值.
若等於0
(也就是b整除a)就當不成立,
整個式子是取a的值.
c語言中(a>b)?a:b和(a
36樓:學雅思
一、表達意思不同
1、(a>b)?a:b:如果a大於b,則取a,否則取b。
2、(a
二、邏輯順序不同
1、(a>b)?a:b:記憶體邏輯中先執行大於的判斷,之後執行下一步。
三、執行順序不同
1、(a>b)?a:b:在a跟b中取最大值。
37樓:幻翼高達
c語言中,「(a>b)?a:b」和「(a」的區別是當a與b相等時,前者的值是b,後者的值的是a。
條件運算子的表示式為「表示式1?表示式2:表示式3」,先求解表示式1,若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
例如:1、max=(a>b)?a:b
就是將a和b二者中較大的一個賦給max。
2、min=(a就是將a和b二者中較小的一個賦給min。
38樓:魚與鹹魚
1、本質區別
雙引號裡面的是字串, 而單引號裡面的代表字元。
2、輸出區別
str = 「a」輸出的就是a這個字母;
str = 『a』輸出的測試65
3、底層區別
用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。
39樓:go學龍
第一個若a>b為真即執行a,為假及執行b
第二個若a
40樓:匿名使用者
這個和()沒什麼關係,我詳細的講一下,你一定要看完啊:)注意理解a++和++a的區別:
a++: 先將a的值代入表示式,在表示式運算完畢後,再將a進行++處理
++a: 先將a進行++處理,再將a的值代入表示式注意對於a++這裡有一個「在表示式運算完畢後,再將a進行++處理」,b=(a++); 這是一個賦值表示式,
所以先將a的值代入表示式,必須等到賦值表示式運算完畢後,再將a進行++處理,
也就是說必須等到給b賦值完畢後,才將a進行++處理所以b=3,a=4
41樓:匿名使用者
1.a=b>c相當於a=(b>c)是一個賦值表示式,把(b>c)的值賦給a,
(1)如果b>c為真,則把1賦值給a,
(2)如果b>c為假,則把0賦值給a。
(3)執行完該表示式,僅a的值改變,b、c的值不變。
2.a==b>c也相當於a==(b>c)是一個符合表示式,先判斷(b>c)的真假,
(1)若為真,a為1則該表示式為真,即該符合表示式的值為1。
(2)若為真,a不為1則該表示式為假,即該符合表示式的值為0。
(3)若為假,a為0則該表示式為真,即該符合表示式的值為1。
(4)若為假,a不為0則該表示式為假,即該符合表示式的值為0。
(5)執行完該表示式,a、b、c的值都不發生改變。
C語言中int a,b a 0 b a a和b指向了同一片記憶體麼?為什麼
同一片記憶體需要 a b,這是定義兩個變數,地址可能相鄰 include int main void 這個a1,b1是分別指向版a,b的記憶體地址,這兩個結果權不一樣 值同地址不同,b a是把變數a的內容賦給變數b而已,可以看下指標章節,你就瞭解了 沒有,在申明a,b的時候就各自分配好了一格記憶體,...
c語言中設a1b2c3d4執行,C語言中設a 1,b 2,c 3,d 4 執行printf d d d d n ,a b c,c a b,c a b ,b c 的結果是什麼
c語言提供一種特殊的運算子 逗號運算子。用它將兩個表示式連線起來專。如 3 5,6 8稱為逗號表示式,又屬稱為 順序求值運算子 逗號表示式的一般形式為表示式1,表示式2逗號表示式的求解過程是 先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。例如,上面的逗號表示式 3 5,6 8 的...
在c語言中是什麼意思, 在C語言中是什麼意思??
在英文或者在c語言中表示什麼意思?表示條件的 或 比如if a 1 a 2 就是如果 a等於1或2的時候 進行一下條件的語句。望採納保證正確哦 1 c語言中 是兩個運算 符擺放在一起,是賦值運算子,邏輯非運算子 2 邏輯操作符一般將其運算元視為條件表示式,返回結果為bool型別 3 首先對其運算元求...