1樓:匿名使用者
我知道有一個人寫了一些文章然後有人整理了下來。
他寫的東西都是**, 而且是非常詳細的註釋那種的。
這個人叫管寧
你可以到網上搜搜。
我這裡有給你貼出來一點,你可以看看是否合你的意:
在c/c++中利用陣列名作為函式引數傳遞排序和用指標進行排序的例子。
以下兩個例子要非常注意,函式傳遞的不是陣列中陣列元素的真實值而是陣列在記憶體中的實際地址。
#include
void main(void)
printf("\n");
reversal(a,10); /* 呼叫自定義涵數進行反向顯示排序,並把陣列a的起始地址傳送給形式引數x */
for (i=0;i<10;i++)
printf("\n");
} void reversal(x,n)
int x,n; /* 定義形式引數 */
}/* 次題需要注意的是:這裡由於a[10]和x[10]是共同享記憶體地址位的所以進行交換後a[10]的實際值也就發生了改變 */
#include
void main(void)
printf("\n");
reversal(a,10); /* 呼叫自定義涵數進行反向顯示排序,並把陣列a的起始地址傳送給形式引數x */
for (i=0;i<10;i++)
printf("\n");
} void reversal(x,n)
int *x,n; /* 定義x為指標變數 */
}/* 此例同樣要注意到利用指標進行陣列的操作同樣改變了實際陣列各元素的值 */
******************************
c/c++中指標學習的兩個絕好例子
對於眾多人提出的c/c++中指標難學的問題做個總結:
指標學習不好關鍵是概念不清造成的,說的簡單點就是書沒有認真看,指標的學習猶如人在學習饒口令不多看多學多練是不行的,下面是兩個很經典的例子,很多書上都有,對於學習的重點在於理解*x和x的理解,他們並不相同,*x所表示的其實就是變數a本身,x表示的是變數a在記憶體中的地址,如果想明白可以輸出觀察cout<<*x"|"x;,當定義了int *x;後對x=&a的理解的問題。仔細閱讀和聯絡下面的兩個例子我想指標問題就不是難點了!
#include
main()
static compositor(p1,p2)
int *p1,*p2; /* 定義形式引數p1,p2為指標變數 */
}/* 注意:此題與上題不同的是,直接改變了a於b的值達到真實改變的目的 */
另外,團idc網上有許多產品**,便宜有口碑
2樓:匿名使用者
在c語言中,將非0的值即認為是「真」,0值為假!
所以在上面的ch='c',實際上ch是字母c的ascii碼,即99,為非0值,所以ch的值為真!
選擇c項為正確!
3樓:匿名使用者
1真,因為c的ascii碼不為0
4樓:一個蜜糖圈
是真(1),c語言中只要值非0就為真,值為0才是假。『c』的ascii碼不為0,故結果為真。希望對你有幫助哦~
5樓:匿名使用者
小c在ascii碼中十進位制數字99,在c語言中非零即為真。
c語言中的問題 已知字元『1』-『0』=數字1,那麼『a』-『0』是否也是ascii值相減?
6樓:匿名使用者
'a' - '0' 得不到有意義的東西
雖然 c/c++標準保證 '1' - '0' 一定等於 1,但是沒*** 'z' - 'a' 一定等於 25……不過一般人也用不到 ebcdic 編碼就是了
7樓:濸海月明
'a' - '0' 也是ascii值相減。
c語言中char型別也可以看做數值範圍限定在 -128到127的整形數,所以任何兩個char型別變數(常量)做數**算(+ - * / %),都是整數運算。
計算機中的0是真值還是假值?拜託速求!
8樓:匿名使用者
0是假值
1或者非0為真值,但要以具體編譯環境來確定
但0一定是假值
c語言中什麼時候0表示真,1表示假
9樓:南瓜蘋果
c語言規定1為真(true),0為假(false)。
c語言中0為假,1為真,邏輯與和整數乘法相同,而c語言中的1就是整數,整數除法1/2結果也會是整數,數學中答案是0.5,但是整型的不能儲存0,5。因此會直接變成0。
後面的計算結果是什麼就不重要了。
總的來說,計算機的最小儲存單位是位元組,一個位元組可儲存256個數字,真和假卻只有兩個數字。c語言從c99才有_ bool這 個布林型別。
c99之 前一直使用整數型別儲存布林值,那麼除去真和假兩值以外還至少有254個數字,這些數字不可能是非真非假,那麼只能使用一個值代表真或假,其他值代表前面值的相反值。
擴充套件資料
計算機識別0和1的原理:
計算機中ram儲存正在使用的程式和檔案,硬碟則是檔案永久儲存的地方。硬碟實際上由若干磁碟構成,磁碟上大量的有序的磁性粒子完成,磁性則可以表示0和1。當需要對檔案進行讀寫時,實際上是發出電脈衝訊號移動讀寫頭改變磁性粒子的磁性或者是得到磁性粒子的磁性。
計算機中,一串數碼作為一個整體來處理或運算的,稱為一個計算機字,簡稱宇。字通常分為若干個位元組(每個位元組一般是8位)。在儲存器中,通常每個單元儲存一個字,因此每個字都是可以定址的。
字的長度用位數來表示。
在計算機的運算器、控制器中,通常都是以字為單位進行傳送的。宇出現在不同的地址其含義是不相同。例如,送往控制器去的字是指令,而送往運算器去的字就是一個數。
在計算機中作為一個整體被存取、傳送、處理的二進位制數字串叫做一個字或單元,每個字中二進位制位數的長度,稱為字長。
10樓:_葉子妞妞
c語言規定,1為真(true), 0為假(false)。
所以題目本身是一個偽命題,在c語言的環境下,任何時候都不會出現0為真1為假的情況。
擴來,用來判斷的並不一定是1和0兩種,在出現其它值的情況下,c語言會做如下操作:
1 把非整型型別的值,如浮點型,指標等,強制轉為整型。
2 判斷該整型值是否為0。
3 如為0,則值為假;如不為0,則值為真。
11樓:匿名使用者
c語言裡面其實是0表示假,非0表示真。
例如if(i)
這句話中,如果i = 0那麼if不成立;i = -1,1,2,3,4,5,-23....都成立。
12樓:我擦嘞s型蘑菇
用非運算子'!',這樣正確的結果會顯示零,不正確就顯示一
13樓:匿名使用者
1是真 0是假 不論while 或者for 都是邏輯值
14樓:
系統返回定義的布林型函式時0表示假,1表示真,其他時候都是非0表示真…
15樓:靈小楓
可以用計算機幫你判斷真假!寫一個輸入函式,用a>b成立為真,不成立為假的情況。然後再寫一個c=a>b,然後用if語句的判斷c為0和c為1時輸出的結果。
忘記時開啟程式隨便輸入兩個數試試,多試幾次就記住了。
c語言中if語句,如果上面賦值a=0,if(a=0)括號中條件是真還是假
16樓:匿名使用者
你問題中的if(a=0)這個if判斷的表示式是賦值操作,正常執行下一直是為真的
17樓:匿名使用者
c語言使用0代表假,非0代表真
if(a=0);
就相當於
a=0;
if(a);
就相當於
if(0);
括號中的條件是假
18樓:匿名使用者
1、if語句的表示式的值為非零值時,執行if後的語句塊
2、賦值表示式的值是賦值以後的左值的值
19樓:匿名使用者
假 a=0 是賦值表示式,賦值表示式的值取決於賦值號左側變數a的值,a=0 即表示式的值為0
若a=1 則賦值表示式的值為1
20樓:無恨
100%真。以後記住只要if內是賦值語句,那麼if條件表示式為真。
21樓:冽冽不是逗比
永遠都是假的 就等同於 if(0)
我想你想寫的是不是f(a == 0)這樣的判斷
22樓:serenity魚
false;
if(a=0)裡面是賦值運算,因為賦值為0 ,所以為false,如果賦值為2,則是true
c語言邏輯表示式中,a的值為0,那麼a=0為真還是為假
23樓:煙火夜空
c語言邏輯:0為假,非0為真。
如果是 a=0,則結果為 假,
如果是 a==0,則結果為 真。
24樓:匿名使用者
a=0,為賦值表示式,把0賦予a,其值為0,恆為假。
25樓:你耳邊的呢喃
a=0是賦值語句,所以是假
26樓:無良世家
真。多看些書,書上都有例子。
c語言中!10的值為0,為什麼,c語言中a 1 0 的值是什麼
ch陳先生 計算機記憶體儲存的時候認為規定了,只有0,沒有 0。c語言是一門程序導向的 抽象化的通用程式設計語言,廣泛應用於底層開發。c語言之所以命名為c,是因為c語言源自kenthompson發明的b語言,而b語言則源自bcpl語言。1967年,劍橋大學的martinrichards對cpl語言進...
c語言中for語句是怎麼用的,C語言語言中FOR的用法
for語句通常具有如下形式 for statement1 statement2 statement3 這裡,statement1 statement2和statement3是一般的語句。其中statement2應具有布林型別,但在c中具有int型別 因為c語言不支援布林型別 這段語句的執行流程如下 ...
C語言中位操作 3》31值為什麼是
右移操作時,連同符號位同時移動,且符號位是1 負數 時,補1,符號位是0 正數 時補0。char a 3 3 11111101 2事實上,右移2位後,該數為11111111,次數已經是 1了。 c語言中,假設你的機器字長一個位元組是32位,那麼你注意 3在計算機補碼中表示 1111 1111 111...