C語(yǔ)言基礎(chǔ)教程_第1頁(yè)
C語(yǔ)言基礎(chǔ)教程_第2頁(yè)
C語(yǔ)言基礎(chǔ)教程_第3頁(yè)
C語(yǔ)言基礎(chǔ)教程_第4頁(yè)
C語(yǔ)言基礎(chǔ)教程_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)——蔣菲菲為什么要學(xué)習(xí)C語(yǔ)言?它是一門(mén)專(zhuān)業(yè)基礎(chǔ)課★★編程的入門(mén)語(yǔ)言國(guó)二考試必備知識(shí)★怎樣學(xué)?課前預(yù)習(xí),課后復(fù)習(xí)掌握知識(shí),動(dòng)手編程初學(xué)編程,注意基礎(chǔ)編程過(guò)程,注意細(xì)節(jié)教材分析第1章C語(yǔ)言概述第2章程序設(shè)計(jì)的靈魂——算法第3章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式第4章順序程序設(shè)計(jì)第5章選擇結(jié)構(gòu)程序設(shè)計(jì)第6章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)第7章數(shù)組第8章函數(shù)第9章預(yù)編譯處理第10章指針第11章結(jié)構(gòu)體、共用體與枚舉第12章位運(yùn)算第13章文件第一章C語(yǔ)言概述本章目標(biāo)1.了解C語(yǔ)言的發(fā)展簡(jiǎn)史與特點(diǎn)2.掌握C語(yǔ)言程序的結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則3.掌握C語(yǔ)言的語(yǔ)句和關(guān)鍵字4.熟悉VC++的基本操作教學(xué)重點(diǎn):教學(xué)難點(diǎn):C語(yǔ)言程序的結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則C語(yǔ)言程序的上機(jī)步驟C語(yǔ)言程序的結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則教學(xué)重難點(diǎn)C語(yǔ)言的產(chǎn)生與發(fā)展在上個(gè)世紀(jì)七十年代以前,系統(tǒng)軟件主要是用匯編語(yǔ)言編寫(xiě)的。但是匯編語(yǔ)言程序過(guò)分依賴(lài)于計(jì)算機(jī)硬件,其可讀性和可移植性都很差;而一般的高級(jí)語(yǔ)言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的直接操作,于是人們希望有一種兼有匯編語(yǔ)言和高級(jí)語(yǔ)言特性的中間語(yǔ)言。機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο驝語(yǔ)言的發(fā)展簡(jiǎn)史C語(yǔ)言的歷史過(guò)程C語(yǔ)言的最初形成時(shí)間:1972~1973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchieKen.ThompsonDennis.M.Ritchie標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國(guó)際標(biāo)準(zhǔn)的ISOCC標(biāo)準(zhǔn)化過(guò)程C語(yǔ)言的特點(diǎn)C語(yǔ)言與自然語(yǔ)言相比自然語(yǔ)言C語(yǔ)言信息交流(地位平等)(有思維、推理能力)人——計(jì)算機(jī)對(duì)話(命令方式)(無(wú)思維、推理能力,具有計(jì)算機(jī)判斷能力)語(yǔ)法規(guī)則、句法規(guī)則、靈活(可省略、顛倒)例:走,去曬太陽(yáng)。

去曬太陽(yáng),走。語(yǔ)法規(guī)則、句法規(guī)則固定(一般不可省略、顛倒)例:x=a+b;

Scanf(“%d%d”,&a,&b);表達(dá)方式多樣算法多樣1、語(yǔ)言簡(jiǎn)潔緊湊、方便靈活。2、運(yùn)算功能豐富。3、數(shù)據(jù)類(lèi)型豐富。4、提供了結(jié)構(gòu)化程序設(shè)計(jì)的控制語(yǔ)句。5、語(yǔ)法結(jié)構(gòu)松散。6、C語(yǔ)言允許直接訪問(wèn)物理地址,直接對(duì)硬件進(jìn)行操作。7、生成目標(biāo)代碼質(zhì)量高,程序的執(zhí)行效率高。8、可移植性好。C語(yǔ)言的特點(diǎn)僅有32個(gè)關(guān)鍵字,9種控制語(yǔ)句。32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile9種控制語(yǔ)句:if()~else~for()~while()~do~while()ContinuebreakSwitchgotoreturn34種運(yùn)算符:算術(shù)運(yùn)算符:+-*/%++--關(guān)系運(yùn)算符:<<===>>=!=邏輯運(yùn)算符:!&&||位運(yùn)算符:<<>>~|^&賦值運(yùn)算符:=及其擴(kuò)展條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:*&求字節(jié)數(shù):sizeof

強(qiáng)制類(lèi)型轉(zhuǎn)換:(類(lèi)型)分量運(yùn)算符:.->下標(biāo)運(yùn)算符:[]其它:()-有整型、實(shí)型、字符型、數(shù)組類(lèi)型、指針類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體類(lèi)型等C語(yǔ)言開(kāi)發(fā)環(huán)境C語(yǔ)言的開(kāi)發(fā)環(huán)境有多種,本教程的開(kāi)發(fā)環(huán)境采用MicroSoftVisualC++6.0的開(kāi)發(fā)環(huán)境,下面通過(guò)一個(gè)簡(jiǎn)單的例子,我們來(lái)學(xué)習(xí)如何創(chuàng)建一個(gè)C程序,快速熟悉VisualC++6.0的開(kāi)發(fā)環(huán)境。首先要在計(jì)算機(jī)上安裝上MicroSoftVisualC++6.0的開(kāi)發(fā)軟件。

(1)展開(kāi)“開(kāi)始->程序->MicroSoftVisualStudio6.0->MicroSoftVisualC++6.0”菜單項(xiàng),如圖所示:

(2)在圖1-2中單擊鼠標(biāo)左鍵,即打開(kāi)圖所示的VisualC++ 6.0開(kāi)發(fā)工具的主窗口:

(3)在上圖所示的菜單欄中點(diǎn)擊“文件—>新建”菜單項(xiàng),彈出如圖所示的“新建”對(duì)話框,由于我們要新建一個(gè)程序文件,而不是創(chuàng)建一個(gè)工程,因此,我們需要通過(guò)“文件”選項(xiàng)卡來(lái)創(chuàng)建一個(gè)程序文件;

(4)在上圖中點(diǎn)擊“文件”選項(xiàng)卡,如圖所示,在列表框中選擇“C++SourceFile”選項(xiàng),在“文件”下面的文本框中為程序命名,本例文件的名字為:“FirstPro”,在“C目錄:”中選擇程序文件所在的位置,本例采用默認(rèn)的位置;

(5)在上圖所示的對(duì)話框中點(diǎn)擊“確定”按鈕,我們就成功新建了一個(gè)名為“FirstPro.cpp”的C程序文件,即出現(xiàn)如圖所示的“程序編輯器”窗口,這就是我們要編輯程序代碼的可視化窗口,我們需要在窗口中輸入程序代碼:

(7)程序編寫(xiě)完成后,我們要編譯運(yùn)行這個(gè)程序,以查看程序的運(yùn)行結(jié)果,點(diǎn)擊“編譯”菜單下的“全部重建”菜單項(xiàng)(或直接點(diǎn)擊鍵盤(pán)上的“F7”鍵),即彈出圖1-8所示的對(duì)話框,該對(duì)話框詢(xún)問(wèn):“當(dāng)前的命令需要一個(gè)活動(dòng)的工程工作區(qū),你想建立一個(gè)缺省的工作區(qū)嗎?”,選擇“是(Y)”按鈕;此后出現(xiàn)如圖1-9所示的對(duì)話框,該對(duì)話框詢(xún)問(wèn):“是否將改動(dòng)保存到(創(chuàng)建文件時(shí)所設(shè)置的路徑)”,選擇“是(Y)”按鈕;此時(shí)重建完成,可以執(zhí)行程序了;選擇“是(Y)”

(8)選擇“編譯”菜單下的“!執(zhí)行FirstPro.exe”菜單項(xiàng)執(zhí)行程序,如圖所示,或同時(shí)點(diǎn)擊鍵盤(pán)上的“CTRL+F5”鍵來(lái)執(zhí)行程序;“!執(zhí)行FirstPro.exe一、運(yùn)行一個(gè)C語(yǔ)言程序的一般過(guò)程編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe簡(jiǎn)單的C程序介紹例1、僅由main()函數(shù)構(gòu)成的程序#include<stdio.h>voidmain()

{printf(“Thisisacprogram.\n”);}本程序的作用是輸出以下一行信息:Thisisacprogram./*包含頭文件*//*主函數(shù)*//*輸出語(yǔ)句*/Iamastudent.簡(jiǎn)單的C程序介紹#include<stdio.h>main(){

int

a,b,sum;a=123;b=456;sum=a+b;

printf(“sum=%d”,sum);}例2:求兩個(gè)數(shù)之和.程序運(yùn)行結(jié)果:sum=579/*定義變量*//*變量賦初值*//*求和*/scanf(“%d%d”,&a,&b);簡(jiǎn)單的C程序介紹#include<stdio,h>main(){int

a,b,c;intmax(intx,inty);

scanf(“%d%d”,&a,&b);/*輸入變量a和b的值*/c=max(a,b);/*調(diào)用max函數(shù),將得到的值賦給*/

printf(“maxis%d”,c);}

int

max(int

x,inty)/*max函數(shù)*/{intz;

If(x>y)z=x;/*比較大小*/elsez=y;returnz;/*將c的值返回,通過(guò)max帶回調(diào)用處*/}例3:求兩個(gè)數(shù)中最大的數(shù).[提問(wèn)]1、一個(gè)可運(yùn)行的程序由誰(shuí)構(gòu)成?2、一個(gè)程序可以有幾個(gè)主函數(shù)?3、一個(gè)函數(shù)又是由誰(shuí)來(lái)構(gòu)成?(老師總結(jié))C語(yǔ)言的結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則通過(guò)上面的幾個(gè)例子可以看到:1、C語(yǔ)言程序是由函數(shù)構(gòu)成的

一個(gè)C源程序至少包含一個(gè)main()函數(shù),也可以包含一個(gè)main()函數(shù)和若干個(gè)其他函數(shù)。函數(shù)是C程序的基本單位。

2、一個(gè)函數(shù)由兩部分組成<1>函數(shù)的首部.包括函數(shù)名、函數(shù)類(lèi)型、函數(shù)參數(shù)(形參)名、參數(shù)類(lèi)型.如:例3中max函數(shù)首句為

intmax(intx,inty)函數(shù)類(lèi)型函數(shù)名函數(shù)參數(shù)類(lèi)型函數(shù)參數(shù)名注:一個(gè)函數(shù)名后面必須按必須跟一對(duì)圓括弧,函數(shù)參數(shù)可以沒(méi)有,如main().C語(yǔ)言的結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則

<2>.函數(shù)體,即函數(shù)首部下面的大括弧{}內(nèi)的部分.如果一個(gè)函數(shù)體內(nèi)有多個(gè)大括弧,則最外層的一對(duì){}為函數(shù)體范圍.函數(shù)體一般包括:

聲明部分:在這個(gè)部分定義所用到的變量.

執(zhí)行部分:由若干語(yǔ)句組成.3、一個(gè)C程序總是從main()函數(shù)處開(kāi)始執(zhí)行的,而不論main()函數(shù)在整個(gè)程序中位置如何(main函數(shù)可以放在程序的最前頭,也可以放在程序最后或者在一些函數(shù)之前,一些函數(shù)之后).4、C程序書(shū)寫(xiě)格式自由,一行可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以寫(xiě)在多行上.6、C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句,輸出輸出的操作由庫(kù)函數(shù)scanf與printf函數(shù)來(lái)完成的.5、每個(gè)語(yǔ)句和數(shù)據(jù)的定義的最后必須有一個(gè)分號(hào).

分號(hào)是C語(yǔ)句的必要組成部分.如:C=A+B;

注:分號(hào)不可少.即使程序最后一個(gè)語(yǔ)句也要包含分號(hào).C語(yǔ)言的結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則7、可以用/*······*/對(duì)程序中的任何部分做注釋.C語(yǔ)言程序的其他特點(diǎn)C語(yǔ)言程序還有以下特點(diǎn):格式特點(diǎn):不使用行號(hào),無(wú)程序行概念可使用空行和空格常用鋸齒形書(shū)寫(xiě)格式注釋/**/為注釋,不能嵌套不產(chǎn)生編譯代碼優(yōu)秀C程序員的必備格式:使用TAB縮進(jìn){}對(duì)齊有足夠的注釋有合理的空行voidmain(){

inti,j,sum;sum=0;

for(i=1;i<10;i++){

for(j=1;j<10;j++){sum+=i+j;}}

printf(“%d\n”,sum);}結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行。程序語(yǔ)句C程

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論