C語言程序設計一_第1頁
C語言程序設計一_第2頁
C語言程序設計一_第3頁
C語言程序設計一_第4頁
C語言程序設計一_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2023/2/5《C語言程序設計》-第一章1第1章C語言概述1.1計算機語言與結構化程序設計1.2C語言的發展歷史和特點1.3C語言程序的基本結構和執行過程1.4C語言的字符集和標識符2023/2/5《C語言程序設計》-第一章21.1計算機語言與結構化程序設計1.1.1計算機語言1.1.2結構化程序設計2023/2/5《C語言程序設計》-第一章3第一代:機器語言(低級語言):面向機器、可移植性差、效率高、不方便編程第二代:匯編語言第三代:高級語言:面向程序員、可移植性好、執行效率低、便于編程第四代:面向對象式語言1.1.1計算機程序設計語言2023/2/5《C語言程序設計》-第一章41.1.2結構化程序設計1.三種基本結構 結構化程序由三種基本控制結構組成: 順序結構、選擇結構和循環結構。 三種基本結構的流程圖:PAB真假選擇結構AB順序結構A真P假循環結構三種基本控制結構流程圖2023/2/5《C語言程序設計》-第一章52.結構化程序設計的原則 自頂向下 逐步求精 模塊化設計 限制使用goto

語句

2023/2/5《C語言程序設計》-第一章6C語言發展簡介ALGOL語言:1960,面向問題高級語言,不宜寫系統程序CPL語言:

1963,英劍橋,能夠作較低層次的操作,但規模較大,難以實現BCPL語言:(Basiccombinedprogramminglanguage)1967,英劍橋MartinRichards改進CPLB語言:

1970,美貝爾實驗室Thompson簡化BCPL,用B寫UNIX操作系統C語言:

1972,貝爾實驗室,Ritchie和Kernighan設計,保持B和BCPL的精煉與接近硬件,克服其簡單和數據無類型的缺點。描述和實現UNIX的工具語言

1977,《可移植C語言編譯程序》,C與UNIX相輔相成

1978,Kernighan和Richie,《TheCProgrammingLanguage》,標準C語言

1983,美國國家標準化協會(ANSI),ANSIC1990,國際標準化組織(ISO)通過

1.2C語言的發展歷史和特點

2023/2/5《C語言程序設計》-第一章75254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90<>2023/2/5《C語言程序設計》-第一章8C語言特點

(1)較低級語言(中級語言)

(2)結構化語言

(3)運算能力強

(4)數據類型多

(5)有預處理能力

(6)可移植性好

(7)語法不嚴格1.2.1C語言及其特點

2023/2/5《C語言程序設計》-第一章99種控制語句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn<2023/2/5《C語言程序設計》-第一章1034種運算符:算術運算符:+-*/%++--關系運算符:<<===>>=!=邏輯運算符:!&&||位運算符:<<>>~|^&賦值運算符:=及其擴展條件運算符:?:逗號運算符:,指針運算符:*&求字節數:sizeof強制類型轉換:(類型)分量運算符:.->下標運算符:[]其它:()-<2023/2/5《C語言程序設計》-第一章11C數據類型基本類型構造類型指針類型空類型void定義類型typedef數值類型字符類型char枚舉類型enum整型浮點型單精度型float雙精度型double短整型short長整型long整型int數組結構體struct共用體union<<2023/2/5《C語言程序設計》-第一章1232個關鍵字:(由系統定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile<2023/2/5《C語言程序設計》-第一章131.3C語言程序的基本結構和執行過程1.3.1C語言程序的簡單實例

main()/*主函數*/{inta,b,sum;/*定義a、b和sum三個變量*/a=3;b=4;/*為a,b賦值*/sum=add(a,b);/*調用函數add,將得到的值賦給變量sum*/printf("sum=a+b=%d\n",sum);/*屏幕輸出sum變量的值*/}intadd(intx,inty)/*定義add函數和形式參數x,y*/{intz;/*定義z變量*/z=x+y;/*變量x與y相加的和送給z*/return(z);/*返回z的值送給add*/}運行結果:sum=a+b=72023/2/5《C語言程序設計》-第一章141.函數型語言,函數是C程序的基本單位。2.函數由說明部分和函數體兩部分組成函數的組成:

說明部分:函數類型函數名(參數類型參數名,……)例:intadd(intx,inty)或intadd(x,y)

intx,y;

函數體:{

變量定義;執行語句;

}2023/2/5《C語言程序設計》-第一章15結構特點函數與主函數程序由一個或多個函數組成必須有且只能有一個主函數main()程序執行從main開始,在main中結束,其它函數通過嵌套調用得以執行。程序語句C程序由語句組成用“;”作為語句終止符注釋/**/為注釋,不能嵌套不產生編譯代碼<>例:/*Thisisthemain/*ofexample1.1*/*/非法編譯預處理命令2023/2/5《C語言程序設計》-第一章16格式特點習慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒形書寫格式<>main(){

……………….………………

…………..…………..

……………….

………………………….

……………….………………..}main(){

inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}優秀程序員的素質之一:使用TAB縮進{}對齊有足夠的注釋有合適的空行2023/2/5《C語言程序設計》-第一章17【例1.2】最小的C程序例。main(){}

這是一個最小的C程序,什么也不做,但這是符合C語言函數規定的程序,有main()組成的函數的首部和兩個大括號中無任何內容的函數體,在計算機上運行時沒有錯誤,因為函數體是空的,這個C程序什么也不做。2023/2/5《C語言程序設計》-第一章18/*example1.1ThefirstCProgram*/#include<stdio.h>main(){printf(“Hello,World!”);}>注釋編譯預處理函數語句輸出:Hello,World!【例1.3】函數C程序例。2023/2/5《C語言程序設計》-第一章19【例1.4】編寫C語言程序求鍵盤輸入的兩個數中較小的數,并且將其輸出到屏幕上。main()/*主函數*/{inta,b,c;/*說明三個變量a,b和c*/printf("Inputtwointegers:");/*輸出一行提示信息*/scanf("%d,%d",&a,&b);/*鍵盤輸入兩個數值送給a和b變量*/c=min(a,b);/*調用min函數,運行結果送給c變量*/printf("min=%d",c);/*輸出c變量的值*/}intmin(intx,inty)/*定義min函數,x,y為形參*/{intz;if(x<y)z=x;/*條件語句:如果x小于y成立z=x,否則z=y*/elsez=y;return(z);/*將z的值返回,通過min帶回調用處*/}2023/2/5《C語言程序設計》-第一章20C語言程序執行過程編輯鏈接編譯運行程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標程序*.obj與其它目標程序或庫鏈接裝配,生成可執行程序*.exe2023/2/5《C語言程序設計》-第一章211.4C語言的字符集和標識符1.4.1基本符號集1.4.2標識符2023/2/5《C語言程序設計》-第一章22

1.4C語言的字符集和標識符1.4.1字符集(ASCII字符集)阿拉伯數字10個:0、1、2、…、9

大小寫英文字母各26個:A,B,C,…,Z,a,b,c,…,z

下劃線:_

特殊符號:主要是運算符和操作符

空白字符

2023/2/5《C語言程序設計》-第一章231.4.2標識符字符序列,用作常量、變量、函數、文件指針、類型的名字。用戶標識符

保留字/關鍵字

預定義標識符2023/2/5《C語言程序設計》-第一章24

用戶標識符:標識符定義:用來標識變量、常量、函數等的字符序列組成:只能由字母、數字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能使用關鍵字長度:8個字符命名原則:見名知意不宜混淆如l與1,o與0例:判斷下列標識符號合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123<>M.D.John3days#33char$123a>b2023/2/5《C語言程序設計》-第一章25保留字/關鍵字

是編譯系統固有的,用做語句名、類型名的標識符。不允許作為用戶標識符使用。

預定義標識符

允許用戶作其他其途,但將失去系統規定的原意。例define、include2023/2/5《C語言程序設計》-第一章26小結1.C語言程序的組成特點C語言程序的組成特點如下:(1)一個C源程序由函數構成,其中至少包括一個主函數(main()函數)。(2)C程序總是由main()函數開始執行。(3)分號“;”是C語句的一部分。(4)一行內可寫多條語句,且語句中的空格和回車符均可忽略不計。(5)程序的注釋部分在/*……*/之間,/和*之間不允許留有空格。注釋允許出現在程序中的任何位置上。2023/2/5《C語言程序設計》-第一章272.標識符

C語言的標識符可分為保留字、預定義標識符和用戶標識符三類。用戶根據需要對C程序中用到的變量、符號常量、自定義函數或文件指針進行命名,形成標識符。C語言中,標識符的命名規則如下:(1)用戶標識符由英文字母、數字、下劃線組成;且第一個字符不能是數字,必須是字母或下劃線。(2)標識符大小寫字母不通用,保留字全部用小寫字母。(3)標識符中所允許包含的字符個數因不同的C編譯系統而有所不同,通常可以識別前面8個字符。2023/2/5《C語言程序設計》-第一章28(4)大多數高級語言都規定用戶標識符必須以字母開始,而C中僅規定了不得用數字開始,因此以下劃線開始的數字也是正確的變量名。(5)C語言提供了大量的庫函數和頭文件,這些庫函數名和頭文件中定義的一些標識符都統稱為預定義標識符。C語言允許用戶定義的標識符和這些預定義標識符相同,但這些預定義標識符將失去原有的作用,例如,一旦用戶把printf說明為整型變量,則程序中將不能

溫馨提示

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

評論

0/150

提交評論