-
#include
main()
int a[4];定義乙個整數陣列。
int i,j;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
上面的 for 迴圈通過鍵盤為陣列元素 a[0]、a[1] 和 a[2] 賦值。 當迴圈退出時,i 的值為 3
a[i]='\0';將 a[3] 的值指定為 0,注意字元'\0'ASCII 程式碼值為 0
for(i=0;i<2;我++)外迴圈 i 的值依次為 0 和 1
for(j=i+1;j<3;j++) 內迴圈,當 i=0, j=1, 2, 當 i=1, j=2 時
if(a[i]a[i]+=a[j];等價於 a[i]=a[i]+a[j];
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
這是兩層迴圈的結束。
for(i=0;i<3;我++)此迴圈用於輸出陣列的前三個元素:a[0]、a[1] 和 a[2]。
printf("%-3d",a[i]);輸出格式左對齊,寬度為3,如果寬度超過3,將自動斷開。
這是週期的結束。
printf("");最後,輸出換行符。
-
press any key to continue
我不明白**到底是幹什麼用的。 有關具體操作,請參閱注釋。
#include
int main()
int a[4];
int i,j;
for(i = 0;i < 3;i++)scanf("%d",&a[i]);從鍵盤讀取 3 個整數。
a[i] = '\0';一點也不。
for(i = 0;i < 2;i++)
for(j = i + 1;j < 3;j++)
if(a[i] a[i] += a[j];等價於 a[i] = a[i] + a[j].
a[j] = a[i] -a[j];也就是說,a[j] = a[i]。
a[i] = a[i] -a[j];a[i] 保持不變。
總體而言,如果 a[i] for(i = 0; i < 3;i++)printf("%-3d",a[i]);
printf("");
return 0;
-
我想給大家推薦乙個學習程式設計的地方,那裡的程式設計教父很受歡迎,學習程式設計很受歡迎,一定會讓你在學習上有所用處。
搜尋程式設計教父,可以直接找到。
-
<> “I. 賦值的初始化。
很多人都知道這是靜態初始化陣列的方法:int fibs[1=,C99 標準實際上支援一種更直觀、更簡單的方法來初始化各種不同的集合資料(例如,結構體、聯合和陣列)。
2. 陣列。 我們可以指定要初始化的陣列元素。 這非常有用,尤其是當我們需要根據一組定義同步更新某種對映時。
現在,假設我們想為每個錯誤程式碼提供一串錯誤描述。 為了確保陣列是最新的,我們可以使用此陣列指定的語法,而不管對頭檔案進行了任何更改或新增。
這允許您靜態分配足夠的空間並確保最大索引有效,同時將特殊索引初始化為指定值,將其餘索引初始化為 0。
3. 結構和聯盟。
使用 structs 和 union 的欄位名稱初始化資料很有用。 假設我們定義了 :struct point,然後我們初始化了 struct point:
truct point p {.x 3,.y 4,.
z 5];當我們不想將所有字段初始化為 0 時,這可以很容易地在編譯時生成結構,而無需呼叫初始化函式。 對於聯盟,我們可以使用相同的方法,只是我們只需要初始化乙個字段。
第四,巨集觀列表。
C 語言中常見的方法是說有乙個命名實體列表,您需要為每個實體建立函式,初始化每個實體,並在不同的模組中擴充套件它們的名稱。 這在墨子訓練的原始碼中經常用到,當時我就學會了這個技術。
例如,在我去年夏天參與的那個專案中,我們為每個命令標記了乙個巨集列表。 它定義了乙個標誌列表巨集,該巨集具有乙個稱為引數本身的引數,該巨集可以呼叫列表中的每個引數。
5. 編譯時斷言。
這實際上是乙個非常“有創意”的功能,使用 C 巨集實現。 有時,尤其是在對核心進行程式設計時,能夠在編譯時有條件地檢查斷言,而不是在執行時進行平衡,這很有用。 不幸的是,C99 標準不支援任何編譯時斷言。
但是,我們可以使用預處理來生成 **,它只會在某些條件為真時通過編譯(最好是那種實際上不執行該功能的命令)。 有多種不同的方法可以做到這一點,通常是通過構建負大小的陣列或結構。
-
這個問題的目的是獲取給定字串中“2”的冪的數字字元,並將它們組合成乙個整數進行輸出。 請注意以下事項:
1.趣味函式的作用是判斷引數x,t在迴圈中以2個平方的形式增長,2到3次方,2到4次方,如果x等於t,則設定標誌為1,因為在C語言中,非0值表示“true”, 然後通過 fun 函式返回的標誌值,你就會知道引數 x 是否是 2 的 n 次方。
2. 在 main 函式中,傳遞引數為“p[i]-'0'p[i] 表示 str1 中第 i 位上的字元,字元'0'減去得到對應於 p[i] 字元的整數。
3、s=s*10+(p[i]-'0'),即將滿足條件的字元轉換為相應的整數,並從高到低形成乙個新數。即 s=0*10+8....s=8*10+4...
s=84*10+2...s=842
-
你沒有寫出你的答案......嗎?
-
問題 46:選擇 C。
for 語句:初始化,x=0,y=10;接下來,y>0&&x<4 被判定為真,因此重複迴圈; 如果 x++,y--, x=1 且 y=9,則 y>0&&x<4 為真。 繼續到第 4 次,當 x=3 且 y=7 時,y>0 為 true,但 x<4 為 false,&&& 是邏輯和關係,因此 y>0&&x<4 為 false。
問題 47:選擇 C。
當 (i++<4) 執行到 3 時,因為它是 i++,所以它先參與判斷,i=3,i<4,所以它繼續執行,i=4,那麼 i<4 被判定為假,迴圈不會執行,但在判斷之後,要執行 ++,所以 i 的結果為 5。
問題 48:選擇 D。
在第乙個 do 結束時,x=4,y=2,繼續執行。
在第二個 do, x=2, y=1, x>y 結束時,繼續執行。
第三個迴圈,x=2,y=0,x>y,繼續迴圈,第四個迴圈。 出了點問題,分母是 0,溢位。
問題 49:選擇 C。
我認為這是不確定的。 資料定義沒有錯,有初始化,可以省略行,在這種情況下,行為是 4,相當於 char a[3]20]。a[30] 指向乙個位址? 也請諮詢。
問題 50:選擇乙個
和指標一樣,教科書上有很多用指標當引數,用普通變數當引數的例子,陣列傳遞位址,對它的運算直接影響陣列中每個元素的值。
要想成為乙個好學生,你必須依靠自己...... 呵呵。。
祝你好運。
C語言是編寫系統軟體的語言,應用軟體,如Windows和DOS,都是用C語言編寫的。 用C語言編寫程式需要編譯器將C格式語言轉換為機器指令,這樣才能控制計算機的執行。 Tuborc 是 DOC 下的 C 環境,VC 是 Windows 環境下的 C 環境。