郝斌c語言視頻教程資料_第1頁
郝斌c語言視頻教程資料_第2頁
郝斌c語言視頻教程資料_第3頁
郝斌c語言視頻教程資料_第4頁
郝斌c語言視頻教程資料_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

C語言視頻教程

?為什么學(xué)習(xí)C語言:

I機(jī)器語言1第一代語言

I匯編語言第二代語言

Fortran語言主要用于科學(xué)計(jì)算,在第三代語言中,以

1980年為分水嶺,分為結(jié)構(gòu)化和面向?qū)ο笳Z言。

Basic語言是vb的前生,pascal語言一般是用于教學(xué)。

C語言是最重要的,其他的語言一般很少用了。結(jié)構(gòu)化

的代表語言是c語言。結(jié)構(gòu)化語言的數(shù)據(jù)和操作是分離

的,導(dǎo)致在寫大項(xiàng)目的時(shí)候,會(huì)出現(xiàn)各種各樣莫名其妙

的問題。

在面向?qū)ο蟮恼Z言中C++是最復(fù)雜的語言。由于C++語

言太復(fù)雜,sun公司對(duì)C++進(jìn)行了改裝,產(chǎn)生了java語

言。而c#是由微軟開發(fā)的,和java相似,幾乎一模一

樣。

■高級(jí)語言:a+b

■匯編語言ADDAX,BX

■機(jī)器語言00000001110110000

在高級(jí)語言的執(zhí)行速度上,c是最快的,C++其次,而

java和c#是最后的。Java和c#流行,主要的一個(gè)原因

C語言的發(fā)展和過程:

■產(chǎn)生時(shí)間:1972-1973

■產(chǎn)生地點(diǎn):美國貝爾實(shí)驗(yàn)室(Bell)

■創(chuàng)始人:Dermis.M.Ritchie和Ken.Thompson

■目的:改寫UNIX操作系統(tǒng)

■C語言發(fā)展過程

■1983年ANSIC

?1987年ANSIC87

?1994年C99

C語言的特點(diǎn):

?優(yōu)點(diǎn):代碼量小,速度快,功能強(qiáng)大。

?缺點(diǎn):危險(xiǎn)性高,開發(fā)周期長,可移植性弱。

危險(xiǎn)性高:寫同一個(gè)程序,在java中會(huì)報(bào)錯(cuò),而在c

中不會(huì)報(bào)錯(cuò),為什么呢,因?yàn)閏認(rèn)為程序你想怎么寫就

怎么寫,c語言認(rèn)為你寫的程序不是很離譜,他都認(rèn)為

你寫的這個(gè)程序有特殊的含義。可以直接通過,而java

則不可以。

開發(fā)周期長:c語言是面向過程的語言,面向過程的語

言的特點(diǎn)就是在開發(fā)大項(xiàng)目的時(shí)候,很容易崩潰,

現(xiàn)在市場上的語言分三塊

C/C++:單純的學(xué)習(xí)c是什么都做不了的。

Java

C#

可移植性不強(qiáng):這是針對(duì)java來說的,因?yàn)閖ava的可

移植性太強(qiáng)了,所以就感覺說c的可移植性不強(qiáng)。

金山公司最主要是靠wps辦公軟件來發(fā)展的。Wps是c

語言開發(fā)的,

三大系統(tǒng):windows,unix,1inux

Windows內(nèi)核是c語言寫的,而外殼是C++寫的。Java

永遠(yuǎn)不可能寫操作系統(tǒng)。因?yàn)閖ava運(yùn)行速度太慢了。

而1inux和unix都是純c寫的。

操作系統(tǒng)控制了硬件,如果說操作系統(tǒng)的運(yùn)行速度慢,

那么當(dāng)我們?cè)谶\(yùn)行軟件的時(shí)候,運(yùn)行速度會(huì)更慢。

為什么使用c語言寫操作系統(tǒng)呢,首先是因?yàn)閏的運(yùn)行

速度快,然后是因?yàn)閏可以直接控制硬件,而其他語言

不可以。沒有指針的語言是不能直接訪問硬件的。

C語言的應(yīng)用領(lǐng)域:

■系統(tǒng)軟件開發(fā)

■操作系統(tǒng):Windows>Linux、Unix

■驅(qū)動(dòng)程序:主板驅(qū)動(dòng)、顯卡驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)

■數(shù)據(jù)庫:DB2、Oracle.SqlServer

■應(yīng)用軟件開發(fā)

■辦公軟件:Wps

■圖形圖像多媒體:ACDSeePhotoshop

MediaPlayer

■嵌入式軟件開發(fā):智能手機(jī)、掌上電腦

■游戲開發(fā):2D、3D游戲

驅(qū)動(dòng)一般是用c和匯編來寫的。

數(shù)據(jù)庫一般是用C和C++來寫的

C語言的重要性:

■有史以來最重要語言

■所有大學(xué)工科和理科學(xué)生必修課程

■最重要系統(tǒng)軟件:windows、linux、unix均使用c開發(fā)

■一名合格黑客必須掌握的語言

■任何一個(gè)想終身從事程序設(shè)計(jì)和開發(fā)人員必須熟練掌握的語言

■大企業(yè)、外企招聘程序員必考的語言

■為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、C++、Java、C#奠定基礎(chǔ)

病毒最基本的是要感染系統(tǒng),

數(shù)據(jù)結(jié)構(gòu),C,C++這三門語言是必須要學(xué)習(xí)的。

牛人牛語:

入門最基本的方法就是從C語言入手。

當(dāng)你成為c語言的高手,那么就你很容易進(jìn)入到操作系統(tǒng)的平臺(tái)里面去;

當(dāng)你進(jìn)入到操作系統(tǒng)的平臺(tái)里去實(shí)際做程序時(shí),就會(huì)懂得進(jìn)行調(diào)試;當(dāng)你

懂得調(diào)試的時(shí)候,你就會(huì)發(fā)現(xiàn)能輕而易舉地了解整個(gè)平臺(tái)的架構(gòu)。這時(shí)候

,計(jì)算機(jī)基本上一切都在你的掌握之中了,沒有什么東西能逃得出你的手

掌心

一一《編程箴言》梁肇新

怎樣學(xué)習(xí)C語言

參考資料“

■譚浩強(qiáng)《C語言程序設(shè)計(jì)》清華

■《TheCprogramminglanguage》機(jī)械_£業(yè)

■C《PrimerPlus)60元人名郵電

■C《和指針》65元人名郵電

■《C專家編程》絕版

■《C陷阱與缺陷》人名郵電30

■《C科學(xué)與藝術(shù)》機(jī)械工業(yè)

王爽寫的C++也很不錯(cuò)

學(xué)習(xí)的目標(biāo):

C語言的關(guān)鍵字:

32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)

autobreakcasecharconst

continuedefaultdodoubleelse

enumexternfloatforgoto

ifintlongregisterreturn

shortsignedsizeofstaticstruct

switchtypedefunsignedunionvoid

volatilewhile

C語言程序的格式:

#include<stdio.h>

intmain(void)

II

return0;

第二講:(14)c語言編譯知識(shí)

l.Cpu,內(nèi)存條,硬盤,顯卡,主板,顯示器之間的關(guān)

系。

Cpu不能直接處理硬盤上的數(shù)據(jù),必須要先調(diào)入內(nèi)存

中。

2.Hello,word程序是如何運(yùn)行起來的。

3.什么是數(shù)據(jù)類型

數(shù)據(jù)類型就是數(shù)據(jù)的分類,可以分為

a:基本數(shù)據(jù)類型:

整形

整形int—4

短整形shortint-2

長整形longint-8

浮點(diǎn)型

單精度浮點(diǎn)數(shù)float:存儲(chǔ)范圍小-4

雙精度浮點(diǎn)數(shù)double:存儲(chǔ)范圍大-8

字符char:c語言中是沒有字符串的。-1

B:符合類型:就是把基本類型拼湊在一起。

結(jié)構(gòu)體

枚舉

共用體

什么是變量

變量的本質(zhì)是內(nèi)存中一段存儲(chǔ)空間,

4.Cpu,內(nèi)存條,vc++6.0,操作系統(tǒng)之間的關(guān)系。

5.變量為什么必須初始(即賦值)

所謂的初始化就是賦值的意思,

軟件運(yùn)行與內(nèi)存關(guān)系(垃圾數(shù)據(jù))

1.軟件在運(yùn)行前需要向操作系統(tǒng)申請(qǐng)存儲(chǔ)空間,在內(nèi)

存空間足夠空閑時(shí),操作系統(tǒng)將分配一段內(nèi)存空間

并將該外存中軟件拷貝一份存入該內(nèi)存空間中,并

啟動(dòng)該軟件運(yùn)行。

2.在軟件運(yùn)行期間,該軟件所占內(nèi)存空間不再分配給

其他軟件。

3.當(dāng)該軟件運(yùn)行完畢后,操作系統(tǒng)將回收該內(nèi)存空間

(注意:操作系統(tǒng)并不清空該內(nèi)存空間遺留下來的

數(shù)據(jù)),以便再次分配給其他軟件使用。

綜上所訴,一個(gè)軟件所分配到的空間中極可能存在

著以前其他軟件使用過后的殘留數(shù)據(jù),這些數(shù)據(jù)被

稱之為垃圾數(shù)據(jù),所以通常情況下我們?yōu)橐粋€(gè)變

量,為一個(gè)數(shù)組,分配好存儲(chǔ)空間之前都要對(duì)該內(nèi)

存空間初始化。

6.如何定義變量

數(shù)據(jù)類型,變量名稱=賦予的值

等價(jià)于

數(shù)據(jù)類型變量名

變量名=要賦予的值

舉例子:

IntI=3;等價(jià)于inti;I=3;

Inti,j;等價(jià)于inti;intj;

Inti,j=3等價(jià)于inti;intj;j=3

IntI=3,j=5;等價(jià)于inti;intj;I=3;

j=5;

7.什么是進(jìn)制

我們規(guī)定八進(jìn)制前面加0(零),十六進(jìn)制前面加Ox。

在匯編中:在數(shù)學(xué)后加字母B表示二迷制救,加字

母。表示人進(jìn)制教,加字母D表示十迷制教,加字母H表

示十六選制教。

例:

1011B為二進(jìn)制數(shù)1011,也記為(1011)2

13570為八進(jìn)制數(shù)1357,也記為(1357)&

2049D為十進(jìn)制數(shù)2049,也記為(2049)10

3FB9H為十六進(jìn)制數(shù)3FB9,也1己為(3FB9)

B什么叫n進(jìn)制

■八進(jìn)制

?8個(gè)基數(shù)逢8進(jìn)一

■基數(shù):01234567

■8->109->1110->12

■十六進(jìn)制:

?16個(gè)基數(shù)逢16進(jìn)一

?基數(shù):0123456789ABC出EF或

?0123456789abedef

■16->1017=1118->1219->13

常用計(jì)數(shù)制對(duì)照表:

.

十進(jìn)制(D)二進(jìn)制(B)八進(jìn)制(0)十六進(jìn)制(H)

常0000

1111

21022

用31133

410044

計(jì)510155

611066

711177

數(shù)81000108

91001119

制10101012a

11101113b

12110014c

對(duì)13110115d

14111016e

八昭、、15111117f

表由d

Printf的基本用法:

printf(z,i=%d\n,,>i);

/*

printf的用法

%d表示以十進(jìn)制輸量

%*或9^表示以十六遴制輸出

%。表示以八進(jìn)制輸出

*/

8.常量在c中是如何表示的

整數(shù)

十進(jìn)制:傳統(tǒng)的寫法

十六進(jìn)制:前面加Ox或0X

八進(jìn)制:前面0注意是數(shù)字零不是字母。

浮點(diǎn)數(shù)

傳統(tǒng)的寫法

floatx=3.2;〃傳統(tǒng)

科學(xué)計(jì)數(shù)法

floatx=3.2@3;//x的值是3200

floatx=123.45e-2;〃x的值是1.2345

I

字符

當(dāng)個(gè)字符使用單引號(hào)括起來,多個(gè)字符串使用雙引號(hào)

括起來。

intmain(void)

(

floatx=123.45e-2F|;

printfx);

return0;

}

在c中,默認(rèn)是double類型的。在后面加F表示當(dāng)

做float來處理。

9.常量是以什么樣的二進(jìn)制代碼存儲(chǔ)在我們的計(jì)算機(jī)

中。

編碼:整數(shù)是以補(bǔ)碼的形式轉(zhuǎn)換為二進(jìn)制代碼存儲(chǔ)在計(jì)

算機(jī)中的,

浮點(diǎn)數(shù)是以ieee754標(biāo)準(zhǔn)轉(zhuǎn)換為二進(jìn)制代碼存儲(chǔ)在計(jì)

算機(jī)中的。

字符的本質(zhì)實(shí)際也是與整數(shù)的存儲(chǔ)方式相同。

第三次課:

代碼規(guī)范化

?可以參考林銳《高質(zhì)量C/C++編程》

?代碼的規(guī)范化非常的重要,是學(xué)習(xí)一門編程語言的

基礎(chǔ)。

?代碼規(guī)范化的好處

1:整齊,別人和自己都容易看懂。

2:代碼規(guī)范了,代碼不容易出錯(cuò)。

3:一般的程序可以分為三塊:

a:定義變量

b:對(duì)變量進(jìn)行操作

c:輸出值

什么是字節(jié)

?存儲(chǔ)數(shù)據(jù)的單位,并且是硬件所能訪問的最小單位。

內(nèi)存中存儲(chǔ)的最小單位是字節(jié),但是硬件控制的時(shí)候不

能精確到位,只能精確到字節(jié),是通過地址總線來控制

的,而精確到位是通過軟件來控制的,叫做位運(yùn)算符來

精確到位的。

不同類型數(shù)據(jù)之間相互賦值的問題

不同數(shù)據(jù)類型之間最好不要相互轉(zhuǎn)換。

inti=45;

longj=102345;

i=j;

printf(*%ld%d\n*,i,j);

floatx=6.6;

doubley=8.8;

printf(*%f%lf\n,x,y"),

inti=;

如果需要明白這個(gè)知識(shí)點(diǎn),那么需要明白補(bǔ)碼。

什么是ASCII碼

以char定義變量的時(shí)候,只能使用單引號(hào)括起一個(gè)字

符才是正確的。

Uinclude<stdio.h>

intmain(void)

(charch='A',〃4行OK等價(jià)charch,="A'.

//charch="AB”,//error因?yàn)?AB〃是字符串,我們不能把字符串賦給單個(gè)字符

//charch="A";//error

//charch='AB',//'AB'是錯(cuò)誤的

//charch='8.//error,因?yàn)閏h變量已經(jīng)在4行定義了,這樣會(huì)導(dǎo)致變量名被:

ch='C;

printf(<%c\n\ch);

在上圖中注釋的最后一樣是重復(fù)定義了ch的值,是錯(cuò)

誤的,而下面的ch=4c,是指把c賦值給ch,是正

確的。

9inc1ude<stdio.h>

intmainXx^id)

clmrLh}'K,

printTC%d\n^^ch),

return0;

上圖中輸出的值是98

Ascii碼規(guī)定了ch是以那個(gè)值去保存,ascii碼不是一

個(gè)值,而是一種規(guī)定,規(guī)定了不同的字符是以那個(gè)整數(shù)

值去表示。

14.什么是ASCII

ASCII不是一個(gè)值,而是一種規(guī)定,

ASCII規(guī)定r了不同的字符是使用哪個(gè)整數(shù)值去表示

它規(guī)定了1

,A'—65

——66

'a'"97

,b,—98

'0'—48

字符本質(zhì)上與整數(shù)的存儲(chǔ)方式相同【字符的存儲(chǔ)】

基本的輸入和輸出函數(shù)的用法:

第三次課

Printf()

將變量的內(nèi)容輸出到顯示器上。

四種用法

1.printf(?字符串");

2.print""輸出控制符二輸出參數(shù));

3.printf「輸出控制符1輸出控制符2。。。輸出參數(shù)1,

輸出控制符和輸出參數(shù)的個(gè)數(shù)必須一一對(duì)應(yīng)

4.printf("輸出控制將非輸出控制符:輸出參數(shù)

輸什么是輸出控制符,什么是非輸出控制符

輸出控制符包含如下:

%d——int

%ld——longint

%c—char

%f——float

%lf——double

%x(或者%X后者%#X)——int或longint或shortint

%o——同上

%sI——字符串1

Printf為什么需要輸出控制符:

?01組成的代碼可以表示數(shù)據(jù)也可以表示指令。必須

要有輸出控制符告訴他怎么去解讀。

?如果01組成的代碼表示的是數(shù)據(jù)的話,那么同樣的

01代碼組合以不同的格式輸出就會(huì)有不同的輸出結(jié)

果,所以必須要有輸出控制符。

力include<stdio.h>

intmain(void)

intx=47;//100是十進(jìn)制

printfx);〃輸出結(jié)果是:_2f

printfx);//輸出結(jié)臬是:2F

printfx);//輸出結(jié)果是:OX2F|

printfC%4x\n^,x);〃輸出結(jié)臬是:0x2f

return0;

在上圖中,intx=47,如果前面加0(零)表示的是

八進(jìn)制,如果前面加Ox(零x)則表示的是十六進(jìn)制,

而在輸出的時(shí)候,則是。(字母。)表示八進(jìn)制,ox(字

母0,X)表示十六進(jìn)制。

非輸出控制符:非輸出控制符在輸出的時(shí)候會(huì)原樣輸

出。

??*\,/—1,,,??(WW-—?^―??一?,■———)

printf(*i=%d,j=%d\n*,j,k);

Scanf()通過鍵盤將數(shù)據(jù)輸入到變量中

有兩種用法:

用法一:scanf("輸入控制符",輸入?yún)?shù));

功能:將從鍵盤輸入的字神轉(zhuǎn)化為輸入控制符所規(guī)定格式的數(shù)據(jù)

,然后存入以輸入?yún)?shù)的值為地址的變量中|

示例:

#include<stdio.h>

intmain(void)

|

inti;

scanf("為d",&i);//&i表示i的地址也是一個(gè)取地址符

printf(^i=%d\n〃,i);

return0;|

)

非輸入控制符:在輸入的時(shí)候也會(huì)原樣輸入。

用法二:scanf「非檢入控制符愉入控制符二愉入?yún)?shù));

功能:將從鍵盤愴入的字符轉(zhuǎn)化為愴入控制符所規(guī)定格式的數(shù)據(jù)

,然后存入以輸入?yún)?shù)的值為地址的變量中

非輸入控制符必須原樣輸入

4include<stdio.h>

intmain(void)

{

inti;

I

scanf&i);

printf(*i=%d\n*,i)]

return0;

)

但是一般我們?cè)谑褂胹canf的時(shí)候,我們一般都不使用

非輸入控制符。

給多個(gè)變量賦值:

#include<stdio.h>

intmain(void)

(

inti,j;

scanf(*%d%d”,&i,&j);

printf(*i=j=%d\n*,i,j),1T

return0;

)

需要記住,非控制符需要原樣輸入。

如何使用scanf編寫出高質(zhì)量代碼

如何使用scanf編寫出高質(zhì)量代碼

1.使用scanf之前最好先使用printf提示用戶以什么樣的

方式來輸入

2.scanf中盡量不要使用非輸入控制符,尤其是不要用\n|

Sinclude<stdio.h>

intmain(void)

{

inti;

石canf("d\n",&i);〃非常不好的格式,不要加\n

printf("i=%d\n”,i);

return0;

}

3.應(yīng)該編寫代碼對(duì)用戶的非法輸入做適當(dāng)?shù)奶幚怼痉侵攸c(diǎn)】

while((ch=getchar())!='\n')

continue;

Sinclude<stdio.h>

intmain(void)

{

inti;

charch;

scanf("%d",&i);

printf(^i=%d'n',i);

I//..........

while((ch=getchar())!='\n')

Y/continue;

intj;

scanf("%d",&j);

printfC"j=%d\n”>j);

return0;

}

運(yùn)算符:

算術(shù)運(yùn)算符:

加(+),減(一)乘(*)除(/)取余(%)

關(guān)系運(yùn)算符:

>,>=,<,<=,!=,

邏輯運(yùn)算符:

!(非),&&(且),II(或)

||(或

且)

&(并

)'&

!(非

!真真

!假

真我&假

真也也假

假也&假

假&&

真II真

I真

假I真

真II假

假II

處理

假的

對(duì)真

C語言

非零是

?

零是假

1表

真是

表示

假是0

會(huì)執(zhí)

定不

式肯

表達(dá)

邊的

假右

式為

表達(dá)

邊的

&&左

會(huì)執(zhí)

定不

式肯

表達(dá)

邊的

真|右

式為

表達(dá)

邊的

I|左

符:

運(yùn)算

賦值

/=

*=,

=,

=,+

=a/3

價(jià)于a

3等

a/=

3,

于a=a+

等價(jià)

3是

:a+=

例如

。

》賦值

〉邏輯

〉關(guān)系

算術(shù)

別是

先級(jí)

其優(yōu)

■除法與取模運(yùn)算符

■除法/的運(yùn)算結(jié)果和運(yùn)算對(duì)象的數(shù)據(jù)類型有關(guān),兩個(gè)數(shù)都是int

,則商就是int,若商有小數(shù),則截取小數(shù)部分;被除數(shù)和除數(shù)

中只要有一個(gè)或兩個(gè)都是浮點(diǎn)型數(shù)據(jù),則商也是浮點(diǎn)型,不

截取小數(shù)部分。

如:16/5==316/5.0==3.20000-13/4==-4

-131-3==43/5==05/3==1

最典型的例題就是求s=1+1/2+1/3+1/4+1/5……+1/100的值(具體程序我

們以后再講)。

■取余%的運(yùn)算對(duì)象必須是整數(shù),結(jié)果是整除后的余數(shù),其余數(shù)

的符號(hào)與被除數(shù)相同

如:13%3=1113%-3==1-13%3==-1

-13%23==-133%5==3

?測試取模運(yùn)算符的例子

1.#include<stdio.h>

2.intmain(void)

3.{

4.printfC%d%d%d%d%d%dln”,七,13%?3,-13%3,-13%-3,-13%23,3%5);

5.return0;

6.}

7.r

8.輸出結(jié)果是:

9*******************************************

10.01-1-1-133

itPressanykeytocontinue

j,mmm****************************

總結(jié):取余%的運(yùn)算對(duì)象胸是整數(shù),結(jié)果是瞬后的斜L其翎的符號(hào)與被除數(shù)相同

14.*1

取余的結(jié)果的正負(fù)只和被除數(shù)有關(guān)。

第四節(jié)

流程控制:

1.什么是流程控制

程序代碼執(zhí)行的順序。

2.流程控制的分類

順序執(zhí)行

選擇執(zhí)行

定義:某些代碼可能執(zhí)行,可能不執(zhí)行,

有選擇的執(zhí)行某些代碼。

分類:if

1.金最簡單的用法

2.if的范圍問題

3.if..else.一的用法

4.if..elseif...else...的用法

5.C語言對(duì)真假的處理

6.if舉例一求分?jǐn)?shù)的等級(jí)

7.if的常見問題解析

If最簡單的用法:

1.if最簡單的用法

格式:

if(表達(dá)式)

語句

功能:

如果表達(dá)式為真,執(zhí)行語句

如果表達(dá)式為假,語句不執(zhí)行

#include<stdio.h>

intmain(void)

if(3)

printf(〃AAAA\n〃);//會(huì)輸出

if(0)

printf;〃不會(huì)輸出

if(0==0)

printf("CCCC'n");〃會(huì)輸出

return0;

2.if的范圍問題

1.

if(表達(dá)式)

語句A;

語句B;

解釋:if默認(rèn)只能控制語句A的執(zhí)行或不執(zhí)行

if無法控制語句B的執(zhí)行或不執(zhí)行

或者講:語句B一定會(huì)執(zhí)行

.if林認(rèn)的只能控制一個(gè)語句的執(zhí)行或不執(zhí)行?

if(表達(dá)式)

(

語句A;

語句B;

)

此時(shí)if可以控制語句A和語句B

I

由此可見:if默認(rèn)只能控制一個(gè)語句的執(zhí)行或不執(zhí)行

如果想控制多個(gè)語句的執(zhí)行或不執(zhí)行

就必須把這些語句用{}括起來|

如果想控制多個(gè)語句的執(zhí)行或者不執(zhí)行,那么需要使用

。括起來。

3.if...else...的用法:

#include<stdio.h>

intmain(void)

{

inti]j;

scanf("%d%dT,也j);

if(i>j)

printf(〃i大于j\n〃);

else

printf("i小于j\n");

return0;

)

Sinclude<stdio.h>

intmain(void)

(

if(1|>2)

printf("AAAA'n");

else

printf("BBBB\n");

printf("CCCC'n");

return0;

}

if...else...if...else的用法:

if(1)

A;

elseif(2)

elseif(3)

C;

else

D;

#include<stdio.h>

intmain(void)

(

doubledelta=3;

if(delta>0)I

printf("看兩個(gè)解八n");

elseif(delta==0)

printf("有一個(gè)唯一解!\n*);

else

printf("無解!\nf);

return0;

}

C錯(cuò)誤的if...else...if...else語句:

Sinclude<stdio.h>

intmain(void)

{

doubledelta=~1;

if(delta>0)

printf("看兩個(gè)解!\n");

Lrintf("哈哈!、n");

elseif(delta==0)

printf("有一個(gè)唯一*解!\n");

else

printf("無解!、n");

return0;

}

在上圖中,當(dāng)執(zhí)行到哈哈那句時(shí),下面的else將會(huì)被

算作另外一個(gè)語句來執(zhí)行,而在我們的c語言中,沒有

以else開頭的語句。所以會(huì)出錯(cuò)。

If實(shí)例:

#include<stdio.h>

intmain(void)

{,

floatscore;//score分?jǐn)?shù)

printf(〃請(qǐng)輸入您的考試成績:〃);

scanf("%f”,fescore);

if(score>100)

printf(〃這是做夢!\n〃);

elseif(score>=90&&score<=100)//不能寫成90<=score<=100

printf("優(yōu)秀!\n");

elseif(score>=80&&score<90)

printf("良好八n");

elseif(score>=60&&score<80)

printf("及格!、n");

elseif(score>=0&&score<60)

printf(〃不及格!繼續(xù)努力!\nT);

If常見的問題:

變量的替換:

intt;//定義臨時(shí)變;it

,/6和7行代碼無法完成i和j的互換

//i=j;//6行i=3;j=5;

//j=i://7fj'1=5:j=5:

I

確的兀換i和j的方法I

t=i;

i=j;

j=t;

printfCi=%d,j=%d\n\i,j):

return0;

求三個(gè)數(shù)字的大小:

inta,b,c;〃等價(jià)于:inta;intb;intc;

intt;

printf(“請(qǐng)輸入三個(gè)整數(shù)(中間以空格分隔):;

scanf("%d%d%d-,&a,&b,&c);

〃編寫代碼完成a是最大值b是中間值c是最小值

if(a<b)

t=a;

a=b;

t=a;

a=c;

>c=t;

if(b<c)

<

t=b;

b=c;

c=t;

>

printf%d%d\n**,a,b,c);

return0;

c語言常見誤區(qū):

素?cái)?shù):只能被1和自己整除的數(shù),如1,5,9等。

回文數(shù):正著寫和倒著寫一樣的數(shù)。如1221,121,等

編程實(shí)現(xiàn)求一個(gè)十進(jìn)制數(shù)字的二進(jìn)制形式:

求一個(gè)數(shù)字的每位是奇數(shù)的數(shù)字取出來組合形成的新

數(shù)字。

求一個(gè)數(shù)字到過來的數(shù)字。

1:如果不懂,那么就看答案??炊鸢冈谇?。沒錯(cuò)誤

了,在嘗試改。

如何看懂一個(gè)程序:

1.流程:

2.每個(gè)語句的功能:

3.試數(shù):

對(duì)一些小算法的程序:

1.嘗試自己編程結(jié)局。

2.解決不了,看答案。

3.關(guān)鍵是把答案看懂。

4.看懂之后嘗試自己修改程序,且知道修

改之后程序的不同輸出結(jié)果的含義。

5.照著答案去敲

6.調(diào)試錯(cuò)誤

7.不看答案,自己獨(dú)立把程序編出

8.如果程序?qū)嵲谑菑氐谉o法了解,就把他

背會(huì)。

空語句的問題:

7.if的常見問題解析

1.空語句的問題

if(3>2);

等價(jià)于I

if(3>2)

;〃這是一個(gè)空語句

intmain(void)

{

if(1>2).

pnntf("AA.^^n");

printf("BBBB'rT);

return0;

1

在上圖中,最終的結(jié)果會(huì)是AAAA,BBBB,程序也不會(huì)報(bào)

錯(cuò),為什么呢,因?yàn)樵诔绦?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論