1樓:有愛則無礙
兄弟,最近我也在複習c語言,九月份要參加二級考試,相信你也是吧?
該教材的簡單介紹:
再補充一下,假如要考全國的二級c語言的話,資料結構的知識必不可少,我還找了資料結構的教學**,是清華大學的,以下是**連線:
最後祝你考個好成績!
2樓:匿名使用者
五. 判斷一個正數是否為對稱數,如果是返回0,不是返回1,(不允許呼叫c庫字串轉換相關函式),如11,121,1221就是對稱的。
首先把正數(沒有考慮浮點數)存放到字元陣列中a,len記錄正數長度。
while(num>=10)
然後比較判斷就可以了。}
3樓:我不喜歡故事
第一題的資料儲存形式看不懂到底是啥意思。求解……
4樓:海海胡
選擇題:
1、c2、d
3、b4、c
5、a6、a
7、c8、d
9、b10、d
判斷題:1、錯2、對。
3、對4、錯5、對。
c語言問題
5樓:匿名使用者
首先,手動計算一下怎麼才能交換。
根據題目要求,先算.
0的最小公倍數:18,這說明:最少10個一角、12個五角、9個一元才一樣高,也就是說小明可以交換的倍數是10*0.
1+12*元,而小紅交換的倍數是10元,雙方可以交換的的金額只能是90元、180元……你輸入n=3,那肯定不能交換啊。
來到這裡,如果認為效率為上的話,直接判斷小紅拿出的10元的張數n是不是9的倍數,一步就可以輸出結果了。如果n/9是整數,則一角、五角、一元的數量就是:10*n*n*n/9了,否則輸出不能交換。
其次,如果你硬要按照你源程式的思路做,那我只能指出最明顯的邏輯問題:for迴圈沒有大括號,所以它只會一直執行j=6*i/5;這一句直到條件終止,那當然輸不出結果啊。
還有沒有其他問題,既然是考題,自己思考吧。
6樓:匿名使用者
應該是資料型別的問題吧,不能用整型,整型沒有符合的解。
c語言問題
7樓:匿名使用者
首先,這是一道考區分 "表示式" 與 "表示式的值" 的題。
我們要注意,表示式也是有它自己的值的。
一、逗號表示式(表示式1,表示式2,..表示式n)採取從左到右順序求值,並把最後一個逗號後的表示式的值作為 "逗號表示式的值"。
如:表示式1,表示式2,……表示式n 這個 "逗號表示式的值" 就等於 "表示式n" 的值,與其它值無關。
二、賦值表示式(變數=表示式)採取從右到左求值,並把等號左邊的變數最終得到的值作為 "賦值表示式的值"。
所以,表示式(i=4,j=16,k=32)的值是 k=32 的值,而 k=32 這個賦值表示式的值就是等號左邊變數 k 的最終值,是32。於是,x 值為32。
8樓:匿名使用者
因為你只輸入了一個數10,系統把這個值賦給了變數a;你的程式中用了兩個變數去接收輸入的值,所以系統選擇了一個隨機數賦值給了變數b。
另外,虛機團上產品**,超級便宜。
9樓:雲淡風輕
!(a+b)+y-1&&x+b/2
這就是邏輯運算子和算數運算子的優先順序運算問題;
是邏輯非運算子,意思是(a+b)如果不等於0,則!(a+b)的值是0,如果等於0,則!(a+b)的值是1;
知道了!(a+b)的值以後,!(a+b)+y-1的值也就知道了。
然後求x+b/2,先求b/2,也就是b除以2,用得到的商加上x,就得出了x+b/2的值;
然後如果!(a+b)+y-1的值不等於0,同時x+b/2的值也不等於0,那麼這個式子的結果就是1;
如果&&兩邊的式子都等於0,或者有一邊等於0,那麼這個式子的結果就是0;
c語言問題
10樓:匿名使用者
(exp)?b++:b--判斷(exp)這個表示式是否為真,如果是真就執行b++,如果非真,就執行b--
我不能很好的表達,給你解題思路:
a.如果(exp)是假的,那麼(exp==0)就是真的,所以這句和(exp)不等。
b.如果(exp)是假的,那麼(exp!=0)就是假的,所以這句和(exp)完全相等。
c.如果(exp)是真的,那麼(exp==1)不一定為真,比如exp是b=2,那麼(exp==1)就為假,和(exp)不等。
d.如果(exp)是真的,那麼(exp!=1)就是假的,所以這句和(exp)不等。
所以答案是b
11樓:匿名使用者
(exp)這句是什麼意思啊就是條件 判斷真還是假如果exp是真 取b++;
假取b--;
就像是判斷bool型別。
應該選b
12樓:網友
a :陣列名。
a[4] :是指陣列a中的第五個元素,陣列都是從0開始的,所以第5個元素是a[4]。
而++的意思就是自加一次,a[4]++等價於 a[4]=a[4]+1;
比如說:定義一個。
int a[5]=;此處的a[4]的值是4,即a[4]=4。
當執行 a[4]++時原來的a[4]會自加1,變成5,即a[4]=5。
一看哥們就是初學者,好好看書,這些東西書上都有的。。
13樓:汪好帥
額,前面的都已經解釋過了。
針對你補充的問題來講。
你是有意,讓它陣列越界的麼?!
int a[4];/最大的下標是a[3]a[4]是陣列越界了,a[4]沒有被分配,你可以嘗試去除錯測試看看。
#include
void main()
/試試檢視a[4]是啥東東。
printf("%d",a[4]++
14樓:海獅
a[4]++是什麼意思。
單獨使用相當於a[4]=a[4]+1;
如果在語句中表示,使用增量前的a[4]進行計算,執行完「;」後a[4]=a[4]+1;
15樓:下一次遠足
你定義的陣列沒有 a[4] 的吧。
int a[4]=只有 a[0],a[1],a[2],a[3]
a[4]越界了,編譯器會提示錯誤的。
16樓:網友
陣列a的元素只有4個,分別是a[0],a[1],a[2],a[3],a[4]是不在a的陣列裡的。
17樓:匿名使用者
陣列及運算問題,你先看看基本的型別中,陣列a的每個單元的型別,看是否符合++運算的規則,根據++的前置與後置的意義具體解答就行了。
18樓:帳號已登出
就是一個一個依次加一的順序。
19樓:匿名使用者
首先說明一下,unsigned short佔用2個位元組,long在32位系統中佔用4個位元組;
我們對於指標進行操作時,指標移動的步長和它的型別是有關的,舉例如下:
如果指標p的型別是char* ,那麼p+1,就表示p向後挪動1個位元組;如果指標p是unsigned short* ,那麼p+1就表示p向後挪動2個位元組;如果指標p是long* ,那麼p+1就表示p向後挪動4個位元組;
現在來看你的題,本來myarray+2,其實是向後移動4個位元組,指向4這個元素;但是被轉化為long*後,它就往後移動了8個位元組,指向了0x1284,這是對這個指標進行取值,它的結果應該是。
0x00051284;然後再做型別的強制轉換,從long轉到char,截斷高3位,所以得出結果為0x84
20樓:網友
值是4(long*)是型別轉換。
第三個不清楚自己去試一下吧。
c語言問題
21樓:天上的一條龍
非0數的邏輯值為1
5為1!8為0
所以-5&&!8為0
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
C語言問題,C語言問題
include void main 最後輸出 1 2 2 3 cca 2,b 2,c 4 2.設計一個程式 計算0xaf 01234567,字元 a 的ascii碼值 十進位制 是多少,101 代表的字元是什麼,32678 1的準確結果是多少,1.456e6 35的準確結果是多少,12345 6的準...
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...