c語言的問題

時間 2022-06-29 10:00:16

1樓:匿名使用者

巨集定義一、不帶引數的巨集

格式:#define 標示符 字串

例如,#define pi 3.1415

它的作用為:在程式中用標示符pi代替"3.1415"這個字串,這個替代是在編譯預處理時進行的.

舉例#define pi 3.1415

main()

說明:1.巨集名一般都用大寫字母表示;

2.巨集定義只是用巨集名替代一個字串,減少了在程式中書寫某些字串的工作量,只是一個簡單的代替,不作語法檢查;

3.巨集定義不是語句,不必再其後加上";";

4.#define命令出現在函式的外面,它的有效範圍是定義之後到本原始檔的結束;

5.可以使用#undef命令終止巨集定義的有效範圍;

6.在巨集定義中可以進行多層的替代.

#definre r 3.0

#define pi 3.1415

#define l 2*pi*r

#define s pi*r*r

main()

二、帶引數的巨集的定義

這種巨集的代替不是簡單的字串的替代,而是引數的替換.格式:

#define 巨集名(參數列) 字串

例如,#define s(a,b) a*b

….area=s(3,2);

替代時的過程為:

舉例#define pi 3.1415

#define s(r) pi*r*r

main()

說明:1.對於帶引數的巨集的依就是用實際引數代替巨集定義時的形式引數;

2.在巨集定義時,巨集名與帶引數的括號之間不應加空格,不然的話,空格也作為字元的組成部分;

3.在巨集代換時,不應人為地加上括號.

舉例:分析程式寫出結果.

#define m 3

#define n m+2

#define s(n) n*n*n

main()

172 檔案的包含處理

"檔案的包含處理"是將一個原始檔的內容完全包含在另一個檔案之中."檔案的包含"是很有用的命令,它可以節省程式編制人員的重複勞動,對於頻繁使用的程式模組可以編製成一個獨立的檔案,當用到這個模組時,只要使用#include命令將其包含進來就可以了,被包含進來的檔案在包含檔案中相當於得到原始檔的一份拷貝,例如我們前面反覆使用的#include 它是將所有的c的輸入輸出庫函式都包含進來的意思.

關於檔案包含的說明:

1. 包含命令中的檔名可以用雙引號括起來,也可以用尖括號括起來。例如以下寫法都是允許的:

#include"stdio.h"

#include

但是這兩種形式是有區別的:使用尖括號表示在包含檔案目錄中去查詢(包含目錄是由使用者在設定環境時設定的),而不在原始檔目錄去查詢;

使用雙引號則表示首先在當前的原始檔目錄中查詢,若未找到才到包含目錄中去查詢。使用者程式設計時可根據自己檔案所在的目錄來選擇某一種命令形式。

2. 一個include命令只能指定一個被包含檔案,若有多個檔案要包含,則需用多個include命令。

3. 檔案包含允許巢狀,即在一個被包含的檔案中又可以包含另一個檔案。

2樓:匿名使用者

巨集就是一種有運算能力的替代.

3樓:禹說

去這看下..看有沒收穫

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

c語言的問題,C語言問題?

魘傳說 這個 的作用就是利用do while將陣列算出來,然後利用for迴圈遍歷,倒序輸出陣列。我感覺很奇怪,devc 出來的結果是10010。我算出來的結果應該是00010,因為強轉int型別應該是取0的,而不是取1.然後我用c 試了多個數字,發現所有的結果都是以1開頭,至於為什麼我也不知道,希望...

C語言的問題,C語言的問題

布什不死 在vc 下沒有問題 改過你存在的問題後 include void main 你的程式 錯誤地方太多,當然得不到正確 結果你能通過 編譯?你在什麼 環境下執行的?正確的應該是 include int main scanf 是輸入函式,n換行符是針對輸出函式 printf來說的! 浩星浦秋梵 ...