C語(yǔ)言入門(mén)篇--函數(shù)及數(shù)組用法
面向過(guò)程編程:C語(yǔ)言是面向過(guò)程的語(yǔ)言;在C語(yǔ)言中,把大部分的功能以一個(gè)個(gè)函數(shù)呈現(xiàn),就稱之為面向過(guò)程編程;
函數(shù)
是面向過(guò)程編程最關(guān)鍵的語(yǔ)法結(jié)構(gòu)。
1.函數(shù)的作用
1.從工程上講,函數(shù)可以讓我們的代碼更具有結(jié)構(gòu)性,讓代碼更好看。
2.函數(shù)可以提升代碼的可維護(hù)性。即若代碼出問(wèn)題,只需要找到哪個(gè)函數(shù)出問(wèn)題,則可基于此函數(shù)調(diào)試,而其他函數(shù)不受影響。
2.函數(shù)的構(gòu)成
(1)返回值
得到并返回函數(shù)最后的結(jié)果。
返回值可以為void即啥也不返回。
(2)函數(shù)名
見(jiàn)名知意,一般得遵循大小駝峰式命名。
大駝峰:每一個(gè)單詞的首字母都大寫(xiě)。
小駝峰:第一個(gè)單詞的首字母小寫(xiě),后面的單詞的首字母全部大寫(xiě)。
(3)形參列表
接收參數(shù)即接收實(shí)參傳來(lái)的值。
(4)函數(shù)體
實(shí)現(xiàn)函數(shù)的核心邏輯。
舉例
#include <stdio.h> int MyAdd(int _x, int _y) { int _z = _x + _y; return _z; } int main() { int x = 0; int y = 0; printf("請(qǐng)輸入數(shù)據(jù)<x,y>:"); scanf("%d %d", &x, &y); int result = MyAdd(x, y); printf("result:%d\n",result); return 0; }
數(shù)組
數(shù)組是一組相同數(shù)據(jù)元素類型的集合。
數(shù)組中的數(shù)據(jù)元素在物理上是放在連續(xù)的存儲(chǔ)空間里。
1.定義數(shù)組
1.1不進(jìn)行初始化
int a[10];
char b[10];
!注意
(1)數(shù)組未初始化,則其內(nèi)部數(shù)據(jù)元素的值為隨機(jī)值。
(2)a,b為數(shù)組名,10為數(shù)組最多元素個(gè)數(shù)。
(3)數(shù)組下標(biāo)從0開(kāi)始,數(shù)組元素訪問(wèn)是用下標(biāo)形式訪問(wèn)的,即a[10]代表a[0]~a[9]這10個(gè)元素。
(4)在訪問(wèn)數(shù)組是一定不能讓數(shù)組下標(biāo)越界,否則會(huì)造成程序崩潰等問(wèn)題。
(5)數(shù)組的[ ]內(nèi)只能是常數(shù)!
1.2進(jìn)行初始化
int a[10]={1,2,3,4,5};
(1)a數(shù)組前五個(gè)元素被初始化,未被初始化的地方默認(rèn)初始化為0
(2)若想給數(shù)組中的元素全部初始化為0,則可以寫(xiě)成int a[10]={0};
1.3不給定數(shù)組元素個(gè)數(shù)
int a[ ]={1,2,3,4,5};
編譯器會(huì)自動(dòng)根據(jù)初始化的個(gè)數(shù)來(lái)自動(dòng)確定數(shù)組中元素的個(gè)數(shù)。
2.數(shù)組的經(jīng)典用法
2.1求數(shù)組大小、元素大小、元素個(gè)數(shù)
#include <stdio.h> int main() { int arr[] = { 1, 2, 3, 4, 5 }; printf("%d\n", sizeof(arr));//求整個(gè)數(shù)組的大小 printf("%d\n", sizeof(arr[0]));//求數(shù)組中某個(gè)元素的大小 printf("%d\n", sizeof(arr) / sizeof(arr[0]));//求數(shù)組元素的個(gè)數(shù) return 0; }
2.2遍歷
#include <stdio.h> int main() { int arr[] = { 1, 2, 3, 4, 5 }; int num = sizeof(arr) / sizeof(arr[0]); //遍歷 int i = 0; for (; i < num; i++) { printf("arr[%d]:%d\n", i, arr[i]); } return 0; }
以上就是C語(yǔ)言入門(mén)篇--函數(shù)及數(shù)組用法的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 嵌入式項(xiàng)目使用C語(yǔ)言結(jié)構(gòu)體位段特性實(shí)現(xiàn)斷言宏校驗(yàn)數(shù)據(jù)范圍有效性的方法
- 整理C語(yǔ)言中各種類型指針的特性與用法
- C++在C語(yǔ)言基礎(chǔ)之上增強(qiáng)的幾個(gè)實(shí)用特性總結(jié)
- 奇怪的C語(yǔ)言特性
- C語(yǔ)言基于考研的棧和隊(duì)列
- C語(yǔ)言的數(shù)組與指針可以這樣了解
- C語(yǔ)言 聯(lián)合(union)用法案例詳解
- C語(yǔ)言中bool變量的深入理解
- C語(yǔ)言入門(mén)篇--局部全局變量的作用域及生命周期
- C語(yǔ)言完整特性詳情
相關(guān)文章
C/C++ 中sizeof(''a'')對(duì)比詳細(xì)介紹
這篇文章主要介紹了C/C++ 中sizeof('a')的值對(duì)比詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-02-02Qt+Quick實(shí)現(xiàn)播放音樂(lè)和視頻的開(kāi)發(fā)
這篇文章主要為大家詳細(xì)介紹了如何利用Qt+Quick實(shí)現(xiàn)播放音樂(lè)和視頻的開(kāi)發(fā),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03VS2022 無(wú)法打開(kāi)源文件“stdio.h”問(wèn)題解決
本文主要介紹了VS2022 無(wú)法打開(kāi)源文件“stdio.h”問(wèn)題解決,文中通過(guò)圖文的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06求素?cái)?shù),用vector存儲(chǔ)的實(shí)現(xiàn)方法
本篇文章是對(duì)求素?cái)?shù),用vector存儲(chǔ)的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05淺析C語(yǔ)言中strtol()函數(shù)與strtoul()函數(shù)的用法
這篇文章主要介紹了淺析C語(yǔ)言中strtol()函數(shù)與strtoul()函數(shù)的用法,注意其將字符串轉(zhuǎn)換成long型的區(qū)別,需要的朋友可以參考下2015-08-08C++ 基于BFS算法的走迷宮自動(dòng)尋路的實(shí)現(xiàn)
這篇文章主要為大家介紹了C++ 基于BFS算法實(shí)現(xiàn)走迷宮自動(dòng)尋路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11C語(yǔ)言?使用qsort函數(shù)來(lái)進(jìn)行快速排序
排序方法有很多種:選擇排序,冒泡排序,歸并排序,快速排序等。?看名字都知道快速排序是目前公認(rèn)的一種比較好的排序算法。因?yàn)樗俣群芸?,所以系統(tǒng)也在庫(kù)里實(shí)現(xiàn)這個(gè)算法,便于我們的使用。?這就是qsort函數(shù)2022-02-02