版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計
C語言程序設(shè)計教學(xué)要求知識:掌握程序設(shè)計語言的基本知識素質(zhì):常用算法能力:初步的程序設(shè)計能力學(xué)習(xí)方法自主學(xué)習(xí)重視上機實踐學(xué)生要按時上課和上機、課后要看書、認(rèn)真獨立完成作業(yè)成績評定方式:平時成績占40%(包括平時考勤、上機作業(yè)情況、期中考試);期末成績占60%如何盡快學(xué)會用C語言進(jìn)行程序設(shè)計了解程序設(shè)計語言(C語言)模仿、改寫、編寫通過不斷的編程實踐,逐步領(lǐng)會和掌握程序設(shè)計的基本思想和方法教材和參考書C語言程序設(shè)計,何欽銘、顏暉主編,高等教育出版社,2008年第1版
C語言程序設(shè)計,梅創(chuàng)社編著.北京理工大學(xué)出版社.2010年7月第1版
譚浩強編著.C語言程序設(shè)計.清華大學(xué)出版社.
楊路明編著.C語言程序設(shè)計.北京郵電大學(xué)出版社.2005年12月第2版
C語言編程(第3版),[美]Stephen,G.Kochan,張小潘譯,電子工業(yè)出版社,2006C語言教程(第4版),[美]AlKelley,IraPohl,徐波譯,機械工業(yè)出版社,2007第一章引言一個C語言程序程序與程序設(shè)計語言C語言的發(fā)展歷史與特點實現(xiàn)問題求解的過程重點:C語言的語法包含的內(nèi)容、C語言程序的基本框架、
C語言程序的上機步驟1.1一個C語言程序例1-1求階乘問題。輸入一個正整數(shù)n,輸出n!。#include<stdio.h>/*編譯預(yù)處理命令*/intmain(void)/*主函數(shù)*/{
intn; /*變量定義*/
int
factorial(intn);/*函數(shù)聲明*/
scanf("%d",&n);/*輸入一個整數(shù)*/
printf("%d\n",factorial(n));/*調(diào)用函數(shù)計算階乘*/return0;}
int
factorial(intn) /*定義計算n!的函數(shù)*/{
inti,fact=1;for(i=1;i<=n;i++)/*循環(huán)*/ fact=fact*i;returnfact;}輸入4輸出24C程序由函數(shù)組成有且只有一個主函數(shù)main
回顧:1、在程序的開始要使用編譯預(yù)處理命令#include。
2、main()是程序中的主函數(shù)。3、int是整型,其后面的n是被定義成整型的變量。4、scanf(“%d”,&n);是輸入語句,其中:%d說明從鍵盤上輸入的是十進(jìn)制整型數(shù)據(jù),&n表示輸入的數(shù)據(jù)放在變量n中。5、printf
(“%d\n”,factorial(n));是輸出語句,其中:%d說明從屏幕上輸出的是十進(jìn)制整型數(shù)據(jù),\n表示回車(換行)。此語句在這里還有函數(shù)調(diào)用的功能,調(diào)用的是用戶自定義函數(shù)factorial6、return0;是返回語句,一般函數(shù)結(jié)束調(diào)用后都要返回到主調(diào)函數(shù)中去。這里因為main()是主函數(shù),所以用的是return0。作業(yè)1為什么在程序的開始要使用編譯預(yù)處理命令。2為什么說主函數(shù)是不可或缺的(因為C程序由函數(shù)組成有且只有一個主函數(shù)main),空類型的主函數(shù)與整型的主函數(shù)在寫法上有何不同。3為什么在主函數(shù)中一開始就要進(jìn)行變量定義,變量定義語句的格式。4為什么要進(jìn)行函數(shù)聲明,函數(shù)聲明語句的格式。5怎樣通過鍵盤接收1個整型數(shù)據(jù),scanf函數(shù)的格式。6例1-1是如何利用標(biāo)準(zhǔn)輸出函數(shù)printf調(diào)用用戶自定義函數(shù)factorial的,factorial函數(shù)的作用是什么。7factorial函數(shù)是怎樣實現(xiàn)求n的階乘的8函數(shù)定義語句的格式。9factorial函數(shù)體中有幾條語句,它們的作用是什么。10for循環(huán)語句的三要素是什么。11寫出累乘器和累加器的形式,它們的初值都是什么。注:將作業(yè)題抄題并將答案寫到作業(yè)本上,本皮上寫明班級,姓名和學(xué)號。學(xué)生練習(xí):要求仿照例1-1求累加和問題。即:輸入一個正整數(shù)n,輸出1+2+3+….+n的和。1.2程序與程序設(shè)計語言程序人們?yōu)榻鉀Q某種問題用計算機可以識別的代碼編排的一系列加工步驟程序的執(zhí)行過程實際上是對程序所表達(dá)的數(shù)據(jù)進(jìn)行處理的過程程序設(shè)計語言提供了一種表達(dá)數(shù)據(jù)與處理數(shù)據(jù)的功能要求程序員按照語言的規(guī)范編程1.2程序與程序設(shè)計語言程序與指令程序設(shè)計語言的功能程序設(shè)計語言的語法程序的編譯與編程環(huán)境1.2.1程序與指令指令:可以完成計算機的一個最基本的功能如實現(xiàn)一次加法運算或?qū)崿F(xiàn)一次大小的判別計算機的指令系統(tǒng):是指計算機所能實現(xiàn)的指令的集合程序與指令之間的關(guān)系是:程序是一系列計算機指令的有序組合關(guān)于程序與指令,下面舉1道例題例1-2編寫程序,分別求和與乘積先介紹:虛擬的計算機指令系統(tǒng)(共7條指令)指令1:InputX將當(dāng)前輸入數(shù)據(jù)存儲到內(nèi)存的X單元指令2:OutputX將內(nèi)存X單元的數(shù)據(jù)輸出。指令3:AddXYZ將內(nèi)存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相加并將結(jié)果存儲到Z單元。指令4:SubXYZ將內(nèi)存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相減并將結(jié)果存儲到Z單元。指令5:BranchEqXYP比較X與Y,若相等則程序跳轉(zhuǎn)到P處執(zhí)行,否則繼續(xù)執(zhí)行下一條指令。指令6:JumpP程序跳轉(zhuǎn)到P處執(zhí)行。指令7:SetXY將內(nèi)存Y單元的值設(shè)為X。對以上7條指令進(jìn)行不同組合就可以實現(xiàn)多項功能,具體請看下面的例題:1.2.1程序與指令(1)輸入3個數(shù)A,B和C,求A+C和B
+C的結(jié)果InputA;輸入第1個數(shù)據(jù)到存儲單元A中InputB;輸入第2個數(shù)據(jù)到存儲單元B中InputC;輸入第3個數(shù)據(jù)到存儲單元C中AddACD;將A、C相加并將結(jié)果存在D中AddBCE;將B、C相加并將結(jié)果存在E中OutputDE;輸出D,E的內(nèi)容對應(yīng)C語言程序如下:#include<stdio.h>main(){inta,b,c,d,e;a=12;b=24;c=10;d=a+c;e=b+c;printf("a+c=%d,b+c=%d\n",d,e);}程序的運行結(jié)果是:a+c=22,b+c=34學(xué)生練習(xí):【1】要求仿照上題編程求三個整數(shù)之和,并輸出。程序與指令(2)輸入2個數(shù)A和B,求A*B的結(jié)果1.InputA;
輸入第1個數(shù)據(jù)到存儲單元A中2.InputB;輸入第2個數(shù)據(jù)到存儲單元B中3.Set0X;將X設(shè)為0,此處X用以統(tǒng)計A累加的次數(shù)4.Set0Z;將Z設(shè)為0,此處Z用以存放A*B的結(jié)果5.BranchEqXB9;判別X與B是否相等;若相等說明A已累加了B次,程序跳轉(zhuǎn)到第9條指令,輸出結(jié)果6.AddZAZ;Z=Z+A7.Add1XX;X=X+18.Jump5;程序跳轉(zhuǎn)到第5條指令,繼續(xù)循環(huán)執(zhí)行第6條、7條指令9.OutputZ;
輸出Z的值,該值等于A*B對應(yīng)的C語言程序如下:#include<stdio.h>intmain(){
intA=5;
intB=6;
intx=0;
intz=0;flag5:if(x==B)gotoflag9;elsez=z+A;x=x+1;
gotoflag5;flag9:printf(“%d\n”,z);return0;}
1.2.2程序設(shè)計語言的功能1數(shù)據(jù)表達(dá):是指表達(dá)所要處理的數(shù)據(jù)2流程控制:即控制數(shù)據(jù)處理的流程下面分別加以介紹:1數(shù)據(jù)表達(dá)(1)數(shù)據(jù)表達(dá)的方法:一般將數(shù)據(jù)抽象為若干類型,這些類型被稱為數(shù)據(jù)類型。(2)數(shù)據(jù)類型:是對某些具有共同特點的數(shù)據(jù)集合的總稱.通過數(shù)據(jù)類型可以知道:A該數(shù)據(jù)的定義域B在這些數(shù)據(jù)上可以做些什么(即操作或稱運算)例如:整數(shù)類型包含的數(shù)據(jù):{…,-2,-1,0,1,2,…}作用在整數(shù)上的運算有:+、-、*、/等數(shù)據(jù)表達(dá)(3)C語言提供的數(shù)據(jù)類型分為兩大類,即:A基本數(shù)據(jù)類型:是程序設(shè)計語言事先定義好,可供程序員直接使用的,如整型、實型(浮點型)、字符型等B構(gòu)造類型:是由程序員自己構(gòu)造的,如數(shù)組、結(jié)構(gòu)、文件、指針型等各種數(shù)據(jù)類型的常量與變量形式常量(常數(shù))與變量
流程控制結(jié)構(gòu)化程序設(shè)計方法將復(fù)雜程序劃分為若干個相互獨立的模塊模塊:一條語句(Statement)、一段程序或一個函數(shù)(子程序)等單入口、單出口流程控制任何程序都可以將模塊通過3種基本的控制結(jié)構(gòu)進(jìn)行組合來實現(xiàn)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)分支結(jié)構(gòu)下面分別加以簡單介紹:A)順序結(jié)構(gòu)(略)B)分支結(jié)構(gòu)即:用分支語句實現(xiàn)分支控制過程,根據(jù)不同的條件執(zhí)行不同的語句(或語句模塊)。C)循環(huán)結(jié)構(gòu)C語言實現(xiàn)循環(huán)控制的過程具體有3種形式,即while語句、for語句、dowhile語句。流程控制語句級控制:3種基本的控制結(jié)構(gòu)順序控制結(jié)構(gòu):自然順序執(zhí)行分支控制結(jié)構(gòu)(選擇結(jié)構(gòu)):根據(jù)不同的條件來選擇所要執(zhí)行的模塊循環(huán)控制結(jié)構(gòu):重復(fù)執(zhí)行某個模塊單位級控制:函數(shù)的定義與調(diào)用處理復(fù)雜問題時,將程序分為若干個相對獨立的子程序(函數(shù))1.2.3程序設(shè)計語言的語法用程序設(shè)計語言所寫的程序必須符合相應(yīng)語言的語法源程序(源代碼)是一個字符序列,這些字符序列按順序組成了一系列“單詞”,“單詞”的組合就形成了語言有意義的語法單位,一些簡單語法單位的組合又形成了更復(fù)雜的語法單位,最后一系列語法單位組合成程序1.2.3程序設(shè)計語言的語法C語言的主要“單詞”(1)標(biāo)識符:在程序中用來標(biāo)識各種程序成份,命名程序中的一些實體,如變量、常量、函數(shù)、類型、標(biāo)號等對象的名字C語言的標(biāo)識符規(guī)定由字母、數(shù)字以及下劃線組成,且第一個字符必須是字母或下劃線例:以下是合法的標(biāo)識符:x,c,a1,a2,op,y_1,zhou_prg,radius,prime,program,prg_1,cout,sun,day
以下是不合法的標(biāo)識符:
a.1,1computer,x+y,!abc,99999,$100,π,3c標(biāo)識符C語言中標(biāo)識符要區(qū)分大小寫例:標(biāo)識符abc與標(biāo)識符ABC是不同的標(biāo)識符
習(xí)慣上符號常量用大寫字母表示,變量名稱用小寫字母表示
標(biāo)準(zhǔn)C中,標(biāo)識符的長度可以是任意的,一般有效長度為8個字符,TURBOC中標(biāo)識符最大長度為32個字符標(biāo)識符取名時不能與關(guān)鍵字同名,也不能與系統(tǒng)預(yù)先定義的標(biāo)準(zhǔn)標(biāo)識符(如標(biāo)準(zhǔn)函數(shù))同名,
最好能“見名知義”,以提高程序的可讀性一般選用相應(yīng)英文單詞或拼音的縮寫形式,盡量不要使用簡單代數(shù)符號,例如:a,b,c,x,y,z等標(biāo)識符大多數(shù)采用“匈牙利”表示法,每個單詞第一個字母大寫例如:StudentName、YearMonthDate。關(guān)于標(biāo)識符做一個練習(xí):P15習(xí)題1-1對C語言來說,下列標(biāo)識符中哪些是合法的,哪些是不合法的?
Total,_debug,Large&Tall,Counterl,begin_,2n1.2.3程序設(shè)計語言的語法(2)保留字(關(guān)鍵字):它們是C語言規(guī)定的、賦予它們以特定含義、有專門用途的標(biāo)識符例如:類型名稱int、float,語句特征if、switch、while,運算符號sizeof等常見關(guān)鍵字有32個,參見書上P308附錄1,也可參見下個課件32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile再重申一下:關(guān)鍵字不允許用戶重新定義<
C語言程序設(shè)計
第一章C語言概述1.2.3程序設(shè)計語言的語法(3)自定義標(biāo)識符:包括在程序中定義的變量名、數(shù)據(jù)類型名、函數(shù)名以及符號常量名最好用:有意義的英文單詞,可以見名知意。(4)常量:常量是有數(shù)據(jù)類型的,如,123、12.34(5)運算符:代表對各種數(shù)據(jù)類型實際數(shù)據(jù)對象的運算。如,+(加)、-(減)、*(乘)、/(除)、%(求余)、>(大于)根據(jù)運算對象的個數(shù)不同,運算符可分為單目運算符、雙目運算符和三目運算符,又稱為一元運算符、二元運算符和三元運算符1.2.3程序設(shè)計語言的語法C語言的主要語法單位(1)表達(dá)式:運算符與運算對象組合就形成了表達(dá)式。如,2+3*4(2)變量定義:變量也有數(shù)據(jù)類型,所以在定義變量時要說明相應(yīng)變量的類型。如:inti;(3)語句:語句是程序最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實現(xiàn)的C語言語句必須以分號結(jié)束(4)注釋:以“/*”開始,以“*/”結(jié)束下面,關(guān)于前面提到的第3點語句,我還要詳細(xì)加以介紹(3)語句:表達(dá)式語句:表達(dá)式加分號“;”分支語句:實現(xiàn)分支控制過程if(a>b)x=a;elsex=b;循環(huán)語句:實現(xiàn)循環(huán)控制的過程sum=0; /*初始化sum和i*/i=1;while(i<=100){/*while循環(huán)語句*/sum=sum+i;i=i+1;}復(fù)合語句:用一對“{}”,將若干語句順序組合在一起就形成了一個程序段(5)函數(shù)定義與調(diào)用函數(shù):是完成特定任務(wù)的獨立模塊,函數(shù)的使用最主要涉及到函數(shù)的定義與調(diào)用(a)C程序由若干函數(shù)組成,其核心成份是函數(shù)①必須有一個且只能有一個主函數(shù)main(),
主函數(shù)的名字為main
②可以是系統(tǒng)預(yù)定義的標(biāo)準(zhǔn)函數(shù),如scanf函數(shù)、printf函數(shù)等函數(shù)之間是平行的關(guān)系C語言被稱為函數(shù)式語言①函數(shù)頭給出函數(shù)的特征描述,包括函數(shù)的屬性、類型、名字、參數(shù)及參數(shù)類型。例:求最大值函數(shù)的函數(shù)頭:
intmax(inta,intb)/*函數(shù)屬性缺省,函數(shù)類型整型,函數(shù)名字max,函數(shù)參數(shù)x,y,整型*/
②函數(shù)體給出函數(shù)功能實現(xiàn)的數(shù)據(jù)描述和操作描述,是程序中用花括號括起的若干語句函數(shù)體可以為空,可以沒有數(shù)據(jù)描述部分(b)函數(shù)由函數(shù)頭(函數(shù)的說明部分)與函數(shù)體(函數(shù)的語句部分)兩部分組成
例:求兩個數(shù)中的較大值。作法一:
#include″stdio.h″
intmax(intx,inty)/*求最大值函數(shù){intt;if(x>y)t=x;elset=y;return(t);}
main()/*主函數(shù)*/{intmax(intx,inty)
;
inta,b;
intc;
scanf(″%d,%d″,&a,&b);c=max(a,b);/*調(diào)用求最大值的函數(shù)*/
printf(″max=%d\n″,c);}輸入數(shù)據(jù):12,3運行結(jié)果:max=12作法二:#include<stdio.h>main()/*主函數(shù)*/{
int
max(intx,inty);
int
a,b,c;
scanf("%d,%d",&a,&b);c=max(a,b);/*調(diào)用求最大值的函數(shù)*/
printf("max=%d\n",c);}int
max(intx,inty)/*求最大值函數(shù)*/{
intt;if(x>y)t=x;elset=y;return(t);}程序說明:int
max(intx,inty);這1條語句是聲明1個返回整型數(shù)據(jù)并帶有2個整型參數(shù)的函數(shù)。
c=max(a,b);是調(diào)用max函數(shù),同時將整型變量a,b的數(shù)值做為實參復(fù)制給形參x,y。if(x>y)t=x;elset=y;這2條語句是求x和y的值誰大,并把大的值賦給t。首先判別if后面的(x>y),如果條件成立,就執(zhí)行”t=x;”,否則執(zhí)行”t=y;”。將求得較大的數(shù)t的值,返回給主函數(shù)中的c。學(xué)生練習(xí):要求仿照上題編程求兩個整數(shù)中的較小值。(5)輸入輸出:C語言沒有輸入輸出語句,用庫函數(shù)printf、scanf等實現(xiàn),例如前面例題中的例如前面例題中的scanf()和printf()函數(shù)就是用來輸入輸出數(shù)據(jù)的。1.2.4程序的編譯與編程環(huán)境程序的編譯
程序————》即為計算機直接能理解的指令序列編譯器:對源程序進(jìn)行詞法分析、語法與語義分析,生成可執(zhí)行的代碼并直接指出程序中的語法錯誤編程環(huán)境包括編輯程序(Edit)、編譯(Compile)、調(diào)試(Debug)等過程
掌握程序設(shè)計語言:根據(jù)語言的語法,用語言表達(dá)數(shù)據(jù)、實現(xiàn)程序的控制,并會使用編程環(huán)境C語言上機過程源程序
test.c
test.obj
可執(zhí)行代碼
test.exe編譯連接運行1.3C語言的發(fā)展歷史與特點歷史1972年:貝爾實驗室的DennisRitchie在B語言的基礎(chǔ)上設(shè)計并實現(xiàn)了C語言1978年:B.W.Kernighan和D.Ritchie(簡稱K&R)合著的《TheCProgrammingLanguage》是各種C語言版本的基礎(chǔ),稱之為舊標(biāo)準(zhǔn)C語言1983年:美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)制定了新的C語言標(biāo)準(zhǔn),稱ANSICC語言的特點1.C語言是一種結(jié)構(gòu)化語言
用函數(shù)實現(xiàn)結(jié)構(gòu)模塊2.C語言語句簡潔、緊湊,使用方便、靈活32個關(guān)鍵字,9種控制語句,程序書寫形式自由3.C語言程序易于移植C語言輸入/輸出功能用庫函數(shù)實現(xiàn),編寫的程序移植性好4.C語言有強大的處理能力C語言允許直接訪問物理地址,能進(jìn)行位運算,能實現(xiàn)匯編語言的大部分功能,
能直接對硬件進(jìn)行操作。C語言是高級語言中的低級語言5.C語言編譯系統(tǒng)小,生成的目標(biāo)代碼質(zhì)量高,運行效率高C語言的特點6.?dāng)?shù)據(jù)類型檢查不嚴(yán)格,表達(dá)式易出現(xiàn)二義性,不具備數(shù)據(jù)越界自動檢查功能,運算符的優(yōu)先級與結(jié)合性對初學(xué)者難以掌握C語言中大小寫字母代表不同含義1.4實現(xiàn)問題求解的過程問題:求1~100間所有偶數(shù)的和。1.問題分析與算法設(shè)計求在一定范圍內(nèi)(1~100)、滿足一定條件(偶數(shù))的若干整數(shù)的和,求累加和
思路:設(shè)置一個變量(sum),其初值為0,然后在1~100的數(shù)中(i)尋找偶數(shù),將它們一個一個累加到sum中一步累加:sum=sum+i;重復(fù)累加,用循環(huán)語句實現(xiàn),在循環(huán)過程中:(1)判別i是不是偶數(shù):用分支控制語句來實現(xiàn)(2)對循環(huán)次數(shù)進(jìn)行控制:通過i值的變化1.問題分析與算法設(shè)計思路——》確定算法算法:一組明確的解決問題的步驟,它產(chǎn)生結(jié)果并可在有限的時間內(nèi)終止算法的描述:自然語言偽代碼流程圖:算法的圖形表示法,具體參見下圖:sum=0i=1i<=100i是偶數(shù)?sum=sum+ii=i+1輸出sum真真假假學(xué)生練習(xí):要求仿照上圖,做書上P152題2.編輯程序生成程序的源文件,C語言源文件的后綴為.c或.cpp例如,由上圖可編輯并生成如下的C語言源文件:#include<stdio.h>intmain(void){
inti,sum=0;
for(i=1;i<=100;i++)if(i%2==0)sum=sum+i;
printf("%d",sum);return0;}
預(yù)處理命令說明:1、for(i=1;i<=100;i++)是一個循環(huán),它表示從i等于1的時候開始循環(huán),每循環(huán)一次i加上1(i++),只要i的值小于等于100,這個循環(huán)就一直進(jìn)行(也就是說i等于101時就退出循環(huán)了),每次循環(huán)執(zhí)行的內(nèi)容就是它后面的if語句。對于重復(fù)執(zhí)行的問題,用for語句就能輕而易舉的解決。2、if(i%2==0)sum=sum+i;表示:如果i是偶數(shù),就將i累加到sum中。i%2==0即為:如果i被2除后余數(shù)為0,則說明它是一個偶數(shù)。在C語言中,相等的判斷用兩個等號(==)來表示,不相等的判斷用!=來表示。其中i<=100是循環(huán)執(zhí)行的條件,只要這個條件被滿足,循環(huán)體就會一直反復(fù)執(zhí)行。應(yīng)該注意到,由于循環(huán)體每循環(huán)一次,i被加1(i=i+1),所以,當(dāng)循環(huán)到一定的時候,i的值就會超過100,即循環(huán)條件i<=100不再滿足了,循環(huán)就結(jié)束了。學(xué)生練習(xí):要求仿照上題編程求1~100間所有奇數(shù)的和。學(xué)生練習(xí):要求仿照上題做做書上P153題#include<stdio.h>intmain(){ intsum=0,i; for(i=1;i<=100;i++) { if(i%6==0) sum=sum+i;//100以內(nèi)能被6整除的數(shù)累加
if(i%6==0)printf("i=%d\n",i);//顯示100以內(nèi)能被6整除的數(shù)
}
printf("sum=%d\n",sum);//顯示100以內(nèi)能被6整除的數(shù)的累加和
return0;}C程序的書寫
(1)一行一般寫一條語句。當(dāng)然一行可以寫多條語句,一條語句也可以寫在多行上
(2)整個程序采用緊縮格式書寫。表示同一層次的語句行對齊,縮進(jìn)同樣多的字符位置。如循環(huán)體中的語句要縮進(jìn)對齊,選擇體中的語句要縮進(jìn)對齊
(3)花括號的書寫方法較多,本書采用花括號對齊的書寫方式,左邊花括號處于第一條語句的開始位置,右邊花括號獨占一行,與左邊花括號對齊
(4)在程序中恰當(dāng)?shù)厥褂每招?,分隔程序中的語句塊,增加程序的可讀性3.程序編譯連接
編輯程序后,用該語言的編譯程序?qū)ζ溥M(jìn)行編譯,以生成二進(jìn)制代碼表示的目標(biāo)程序(.obj),與編程環(huán)境提供的庫函數(shù)進(jìn)行連接(Link)形成可執(zhí)行的程序(.exe)。編譯程序會指出語法錯誤
語法錯誤VS邏輯錯誤,稍后我會加以介紹1.4實現(xiàn)問題求解的過程4.運行與調(diào)試經(jīng)過編輯、編譯、連接,生成執(zhí)行文件后,就可以在編程環(huán)境或操作系統(tǒng)環(huán)境中運行該程序如果程序運行所產(chǎn)生的結(jié)果不是你想要的結(jié)果,這是程序的語義錯誤(邏輯錯誤),邏輯錯誤編譯程序不會指出,靠自己去發(fā)現(xiàn)。調(diào)試:在程序中查找錯誤并修改錯誤的過程。調(diào)試的方法設(shè)置斷點單步跟蹤調(diào)試是一個需要耐心和經(jīng)驗的工作,也是程序設(shè)計最基本的技能之一開始結(jié)果語法錯誤源程序.c/.cpp目標(biāo)程序.obj可執(zhí)行程序
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省周口市川匯區(qū)2024-2025學(xué)年八年級上學(xué)期期中質(zhì)量監(jiān)測語文試卷(無答案)
- 社經(jīng)大勢解密-揭示市場前景與決策因素
- 2014-2020年全球格拉辛紙行業(yè)市場深度調(diào)查與投資規(guī)劃分析研究報告
- 2011-2016年P(guān)ET注坯模具行業(yè)動態(tài)預(yù)測報告
- 2024至2030年中國變壓器磁芯數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國仙人糧晶數(shù)據(jù)監(jiān)測研究報告
- 2024年中國立軸圓臺平面磨床市場調(diào)查研究報告
- 2024年中國電源保護(hù)分配器市場調(diào)查研究報告
- 2024年中國便攜式示波器市場調(diào)查研究報告
- 2024年中國交接器市場調(diào)查研究報告
- 廣東省廣州市2024-2025學(xué)年上學(xué)期八年級數(shù)學(xué)期中復(fù)習(xí)試卷
- 2023-2024學(xué)年北京市101中學(xué)八年級(上)期中數(shù)學(xué)試卷【含解析】
- 智慧物流與供應(yīng)鏈管理全套教學(xué)課件
- 20世紀(jì)時尚流行文化智慧樹知到期末考試答案2024年
- 第四章-國防動員
- 《長津湖》電影賞析PPT
- 李小建《經(jīng)濟(jì)地理學(xué)》(電子版)
- 蘭亭序中楷毛筆臨摹字帖(可打印)
- 信息化項目建設(shè)管理難點分析與對策
- 河海大學(xué)《水工建筑物》第八章渡槽
- 臨床營養(yǎng)科工作流程(基本診療路徑)
評論
0/150
提交評論