C語言簡單問題,一個簡單c語言小問題?

時間 2023-03-25 12:35:09

1樓:匿名使用者

程式沒有錯誤,不過輸入時注意要加逗號例如12,13,14規範點的話逐個輸入;

scanf("%d",&a);

這樣就不會出現錯誤了。

一個簡單c語言小問題?

2樓:旅初彤

a-=a+b這個等價於a=a-(a+b).所以a=a-a-b,故a=-b

c語言基本問題

3樓:岔路程式緣

一、c語言規定總是從main()開始執行的(這個函式也叫「主函式」)。因此,你發來的題目中的(1、6、8)敘述都是錯誤的,都應該選擇f。

二、第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。

三、第3題,c語言中強制型別轉換,僅對轉換的語句有效,而不會改變所轉換變數的原有資料型別,這是正確的,應該選t。

四、第4題,i=8,j=10;printf("%d,%d,%d,%d",i,j,++i,j++)實際上是一個程式執行類題目,執行這一句時,先取得ij變數的值,其中有一個++i(先自增),一個j++(後自增),先自增的i先加上1,也就是i=8+1=9,而後自增的j在列印之後再加1,所以列印時仍是j=10。所以列印出來是:9 10 9 10。

這是正確的。

五、第5題「c語言中放在「」之間的內容都被視為字串的一個構成部分,都可以在螢幕上原樣顯示」的說法是錯誤的。舉一個例子就可以了:print("%d",8);是列印不出來%d的,它只能列印出來8。

所以它是錯的。

六、第7題,設x、t均為int型變數,則執行語句"x = 10;t = x &&x >10;"後,t的值為,這個題目好似沒有寫完,成了填空題了,現在來看計算過程,t = x &&x >10,根據計算的優先順序,>號是6級,&&是11級,先計算x >10,因為x=10,故x>10是不成立的,所以它的值是0,第二步再計算x &&0=10 &&0=的值最後應該是0。

希望對你有所幫助。

4樓:匿名使用者

第一題:f,是從主函式的第一條語句開始執行的。

第二題:t,每一種資料型別在c語言中都佔用固定的位元組數。

第三題:f,強制型別轉換會改變資料型別。

第四題:f,輸出結果為8,10,9,10。

第五題:f,不能被原樣顯示的有預處理命令中被包含檔名(如"")printf函式的轉義字元(如"")

第六題:f,程式執行是從主函式第一條語句開始,執行到主函式最後一條語句結束。

第七題:t的值為0,因為x>10的值為0。

第八題:f,c程式執行從主函式開始。

5樓:匿名使用者

f( t )c語言程式是從原始檔的第一條語句開始執行的。

//c語言程式是從主函式中的第一條語句開始執行的。

2. f( t )c語言對其資料在記憶體中所佔用的實際位元組數是有明確規定的。

//c語言對其資料在記憶體中所佔用的實際位元組數沒有明確規定,比如:整型資料在turbo c中佔2位元組,在vc中佔4位元組。

3. t( f)c語言中強制型別轉換不會改變原變數的原有資料型別。

//強制型別轉換不會改變原變數的原有資料型別,得到的結果是轉換後的型別資料。

4. t( f )程式段:i=8,j=10;printf("%d,%d,%d,%d",i,j,++i,j++)其結果9,10,9,10.

//先執行j++,輸出10 再執行++i,輸出9,然後輸出i和j的值,分別是9,10

5. f( t )c語言中放在「」之間的內容都被視為字串的一個構成部分,都可以在螢幕上原樣顯示。

//c語言中放在「」之間的內容都被視為字串的一個構成部分,前半句是正確的。

//都可以在螢幕上原樣顯示。不一定,比如有些轉義字元,換行符,退格\b等等。

6. f( t )c程式的執行是從程式的第一行開始,一直到程式的最後一行結束。

//c程式的執行是從主函式的第一行開始,一直到主函式的最後一行結束。

7. t( f)設x、t均為int型變數,則執行語句"x = 10;t = x &&x >10;"後,t的值為。

//執行語句"x = 10;t = x &&x >10;"後,t的值為0

8. f(t )c程式的執行從程式頭開始。

//c程式的執行是從主函式的第一行開始,主函式可以位於程式中的任何地方,不一定是程式的開頭。

6樓:匿名使用者

1經常程式執行是由啟動**開始的,而啟動**一般都是彙編寫的,2.不確定的,資料型別定義的時候是確定的,執行的時候根據硬體多不同會有所不同。

3.毫無疑問肯定會了,要不還說什麼強制呢,對吧4.應該是8,10,9,10吧。

因為printf語句就執行了一次,所以第一個i是8,第二個i是先+後輸出應該是9,第一個j是9,第二個j是先輸出後++,而程式只執行了一次,所以還是沒有+,等於10。

5.雙引號是c的字串格試符,所以是對的。

6.同第一題。

7·沒有看明白。

8.同第一題。

7樓:匿名使用者

1、假,從main開始執行。

2、假,int的長度不明確。

3、真。4、假,從左向右計算,8,10,9,10

5、假,有轉義字元。

6、假,見1

7、t=08、假,見1

8樓:匿名使用者

第4題你是正確的 ,不同的編譯器會有不同的結果,這屬於垃圾**。

9樓:蹉燦紫婉娜

("a/1000>=1")

你這句寫錯了,應該是。

(a/1000>=1)

把引號去掉。

10樓:狂雲德潮鶯

1·c語言程式的基本單位是(b函式)a過程b函式c子程式d標誌符2·如果a=5<<2,為什麼a=20?

a=5<<2相當於a=a*2的平方。

即a=5*4=20

3·不能正確對字串賦值的是(a

二維陣列不應該這樣賦值)a

charst[4][5]=;b

char*s;scanf("%s",s);

cchar*s;s="abcde";d

chars[5]=;

4·正確輸入字元組a的是(d)a

gets('a');

bscanf("%c",a);

cscanf("%s",a);d

gets("a");

5·如果c=35,為什麼printf("%d",c&c)的值為35?那個c&c是什麼東西。&在這裡是「按位與」運算。

c&c化為二進位制的比較,都為1

則為1,否則為0.再化回10進位制數。

11樓:淦菀歐陽陽冰

if("a/1000>=1")

這句應改為。

if(a/1000>=1)

不然永為真。

c語言的簡單問題

12樓:倒黴熊

1:a (bcd都需要後面的括號中作為關鍵字來指明)2:b (c語言的函式都是平行的,不能巢狀,呼叫可以巢狀,a呼叫b,b呼叫c。)

3:c (函式有返回型別,引數之間以逗號分隔,且都需要指明型別,不能省略,宣告需要分號結束)

4:c (靜態陣列,大小是固定的,你宣告是幾個元素就是幾個元素,下標不能越界,元素型別相同)

13樓:匿名使用者

1:a (變數分為動態儲存和靜態儲存,包括auto,static,register,extern,auto變數在呼叫的時系統自動分配空間,結束時自動釋放儲存空間,關鍵字auto可以省略;static呼叫結束後不消失,仍保留原值,意思就是變數值不變,必須用關鍵字static,register是為了提高執行效率而宣告的變數,變數放在暫存器中,也要關鍵字;extern是為了擴充變數的作用域,意思就是在一個函式里面宣告的一個變數在另一個函式中也能用)

2:b(程式的執行是從main函式開始的,其他函式只能在main函式中宣告,不能巢狀定義,但可以巢狀呼叫,如遞迴呼叫演算法)

3:c(函式的宣告在主函式main中相當於一條語句,所以必須有分號結尾,定義函式時,括號裡的引數必須每個指明型別,變數名都可以不寫,但是必須指明引數型別,這是為了和返回值匹配,如double fun(int ,int );都是正確的)

4:c(在標準c語言中,只要定義一個陣列,那麼陣列的長度就定了,在c++中陣列的長度可以動態分配;陣列元素的型別在宣告陣列的時候就已經定義了,比如int a[9],那麼a 陣列的元素全為int型;)

14樓:匿名使用者

1. a

c語言的變數儲存類有:自動類、暫存器類、靜態類和外部類。

關鍵字auto加在變數名及其型別前,用來說明它是自動變數。區域性變數是指在函式內部說明的變數(有時也稱為自動變數)。用關鍵字auto進 行說明, 當auto省略時, 所有的非全程變數都被認為是區域性變數, 所以auto實際上 從來不用。

區域性變數在函式呼叫時自動產生, 但不會自動初始化, 隨函式呼叫的結束, 這個變數也就自動消失了, 下次呼叫此函式時再自動產生, 還要再賦值, 退出時又自動消失。

2. b3. c

4. c7. a

c語言小問題

15樓:匿名使用者

\0在字串中確實為結束符,但是和上述的\0有所不同,結束符\0是一個字元,也就是\0符號在同一個位元組中,而上述的\0符號中的\和0各自在一個位元組中,也就是說\0的表示並不是一個結束符, 在c程式中使用轉義字元\ d d d或者\ x h h可以方便靈活地表示任意字元。\ d d d為斜槓後面跟三位八進位制數,該三位八進位制數的值即為對應的八進位制a s c i i碼值。\ x後面跟兩位十六進位制數,該兩位十六進位制數為對應字元的十六進位制a s c i i碼值。

也就是說\045後面的045是三位八進位制數,顯示的為對應的a s c i i碼值。

16樓:從

應為\ddd 是1-3位的八進位制只能三位看。

17樓:金色潛鳥

c /c++ 語言結構 ,就是由 一個一個函式組成。例如:

fun1(){fun2(){main(){fun3(){

程式執行 從main() 的頭開始 到 main() 的結束為止,main裡的語句可以呼叫函式並返回,其它函式也可呼叫其它函式。

被調函式在後的,那麼前面要寫 函式原型宣告。

例如,main() 要調 max();max() 定義 在 main() 以後。所以在 main(){以前,寫了:

double max(double x, double y); 帶分號的 「max()函式原型宣告」

這樣,main() 就能呼叫 後面的 max() 了。

max()的函式原型宣告,也可寫在 main() 程式的 開始部分(宣告區),並在呼叫max()以前寫即可。

簡單的c語言問題,一個簡單的C語言問題

陽頂天鹿鼎記 第六行末尾缺少分號 取模運算利用 即int k m n 取餘的運算要放在輸入m和n變數後再做,否則,m和n中的值是隨機的,得到的結果也就是錯誤的 判斷k是不是等於0應該用if k 0 兩個等號 為什麼都是成功,而沒有一個人失敗呢?可能嗎,既然是生意就一定有風險,這個行業似乎聽到的都是成...

C語言一個簡單的問題,一個簡單c語言小問題?

問題出在這裡 int a,b a 10 b 20 你的 a,b 都沒有初始化,指向了未知的地方,也就是所謂的野指標。可以設定兩個變數x,y,將 a,b 指向這兩個變數,然後作為引數呼叫 swap 函式。另外,你的 swap 函式忘寫函式名了吧?指標一般以小寫字母 p 開頭,表示 pointer,好習...

一個簡單的C語言問題

選d 如果你沒把程式寫沒錯的話。這裡關鍵是陣列a的首地址即a 0 0 是隨機的,所以p就是隨機的,那麼迴圈for i p i 9 i 就是不確定的,也許p是本來就大於9呢,所以 a 1 2 賦沒賦值 賦什麼值都是未知的,而陣列中的值又都是隨機的,所以選d。如果把迴圈中的初始條件p換成0的話,即把迴圈...