C語言深入探討考點
吾嘗終日不食,終夜不寢,以思無益,不如學也。以下是小編為大家搜索整理的C語言深入探討考點,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
【考點1】編譯預處理
凡以#開頭的這一行,都是編譯預處理命令行,編譯預處理不加分號,不佔運行時間。宏替換僅是簡單的文本替換,如#define f(x) (x)*(x)和#define f(x) x*x替換f(2+2)時就有區別,前者展開為(2+2)*(2+2),後者為2+2*2+2。
如果源文件f2.c中有#include"f1.c"可以理解為把源文件f1.c原樣包含到f2.c中,使f1.c和f2.c融合到一起成為一個C程序編譯。所以一個C程序必有主函數,但一個C源文件未必有主函數。
【考點2】標識符作用域
局部變量是在函數內或複合語句內定義的變量,作用域為定義它的函數內。局部變量有三種類型:自動auto,寄存器register和靜態static。
自動變量隨着函數的使用與否創建消失;寄存器變量分配在cpu中,沒有內存地址;靜態變量佔用固定存儲單元,在程序執行過程不釋放,直到程序運行結束。
全局變量是在函數外定義的'變量,作用域從定義它的位置到整個源文件結束為止,生存期為整個程序運行期間。全局變量都是靜態變量。
【考點3】動態存儲分配
malloc(size)用來創建size個字節的連續存儲空間,返回值類型為void *型。malloc函數常用於動態創建鏈表結點,如int *p; p=(int *)malloc(sizeof(int));。
calloc(n,size)創建n個同一類型的連續存儲空間,可以理解為n個malloc。
int *p; p=(int *) calloc (10,sizeof(int));。p指向首地址。
free(p)釋放動態分配的存儲單元。
【考點4】main函數的參數
還有main(int argc,char **argv) {}
這種含有參數的題目,是很呆板的題目。第一個參數是表示輸入的字符串的數目,第二個參數是指向存放的字符串。
【考點5】函數指針
函數指針的用法(*f)()記住一個例子:
int add(int x, int y)
{....}
main()
{ int (*f)();
f=add;
}
賦值之後:合法的調用形式為
1、add(2,3);
2、f(2,3);
3、(*f)(2,3);
-
2017年3月計算機二級C語言考試摸底測試題
以下是yjbys考試網小編整理的2017年3月計算機二級C語言考試摸底測試題,希望對大家有所幫助,祝大家計算機二級考試順利通過。一、選擇題(每小題1分。)(1)程序流程圖中帶有箭頭的線段表示的是()。A.圖元關係B.數據流C.控制流D.調用關係(2)結構化程序設計的基本原則...
-
C語言if else語句彙總
對於很多情況,順序結構的代碼是遠遠不夠的,大家都接觸過C語言吧,下面是小編為大家整理的C語言ifelse語句,希望對大家有所幫助。C語言ifelse語句在C語言中,使用if和else關鍵字對條件進行判斷。請先看下面的代碼:#includeintmain(){intage;printf("請輸入你的年齡:");sc...
-
C語言精選面試題詳解
C語言是IT編程中最基礎的語言,在面試中,基本可以忽略又或者格外重要。下面是小編為大家整理的C語言精選面試題詳解,歡迎參考~分析這些面試題,本身包含很強的趣味性;而作為一名研發人員,通過對這些面試題的深入剖析則可進一步增強自身的內功。試題1:以下是引用片段:voi...
-
2017年計算機二級考試C語言備考題及答案
計算機二級對於很多考生來説還是比較有難度的,那麼怎樣順利通過二級考試呢?這就需要大家平時多練習和找方法了。以下是本站小編整理的2017年計算機二級考試C語言備考題及答案,希望對大家有幫助!1.(A)是構成C語言程序的基本單位。A、函數B、過程C、子程序D、子例...