C技能培訓(xùn)一實(shí)用_第1頁(yè)
C技能培訓(xùn)一實(shí)用_第2頁(yè)
C技能培訓(xùn)一實(shí)用_第3頁(yè)
C技能培訓(xùn)一實(shí)用_第4頁(yè)
C技能培訓(xùn)一實(shí)用_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C技能培訓(xùn)一實(shí)用2023/1/17為何要學(xué)習(xí)c++?1,首先在編程界使用最廣泛的語(yǔ)言是什么?2,C語(yǔ)言的優(yōu)越性體現(xiàn)在哪里?3,C++在C基礎(chǔ)上擴(kuò)充了哪些東西?第1頁(yè)/共53頁(yè)2023/1/17C++幾個(gè)重要概念1、程序:數(shù)據(jù)+操作2、數(shù)據(jù)類型:不同的數(shù)據(jù)組織方式得到不同的數(shù)據(jù)類型3、表達(dá)式:操作符+操作數(shù)4、語(yǔ)句控制:數(shù)據(jù)操作的流程第2頁(yè)/共53頁(yè)2023/1/17程序風(fēng)格命名(為常量、變量、函數(shù)取名)(1)名字必須符合標(biāo)識(shí)符的規(guī)范。(2)標(biāo)識(shí)符:由字母、數(shù)字、下劃線組成,而且只能以字母、下劃線打頭。(3)名字不能是保留字(系統(tǒng)有固定用途的標(biāo)識(shí)符)。(4)字母的大小寫有區(qū)別。(5)名字最好能表達(dá)一定的含義第3頁(yè)/共53頁(yè)2023/1/17C++基本數(shù)據(jù)類型數(shù)據(jù)類型 占用字節(jié)數(shù)int 4shortint 2longint 4unsignedint 4unsignedshortint 2unsignedlongint 4char 1signed char 1unsignedchar 1float 4double 8longdouble 10 第4頁(yè)/共53頁(yè)2023/1/17第一個(gè)C++程序 #include<iostream.h>voidmain(){cout<<”hello,world!”<<endl;

}

程序功能:在屏幕上顯示輸出

hello,world!說(shuō)明一說(shuō)明二說(shuō)明三說(shuō)明四說(shuō)明五說(shuō)明六第5頁(yè)/共53頁(yè)2023/1/17第一個(gè)C++程序說(shuō)明一:編譯預(yù)處理命令#include1、#:預(yù)處理命令的標(biāo)志。2、#include:包含命令;把一個(gè)文本文件的內(nèi)容插入到該命令處。3、<iostream.h>命令參數(shù);給出要插入文件的文件名。第6頁(yè)/共53頁(yè)2023/1/17第一個(gè)C++程序說(shuō)明二:頭文件:以h為擴(kuò)展名的文本文件 如果程序文件中引用到的函數(shù)、變量、常量、對(duì)象、數(shù)據(jù)類型等是由別的文件提供的,則必須在程序文件的開(kāi)始部分用#include命令把有關(guān)的頭文件包含進(jìn)來(lái)。第7頁(yè)/共53頁(yè)2023/1/17第一個(gè)C++程序說(shuō)明三:函數(shù)(具有特定功能的程序模塊)1、定義格式:返回類型函數(shù)名(形式參數(shù)表){函數(shù)體}voidmain(){cout<<”hello,world!”;}第8頁(yè)/共53頁(yè)2023/1/17第一個(gè)C++程序主函數(shù)(main函數(shù))每個(gè)程序中至少要有一個(gè)函數(shù),這個(gè)不可缺少的函數(shù)就是主函數(shù),約定主函數(shù)名為:main(1)程序由一個(gè)或多個(gè)函數(shù)組成。(2)如果程序中只有一個(gè)函數(shù),則一定是main函數(shù)。(3)如果程序中有多個(gè)函數(shù),則有且僅有一個(gè)為main函數(shù)。(4)main函數(shù)是程序的入口,程序是從main函數(shù)開(kāi)始執(zhí)行的。(5)main函數(shù)的返回值☆void:無(wú)返回值。☆int:有返回值。(0表示程序正常結(jié)束非0表示程序非正常結(jié)束)第9頁(yè)/共53頁(yè)2023/1/17第一個(gè)C++程序說(shuō)明四:C++語(yǔ)句☆基本語(yǔ)句:以分號(hào);作為結(jié)束標(biāo)志。☆復(fù)合語(yǔ)句:包含在{}中的基本語(yǔ)句序列。第10頁(yè)/共53頁(yè)2023/1/17常量

數(shù)據(jù)的一種重要表現(xiàn)形式,常量的值不可改變,1、整型常量(整型常數(shù))如:1232、實(shí)型常量(實(shí)型常數(shù))如:1.233、字符常量(用’’括起的一個(gè)字符)如:’a’4、字符串常量(用

””括起的字符序列)如:”student”5、枚舉常量注:除字符串常量中引號(hào)內(nèi)的字符以及注釋外,其它字符必須是半角字符。尤其注意不要誤用中文標(biāo)點(diǎn)。第11頁(yè)/共53頁(yè)2023/1/17使用常量的好處(1)程序的可讀性(可理解性)變差。程序員自己會(huì)忘記那些數(shù)字或字符串是什么意思,用戶則更加不知它們從何處來(lái)、表示什么。(2)在程序的很多地方輸入同樣的數(shù)字或字符串,難保不發(fā)生書寫錯(cuò)誤。(3)如果要修改數(shù)字或字符串,則會(huì)在很多地方改動(dòng),既麻煩又容易出錯(cuò)。第12頁(yè)/共53頁(yè)2023/1/17定義常量的方法const和#define#defineMAX100/*C語(yǔ)言的宏常量*/constintMAX=100;//C++語(yǔ)言的const常量constfloatPI=3.14159;//C++語(yǔ)言的const常量第13頁(yè)/共53頁(yè)2023/1/17const 和#define的比較C++語(yǔ)言可以用const來(lái)定義常量,也可以用#define來(lái)定義常量。但是前者比后者有更多的優(yōu)點(diǎn):(1)const常量有數(shù)據(jù)類型,而宏常量沒(méi)有數(shù)據(jù)類型。編譯器可以對(duì)前者進(jìn)行類型安全檢查。而對(duì)后者只進(jìn)行字符替換,沒(méi)有類型安全檢查,并且在字符替換可能會(huì)產(chǎn)生意料不到的錯(cuò)誤(邊際效應(yīng))。(2)有些集成化的調(diào)試工具可以對(duì)const常量進(jìn)行調(diào)試,但是不能對(duì)宏常量進(jìn)行調(diào)試。(3)const可以定義局部的常量第14頁(yè)/共53頁(yè)2023/1/17常量定義規(guī)則需要對(duì)外公開(kāi)的常量放在頭文件中,不需要對(duì)外公開(kāi)的常量放在定義文件的頭部。為便于管理,可以把不同模塊的常量集中存放在一個(gè)公共的頭文件中。如果某一常量與其它常量密切相關(guān),應(yīng)在定義中包含這種關(guān)系,而不應(yīng)給出一些孤立的值。 例如:constfloatRADIUS=100;constfloatDIAMETER=RADIUS*2;第15頁(yè)/共53頁(yè)2023/1/17復(fù)合數(shù)據(jù)類型數(shù)組 數(shù)組是具有統(tǒng)一數(shù)據(jù)類型的對(duì)象的集合.在定義數(shù)組時(shí),系統(tǒng)會(huì)自動(dòng)為它分配一塊連續(xù)的內(nèi)存空間.舉例:inta[10]={0}; sizeof(a)結(jié)果是多少?如何得到數(shù)組元素的個(gè)數(shù)?

疑問(wèn):為什么內(nèi)置數(shù)組類型不支持?jǐn)?shù)組之間的賦值?

即inta[5]={1,2,3,4,5};intb[5];b=a;這種語(yǔ)法到底對(duì)不對(duì)?為什么?第16頁(yè)/共53頁(yè)2023/1/17cout和數(shù)據(jù)的顯示輸出1、cout:連接顯示器的輸出流對(duì)象。2、<<:輸出操作符(插入操作符)3、顯示輸出語(yǔ)句的格式:

cout<<表達(dá)式【<<表達(dá)式】

;注:【】中內(nèi)容可有可無(wú),若有,可重復(fù)多次。如:cout<<100;

屏幕輸出100cout<<100<<200<<100+200;

屏幕輸出100200300第17頁(yè)/共53頁(yè)2023/1/17cout和數(shù)據(jù)的顯示輸出4、插入空格:(空格符為’’)如:cout<<100<<’’<<200<<100+200;屏幕輸出:100200300第18頁(yè)/共53頁(yè)2023/1/17cout和數(shù)據(jù)的顯示輸出5、換行輸出☆換行符號(hào):’\n’☆換行控制符:endl如:cout<<100\n<<200;cout<<100<<endl<<200;則這兩個(gè)語(yǔ)句的輸出結(jié)果相同:100200第19頁(yè)/共53頁(yè)2023/1/17cout和數(shù)據(jù)的顯示輸出四點(diǎn)注意:1、要輸出的字符串需要用雙引號(hào)”

”括起來(lái)。但輸出到屏幕上時(shí),雙引號(hào)”

”并不顯示。2、語(yǔ)句的最后要用分號(hào)

;表示結(jié)束。3、換行符號(hào)’\n’和換行控制符endl寫法不同,但效果相同。4、可以作為輸出內(nèi)容的不止是字符串,還可以是數(shù)、表達(dá)式等等。第20頁(yè)/共53頁(yè)2023/1/17數(shù)組如何定義數(shù)組的大小inta[10];constintsize=10;inta[size];intsize=10;inta[size];inta[]={1,2,3,4,5,6,7,8,9,10};訪問(wèn)數(shù)組時(shí),千萬(wàn)別越界。因?yàn)閿?shù)組下標(biāo)越界時(shí),編譯可以通過(guò)的,沒(méi)法幫你檢查 第21頁(yè)/共53頁(yè)2023/1/17復(fù)合數(shù)據(jù)類型結(jié)構(gòu)體 結(jié)構(gòu)體將某些相關(guān)的具有不同類型的數(shù)據(jù)組織到一個(gè)數(shù)據(jù)類型中.

定義形式: struct結(jié)構(gòu)體名

{

成員列表; };第22頁(yè)/共53頁(yè)2023/1/17結(jié)構(gòu)體舉例

struct employee { charname[10]; intage; }; sizeof(employee)=?第23頁(yè)/共53頁(yè)2023/1/17復(fù)合數(shù)據(jù)類型共用體 共用體使用不同的數(shù)據(jù)類型的變量共占同一內(nèi)存單元.

定義形式: union {

成員列表; };

第24頁(yè)/共53頁(yè)2023/1/17共用體共用體和結(jié)構(gòu)體的比較 兩者定義相似,但含義不同.二者主要區(qū)別在于:結(jié)構(gòu)體變量所占長(zhǎng)度是各成員所占內(nèi)存的長(zhǎng)度之和,每個(gè)成員分別占有自己的內(nèi)存單元;而共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度. unioncountry { charusa[3]; charchina[5]; charaustralia[9]; }; sizeof(country)=?第25頁(yè)/共53頁(yè)2023/1/17復(fù)合數(shù)據(jù)類型枚舉 所謂枚舉是指將變量的值一一列舉出來(lái),變量的值只限于在列舉出來(lái)的值的范圍內(nèi)

enumcolor{Red,Green,Blue,Yellow};Red=?第26頁(yè)/共53頁(yè)2023/1/17復(fù)合數(shù)據(jù)類型指針類用戶自定義類型第27頁(yè)/共53頁(yè)2023/1/17運(yùn)算符算術(shù)運(yùn)算符.單目算術(shù)運(yùn)算符-(取負(fù)),+(取正),++(增1),--(減1),.雙目算術(shù)運(yùn)算符+(相加),-(相減),*(相乘),/(相除)和%(取余數(shù))關(guān)系運(yùn)算符

>(大于),<(小于),>=(小于等于),==(相等),!=(不相等)邏輯運(yùn)算符.單目邏輯運(yùn)算符:!(邏輯求反).雙目邏輯運(yùn)算符:&&(邏輯與),||(邏輯或)第28頁(yè)/共53頁(yè)2023/1/17運(yùn)算符舉例:+(加號(hào))的使用voidswap(int&a,int&b){ a=a+b; b=a-b; a=a-b;}第29頁(yè)/共53頁(yè)2023/1/17運(yùn)算符邏輯運(yùn)算符 一般用于條件的判斷,比如if(),或者while().位操作運(yùn)算符位操作運(yùn)算符是用來(lái)進(jìn)行二進(jìn)制位運(yùn)算的運(yùn)算符,它又分為兩類:邏輯位運(yùn)算符和移位運(yùn)算符.第30頁(yè)/共53頁(yè)2023/1/17運(yùn)算符邏輯位運(yùn)算符.單目邏輯位運(yùn)算符~(按位求反).雙目邏輯位運(yùn)算符&(按位與),|(按位或),^(按位異或)移位運(yùn)算符移位運(yùn)算符:<<(左移),>>(右移)左移是將一個(gè)二進(jìn)制數(shù)按指定移動(dòng)的位數(shù)向左移位,移掉的位被丟棄,右邊移出的空位一律補(bǔ)0.右移是將一個(gè)二進(jìn)制數(shù)按指定移動(dòng)的位數(shù)向右移動(dòng),移掉的位被丟棄,左邊移出的空位或者一律補(bǔ)0,或者補(bǔ)符號(hào)位,這要由機(jī)器而定.第31頁(yè)/共53頁(yè)2023/1/17運(yùn)算符舉例:^(按位異或)的使用

voidswap(int&a,int&b) { a=a^b; b=a^b; a=b^a; }第32頁(yè)/共53頁(yè)2023/1/17運(yùn)算符賦值運(yùn)算符.簡(jiǎn)單的賦值運(yùn)算符:=.復(fù)合的賦值運(yùn)算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=第33頁(yè)/共53頁(yè)2023/1/17運(yùn)算符條件運(yùn)算符 條件運(yùn)算符的使用格式如下:d1?d2:d3其功能是計(jì)算d1的值,并且進(jìn)行判斷,如果為非零,則表達(dá)式的值為d2,否則表達(dá)式的值是d3第34頁(yè)/共53頁(yè)2023/1/17運(yùn)算符舉例:?:的使用intgetLenOfStr(constchar*str)//求字符串長(zhǎng)度{ return*str==0?0:1+getLenOfStr(str+1);}第35頁(yè)/共53頁(yè)2023/1/17運(yùn)算符逗號(hào)運(yùn)算符,逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中最低的.使用逗號(hào)運(yùn)算符(,)可以將多個(gè)表達(dá)式組成一個(gè)表達(dá)式.例如e1,e2,e3,e4;e1,e2,e3,e4各為一個(gè)表達(dá)式.整個(gè)表達(dá)式的值和類型由最后一個(gè)表達(dá)式?jīng)Q定.計(jì)算一個(gè)逗號(hào)表達(dá)式的值時(shí),從左到右依次計(jì)算各個(gè)表達(dá)式的值,最后計(jì)算的一個(gè)表達(dá)式的值和類型便是整個(gè)逗號(hào)表達(dá)式的值和類型第36頁(yè)/共53頁(yè)2023/1/17運(yùn)算符強(qiáng)制類型運(yùn)算符該運(yùn)算符用來(lái)將指定的表達(dá)式的值強(qiáng)制為所指定的類型,使用格式如下:類型說(shuō)明符(表達(dá)式)或者(類型說(shuō)明符)表達(dá)式將指定的”表達(dá)式”的類型轉(zhuǎn)換為指定的”類型說(shuō)明符”所說(shuō)明的類型.這種強(qiáng)制類型可能使數(shù)值精度受到影響.第37頁(yè)/共53頁(yè)2023/1/17控制結(jié)構(gòu)順序結(jié)構(gòu) 在C++中,最基本的順序結(jié)構(gòu)是數(shù)據(jù)的輸入和輸出語(yǔ)句.它們是通過(guò)I/O流來(lái)實(shí)現(xiàn)的.cin和cout是預(yù)定義的流對(duì)象.cin用來(lái)處理標(biāo)準(zhǔn)輸入,即鍵盤輸入;cout用來(lái)處理標(biāo)準(zhǔn)輸出.第38頁(yè)/共53頁(yè)2023/1/17控制結(jié)構(gòu)選擇結(jié)構(gòu)

C++中的選擇結(jié)構(gòu)語(yǔ)句有:if語(yǔ)句,ifelse語(yǔ)句,ifelseif語(yǔ)句和switch語(yǔ)句if語(yǔ)句if語(yǔ)句用于在程序中有條件的執(zhí)行某一語(yǔ)句,語(yǔ)法形式如下:if(condition) expression;其功能是:只有在condition為真時(shí)才執(zhí)行expression第39頁(yè)/共53頁(yè)2023/1/17選擇結(jié)構(gòu)if…else語(yǔ)句if…else語(yǔ)句根據(jù)不同的條件分別執(zhí)行不同的語(yǔ)句,其語(yǔ)法形式如下:if(condition) expression1;else expression2;其功能是:當(dāng)condition為真時(shí)執(zhí)行expression1,當(dāng)condition為假時(shí)執(zhí)行expression2if …elseif語(yǔ)句if …elseif語(yǔ)句用于進(jìn)行多重判斷,其語(yǔ)法形式如下:第40頁(yè)/共53頁(yè)2023/1/17循環(huán)結(jié)構(gòu)forfor循環(huán)通常用于處理具有固定長(zhǎng)度的數(shù)據(jù)結(jié)構(gòu),例如數(shù)組. for循環(huán)的文法結(jié)構(gòu)如下: for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

語(yǔ)句;其中,”表達(dá)式1”可以是一條說(shuō)明或表達(dá)式,它一般用于對(duì)一組變量進(jìn)行初始化或賦值.當(dāng)然,它也可以是一個(gè)空語(yǔ)句.”表達(dá)式2”用于控制循環(huán),只有在其為真時(shí),才執(zhí)行循環(huán)體中的”語(yǔ)句”.”表達(dá)式3”在每次循環(huán)結(jié)束后執(zhí)行,它一般用于修改在”表達(dá)式1”中初始化的變量.循環(huán)體可以是簡(jiǎn)單語(yǔ)句也可以是復(fù)合語(yǔ)句,如果在第一次計(jì)算”表達(dá)式2”時(shí)得到的值為假,則循環(huán)體中的語(yǔ)句一次也不會(huì)執(zhí)行.第41頁(yè)/共53頁(yè)2023/1/17forint a[10]={0};for(inti=0;i<10;++i){ a[i]=i;}經(jīng)典習(xí)題:

有n盆一字排開(kāi)的花盆,它們的顏色只限于紅色,藍(lán)色,白色,請(qǐng)問(wèn):如何每盆花盆只訪問(wèn)一次,便可將相同顏色的花盆放在一起第42頁(yè)/共53頁(yè)2023/1/17whileWhile語(yǔ)句特別適合于處理字符串和其他指針類型,其語(yǔ)法結(jié)構(gòu)如下: while(condition) { expression; };只要condition為真,就會(huì)重復(fù)執(zhí)行expression第43頁(yè)/共53頁(yè)2023/1/17while循環(huán)的使用計(jì)算10! intloop=1; intsum=1; while(loop<=10) { sum*=loop; ++loop; }第44頁(yè)/共53頁(yè)2023/1/17while循環(huán)典型應(yīng)用求兩個(gè)數(shù)的最大公約數(shù)(提示:采用輾轉(zhuǎn)相除的方法)參考答案:intgetMaxCommonDivisor(intfirst,intsecond)//求兩個(gè)數(shù)的最大公約數(shù),采用輾轉(zhuǎn)相除的方法{ intmin=first<second?first:second; intmax=first>second?first:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論