C語言概論(3)

2021-10-09 04:16:33 字數 2376 閱讀 9028

1.函式

首先對函式進行一下介紹

前面講了int main()是程式的主函式,也是乙個程式的起點,但是乙個程式所要完成的任務不能全部在主函式中完成,這就需要自己建立子函式來完成任務。

int這部分表示函式的返回值,需要返回什麼樣的資料型別,用不同的關鍵字表示,如果沒有返回值,用void來代替。

函式名可以根據自己的意願來命名,通常用與函式所完成任務有關的字元來命名,比如圖中的函式需要完成的工作是得到最大值,則函式名就用get_max來表示。

函式中的引數分為兩種,在子函式中的函式,即int x,int y叫做形參,主要用於子函式中,而在主函式中使用子函式時傳遞的引數叫做實參,也就是實際引數。前面的int表示引數的資料型別,通常使用時傳遞的引數的資料型別要和定義的相同。

在這裡舉乙個例子,在乙個函式中求最大值

#define _crt_secure_no_warnings 1

#include

intget_max

(int x,

int y)

;int

main()

intget_max

(int x,

int y)

else

}

對於函式最重要的是其通用性,也就是說這個函式的使用場合不是單一的,可以用在其他不同的地方,這樣子這個函式才是比較好的。

注意乙個問題:就是建立函式的放置位置問題,有很多人有疑問,函式放在前面和後面有什麼區別?

a.如果想把函式的具體內容放在主函式的後面,要在前面進行宣告,也就是放在開頭,讓編譯器知道你要用到這個函式。

b.如果不想宣告,就把函式的具體內容放在需要用到的地方之前,使編譯器知道函式的用處。

如果不宣告就放在後面,編譯器就會發出警告,程式執行可能不會出錯,也有可能會出錯,這就是弊端。

2.陣列—一組數的集合

陣列是一組相同型別元素的集合

a.陣列的定義

int arr[10]=;

這個是完整的初始化,也就是每乙個元素在最開始都有對應的元素

int arr[10]=;

這是不完整的初始化,只初始化了前5個元素,剩下的元素自動補0。

b.陣列的使用

陣列的第乙個下標是從0開始的,而陣列的使用正是利用下標來完成的。

比如列印陣列中的每乙個元素

#define _crt_secure_no_warnings 1

#include

intmain()

;for

(i =

0; i <

10; i++

)printf

("%d "

, arr[i]);

return0;

}

i從0開始遞增一直到9,arr[i]就是對陣列的使用,這樣子結果可以從陣列的第乙個元素列印到最後乙個元素。

3.算術操作符

這裡有乙個注意的問題

printf("%d",7/2);

得到的結果為3而不是3.5,這是為什麼呢?

這是因為7和2都是整數,得到的還是整數

那麼如果把%d改為%f呢?

結果為0.00000,這是因為7和2是整數,結果只能時整數。

解決方法:把7/2寫成7.0/2或者7/2.0或者7.0/2.0,只要除數和被除數有乙個為小數,則結果就是小數。

4.移位操作符

a>>1 把a的值向右移動一位,本質上移動的是a的二進位制位

a<<1 把a的值向左移動一位,本質上移動的是a的二進位制位

5.位操作符

& 按(二進位制)位與

^ 按(二進位制)位異或

| 按(二進位制)位或

6.單目操作符

7.關係操作符

8.邏輯操作符

C語言概論(2)

1.變數和常量 在c語言中,恆定不變的值叫做常量 變化的值稱為變數 1 變數 a.如何定義?在使用變數之前,要對需要用到的變數進行定義 型別 變數名 賦值 型別也就是你所定義的變數的資料型別,int代表整形 double代表雙精度浮點型 float代表單精度浮點型 long代表長整型 short代表...

資訊保安概論總結 3

2017年11月13日 星期一 10 33 機密性,完整性,可認證性,不可抵賴性 機密性 既保護訊息內容不會洩露給非授權的的人,即使攻擊者觀測者看到了訊息的格式,也無法從中提取出任何有效的資訊。認證性 是最重要的性質之一,認證是對主體進行身份識別非過程。完整性 是指保證訊息的內容沒有收到篡改 不可抵...

資訊保安概論總結 3

2017年11月13日 星期一 10 33 機密性,完整性,可認證性,不可抵賴性 機密性 既保護訊息內容不會洩露給非授權的的人,即使攻擊者觀測者看到了訊息的格式,也無法從中提取出任何有效的資訊。認證性 是最重要的性質之一,認證是對主體進行身份識別非過程。完整性 是指保證訊息的內容沒有收到篡改 不可抵...