C 幼兒園 3 陣列與函式

2021-07-26 14:59:58 字數 3848 閱讀 8207

春節歇了幾天之後就不想幹活了

果然,人不做事..就會變懶。

慣例先說說上次

把這當成三個語句而不是兩個。

雖然說else if看上去就是else+if

else if佔一行

else

if()

else

if()

else + if 就要佔兩行了,自動縮排之後,多級就會變得很臃腫

else

if()

else

if()

別老用abc xyz了,更不要abc xyz abc xyz一起上,我看著都頭大,寫程式畢竟不是做數學題(而且別學教程啊,教程只是為了方便)

可以有如下替換(用有實際意義的單詞):

grade credit mark point number(num) result sum temp(temporary)

這種名字怎麼起,現階段原則是,開心就好...

另外,一般見到xy都是座標

abc做臨時變數也是可以的,所以gpa計算器裡寫abc也將就吧(用來記錄臨時的值)

介紹一種常用的駝峰命名法:

int i; //或者j,k.用作迴圈變數或跳出迴圈條件

int temp; //臨時記錄

double chaochaolength; //超超身高,注意分成3個語塊,第一塊首字母小寫,其他塊首字母大寫

bool ishebull****; //bool型可用「is」開頭,同上注意大小寫

const

int max_length;//常量,全大寫,用下劃線區分語塊

class gaygay //每塊首字母都大寫

;

下面講正題

顧名思義,就是一組數,可以是任何型別的

這組數有序儲存,且可重複(陣列與集合概念相對,集合無序且不可重複)

陣列的定義:資料型別 陣列名[常量]

int a[5]; //陣列a可包含5個數

a[0] = 1; //這裡a[0]表示陣列a的第乙個數

a[4] = 5; //將陣列a的最後乙個數賦值 5

/**就是說我們定義a[5]的這個「5」表示有5個數

*訪問時從下標0開始,a[0] a[1] a[2] a[3] a[4]

*///上面只給2個數賦值了,其他數是多少?把整個陣列輸出出來看看

for (int i = 0; i < 5; i++)

int b[3] = ; //陣列初始化

int c = ; //直接賦值時不需宣告陣列大小

int x = 6;

int d[x]; //敲黑板,劃重點

const

int y = 6;

int e[y];

偷懶貼個教程,請認真閱讀

有一維陣列肯定就有多維陣列了,跟一維陣列同理,就是陣列套陣列

寫得挺好的,嗯,請認真閱讀

補充:

函式在被呼叫的時候,它所表示的值就是返回值,可以被當做普通變數,做賦值,判斷等操作

#include 

using

namespace

std;

int square(int x) //

void main()

bool b = square(1); //b被賦值為true了

}

也就是c++的創造者寫好的函式

會用系統函式能節省大量時間

但有時候需要知道那些函式怎麼實現的(提公升自己or避免因未知原理而可能出現的問題)

遺憾的是c++中貌似不能方便地利用ide的「轉到定義」檢視系統函式體。

下面列舉一些常用的,請眼熟他們的名字,不僅c++,其他語言的這些函式名字也都大同小異

函式解釋

標頭檔案sqrt()

求平方根

cmath

abs()

求絕對值

cmath

sin(),cos(),tan()

exactly what you think

cmath

ceil(),floor()

天花板(地板):不小(大)於該值的最小(大)整數

cmath

log(),log10()

分別表示ln

x 和lo

g10x cmath

tolower(),toupper()

轉換成小寫\大寫字母

iostream

time()

返回1970/1/1零點到目前的秒數

ctime

rand(),srand()

隨機數相關

iostream

老生常談的問題

首先需要知道,c++程式是按順序執行(編譯)的,一句一句,直到條件控制、跳轉語句。也就是說下面的一段程式是錯誤的

int a=b;

int b=1;

c++中,一對大括號內的區域稱為乙個作用域,該作用域內宣告的變數,對域外不可見

所以,程式執行過乙個作用域之後,該域內宣告的變數會消失(記憶體釋放)

但是,在域外(特指作用域前)宣告的變數,在作用域內做的改變會保留

試試看下面的**

void main()

cout

<< a;

cout

<< b;

}

在域外已經不存在b這個變數了,但是域內對a做的改變仍然保留

函式有一對大括號,然而並不能跟作用域等同

比如

void nega(double x)

void main()

x沒有改變,因為在nega()的這個括號裡,double x就是乙個新的變數了(簡稱「新x」),它的值為呼叫時的6,也就是「老x」的

也就是說,呼叫的時候,僅僅是把x的值傳了進去,函式體內的x相當於乙個備份,對這個備份做任何操作,無法影響「老x」。

今天就先做對它們做初步的介紹

如「陣列怎麼作為函式的引數」,「怎麼用函式交換兩個實參的值」之類的問題,等學習了指標的內容之後就會明白。

(以上兩個問題即位址與值問題)

請自己在下面練習一下怎麼使用陣列與函式。

void test(int arr, int

length)

可以傳陣列進函式,用length表示陣列長度

小作業(不用交):

宣告乙個 int 型陣列(亂序),對其元素進行排序

如 原陣列 0 7 9 5 1 3

排序後 0 1 3 5 7 9

整個過程可寫在main函式中,不需另寫函式

把之前的作業「gpa計算器」和「輸出質數」變成函式,從main函式裡分離出來

要求:

gpa計算器:無輸入,返回值為計算所得gpa

輸出質數:輸入整數n,輸出從0到n的質數,無返回值

並在main函式中呼叫上面兩個函式

C 函式幼兒園級基礎知識

作用 將一段 封裝起來 把乙個較大的程式,分為幾個特定的模組 語法 返回值型別 函式名 引數列表 語法 函式名 引數 注意1 如果函式不需要返回值,宣告可以寫void。注意2 做值傳遞時,形參發生變化並不會影響到實參。1 無參無返 2 有參無返 3 無參有返 4 有參有返 作用 告訴編譯器如何呼叫函...

與幼兒園小朋友一起過感恩節心得

許多孩子只知被愛,不知感恩 只知索取,不知奉獻 只知攀比,不知回報。對於幼兒存在的這些問題,本學期我們班級結合園級感恩課題對幼兒進行感恩教育,以下是我們實施過程中的一些做法與感受 1 教師表率,言傳身教 要讓幼兒學會感恩,首先教師要做到尊敬家長,尊敬其他老師,當接受別人的幫助,包括得到幼兒的幫助時要...

C 動物園(虛函式與多型)

題目描述某個動物園內,有老虎 狗 鴨子和豬等動物,動物園的管理員為每個動物都起了乙個名字,並且每個動物都有年齡 體重等資訊。每到餵食的時候,不同的動物都會叫喚 speak 每種動物的叫喚聲均不同,老虎的叫喚聲是 aooo 狗的叫喚聲是 wangwang 鴨子的叫喚聲是 gaga 豬的叫喚聲是 hen...