1樓:匿名使用者
樓上的亂講!第一題你答對了。
第2,3題全打錯了(我是說2樓的)
答案幫你編譯執行過,肯定不會錯。
結果:2理由:
#00 int m=13;
#01 int fun(int x,int y) ##
#07 main( )
##00的m是全域性變數,但在函式fun(int x,int y)中由於定於了區域性變數#
所以,在fun函式中m是3而不是13
程式由#07處進入,到#10處引用fun(7,5),跳到#01.在#04處返回7*5-3即32,返回後回到#10,執行32/m.這裡m是全域性變數,所以是32/13,又因是int型,且列印符號為%d,所以結果不是2.
4615...而是取整變成2.
所以結果為2
結果:45理由:
#00 main()
#01 ,i=0,j=0;
#03 while(i++<7)
#04 if(p[i]%2)
#05 j+=p[i]; j=j+p[i];
#06 printf("%d",j);
#程式從#00進入,因i被定義為0,進入while迴圈後,(i++是先用i的值後,i再加一)
變數: i++ p[i] p[i]%2 if(p[i]%2) j
值: 0 12 0 false 0
1 13 1 true 0+13
2 14 0 false 13
3 15 1 true 13+15
4 16 0 false 28
5 17 1 true 28+17
6 18 0 false 45
7 (i<7)條件不滿足 跳出while
列印j的值,即是45
結果:18理由:
##define s(x) 1+4*x*x
#01 main()
#本題目考察對引數巨集的理解!(切忌,巨集就是字串替換)
即根據#00處定義,凡出現s(x),由1+4*x*x替換。
所以,#04處s(i+j),不是1+4*(i+j)*(i+j)得1+4*5*5=101
而是1+4*i+j*i+j 得1+4*2+3*2+3=18
所以本題輸出18
2樓:匿名使用者
int m=13;
int fun(int x,int y)
/*就是fun(x,y)=x*y-3嘛*/main( )
/*所以這裡列印的是fun(7,5)/13=2,是整型數作結果*/main() i=0,j=0;
while(i++<7) if(p[i]%2) j+=p[i]; 就是從i=0開始到i=6結束,對陣列p中偶數項進行相加,就是從p[0]加到p[4]o為止,得數j=11+13+15=39*/
printf("%d",j);
(3)fdjg
#define s(x) 1+4*x*x
main()
3樓:匿名使用者
上第乙個m全域性變數,第二個區域性變數只在fun()裡有效。
(5*7-3)/13取整形得2;
(2) 可以寫成 main() i=0,j=0;
while(i<7)
printf("%d",j);
結果是45.
把x換成i+j,直接換。
幾道簡單的c語言題目
這個c語言題怎麼做?
4樓:上海長英
a. char ch='\x2a' 錯誤。
\x2a 是4個字元,只能用乙個字元 進行初始化賦值。
b. char ch="c" 錯誤。
字元只能用單引號不能用雙引號,雙引號 是字串,編譯器自動在 後面加乙個空字元'\0'
c. char ch=65; 是正確的。
因為字元 對應的是其ascii 碼值 ,十進位制的65對應的是字元 『a'
d. char ch=null; 是正確的。
在c語言編譯器中null被巨集定義為0(#define null 0)0在ascii碼表中 對應的字元 就是'\0'
希望我的對你有所幫助,很高興和你一起討論和學習c語言。
5樓:匿名使用者
b,字元變數不能用字串(雙引號常量)初始化。
6樓:_i快樂每一天
b,字元不能用雙引號初始化;
a的話其實是可以這樣寫的,但有的編譯器只認\x小寫的x,這種寫法是轉義字元,其後跟的是十六進位製數,代表ch的ascii碼,比如ch='\x2a' 就是42,代表'*'
c同理,因為字元其實它的值都是用ascii碼儲存的,比如ch='a',用int強制型別轉換後的輸出就是65;
c語言題.
7樓:洋桂花風娟
這題選d在c語言中實數。
也就是浮點數,有兩種表示形式:
1、十進位制形式,它是由數字和小數點組成,注意:必須有小數點;
2、指數形式,注意:e或者e之前必須有數字,且。
e或者e之後必須是整數。
根據這兩個規則。d
既沒有小數點。
也不是指數形式。所以。選d
乙個簡單的c語言題
8樓:匿名使用者
為什麼需要編碼?因為計算機世界只有0和1之分,而現實世界,我們常用的是十進位制。為了讓計算機和現實世界聯絡起來,編碼便誕生了。
計算機中,採用位元組來儲存資訊,乙個位元組有8個二進位制位組成。
首先需要知道,編碼方式有很多種,如ascii編碼,bcd編碼等等。最後被人們廣泛接受和使用的,才是最經典的。你說的bcd碼用的不多,至少我是這麼認為的。
說說bcd編碼規則,它是用4位二進位製數來表示乙個十進位製數。如,41的bcd碼為 0100 0001,這個好理解吧!0100表示4,0001表示1.
而原碼、反碼和補碼是計算機世界採用的編碼方式,現在bcd碼在計算機中用的很少。計算機實際存放的是資料的補碼,原碼和反碼是為了讓人們好理解,弄出來的概念。
為什麼是這樣的呢,先看三個規則:
1.所謂原碼就是二進位制定點表示法,即最高位為號符位,「0」表示正,「1」表示負,其餘位表示數值的大小。
2.反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
3、補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
41 = 32+8+1,因為是正數,所以最高位為0,這樣得出來的是原碼。反碼呢,按照規則,也是這麼多,好理解吧!補碼就稍微麻煩點,如果原數是乙個正數,則補碼和原碼相同,如果原數是乙個負數,則結果是其反碼的最後一位加1.
9樓:密碼比較簡單
說不清楚,自己去看本叫數位電路的書。
10樓:星桂花類淑
scanf裡的是%2d%f接受模式。
所以最先輸入的兩個字元(即87)被擷取。
送給變數a然後是%f
將緊跟輸入的乙個字元(即6)擷取送給變數bfloat型預設保留7位有效數字。
所以b是。
一道簡單的c語言題
11樓:匿名使用者
typedef 型別 型別名;只要知道型別是什麼,就知道答案了,型別有整形,浮點型,字元型以及指標,結構體,共用體。題中的型別是int *,也就是整形的指標,那麼integer就代表整形的指標,由integer定義的變數就叫int的指標變數(b對。a錯),因為q是integer *定義的,也就是整形指標的指標,故c錯,integer 代表的是int *(整形的指標),d錯。
12樓:匿名使用者
typedef int *integer 可以看成 typedef int* integer;
假如這樣定義 int* p;
那麼p就是基型別為int的指標變數。
typedef的作用是定義乙個別名。
typedef a b 那麼以後b就是a的別名 可以當成a使用。
c語言簡單題幫忙看看?
13樓:匿名使用者
a.不可以以數字開頭,否則編譯程式區分數字和識別符號發生困難。
b.底線開頭和使用是允許的。
語言區分大小寫,因此int與int不同,int是保留字,int可以用。
d.這個單詞並非保留字,因此可用。
14樓:月光下的
您好,很高興您的問題。
c語言規定,識別符號只能由數字、字母和下劃線組成,且第乙個字元不能為數字,也就是只能是字元或者下劃線,所以這個題目中a是不符合條件的,故答案選a
15樓:網友
c語言中,識別符號只能以字母、下劃線和$開頭,後面可以跟字母、陣列、下劃線和$符號的組合。此外,識別符號不能是程式語言的保留關鍵字。
所以選項a錯誤,不能以陣列開頭作為識別符號。
選項c中int不同於關鍵字int,因為c語言中是區分大小寫的,因此int可以作為識別符號。
16樓:豆豆在路上吃飯
識別符號命名規則。
1、 識別符號由26個英文本元大小寫(a~za~z)、數字(0~9)、下劃線(_)和美元符號($)組成。
2、 不能以數字開頭,不能是關鍵字。
3、 嚴格區分大小寫。
4、 識別符號的可以為任意長度。
第二點就是你的問題答案。
17樓:纜索
在c語言中,識別符號只能由字元,下劃線開頭。
不能以c語言的關鍵字作為識別符號。
識別符號可以包含任意多個字元,但不同的編譯器會有不同的長度限制,一般情況下,不會達到此限制。
18樓:匿名使用者
識別符號可以是大小寫字母、下劃線_和數字的有序組合,而且識別符號不能以數字開始。
19樓:方螢
開頭只能是字母或下劃線(_)
三道C語言題目,幾道簡單的C語言題目
這個是函式的巢狀呼叫,子函式sub反覆呼叫自己,由程式可知,sub 1 的值為1,當sub 2 sub 1 2 1 2,同理sub 3 sub 2 3,所以當i 5時,sub 5 sub 4 5 sub 3 4 5 sub 2 3 4 5 sub 1 2 3 4 5 所以最後輸出的是15 c語言的幾...
c語言簡單小題,乙個簡單的C語言題
樓主把 return n 這句給刪除了,這句沒有用。要返回值幹嘛,刪除了就能輸出結果了4000多。過早地遇到了return n,致使main函式執行提前結束,不會再執行printf return可以立即結束幾乎任何乙個函式,無論後面還剩下什麼語句,都不會再被執行。這裡的main 前面沒有給出返回型別...
c語言簡單習題,C語言簡單習題 auto int b 0 。。。。
auto宣告後,每次呼叫這個函式都會將這個b重定義為0 而進行stable宣告後,c將不會被改變,所以值是不同的 第一次迴圈 a 5 這個是固定的 b 0 1 1 自增運算子 c 1 3 4 返回乙個值並輸出a b c 10 第二次迴圈 a 5 b 0 1 2 在這裡重置 c 4 3 7 而它並沒有...