1樓:社群常主任
c語言問題 對(a=b+c) || (++b)它是邏輯表示式,它的運算規則是從左往右,先計算機左邊的a=b+c=2+3=5
因為結果為真,且又是||運算子,所以後面的表示式是不會再運算了這樣,b,c不變,結果就是5,2,3
2樓:匿名使用者
#include
#include
#include
void bubblesort(int *arr, int n);//冒泡
void selectsort(int *arr, int n);//選擇
void quicksort(int *arr, int n);//快速
void insertsort(int *arr, int n);//插入
c語言問題?
3樓:友有友
嗯你的理解是對的,break就是用來跳出的switch,如果沒有break時就像你說的那樣,當其中一個case符合條件是,後面的全部語句都會當做成立的條件去執行
4樓:yfgh無悔
如果所有的case都不符合,就會執行default語句,之後會跳出這一層,繼續執行下一次迴圈。
5樓:蒼穹夜光
首先求解表示式,其計算結果若與下面某個常量表示式相等,則執行完該case,一專般後面後面加上break;跳出,
若該case沒有break,執行完後,後面的case會依次執行,直到碰到break,不然就會執行完所有語句。
對於你的問題,沒有break,舉個例子,若屬表示式結果為 第三個常量表示式,會執行完語句段3到語句段n+1所有語句。即(如果表示式的值與某個常量表示式的值相等,則執行該常量表示式後的所有語句段)
還有一般default後面只有一個語句段,說所有語句段不太合適。
應該是對的。
6樓:荊芳菲力蒼
這是一來
個for語句,根據for語句的源形式:for(語句bai1;語du句2;語句3){函式體;}
的執行順序是zhi:語句1,判斷dao語句2是否成立(非0為真,0為假)函式體,最後是語句3,(£)再進行判斷語句2,是否成立,在執行函式體,語句3
,在執行(£)知道條件不滿足語句2,跳出迴圈;如果,語句2是非邏輯表示式,即非判斷語句時,迴圈體內,必有滿足條件的跳出語句
break,否則為死迴圈;
這裡的for(k=1;k+1;k++)
可以這樣解釋:執行迴圈for()語句時,初始條件
k=1;之後執行
k+1(k=2,非0,條件為真繼續執行)之後執行函式體for下面花括號{}的內容,之後在執行
k++(k自增1)
所以,明白for()語句的執行順序就可以明白了,明白了嗎?
7樓:金蔚逮忻歡
main函式雖然是主函式、它是程式執行的開始處、但是、它也是函式、所以、也有返回值專和沒有返回值屬
c99標準規定main函式必須是int
返回值return
0;至於返回值是返回給作業系統的!
void
main
就是沒有返回值
8樓:蘇幹孟暢然
intmain()
在函式結尾需要給出返回值
void
main()
就不需要了。
一般,對於寫程式的來說,這兩個差別不大。
但是,不同編譯器對此的處理可能不同。
9樓:宋來吳冰菱
這一段**的思想是動態規劃
dp[j]
=dp[j]
+dp[j-a[i]];
拼出j的個數等於拼出j-a[i]的個數加上原本拼出j的個數
10樓:牧典表秀美
是的。表示已經定義了max這個巨集,而這個巨集的內容為空。如果後期進行巨集替換則該巨集被替換為空的內容。
比如int
a=max-5;就替換成int
a=-5;
11樓:覃奧韋向
可能是你沒有給兩個變數賦初值,你加兩句賦初值語句在試試看,希望能對你起到幫助
12樓:權敬枝浩然
int(*p)[5]
這是一個陣列指標
說明變數p是一個指標,指向了一個容量為5的陣列。
13樓:顧宜世依白
有區別假如你用的int
main()那麼你程式執行結束後的程序狀態值是在main裡返回的值。如果void的話,其他程式就不能得到你這個程式的結束返回值。。。
14樓:襲邵隱春燕
str1+strlen(str1)/2
strlen(str1)=13(空格也是1個)str+6是&[6]的地址
strcpy(str1+strlen(str1)/2,"esshe")
是將es
she複製到str1+strlen(str1)/2去,就是從第六位開版
始你說的也對權!
c語言問題?
15樓:匿名使用者
第一個for迴圈的
來作用是:找陣列a中第一自個比input大的元素,找到就跳出for(此時i儲存了這個元素的下標),未找到的話i最後等於9。
j=i;就是將上面找到的那個元素的下標或9儲存到j。
第二個for迴圈的作用是:把陣列a的下標為j至8的所有元素都後移一個位置,騰出下標為j的位置。
a[j]=input;就是將input插入到陣列a中第一個比它大的元素的前面(如果找到了這樣一個元素的話),否則(即陣列a的所有元素都比input小),則將input儲存到a[9](就是追加到陣列a的後面)。
16樓:匿名使用者
這句迴圈的bai意義是從索引9開始du
向左遍歷元素,直到i=j結束。zhi
整段代dao碼是接收鍵盤輸版入一個值,按大小順序插權入到陣列。
第一個迴圈是從陣列中查詢比輸入值大的位置,如果找到,則i就是命中的索引,如果找不到則迴圈到底,此時i為9(此種情況說明輸入值比陣列中的元素都大,後面輸入值存在尾部),無論是否找到最終將i賦值給j。
第二個迴圈就是從右側開始迴圈逐個將前一個資料往右移,最終將j索引指定的位置騰出空間
最終將輸入值賦值給j指定的位置。
因此整體功能就是按大小順序插入。
17樓:匿名使用者
先令i=9,再在i>j的情況下進行迴圈,每次迴圈結束後i-1
c語言問題。
18樓:暢景彰
void main()
這個程式應該滿足你的要求了,而且我已經通過除錯了。
c語言問題答案
19樓:自我程式設計
9、a=1,b=3,c=2 (必須按scanf格式輸入)10、a[1][1]的值是0 (初值賦值只給了每行第一個元素,其餘元素未指定值,預設0。)
11、1 ( 邏輯表示式)
12、迴圈結構
13、這個題目有問題,變數a,b沒有指定型別,'/'是整除符號整數除以整數,只保留整數部分。浮點數參與運算,就保留小數。
所以這裡如果ab是整數,填0。
如果ab中有浮點數,填0.64。
14、int *p=null;
15、傳值或者傳址
20樓:
9)a=1,b=3,c=2回車。
10)0。
11)1。
12)9。
13)迴圈。
14)0。
15)int *p。
16)值傳遞。
c語言基本問題
21樓:岔路程式緣
一、c語言規定總是從main()開始執行的(這個函式也叫「主函式」)。因此,你發來的題目中的(1、6、8)敘述都是錯誤的,都應該選擇f。
二、第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。
三、第3題,c語言中強制型別轉換,僅對轉換的語句有效,而不會改變所轉換變數的原有資料型別,這是正確的,應該選t。
四、第4題,i=8,j=10;printf("%d,%d,%d,%d\n",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。t的值最後應該是0。
希望對你有所幫助。
22樓:匿名使用者
第一題:f,是從主函式的第一條語句開始執行的。
第二題:t,每一種資料型別在c語言中都佔用固定的位元組數。
第三題:f,強制型別轉換會改變資料型別。
第四題:f,輸出結果為8,10,9,10。
第五題:f,不能被原樣顯示的有預處理命令中被包含檔名(如"stdio.h")、printf函式的轉義字元(如"\n")。
第六題:f,程式執行是從主函式第一條語句開始,執行到主函式最後一條語句結束。
第七題:t的值為0,因為x>10的值為0。
第八題:f,c程式執行從主函式開始。
23樓:匿名使用者
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\n",i,j,++i,j++);其結果9,10,9,10.
//先執行j++,輸出10 再執行++i,輸出9,然後輸出i和j的值,分別是9,10
5. f( t )c語言中放在「」之間的內容都被視為字串的一個構成部分,都可以在螢幕上原樣顯示。
//c語言中放在「」之間的內容都被視為字串的一個構成部分,前半句是正確的
//都可以在螢幕上原樣顯示。不一定,比如有些轉義字元,換行符\n,退格\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程式的執行是從主函式的第一行開始,主函式可以位於程式中的任何地方,不一定是程式的開頭
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...