C程序設(shè)計的初步知識課件_第1頁
C程序設(shè)計的初步知識課件_第2頁
C程序設(shè)計的初步知識課件_第3頁
C程序設(shè)計的初步知識課件_第4頁
C程序設(shè)計的初步知識課件_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章C程序設(shè)計的初步知識(一)

第二章C程序設(shè)計的初步知識(一)

1回顧1、程序是為執(zhí)行一項任務(wù)而編寫的有序指令集2、編譯器將源程序轉(zhuǎn)換成機(jī)器能理解的程序3、連接器用于連接相關(guān)的目標(biāo)文件以生成可執(zhí)行程序問:1、C的源程序是后綴是什么?2、目標(biāo)文件的后綴是什么?3、程序的三大結(jié)構(gòu)是什么?回顧2目標(biāo)理解C程序的基本結(jié)構(gòu)理解變量和常量的含義熟悉基本數(shù)據(jù)類型

-int、char、float和double目標(biāo)理解C程序的基本結(jié)構(gòu)3C語言的基本結(jié)構(gòu)

#include<stdio.h>voidmain(){printf("HelloWorld\n");}以#開始的語句稱為預(yù)處理器指令#include語句不是必需的,但是,如果程序有該語句,就必須將它放在程序的開始處以.h為后綴的文件被稱為頭文件,可以是C程序中現(xiàn)成的標(biāo)準(zhǔn)庫文件,也可以是自定義的庫文件。stdio.h文件中包含了有關(guān)輸入輸出語句的函數(shù)

main()函數(shù)是C程序處理的起點。

main()函數(shù)可以返回一個值,也可以不返回值。如果某個函數(shù)沒有返回值,那么在它的前面有一個關(guān)鍵字void在函數(shù)定義的后面有一個左大括號,即{它表示函數(shù)的開始,后面是函數(shù)的主體大括號也可以用于將語句塊括起來在函數(shù)定義的結(jié)尾處有一個右大括號,即}在屏幕上產(chǎn)生一行輸出“Helloworld”,并換行(\n)

函數(shù)主體中的每個語句都以分號結(jié)束。C程序中的一個語句可以跨越多行,并且用分號通知編譯器該語句已結(jié)束。C語言的基本結(jié)構(gòu)

#include<stdio.h>以#4C程序中的注釋#include<stdio.h>voidmain(){printf("HelloWorld\n");}//此程序用來打印HelloWorld單行注釋C程序可以包含注釋,以便向讀者作一般說明編譯器并不處理這些注釋/*此程序由×××編寫*用來打印輸出“HelloWorld”*/多行注釋/**************************作者:創(chuàng)建日期:描述:……***************************/#include<頭文件>voidmain(){……}注釋在程序中添加注釋是一個好的編程習(xí)慣,可以增強(qiáng)程序的可讀性。C程序中的注釋//此程序用來打印HelloWorld5上機(jī)寫一個錯誤的例子,給大家演示一下?!f明:1.必須使用main作為主函數(shù)名,程序是從主函數(shù)開始執(zhí)行,具有唯一性注意后面不能帶“;”2.函數(shù)體用左花括號“{”開始,用右花括號結(jié)束“}”3.用分號“;”作為語句結(jié)束的標(biāo)志注意是語句的結(jié)束標(biāo)志4.注釋部分:⑴必須用/*和*/括起來⑵必須成對出現(xiàn),⑶”/“和”*“之間不能有空格⑷注釋可以出現(xiàn)在程序的任何地方⑸注釋部分對程序運行不起作用⑹在注釋之間不可以再嵌套/**/(演示一下)

5,預(yù)處理器指理必須以”#“開頭,但不能加分號上機(jī)寫一個錯誤的例子,給大家演示一下。6什么是標(biāo)識符標(biāo)識符:在C語言中,有許多符號的命名,如變量名、函數(shù)名、數(shù)組名等,都必須遵守一定的規(guī)則,按此規(guī)則命名的符號稱為標(biāo)識符。什么是標(biāo)識符標(biāo)識符:在C語言中,有許多符號的命7在C語言中,標(biāo)識符命名需要遵循一定的規(guī)則有效名稱principalcost_pricemarks_3lastnamecity無效名稱123ratecurrency$discount%zipcode在C語言中,標(biāo)識符命名需要遵循一定的規(guī)則有效名稱prin8標(biāo)識符的命名規(guī)則:標(biāo)識符名可以由字母、數(shù)字和_(下劃線)組合而成標(biāo)識符不能包含除_以外的任何特殊字符,如:%、#、逗號、空格等標(biāo)識符必須以字母或_(下劃線)開頭標(biāo)識符不能包含空白字符(換行符、空格和制表符稱為空白字符)C語言中的某些詞(例如int和float等)稱為保留字,具有特殊意義,不能用作標(biāo)識符名C語言區(qū)分大小寫,因此標(biāo)識符price與標(biāo)識符PRICE是兩個不同的標(biāo)識符標(biāo)識符的命名規(guī)則:9一、標(biāo)識符1.分類:⑴關(guān)鍵字:c語言規(guī)定了一批標(biāo)識符,他們在c語言中代表著固定的含義,不能另做它用autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatorgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile⑵預(yù)定義標(biāo)識符:c語言語法允許用戶把這類標(biāo)識符另做它用,但是這些標(biāo)識符將失去系統(tǒng)規(guī)定的原意。比如:printfdefine⑶用戶標(biāo)識符:由用戶根據(jù)需要定義的標(biāo)識符稱為用戶標(biāo)識符一、標(biāo)識符⑴關(guān)鍵字:c語言規(guī)定了一批標(biāo)識符,他們在c語言中代10程序指令常量標(biāo)識符關(guān)鍵字常量運算符分隔符等常量是在程序中保持不變的量常量用于定義具有如下特點的數(shù)據(jù):在程序中保持不變在程序內(nèi)部頻繁使用需要用比較簡單的方式替代某些值程序指令常量標(biāo)識符常量是在程序中保持不變的量常量用11二、常量1.分類:整型常量、實型常量、字符常量、字符串常量三、用定義一個符號名的方法來代表一個常量例2.2計算圓的面積#include“stdio.h”#definePI3.14159/*定義符號名PI為3.14159*/main(){floatr;doubles;r=5.0;s=PI*r*r;Printf(“s=%f\n”,s);(演示一下)}二、常量12※說明:1、在整型常量的后面加一個字母L(大小寫均可)這個常量就成為長整型常量在內(nèi)存中占四個字節(jié)。2、無符號整數(shù)在數(shù)的未尾應(yīng)該加上字母后綴u(大小寫均可),若是長整型無符號整型常量,則可以加后綴lu或LU。3、常量的名子一定要大寫。4、定義常量的語句后面不能加“;”。

※說明:132.3整型數(shù)據(jù)一、整型常量整數(shù)的表示(1)十進(jìn)制表示:用一串連續(xù)的數(shù)字表示十進(jìn)制數(shù)。例:345316840-23456※只有十進(jìn)制可以是負(fù)數(shù)。(2)八進(jìn)制表示:以數(shù)字0開頭的一個連續(xù)數(shù)字序列,序列中只能有0-7這八個數(shù)字。例而019、423是非法的八進(jìn)制數(shù)。(3)十六進(jìn)制表示:以0X或0x開頭的連續(xù)數(shù)字和字母序列,序列中只能有0-9、A-F和a-f這些數(shù)字和字母,字母a、b、c、d、e、f分別對應(yīng)數(shù)字10、11、12、13、14、15,大小寫均可。2.3整型數(shù)據(jù)(1)十進(jìn)制表示:用一串連續(xù)的數(shù)字14二、整型變量可以分為基本型、短整型、長整型和無符號型四種名稱全稱類型說明符縮寫類型說明符字節(jié)范圍整型intint4-2,147,483,648至2,147,483,647無符號整型unsignedintunsigned40至4,294,967,295短整型shortintshort2-32768至+32767無符號短整型unsignedshortintunsignedshort20至65,535長整型longintlong4-2,147,483,648至2,147,483,647無符號長整型unsignedlongintunsignedlong40至4,294,967,295二、整型變量名稱全稱類型說明符縮寫類型說明符字范圍整型int15聲明和使用變量聲明變量:Datatypevariablename;定義時初始化變量:Datatypevariablename=value;定義后初始化變量:variablename=value;給變量賦值,除了給一個直接的值以外,還可以通過計算獲得。演示聲明和使用變量聲明變量:給變量賦值,除了給一個直接的值以外,16二、變量1.定義:在程序的運行過程中,值可以改變的量※2.說明:(1)每個變量有一個名字作為標(biāo)識,它是屬于用戶標(biāo)識符(2)變量必須先定義后使用(定義后還得賦值才能用)習(xí)題:1.以下選項中不合法的用戶標(biāo)識符是()A._123B.printfC.A$D.Dim2.可在c程序中用作用戶標(biāo)識符的一組標(biāo)識符是()A.voidB.as_b3C.ForD.2cdefine_123_abcDOWORDIf(大寫)caseSIG二、變量習(xí)題:172.4實型數(shù)據(jù)一、實型常量1.小數(shù)形式:由數(shù)字和小數(shù)點組成,必須有小數(shù)點。例:4.23、0.15、.56、78.、0.02.指數(shù)形式:以冪的形式表示,以字母e或E后跟一個以10為底的冪數(shù)。

字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù),字母e或E的前后及數(shù)字之間不得有空格(實型變量也遵守這個規(guī)則)。例:2.3e5、500e-2、.5E3、4.5e0,而e4、.5e3.6、.e5、e都不合法二、實型變量1.單精度:關(guān)鍵字為float2.雙精度:關(guān)鍵字為double

定義的一般形式floata,b,c;定義的一般形式

doublea,b,c;floata=4.5,b=5.6;doublea=5.9,b=45.36注:(1)占四個字節(jié)32位注:(1)占八個字節(jié)64位

(2)7位有效數(shù)字-1038~1038(2)15~16位有效數(shù)字-10308~10308

2.4實型數(shù)據(jù)一、實型常量18※說明:

1.在內(nèi)存中,實數(shù)一律以指數(shù)形式存放2.在內(nèi)存中,整數(shù)可以精確存放,實型數(shù)據(jù)存在誤差3.實型常量不分float和double一個實型常量可以賦給一個float型或者

double型變量4.定義變量的同時可以賦初值三、課堂練習(xí)1.下面四個選項中,那一組全是不合法浮點數(shù)的選項是A.160.B.123C.-.18D.-e30.122e4.2123e4.234e3.e50.01e32.下面四個選項中,均是合法浮點數(shù)的選項是A.+1e+1B.-.60C.123eD.-e35e-9.412e-41.2e-.4.8e-43e2-8e5+2e-15.e-0※說明:1.在內(nèi)存中,實數(shù)一律以指數(shù)形式存放三、課堂練19總結(jié):1、c語言是區(qū)分大小寫的2、常量的分類:整型常量、實型常量、字符常量、字符串常量3、變量的分類:1、整型變量:基本型、短整型、長整型和無符號型四種2、實型變量分類:單精度、雙精度4、指數(shù)形式:字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù),字母e或E的前后及數(shù)字之間不得有空格(實型變量也遵守這個規(guī)則)總結(jié):20第二章數(shù)值轉(zhuǎn)換、算術(shù)運算符(二)第二章數(shù)值轉(zhuǎn)換、算術(shù)運算符(二)21回顧1、c語言是區(qū)分大小寫的2、常量在程序中不能被更改,而變量在程序中可以被更改(定義常量的關(guān)健字是什么?)3、標(biāo)識符只能由字母、數(shù)字和下劃線組成,且第一個字符不能為數(shù)字4、整型分為短整型、整型、長整型,每種整型又可分為有符號型和無符號型5、實數(shù)分為單精度浮點型和雙精度浮點型(表現(xiàn)方式為兩種,1、小數(shù)2、指數(shù))6、八進(jìn)制表示為076十六進(jìn)制表示為0X或0x回顧22目標(biāo)理解二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換理解原碼、補(bǔ)碼及如何計算熟練使用算術(shù)運算符理解類型轉(zhuǎn)換目標(biāo)23改錯:#includestdioh#definePI3.14;Main{inta,b,c;a=1.2;b=3.4;c=a*b;printf(“c的值是:%f”,c)}

選擇題:1、以下選項中正確的變量名是a*123b)_yyAcdd)yy&2、以下那個是八進(jìn)制的表示方法?0Xfb)80080d)0763、以下那些是正確的實型常量?a)0.73e2b)0.72e0.2c)-65.55d)0改錯:24四、整數(shù)在內(nèi)存中的存儲形式(包括一下各種進(jìn)制的轉(zhuǎn)換)位(bite):計算機(jī)里最小的存儲單元字節(jié)(byte):8個二進(jìn)制組成一個字節(jié)字(word):若干個字節(jié)組成一個字16個二進(jìn)制位2個字節(jié)最高位最低位0表示正數(shù)1表示負(fù)數(shù)四、整數(shù)在內(nèi)存中的存儲形式(包括一下各種進(jìn)制的轉(zhuǎn)換)16個二25一、正整數(shù)以原碼形式存儲例正整數(shù)5的二進(jìn)制代碼:0000000000000101二、負(fù)整數(shù)1.以補(bǔ)碼形式存儲反碼:1和0互換補(bǔ)碼:對原碼取反加1(符號位不參加取反)例負(fù)整數(shù)-5的二進(jìn)制代碼:1111111111111011一、正整數(shù)0000000000000101二、負(fù)整數(shù)1111262.補(bǔ)碼形式存儲的二進(jìn)制轉(zhuǎn)換成負(fù)整數(shù)(1)對補(bǔ)碼取反(2)轉(zhuǎn)換成十進(jìn)制(3)根據(jù)最高位加負(fù)號(4)對所求數(shù)減11111111111111011-5的補(bǔ)碼1000000000000100取反轉(zhuǎn)換成十進(jìn)制-4減1-5三、無符號整數(shù)不在是符號位參與數(shù)值的大小中2.補(bǔ)碼形式存儲的二進(jìn)制轉(zhuǎn)換成負(fù)整數(shù)(1)對補(bǔ)碼取反27算術(shù)運算符算術(shù)

一元

二元操作數(shù)操作數(shù)運算符二元運算符+-*/%算術(shù)運算符算術(shù)一元二元操作數(shù)操作數(shù)運算符二元運算符+-*28#include<stdio.h>voidmain(){

inta=5,b=3,c=25,d=12;floatqu;intre,in,de;/*使用算術(shù)運算符*/qu=a/b;//除法re=a%b;//求模in=++c;de=--d;printf("商為

%f\n",qu);printf("余數(shù)為

%d\n",re);printf(“加

1后為

%d\n",in);printf("減

1后為

%d\n",de);}算術(shù)運算符示例輸出:商為1.000000余數(shù)為2加1后為26減1后為11#include<stdio.h>算術(shù)運算符示例輸出:29類型轉(zhuǎn)換自動類型轉(zhuǎn)換(雙目運算符兩邊運算數(shù)的類型必須一致,當(dāng)不一致時自動轉(zhuǎn)換)原則:把表示范圍小的類型的值轉(zhuǎn)換到表示范圍大的類型的值(舉例’a’+1)shortintlong

floatdouble說明:%

取?;蚯笥噙\算符1.運算對象必須為整型2.符號與被除數(shù)相同例如:-5%3值為-2/兩端為整數(shù)時,它取整,有一端為實數(shù)時,他就變成了除類型轉(zhuǎn)換自動類型轉(zhuǎn)換(雙目運算符兩邊運算數(shù)的類型必須一致,當(dāng)30二、強(qiáng)制類型轉(zhuǎn)換1.一般形式:(類型名)(表達(dá)式)2.作用:將一個表達(dá)式轉(zhuǎn)換所需類型※說明:1.(類型名)(表達(dá)式)括號不能省略(int)(x+y)(int)x+y對x、y整體只對x2.強(qiáng)制類型轉(zhuǎn)換運算得到一個中間變量,不改變原來變量的類型。四、課堂練習(xí)1.已知a=7,b=3,x=3.5,y=2.5(1).x+a%3*(int)(x+y)%2/4(2).(float)(a+b)/2+(int)x%(int)y二、強(qiáng)制類型轉(zhuǎn)換※說明:1.(類型名)(表達(dá)式)括號不31三、運算符的優(yōu)先級、結(jié)合性和算術(shù)表達(dá)式1.算術(shù)運算符的優(yōu)先級()、+、-、*、/、%、+、-高底同級同級同級單目雙目2.算術(shù)運算符和圓括號的結(jié)合性正負(fù)運算符:右左其它算術(shù)運算符:左右三、運算符的優(yōu)先級、結(jié)合性和算術(shù)表達(dá)式高32Sum=num1+num2操作數(shù)運算符表達(dá)式Sum=num1+num2操作數(shù)運算符表達(dá)式33Z=(X*2)+(5–Y)

操作數(shù)操作數(shù)表達(dá)式表達(dá)式表達(dá)式運算符Z=(X*2)+(5–Y)操作數(shù)操34賦值表達(dá)式一、賦值運算符和賦值表達(dá)式1.賦值運算符和賦值表達(dá)式賦值運算符:=賦值表達(dá)式:由賦值運算符組成的表達(dá)式形式:變量名=表達(dá)式※說明:1.優(yōu)先級倒數(shù)第二,結(jié)合方向右

左2.是一種賦予的關(guān)系而不是等價的關(guān)系x=5y=8怎么樣交換x、y中的數(shù)值?3.賦值運算符的左側(cè)只能是變量不能是表達(dá)式4.賦值號右邊的表達(dá)式也可以是一個賦值表達(dá)式

a=b=c=5都為5a=5+(c=6)a=11a=(b=4)+(c=6)10a=(b=10)/(c=2)5課堂練習(xí):賦值表達(dá)式一、賦值運算符和賦值表達(dá)式左2.是一種賦35二、復(fù)合賦值表達(dá)式1.復(fù)合賦值運算符:+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=(兩個運算符之間不能有空格)將形如:變量名=變量名+表達(dá)式的表達(dá)式簡化成:變量名+=表達(dá)式的形式a=a+3例:a+=3x*=y+8x=x*(y+8)x%=3x=x%3理解:a+=b移到=右側(cè)=a+b=左側(cè)補(bǔ)變量名a=a+b例:已知變量a=6,計算表達(dá)式a+=a-=a*a結(jié)果為:-60練習(xí):已知a=12求運算后a的值(1)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2)n=5(6)a+=a-=a*=a說明:凡是有賦值運算符參加的運算都是從右往左算二、復(fù)合賦值表達(dá)式1.復(fù)合賦值運算符:36一、自加(++)和自減(--)運算符1.作用:使運算對象的值增加1或者減少1例i++

i=i+1i--

i=i-1※2.使用i++表達(dá)式的值:先用后加變量的值:增加1++i表達(dá)式的值:先加后用變量的值:增加1習(xí)題:inta,b;b=3;a=b++;a的值是多少,b的值是多少a=++b;a的值是多少,b的值是多少習(xí)題:inti=10,j=5,b;b=++i-j;printf("b=%d\n",b);

inti=10,j=5,b;b=i++-j;printf("b=%d\n",b);一、自加(++)和自減(--)運算符1.作用:使運算對象的值37表達(dá)式如何計算結(jié)果(num1=5)num2=++num1;num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;num1=num1-1;num2=num1;num2=4;num1=4;num2=num1--;num2=num1;num1=num1-1;num2=5;num1=4;表達(dá)式如何計算結(jié)果(num1=5)num2=++num38二、逗號運算符和逗號表達(dá)式1.定義:用逗號將表達(dá)式連接起來的式子

一般形式:表達(dá)式1,表達(dá)式2,表達(dá)式3,……,表達(dá)式n2.求解過程:從左到右一個一個求解,最后一個表達(dá)式的值就是整個逗號表達(dá)式的值3.說明:(1)結(jié)合方向左右(2)優(yōu)先級最底例如:已知a=3a=3,a+3結(jié)果:表達(dá)式的值為6b=a+3,a-3結(jié)果:表達(dá)式的值為0二、逗號運算符和逗號表達(dá)式(2)優(yōu)先級最底39總結(jié):1、正整數(shù)以原碼形式存儲2、負(fù)整數(shù)以補(bǔ)碼形式存儲3、%

取?;蚯笥噙\算符:1.運算對象必須為整型2.符號與被除數(shù)相同4、雙目運算符自動轉(zhuǎn)換原則:把表示范圍小的類型的值轉(zhuǎn)換到表示范圍大的類型的值5、反是有賦值運算符參加的運算都是從右往左算6、i++表達(dá)式的值:先用后加7、++i表達(dá)式的值:先加后用總結(jié):1、正整數(shù)以原碼形式存儲40習(xí)題:1、表達(dá)式13%5的值是多少()a.2b.3c.5d.12、要存儲一個雙精度浮點型的值,需要()字節(jié)的內(nèi)存空間a.6b.2c.4d.83、表達(dá)式a+=a-=a+a的值是多少?已知a=9a.12b.18c.-18d.04、計算機(jī)里最小的存儲單元是()a.位b.字節(jié)c.單元d.kb習(xí)題:411、寫出程序運行結(jié)果main(){intI,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,I,j,m,n);}2、寫出下列表達(dá)式的結(jié)果已知:A=3;1、A=A-3,A+32、B=A+3,A-33、C=A+3,A+B(B的值接上一題)1、寫出程序運行結(jié)果main(){inti,j,m,n;i=8;j=10;floatk=2.0;m=j/i;n=j/k;printf(“%d,%d”,m,n);}2、寫出下列表達(dá)式的結(jié)果已知:A=3;1、A-=3*6/5;2、A*=6-3;3、A%=7+2;1、寫出程序運行結(jié)果1、寫出程序運行結(jié)果42第二章C程序設(shè)計的初步知識(一)

第二章C程序設(shè)計的初步知識(一)

43回顧1、程序是為執(zhí)行一項任務(wù)而編寫的有序指令集2、編譯器將源程序轉(zhuǎn)換成機(jī)器能理解的程序3、連接器用于連接相關(guān)的目標(biāo)文件以生成可執(zhí)行程序問:1、C的源程序是后綴是什么?2、目標(biāo)文件的后綴是什么?3、程序的三大結(jié)構(gòu)是什么?回顧44目標(biāo)理解C程序的基本結(jié)構(gòu)理解變量和常量的含義熟悉基本數(shù)據(jù)類型

-int、char、float和double目標(biāo)理解C程序的基本結(jié)構(gòu)45C語言的基本結(jié)構(gòu)

#include<stdio.h>voidmain(){printf("HelloWorld\n");}以#開始的語句稱為預(yù)處理器指令#include語句不是必需的,但是,如果程序有該語句,就必須將它放在程序的開始處以.h為后綴的文件被稱為頭文件,可以是C程序中現(xiàn)成的標(biāo)準(zhǔn)庫文件,也可以是自定義的庫文件。stdio.h文件中包含了有關(guān)輸入輸出語句的函數(shù)

main()函數(shù)是C程序處理的起點。

main()函數(shù)可以返回一個值,也可以不返回值。如果某個函數(shù)沒有返回值,那么在它的前面有一個關(guān)鍵字void在函數(shù)定義的后面有一個左大括號,即{它表示函數(shù)的開始,后面是函數(shù)的主體大括號也可以用于將語句塊括起來在函數(shù)定義的結(jié)尾處有一個右大括號,即}在屏幕上產(chǎn)生一行輸出“Helloworld”,并換行(\n)

函數(shù)主體中的每個語句都以分號結(jié)束。C程序中的一個語句可以跨越多行,并且用分號通知編譯器該語句已結(jié)束。C語言的基本結(jié)構(gòu)

#include<stdio.h>以#46C程序中的注釋#include<stdio.h>voidmain(){printf("HelloWorld\n");}//此程序用來打印HelloWorld單行注釋C程序可以包含注釋,以便向讀者作一般說明編譯器并不處理這些注釋/*此程序由×××編寫*用來打印輸出“HelloWorld”*/多行注釋/**************************作者:創(chuàng)建日期:描述:……***************************/#include<頭文件>voidmain(){……}注釋在程序中添加注釋是一個好的編程習(xí)慣,可以增強(qiáng)程序的可讀性。C程序中的注釋//此程序用來打印HelloWorld47上機(jī)寫一個錯誤的例子,給大家演示一下?!f明:1.必須使用main作為主函數(shù)名,程序是從主函數(shù)開始執(zhí)行,具有唯一性注意后面不能帶“;”2.函數(shù)體用左花括號“{”開始,用右花括號結(jié)束“}”3.用分號“;”作為語句結(jié)束的標(biāo)志注意是語句的結(jié)束標(biāo)志4.注釋部分:⑴必須用/*和*/括起來⑵必須成對出現(xiàn),⑶”/“和”*“之間不能有空格⑷注釋可以出現(xiàn)在程序的任何地方⑸注釋部分對程序運行不起作用⑹在注釋之間不可以再嵌套/**/(演示一下)

5,預(yù)處理器指理必須以”#“開頭,但不能加分號上機(jī)寫一個錯誤的例子,給大家演示一下。48什么是標(biāo)識符標(biāo)識符:在C語言中,有許多符號的命名,如變量名、函數(shù)名、數(shù)組名等,都必須遵守一定的規(guī)則,按此規(guī)則命名的符號稱為標(biāo)識符。什么是標(biāo)識符標(biāo)識符:在C語言中,有許多符號的命49在C語言中,標(biāo)識符命名需要遵循一定的規(guī)則有效名稱principalcost_pricemarks_3lastnamecity無效名稱123ratecurrency$discount%zipcode在C語言中,標(biāo)識符命名需要遵循一定的規(guī)則有效名稱prin50標(biāo)識符的命名規(guī)則:標(biāo)識符名可以由字母、數(shù)字和_(下劃線)組合而成標(biāo)識符不能包含除_以外的任何特殊字符,如:%、#、逗號、空格等標(biāo)識符必須以字母或_(下劃線)開頭標(biāo)識符不能包含空白字符(換行符、空格和制表符稱為空白字符)C語言中的某些詞(例如int和float等)稱為保留字,具有特殊意義,不能用作標(biāo)識符名C語言區(qū)分大小寫,因此標(biāo)識符price與標(biāo)識符PRICE是兩個不同的標(biāo)識符標(biāo)識符的命名規(guī)則:51一、標(biāo)識符1.分類:⑴關(guān)鍵字:c語言規(guī)定了一批標(biāo)識符,他們在c語言中代表著固定的含義,不能另做它用autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatorgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile⑵預(yù)定義標(biāo)識符:c語言語法允許用戶把這類標(biāo)識符另做它用,但是這些標(biāo)識符將失去系統(tǒng)規(guī)定的原意。比如:printfdefine⑶用戶標(biāo)識符:由用戶根據(jù)需要定義的標(biāo)識符稱為用戶標(biāo)識符一、標(biāo)識符⑴關(guān)鍵字:c語言規(guī)定了一批標(biāo)識符,他們在c語言中代52程序指令常量標(biāo)識符關(guān)鍵字常量運算符分隔符等常量是在程序中保持不變的量常量用于定義具有如下特點的數(shù)據(jù):在程序中保持不變在程序內(nèi)部頻繁使用需要用比較簡單的方式替代某些值程序指令常量標(biāo)識符常量是在程序中保持不變的量常量用53二、常量1.分類:整型常量、實型常量、字符常量、字符串常量三、用定義一個符號名的方法來代表一個常量例2.2計算圓的面積#include“stdio.h”#definePI3.14159/*定義符號名PI為3.14159*/main(){floatr;doubles;r=5.0;s=PI*r*r;Printf(“s=%f\n”,s);(演示一下)}二、常量54※說明:1、在整型常量的后面加一個字母L(大小寫均可)這個常量就成為長整型常量在內(nèi)存中占四個字節(jié)。2、無符號整數(shù)在數(shù)的未尾應(yīng)該加上字母后綴u(大小寫均可),若是長整型無符號整型常量,則可以加后綴lu或LU。3、常量的名子一定要大寫。4、定義常量的語句后面不能加“;”。

※說明:552.3整型數(shù)據(jù)一、整型常量整數(shù)的表示(1)十進(jìn)制表示:用一串連續(xù)的數(shù)字表示十進(jìn)制數(shù)。例:345316840-23456※只有十進(jìn)制可以是負(fù)數(shù)。(2)八進(jìn)制表示:以數(shù)字0開頭的一個連續(xù)數(shù)字序列,序列中只能有0-7這八個數(shù)字。例而019、423是非法的八進(jìn)制數(shù)。(3)十六進(jìn)制表示:以0X或0x開頭的連續(xù)數(shù)字和字母序列,序列中只能有0-9、A-F和a-f這些數(shù)字和字母,字母a、b、c、d、e、f分別對應(yīng)數(shù)字10、11、12、13、14、15,大小寫均可。2.3整型數(shù)據(jù)(1)十進(jìn)制表示:用一串連續(xù)的數(shù)字56二、整型變量可以分為基本型、短整型、長整型和無符號型四種名稱全稱類型說明符縮寫類型說明符字節(jié)范圍整型intint4-2,147,483,648至2,147,483,647無符號整型unsignedintunsigned40至4,294,967,295短整型shortintshort2-32768至+32767無符號短整型unsignedshortintunsignedshort20至65,535長整型longintlong4-2,147,483,648至2,147,483,647無符號長整型unsignedlongintunsignedlong40至4,294,967,295二、整型變量名稱全稱類型說明符縮寫類型說明符字范圍整型int57聲明和使用變量聲明變量:Datatypevariablename;定義時初始化變量:Datatypevariablename=value;定義后初始化變量:variablename=value;給變量賦值,除了給一個直接的值以外,還可以通過計算獲得。演示聲明和使用變量聲明變量:給變量賦值,除了給一個直接的值以外,58二、變量1.定義:在程序的運行過程中,值可以改變的量※2.說明:(1)每個變量有一個名字作為標(biāo)識,它是屬于用戶標(biāo)識符(2)變量必須先定義后使用(定義后還得賦值才能用)習(xí)題:1.以下選項中不合法的用戶標(biāo)識符是()A._123B.printfC.A$D.Dim2.可在c程序中用作用戶標(biāo)識符的一組標(biāo)識符是()A.voidB.as_b3C.ForD.2cdefine_123_abcDOWORDIf(大寫)caseSIG二、變量習(xí)題:592.4實型數(shù)據(jù)一、實型常量1.小數(shù)形式:由數(shù)字和小數(shù)點組成,必須有小數(shù)點。例:4.23、0.15、.56、78.、0.02.指數(shù)形式:以冪的形式表示,以字母e或E后跟一個以10為底的冪數(shù)。

字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù),字母e或E的前后及數(shù)字之間不得有空格(實型變量也遵守這個規(guī)則)。例:2.3e5、500e-2、.5E3、4.5e0,而e4、.5e3.6、.e5、e都不合法二、實型變量1.單精度:關(guān)鍵字為float2.雙精度:關(guān)鍵字為double

定義的一般形式floata,b,c;定義的一般形式

doublea,b,c;floata=4.5,b=5.6;doublea=5.9,b=45.36注:(1)占四個字節(jié)32位注:(1)占八個字節(jié)64位

(2)7位有效數(shù)字-1038~1038(2)15~16位有效數(shù)字-10308~10308

2.4實型數(shù)據(jù)一、實型常量60※說明:

1.在內(nèi)存中,實數(shù)一律以指數(shù)形式存放2.在內(nèi)存中,整數(shù)可以精確存放,實型數(shù)據(jù)存在誤差3.實型常量不分float和double一個實型常量可以賦給一個float型或者

double型變量4.定義變量的同時可以賦初值三、課堂練習(xí)1.下面四個選項中,那一組全是不合法浮點數(shù)的選項是A.160.B.123C.-.18D.-e30.122e4.2123e4.234e3.e50.01e32.下面四個選項中,均是合法浮點數(shù)的選項是A.+1e+1B.-.60C.123eD.-e35e-9.412e-41.2e-.4.8e-43e2-8e5+2e-15.e-0※說明:1.在內(nèi)存中,實數(shù)一律以指數(shù)形式存放三、課堂練61總結(jié):1、c語言是區(qū)分大小寫的2、常量的分類:整型常量、實型常量、字符常量、字符串常量3、變量的分類:1、整型變量:基本型、短整型、長整型和無符號型四種2、實型變量分類:單精度、雙精度4、指數(shù)形式:字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù),字母e或E的前后及數(shù)字之間不得有空格(實型變量也遵守這個規(guī)則)總結(jié):62第二章數(shù)值轉(zhuǎn)換、算術(shù)運算符(二)第二章數(shù)值轉(zhuǎn)換、算術(shù)運算符(二)63回顧1、c語言是區(qū)分大小寫的2、常量在程序中不能被更改,而變量在程序中可以被更改(定義常量的關(guān)健字是什么?)3、標(biāo)識符只能由字母、數(shù)字和下劃線組成,且第一個字符不能為數(shù)字4、整型分為短整型、整型、長整型,每種整型又可分為有符號型和無符號型5、實數(shù)分為單精度浮點型和雙精度浮點型(表現(xiàn)方式為兩種,1、小數(shù)2、指數(shù))6、八進(jìn)制表示為076十六進(jìn)制表示為0X或0x回顧64目標(biāo)理解二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換理解原碼、補(bǔ)碼及如何計算熟練使用算術(shù)運算符理解類型轉(zhuǎn)換目標(biāo)65改錯:#includestdioh#definePI3.14;Main{inta,b,c;a=1.2;b=3.4;c=a*b;printf(“c的值是:%f”,c)}

選擇題:1、以下選項中正確的變量名是a*123b)_yyAcdd)yy&2、以下那個是八進(jìn)制的表示方法?0Xfb)80080d)0763、以下那些是正確的實型常量?a)0.73e2b)0.72e0.2c)-65.55d)0改錯:66四、整數(shù)在內(nèi)存中的存儲形式(包括一下各種進(jìn)制的轉(zhuǎn)換)位(bite):計算機(jī)里最小的存儲單元字節(jié)(byte):8個二進(jìn)制組成一個字節(jié)字(word):若干個字節(jié)組成一個字16個二進(jìn)制位2個字節(jié)最高位最低位0表示正數(shù)1表示負(fù)數(shù)四、整數(shù)在內(nèi)存中的存儲形式(包括一下各種進(jìn)制的轉(zhuǎn)換)16個二67一、正整數(shù)以原碼形式存儲例正整數(shù)5的二進(jìn)制代碼:0000000000000101二、負(fù)整數(shù)1.以補(bǔ)碼形式存儲反碼:1和0互換補(bǔ)碼:對原碼取反加1(符號位不參加取反)例負(fù)整數(shù)-5的二進(jìn)制代碼:1111111111111011一、正整數(shù)0000000000000101二、負(fù)整數(shù)1111682.補(bǔ)碼形式存儲的二進(jìn)制轉(zhuǎn)換成負(fù)整數(shù)(1)對補(bǔ)碼取反(2)轉(zhuǎn)換成十進(jìn)制(3)根據(jù)最高位加負(fù)號(4)對所求數(shù)減11111111111111011-5的補(bǔ)碼1000000000000100取反轉(zhuǎn)換成十進(jìn)制-4減1-5三、無符號整數(shù)不在是符號位參與數(shù)值的大小中2.補(bǔ)碼形式存儲的二進(jìn)制轉(zhuǎn)換成負(fù)整數(shù)(1)對補(bǔ)碼取反69算術(shù)運算符算術(shù)

一元

二元操作數(shù)操作數(shù)運算符二元運算符+-*/%算術(shù)運算符算術(shù)一元二元操作數(shù)操作數(shù)運算符二元運算符+-*70#include<stdio.h>voidmain(){

inta=5,b=3,c=25,d=12;floatqu;intre,in,de;/*使用算術(shù)運算符*/qu=a/b;//除法re=a%b;//求模in=++c;de=--d;printf("商為

%f\n",qu);printf("余數(shù)為

%d\n",re);printf(“加

1后為

%d\n",in);printf("減

1后為

%d\n",de);}算術(shù)運算符示例輸出:商為1.000000余數(shù)為2加1后為26減1后為11#include<stdio.h>算術(shù)運算符示例輸出:71類型轉(zhuǎn)換自動類型轉(zhuǎn)換(雙目運算符兩邊運算數(shù)的類型必須一致,當(dāng)不一致時自動轉(zhuǎn)換)原則:把表示范圍小的類型的值轉(zhuǎn)換到表示范圍大的類型的值(舉例’a’+1)shortintlong

floatdouble說明:%

取?;蚯笥噙\算符1.運算對象必須為整型2.符號與被除數(shù)相同例如:-5%3值為-2/兩端為整數(shù)時,它取整,有一端為實數(shù)時,他就變成了除類型轉(zhuǎn)換自動類型轉(zhuǎn)換(雙目運算符兩邊運算數(shù)的類型必須一致,當(dāng)72二、強(qiáng)制類型轉(zhuǎn)換1.一般形式:(類型名)(表達(dá)式)2.作用:將一個表達(dá)式轉(zhuǎn)換所需類型※說明:1.(類型名)(表達(dá)式)括號不能省略(int)(x+y)(int)x+y對x、y整體只對x2.強(qiáng)制類型轉(zhuǎn)換運算得到一個中間變量,不改變原來變量的類型。四、課堂練習(xí)1.已知a=7,b=3,x=3.5,y=2.5(1).x+a%3*(int)(x+y)%2/4(2).(float)(a+b)/2+(int)x%(int)y二、強(qiáng)制類型轉(zhuǎn)換※說明:1.(類型名)(表達(dá)式)括號不73三、運算符的優(yōu)先級、結(jié)合性和算術(shù)表達(dá)式1.算術(shù)運算符的優(yōu)先級()、+、-、*、/、%、+、-高底同級同級同級單目雙目2.算術(shù)運算符和圓括號的結(jié)合性正負(fù)運算符:右左其它算術(shù)運算符:左右三、運算符的優(yōu)先級、結(jié)合性和算術(shù)表達(dá)式高74Sum=num1+num2操作數(shù)運算符表達(dá)式Sum=num1+num2操作數(shù)運算符表達(dá)式75Z=(X*2)+(5–Y)

操作數(shù)操作數(shù)表達(dá)式表達(dá)式表達(dá)式運算符Z=(X*2)+(5–Y)操作數(shù)操76賦值表達(dá)式一、賦值運算符和賦值表達(dá)式1.賦值運算符和賦值表達(dá)式賦值運算符:=賦值表達(dá)式:由賦值運算符組成的表達(dá)式形式:變量名=表達(dá)式※說明:1.優(yōu)先級倒數(shù)第二,結(jié)合方向右

左2.是一種賦予的關(guān)系而不是等價的關(guān)系x=5y=8怎么樣交換x、y中的數(shù)值?3.賦值運算符的左側(cè)只能是變量不能是表達(dá)式4.賦值號右邊的表達(dá)式也可以是一個賦值表達(dá)式

a=b=c=5都為5a=5+(c=6)a=11a=(b=4)

溫馨提示

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

評論

0/150

提交評論