c語言的一道選擇題,一道C語言選擇題 以下正確的程式段是

2022-03-13 06:20:59 字數 4203 閱讀 4460

1樓:於尋聖梅花

c語句以分號來表示語句的結束,注意到第2個for迴圈後面的分號了嗎?那表示for迴圈到那裡就結束了,後面的printf語句並不是for迴圈的1部分,所以只是輸出1個星號。

2樓:利錦花赩

因為print這句前有個分號,表示空語句,也就是說,迴圈體內的句子是空,迴圈完之後,又執行了一個列印操作。

3樓:郝誼鬱燕子

有點看不清啊,不過應該是形參和實參的問題,實參傳入給形參,形參變動不會產生實參變動

4樓:庫葛禰**

for(i=0;i<4;i++,j++)

for(k=1;k<3;k++) printf("*");

如果是這樣

就選a了

因為for(k=1;k<3;k++)後有個分號,所以printf語句未參與迴圈

所以只做了一次

選d正解

5樓:在尋找荊棘

這裡a和d的執行結果是一樣的,但是題目說12.234是雙精度型別,輸出型別要一致,所以只能選a

6樓:墨掣賞曉靈

因為,你定義的變數和你要輸出的東西沒有關係,printf是c語言中的輸出符,他只會輸出引號(「」)裡面的內容!

7樓:成珺頓涵山

從a[3]開始取,所以前三個不變你應該明白吧?

(*q)++指的事指標q所指字元的ascii碼增加一個,然後q++指的是對下一個字元進行操作,所以從第4個字元起每個字元都向後一個,即g->h,r->s,a->b,m->n

因為是指標操作,所以字串a被改變,輸出答案為a

8樓:原子報告

a d項的是『f』表示單精度,而a項『lf』表示雙精度

9樓:great柯柯

%f 一般對應單精度型別 float

%lf 一般對應雙精度型別 double。

10樓:真三國無雙ol哇

a使 輸出 double :: lf d 使輸出的float ::f 你看仔細了

一道c語言選擇題:以下正確的程式段是:()

11樓:

a裡面str本來就是個指向字串的指標。

d裡面p[2]表示字串的第三個字元,加&才表示地址。

12樓:匿名使用者

b. char *p; scanf("%s",p);

d. char str[20],*p=str; scanf("%s",p[2]);

a:str是陣列的名字,它單獨出現時候代表的是該陣列的首地址,

&用在變數前代表取其地址,對str這個地址取地址,不是程式想要的吧!

b:p做為一個指標,沒有初始化.記住,指標一定要初始化後才能使用!

c:str[2]的意思其實是 *(str + 2),

所以&str[2]其實就是&*(str + 2),也就是str + 2,還是個地址,所以是正確的.

d. char str[20],*p=str; scanf("%s",p[2]);

:p[2]代表 *(p+2),代表第三個字元了

13樓:樓淳靜

a. char str[20]; scanf("%s",str);

14樓:匿名使用者

a裡面str前不能加&

d裡面要加&

15樓:雷

b應該也是對的啊!!

為什麼b不對 !!

b是對的!!

其他同意樓上的!!

c語言一道選擇題

c語言一道選擇題求解釋

16樓:戰譽宇綸

a

先執行a

這時a

這時a

17樓:時刻準備著

正確答案是11,11,11,12,12,20,20,20。int *px=x就是px的指標指向陣列x的首元素。第一行的兩個printf,第一個是先引用指標px,既此時*px為10;相當於++(*px);++是自加運算,與*px++區別就是,它在該表示式執行前就進行了自加。

第二個結果為11,是因為陣列x中的10已經變為11了。第二行原理同上。第三行第一個為12是px先進行地址加1;既指向陣列x中的第二個元素20,但在此表示式不生效,所以值還是陣列x的第一個元素。

*與++運算同級的,所以要注意運算子前後順序的。

18樓:

孩子,這題到底是個啥意思?是問輸出的結果是什麼嗎?

求助關於c語言一道選擇題 !

19樓:匿名使用者

解析有問題。正確的解析應該是:

do while (條件表示式2);

條件表示式2成立次數為n2,則迴圈體b執行次數為n2+1.因為條件表示式2成立就要執行一次,還要加上進入迴圈時執行的那一次。

而對於while (條件表示式1)

迴圈體a;

條件表示式1成立次數為n1,則迴圈體a執行次數為n1。

基於上述分析

(1)do while (條件表示式2);

迴圈體a執行次數為n1*(n2+1)=n1*n2+n1(2)while (條件表示式1)

while (條件表示式2);

}迴圈體b執行次數為(n2+1)*n1=n1*n2+n1所以迴圈體a與迴圈體b的執行次數相同。

解析中討論n1是否大於n2沒有意義。需要注意的應當是,n2是否為0,因為do迴圈是至少要執行一次的。

20樓:也許等直到或許

首先你要分清結構,第一個是do.....while 迴圈中在do中套了一個while迴圈,然後接下來又是一個while迴圈,其中在while循序中有套了一個do....while迴圈。

其次,你要分清出do....while 和while迴圈 的區別,do.....while 是不判斷就先執行一次,while迴圈時先判斷再執行。

接下來,看題。首先執行do,..,但是當執行while(表示式1)時就要判斷,如果滿足條件才執行迴圈體a,否則不執行,其實這個和下面那個while迴圈先判斷後執行就達到了同樣的效果。

所以迴圈體a和迴圈體b執行執行次數相同。希望對你有幫助。我沒有看解析,自己的理解。

c語言一道簡單的選擇題

21樓:封詩喬朝雨

我認為應該想選a。++3=4,這個可以寫個小程式測試一下。b5/6結果是int型的,c"a"和「a」的asicⅱ碼值不同d和b差不多。好久不學c了,有點忘

22樓:象子惠甄易

選a,++3是運算前自增,所以++3=4,b中5/6=0,因為5,6都是int型別的,5.0,6.0都是double型別的所以5.

0/6.0!=0,c中'a'=065,'a『=097,所以不一樣,d中5/6=0,而5.

0/6!=0因為5.0是double,所以最後結果也是double

23樓:隆姣集依楠

都是錯的。a

++3這個表達示就不成立。因為++不能運用常數。

24樓:夕昌毛藍

的確是a,++

運算子是先加1後然後進行比較,後面的有小數點的就是浮點型了,別用數學觀點去看,認為可以約去,a和a的asci碼不同

25樓:匿名使用者

b是對的,a明顯是錯的,c是讀出並不是記錄,d和c差不多,也是錯的

26樓:匿名使用者

a是錯的吧

bcd都對的。。

不要解釋。。。。

一道c語言題,考試中,一道C語言題

include include struct t void sort struct t items,int low,int high main 另外,團idc網上有許多產品 便宜有口碑。找最大值和最大值在陣列a中的索引。for i 0 i 10 i scanf d a i 輸入10個數字。著重講一下...

一道c語言程式設計題急求答案,一道C語言程式設計題 急求答案

最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即 輕...

一道求ab的c語言題一道求AB的c語言題?

include define m 50 main 比較兩個的長短,把長的那個放到c裡,短的放到d裡 else if ia ib a 0 b 0 0 9 else 比較兩個的長短,把長的那個放到c裡,短的放到d裡 ic strlen c id strlen d 求出實際參加運算的c,d的長度 do 處...