最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C語(yǔ)言程序設(shè)計(jì) 浙江大學(xué):翁愷

2023-01-02 23:40 作者:11122222222111  | 我要投稿

7、1 函數(shù)的定義和使用

一、初見函數(shù)

1、

例1

( 素?cái)?shù)(prime)求和 )

藍(lán)色部分:判斷是否為素?cái)?shù)

功能非常單純

改后:

  • 定義自己的函數(shù)
  • 簡(jiǎn)化主函數(shù)



2、

例2






二、


2、return 語(yǔ)句



  • (多個(gè)return語(yǔ)句,沒錯(cuò)但不好,不符合單一出口的要求,出口太多不好修改)

?
7.1函數(shù)的定義和使用 - 從函數(shù)中返回(SHD) P70 - 06:30
?


  • ?
    7.1函數(shù)的定義和使用 - 從函數(shù)中返回(SHD) P70 - 07:30
    ?



/////////////////////////////////////

7、2函數(shù)的參數(shù)和變量

////////////////////////////////////

/// 一、

?
7.2函數(shù)的參數(shù)和變量 - 本地變量定義... P72 - 00:02
?



2、***

?
7.2函數(shù)的參數(shù)和變量 - 本地變量定義... P72 - 01:20
?


·例


3.


?
7.2函數(shù)的參數(shù)和變量 - 本地變量定義... P72 - 05:32
?

a、【塊內(nèi)】本地變量定義在塊內(nèi)

b、【前不存在離消失】程序運(yùn)行進(jìn)入這個(gè)塊之前其中的變量不存在;

離開這個(gè)快,其中的變量就消失了

(??i有值了,沒初始化,是個(gè)亂七八糟的值)

(??離開了大括號(hào)后i也不在了(not found))

c、【外對(duì)里有效】塊外面定義的變量在里面仍存在有效,里面定義的變量到外面就不存在了

d、【里掩外】塊里面的定義了和外面同名的變量則掩蓋了外面的(Java不這樣哦)

e、【不同內(nèi)】不能在同一個(gè)塊內(nèi)定義同名變量(redefinition重新定義)

f、本地變量不會(huì)默認(rèn)初始化(變量得到一個(gè)任意的值)(不會(huì)得到一個(gè)默認(rèn)的初始的值)

e、參數(shù)在進(jìn)入函數(shù)的時(shí)候被初始化了

(調(diào)用函數(shù)時(shí)一定要給參數(shù)對(duì)應(yīng)的值,那個(gè)值就會(huì)在進(jìn)入函數(shù)的時(shí)候用來初始化參數(shù))


/// 二、

?
7.2函數(shù)的參數(shù)和變量 - 參數(shù)傳遞調(diào)用... P73 - 00:02
?



1、

?
7.2函數(shù)的參數(shù)和變量 - 參數(shù)傳遞調(diào)用... P73 - 00:04
?


2、

?
7.2函數(shù)的參數(shù)和變量 - 參數(shù)傳遞調(diào)用... P73 - 01:37
?


a、


b、

(??隱含的從double到int的轉(zhuǎn)換,這個(gè)轉(zhuǎn)換把值從2.4變到2,所以會(huì)造成損失下,但得到的是warning,程序仍能運(yùn)行)

c、

d、



3、

?
7.2函數(shù)的參數(shù)和變量 - 參數(shù)傳遞調(diào)用... P73 - 04:17
?


a、下圖倆函數(shù)中ab雖然同名,但存在于不同的地方,所以是沒有聯(lián)系的變量 ,其僅僅在調(diào)用中傳遞了值,所以不能做出swap函數(shù)的效果

4、傳值

?
7.2函數(shù)的參數(shù)和變量 - 參數(shù)傳遞調(diào)用... P73 - 07:09
?

a、(not found in current context)每一個(gè)變量都只在他自己的那個(gè)函數(shù)所在的空間里頭)

b、actual parameter/real parameter形參/實(shí)參

(后面會(huì)用指針來保存a,b地址 進(jìn)而通過函數(shù)來交換值)



/// 三、

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)庶事一些有關(guān)函... P74 - 00:02
?

( 其他細(xì)節(jié))

1、

void f()未知 x ; void f(void)沒有參數(shù)

2、

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)庶事一些有關(guān)函... P74 - 03:38
?

a、一層,逗號(hào)表示標(biāo)點(diǎn)符號(hào)

b、加一層括號(hào),表明先做括號(hào)里面的運(yùn)算,這時(shí)“,”為逗號(hào)運(yùn)算符(a,b)--->b

ab區(qū)別:傳了2個(gè)還是1個(gè)參數(shù)進(jìn)去


3、

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)庶事一些有關(guān)函... P74 - 04:17
?

可以在一個(gè)函數(shù)里放另一個(gè)函數(shù)的聲明,但不能放另一個(gè)函數(shù)的body/定義

??No?。?!


4、

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)庶事一些有關(guān)函... P74 - 04:32
?


可以但不建議a,b:

a、int--->定義int型變量i,j,聲明sum函數(shù)要兩個(gè)int作為參數(shù)并且返回一個(gè)int

所以------>最好拿出sum放在函數(shù)外面,函數(shù)的原型聲明應(yīng)該拿出來

b、return +表達(dá)式,因?yàn)?/span>變量+圓括號(hào)也是表達(dá)式,所以這個(gè)圓括號(hào)沒有意義,它沒錯(cuò)但容易讓人誤解以為return是一個(gè)函數(shù),所以不要這么寫

??No?。?!

5、

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)庶事一些有關(guān)函... P74 - 05:30
?


·是函數(shù)

·可

·有

編譯,運(yùn)行,echo $?


//////////////

四、函數(shù)原型

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)原型用來... P75 - 00:01
?

1.

如果調(diào)用函數(shù)放下面了-----??No?。。?!電腦會(huì)自己猜、無效(invalied),可能不匹配

2、函數(shù)原型聲明:把函數(shù)的頭復(fù)制了前面加分號(hào),

聲明要和定義一致

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)原型用來... P75 - 05:13
?

3.函數(shù)原型總結(jié)

?
7.2函數(shù)的參數(shù)和變量 - 函數(shù)原型用來... P75 - 08:21
?

·現(xiàn)在??(函數(shù)外面)

??舊(函數(shù)里面的前面)

·函數(shù)原型里可不寫參數(shù)名字,因?yàn)榫幾g器做檢查不會(huì)檢查參數(shù)名稱,只檢查參數(shù)類型



/////////////////////////////////////////////////////////////////////////

8:數(shù)組 ····1數(shù)組

····2數(shù)組運(yùn)算

/////////////////////////////////////////////////////////////////////////

8-1-1

?
8.1數(shù)組 - 8.1-1初試數(shù)組(SHD) P76 - 00:01
?

1、

?
8.1數(shù)組 - 8.1-1初試數(shù)組(SHD) P76 - 02:25
?


??危險(xiǎn):因?yàn)閏nt不能超過number使用的下標(biāo)


//////////////

8-1-2數(shù)組的使用:如何定義和使用數(shù)組,

數(shù)組的下標(biāo)和下標(biāo)范圍

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 00:01
?



1、定義數(shù)組<類型>變量名稱[元素?cái)?shù)量]

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 00:13
?


c99開始已經(jīng)可以用變量定義數(shù)組的大小了


2、數(shù)組特點(diǎn)

·同數(shù)據(jù)類型

·創(chuàng)不改

·連續(xù)依次排列

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 02:02
?

??數(shù)組在 賦值號(hào)左邊:往里面寫入東西

?? 賦值號(hào)右邊:讀取它的值



3、數(shù)組的單元

·每單元—一個(gè)變量

·[ ]索引/下標(biāo),從0開始編號(hào)/數(shù)數(shù)——>

—>最大的下標(biāo)是數(shù)組個(gè)數(shù)減一,而不是數(shù)組個(gè)數(shù)

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 04:59
?


4、有效的下標(biāo)范圍

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 07:03
?

。不會(huì)檢查數(shù)組下標(biāo)是否越界(segmentation fault)

。需自己保證只使用有效下標(biāo)值[0,數(shù)組大小-1]


5、測(cè)試越界會(huì)怎樣

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 08:15
?

int a[10](十個(gè)int的a)-->a[10]不是有效下標(biāo),有效下標(biāo)是a[0到9],零到九已經(jīng)十個(gè)了

??past the end of array(有的這warning檢測(cè)不到)


6、越界解決方案—回歸上一課最后的題目

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 10:27
?

解決方案:

a、用戶在讀數(shù)字的過程中作記數(shù)

if cnt達(dá)到100(讀滿100個(gè)數(shù)了),程序不能接受更多的數(shù)了,所以就不能再記數(shù)了

b、利用C99特性:定義數(shù)組時(shí)采用的大小是動(dòng)態(tài)的,是個(gè)的變量值(創(chuàng)建數(shù)組)

讓用戶先輸入的數(shù)字是用來表明下面要輸入多少個(gè)數(shù)字構(gòu)成數(shù)組來參與程序的運(yùn)算


7、長(zhǎng)度為0的數(shù)組,可,存在但無用

?
8.1數(shù)組 - 8.1-2數(shù)組的使用如何定義和... P77 - 11:57
?



///////////////////////////////////////////////////////

8-1-3數(shù)組例子:統(tǒng)計(jì)個(gè)數(shù)(應(yīng)用題)

?
8.1數(shù)組 - 8.1-3數(shù)組的例子統(tǒng)計(jì)個(gè)數(shù)(SHD) P78 - 00:05
?

變量多,十個(gè)變量----數(shù)組

?
8.1數(shù)組 - 8.1-3數(shù)組的例子統(tǒng)計(jì)個(gè)數(shù)(SHD) P78 - 00:51
?

magic number---10多次出現(xiàn),不知道其是否有關(guān)系

?
8.1數(shù)組 - 8.1-3數(shù)組的例子統(tǒng)計(jì)個(gè)數(shù)(SHD) P78 - 02:51
?

。const變量----決定數(shù)組大小

。定義數(shù)組-----count數(shù)組number個(gè)

。初始化數(shù)組-----因?yàn)閿?shù)組變量和本地變量一樣,本地變量不能夠自動(dòng)得到默認(rèn)的初始值,所以安全起見,在第一次使用之前必須要主動(dòng)初始它,數(shù)組變量也如此

又因?yàn)槌跏蓟瘮?shù)組當(dāng)中每一個(gè)元素比較麻煩,所以寫循環(huán)遍歷數(shù)組,去給每一個(gè)元素賦值

。數(shù)組參與運(yùn)算

·求平均數(shù)時(shí)要把數(shù)記錄下來

·記數(shù)時(shí)要用獨(dú)到的數(shù)做下標(biāo),來讓某一個(gè) 計(jì)數(shù)器加一

。遍歷數(shù)組做輸出

??用到數(shù)組的程序所需環(huán)節(jié)??

/////////////////////

8、2數(shù)組運(yùn)算{沒看完,跳過看指針,別忘了回來看}

///////////////////// ,

8.2數(shù)組運(yùn)算

?
8.2數(shù)組運(yùn)算 - 8.2-1數(shù)組運(yùn)算(SHD) P79 - 00:02
?





||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

9、1指針

/////////////////////

9.1-1取地址運(yùn)算符取得變量的地址

?
9.1指針 - 9.1-1取地址運(yùn)算運(yùn)算符取得... P82 - 00:03
?

/////////////////////

1、and符號(hào),一個(gè)運(yùn)算符,取得變量地址


2、@為啥變量變量會(huì)有地址??:

?
9.1指針 - 9.1-1取地址運(yùn)算運(yùn)算符取得... P82 - 00:53
?

3、若需讓printf給我們輸出一個(gè)地址,要用%p,而不是真的直接把他當(dāng)成整數(shù),地址和整數(shù)并不永遠(yuǎn)相同,與架構(gòu)有關(guān)??

?
9.1指針 - 9.1-1取地址運(yùn)算運(yùn)算符取得... P82 - 05:19
?

4、

?
9.1指針 - 9.1-1取地址運(yùn)算運(yùn)算符取得... P82 - 05:47
?

&只能對(duì)一個(gè)明確的 變量取地址????

?
9.1指針 - 9.1-1取地址運(yùn)算運(yùn)算符取得... P82 - 06:34
?
??

相鄰變量的地址:(c語(yǔ)言內(nèi)存模型)堆棧(stack)-自頂向下分配

關(guān)于數(shù)組地址

?
9.1指針 - 9.1-1取地址運(yùn)算運(yùn)算符取得... P82 - 08:21
?


////////////////

9.1-2指針變量就是記錄地址的變量

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 00:02
?

////////////////////

1、

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 00:04
?

2、學(xué)計(jì)算機(jī)-心理強(qiáng)大-嘿嘿嘿吼吼吼哈哈哈(我精神狀態(tài)正常…吧)

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 00:44
?

3、指針-保存地址p-point

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 02:26
?




4、

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 05:32
?

注釋——參數(shù): 參數(shù),也叫參變量,是一個(gè)變量。我們?cè)谘芯慨?dāng)前問題的時(shí)候,關(guān)心某幾個(gè)變量的變化以及它們之間的相互關(guān)系,其中有一個(gè)或一些叫自變量,另一個(gè)或另一些叫因變量。如果我們引入一個(gè)或一些另外的變量來描述自變量與因變量的變化,引入的變量本來并不是當(dāng)前問題必須研究的變量,我們把這樣的變量叫做參變量或參數(shù)。英文名:Parameter。


5 、

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 08:12
?

*單目運(yùn)算符,用來訪問指針的值所表示的地址,在那個(gè)地址上的變量

6、

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 11:44
?

7、

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 12:51
?

指針的兩個(gè)運(yùn)算符&*互相反作用

——&取地址|*取地址所代表的變量

8、

?
9.1指針 - 9.1-2指針指針變量就是記錄... P83 - 13:21
?
巧合

忘了and,編譯器沒報(bào)錯(cuò)但運(yùn)行的時(shí)候錯(cuò)了,因?yàn)橥薬nd但正好是個(gè)整數(shù),正好又是32位架構(gòu),整數(shù)和地址一樣大,你把一個(gè)地址傳進(jìn)去和把一個(gè)整數(shù)傳進(jìn)去對(duì)scanf來說沒什么區(qū)別,他會(huì)以為你存進(jìn)去的i是i的地址,但他不知道













::

C語(yǔ)言程序設(shè)計(jì) 浙江大學(xué):翁愷的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
旺苍县| 宜都市| 边坝县| 澄迈县| 文成县| 松潘县| 怀宁县| 手游| 阜城县| 灯塔市| 株洲县| 满城县| 鹿邑县| 盱眙县| 浪卡子县| 四子王旗| 观塘区| 宁津县| 寿光市| 涟水县| 林州市| 句容市| 于都县| 雷州市| 昭觉县| 英吉沙县| 扶绥县| 白沙| 博客| 出国| 醴陵市| 白沙| 华容县| 定结县| 芦山县| 肥东县| 通河县| 益阳市| 腾冲县| 大连市| 邹平县|