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的話,即把迴圈...