① C語言庫函數是在編譯環境里還是在操作系統里
由庫提供的,即不是編譯器環境也不是系統
編譯器 調用 庫 調用 系統服務
只不過有的編譯器集成了庫,庫並不是編譯器必須攜帶的,所以你可以自己指定庫的位置
② 初學c語言時,輸入程序後運行,是執行還是預編譯預編譯是什麼為什麼最開始要有#include如
預編譯是把一個工程中較穩定的代碼預先編譯好放在一個文件里.這些預先編譯好的代碼可以是任何的C/C++代碼。而輸入程序後的運行,只是將代碼編譯成了obj(object)文件,所有obj文件經鏈接(link)成為可執行文件。而你說的執行,應該就是點擊最後生成的.exe文件了。開始要有的#include,是表明要包含的頭文件,或者其它的保存的代碼文件。只有這樣,你才可以引用到那個文件中的代碼,來供目前的文件來使用。
至於你說的什麼大型游戲的編程,應該也是這樣的一套,因為C語言就是上述生成文件的套路。游戲的編程,初學的話可以建議看《游戲編程入門》( 美 哈本),這本書基於windows平台,是為幾乎沒有游戲開發經驗的初學者寫的,循序漸進,從2D講到3D 的一些基本技術,其中的例子也非常經典,看完書基本就可以做出不錯的2D 游戲了,也有了一定的3D基礎了,之後再看一些深入的書籍像《Windows游戲編程大師技巧》。
③ 二級C語言機考最後一題是不是要運行程序的怎樣用VC運行
最後面的程序題是一般文件操作。這種程序題,需要編譯運行,編譯連接後,只是運行後出來的黑框框沒有任何顯示,是因為它都在文件中操作了,但是這個運行卻是必不可少至關重要。
1.計算機二級C語言考試的流程:
1)筆試:90分鍾,滿分100分,其中含公共基礎知識部分的30分。
2)上機操作:90分鍾,滿分100分。
上機操作包括:
(1) 基本操作。
(2) 簡單應用。
(3) 綜合應用。
2.計算機二級C語言考試內容 :
一、C語言程序的結構
1.程序的構成,main函數和其他函數。
2.頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。
3.源程序的書寫格式。
4.C語言的風格。
二、數據類型及其運算
1.C的數據類型(基本類型,構造類型,指針類型,無值類型)及其定義方法。
2.C運算符的種類、運算優先順序和結合性。
3.不同類型數據間的轉換與運算。
4.C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。
三、基本語句
1.表達式語句,空語句,復合語句。
2.輸入輸出函數的調用,正確輸入數據並正確設計輸出格式。
四、選擇結構程序設計
1.用if語句實現選擇結構。
2.用switch語句實現多分支選擇結構。
3.選擇結構的嵌套。
五、循環結構程序設計
1.for循環結構。
2.while和do-while循環結構。
3.continue語句break語句。
4.循環的嵌套。
六、數組的定義和引用
1.一維數組和二維數組的定義、初始化和數組元素的引用。
2.字元串與字元數組。
七、函數
1.庫函數的正確調用。
2.函數的定義方法。
3.函數的類型和返回值。
4.形式參數與實在參數,參數值的傳遞。
5.函數的正確調用,嵌套調用,遞歸調用。
6.局部變數和全局變數。
7.變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。
八、編譯預處理
1.宏定義和調用(不帶參數的宏,帶參數的宏)。
2.「文件包含」處理。
九、指針
1.地址與指針變數的概念,地址運算符與間址運算符。
2.一維。二維數組和字元串的地址以及指向變數、數組、字元串、函數、結構體的指針變數的定義。通過指針引用以上各類型數據。
3.用指針作函數參數。
4.返回地址值的函數。
5.指針數組,指向指針的指針。
十、結構體(即「結構」)與共同體(即:「聯合」)
1.用typedef說明一個新類型。
2.結構體和共用體類型數據的定義和成員的引用。
3.通過結構體構成鏈表,單向鏈表的建立,結點數據的輸出、刪除與插入。
十一、位運算
1.位運算符的含義和使用。
2.簡單的位運算。
十二、文件操作
只要求緩沖文件系統(即高級磁碟I/O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。
1.文件類型指針(FILE類型指針)。
2.文件的打開與關閉(fopen,fclose)。
3.文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函數的應用),文件的定位(rewind,fseek函數的應用)。
④ C語言中的庫函數是編譯軟體中有的還是操作系統中本身就有的啊
是編譯器帶的庫函數。
操作系統提供最底層的系統調用,而庫函數是對這些系統調用的封裝。
⑤ 怎麼判斷對象是在編譯時刻還是運行時刻執行
int a=4;int b[a]; 錯誤。
const int a=4;int b[a]; 正確。
因為前一種a是可變的,2個語句中間可能有其他語句,比如
int a=4;
a=5;
a=3;
int b[a];
編譯器不肯那麼麻煩的去看你的值變了沒有。
所以規定變數一律不可以。常量一律可以。
所以你如果肯定這個值不變,就用const.
⑥ C代碼咋判斷是「編譯時執行」還是「運行時執行」
如何判斷?其實沒有一個准確的答案。
常量及常量和基本運算符組成的運算表達式,一般是在編譯時做的,
比如,
int a = 3;
int b = 3 + 5;
這里的 3 和 8 通常是由編譯器運算完成後固化到代碼中的,但是a 和 b 兩個變數的位置,則是運行時確定的,由線程棧的地址確定,程序中只有一個偏移的多少個位元組的標記。
sizeof() 編譯運算符,是用於取其內的變數的類型或一個指定的類型 在 線程棧上佔用的 位元組數,比如在32位機上
int* p;
p = (int*)malloc(1000);
sizeof(p) 的值為4 ,因為p的類型就是一個指針,而在32位機里,指針的長度就是4個位元組。
傳給sizeof 編譯運算符號的,必須是一個明確的類型。
一般有函數調用的,都是運行時執行的,通常編譯器不會把函數優化掉。
一般作用於棧上的操作,又沒有函數調用的,是在編譯時優化處理的。