計算機二級C語言備考選擇題筆記(一)

2021-10-05 02:08:38 字數 3752 閱讀 7899

為了督促備考而做的筆記, 供參考複習使用.

資料庫管理系統是系統軟體,不是系統.

若有double a=22;int i=0,k=18;, 則i=a%11;不符合c語言規定.

因為取模運算子%的左右兩個運算元均應為整數.

我們知道整形可以被自動轉換為float或者double,但是反過來是不行的,所以你要是想用上面的語句的話,需要加強制型別轉換,即:i=(int)a%11;

程式流程圖中帶箭頭的線段表示控制流,資料流程圖中帶箭頭的線段表示資料流,容易弄混,切記

二叉樹的遍歷分為以下三種:

先序遍歷:遍歷順序規則為【根左右】

中序遍歷:遍歷順序規則為【左根右】

後序遍歷:遍歷順序規則為【左右根】

軟體生命週期.

需求分析階段可以使用的工具有資料流圖dfd圖,資料字典dd,判定樹與判定表

自然連線就是把兩個表中相同屬性"銜接",屬性值相同的就保留下來,如果屬性值不相同則去掉,注意,連線後的表的屬性值個數為原來兩個表的屬性之和減去公共屬性的個數,如果兩個表沒公共屬性則自然連線就是笛卡爾乘積

z=x++,y++,++y;因為賦值運算子的優先順序高於逗號運算子的優先順序,所以可以將上式表示成(z=x++),(y++),(++y)

char a='a'+'8'-'4';得到a是e,雖然數字對應ascii碼不是它本身,但是』8』-'4』肯定是4沒跑了

#include

int main void()

輸出結果為0!! 因為else總和最近的if配對(還以為在迷惑我)

全域性變數的作用域是從宣告處到檔案的結束,由具體定義位置和extern說明來決定範圍

可以用typedef將已存在的型別用乙個新的名字來代表。關鍵字typedef的作用只是將c語言中的已有的資料型別作了置換,並不是增加新的型別在變數作函式引數時,所進行的值傳送是單向的。即只能從實參傳向形參,不能從形參傳回實參。形參的初值和實參相同,而形參的值發生改變後,實參並不變化,兩者的終值是不同的。而當用陣列名作函式引數時,情況則不同。由於實際上形參和實參為同一陣列,因此當形引數組發生變化時,實參陣列也隨之變化。

rand()會返回乙個範圍在0到rand_max(至少是32767)之間的偽隨機數(整數)。在呼叫rand()函式之前,可以使用srand()函式設定隨機數種子,如果沒有設定隨機數種子,rand()函式在呼叫時,自動設計隨機數種子為1。隨機種子相同,每次產生的隨機數也會相同。

continue語句只用於迴圈語句,不用於switch語句。在某個迴圈包含的switch語句中的continue語句,將導致進入下一次迴圈。(使用break將跳出本switch但仍將執行for迴圈的剩餘語句;使用continue則直接跳至i++進行下一次for迴圈執行)

exit函式中的實參是返回給作業系統,表示程式是成功執行結束還是失敗執行結束。對於程式本身的使用沒有什麼太實際的差別。習慣上,一般使用正常結束程式exit(0)。 exit(0):正常結束程式執行,exit(非0):非正常結束程式執行。

c語言在函式間傳遞引數時,形參的變化是不會改變實參的值的。因為形參與實參的記憶體單元不同,所以,只是值傳遞,並不能直接進行值修改。

c語言中的變數

auto:函式中的區域性變數,動態地分配儲存空間,資料儲存在動態儲存區中,在呼叫該函式時系統會給它們分配儲存空間,在函式呼叫結束時就自動釋放這些儲存空間。

register:為了提高效率,c語言允許將區域性變數的值放在cpu中的暫存器中,這種變數叫"暫存器變數",只有區域性自動變數和形式引數可以作為暫存器變數。

extern:外部變數(即全域性變數), 是在函式的外部定義的,它的作用域為從變數定義處開始,到本程式檔案的末尾。如果外部變數不在檔案的開頭定義,其有效的作用範圍只限於定義處到檔案終了。

static:靜態區域性變數屬於靜態儲存類別,在靜態儲存區內分配儲存單元。在程式整個執行期間都不釋放。

sizeof(p),計算的是陣列p中所有元素所占用的位元組數,而不是char型資料所佔位元組數。

#include

#define pt 3.5 ;

#define s(x) pt*x*x ;

main()

輸出結果是?

巨集定義不是c語句,末尾不需要有分號。所以語句printf("%4.1f\n" , s(a+b));展開後為printf("%4.1f\n" ,3.5;*a+b*a+b;);所以程式會出現語法錯誤。

單引號也能引多於乙個字元的字串,結果與編譯器有關,不是字串中的第乙個字元的值。

⬇下圖參考自…

除了c++的引用型別引數,c/c++的任何函式的形式引數都是區域性變數,和普通的函式內自動變數一樣是自動儲存類物件,具有自動儲存期(一般實現中也在棧上),在退出函式作用域時自動被釋放,區別只不過在引數列表中通過實參按值傳遞(複製)給形參進行初始化,而不是在函式體內初始化而已。

實現保留三位小數,第四位四捨五入的程式x=(int)(x*1000+0.5)/1000fread(void *buffer, size t size, size t count, file *stream);功能是從乙個檔案流中讀資料,讀取count個元素,每個元素size位元組,如果呼叫成功返回count。buffer :用於接收資料的記憶體位址,大小至少是 size*count 位元組;size :單個元素的大小,單位是位元組;count :元素的個數,每個元素是size位元組;stream :輸入流。

預處理命令是以「#」號開頭的命令,它們不是c語言的可執行命令,這些命令應該在函式之外書寫,一般在原始檔的最前面書寫,但不是必須在起始位置書寫。語言的預處理能夠實現巨集定義和條件編譯等功能。

c語言在函式間傳遞引數時,形參的變化是不會改變實參的值的。

malloc動態記憶體申請

int s=0;

void

*p;while

(p=malloc

(100

*1024

*1024))

printf

("向系統申請了%fg的空間\n"

,s*100

/1024.0);

free

(p);

位運算子

中文名稱

英文名稱

運算子與

and&或or

|

異或xor^取反

not~

或非nor

與或nand

帶引數的巨集就像個函式

計算機二級python備考筆記(六)

集合型別 無序,唯一,集合型別 序列型別 向量,有序,字串型別和列表型別,元組型別 對映型別 鍵 值,字典型別 集合型別 0或多個資料項的無序組合 表示,無索引,動態 不可重複,使用集合去重 靜態資料型別放入,整數 浮點 字串 元組 s print s 操作符 差 交 並 補 操作函式 s.add ...

計算機二級筆記(二)

組合資料型別 一.列表 list 1,3,5,7,9 print list 1,3,5,7,9,11 若要在指定位置新增元素,則使用insert 函式insert 函式有兩個引數,第1個表示插入位置,第2個表示插入的元素,如在第3個位置插入元素6 list 1,3,5,7,9 list.insert...

計算機二級c

include include define n 10 double fun double x,double y double x 效果和 double x一樣 void main printf n printf 平均數是 2f n fun x,y 注意 因為陣列y大小為n,但陣列y一定用不完,沒有...