




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計課程情況簡介1.教材(標準C語言程序設計及應用)
華中科技大學出版社編著:周純杰、劉正林等2.進度安排(講課36+上機40)3.課程意義及重要性
(1)必修及統(tǒng)考課(3.5學分)(2)承上啟下的課程
(3)生存技能課程4.學習方法(實踐,例子,錯誤,幫助)第1章概論
1.1C語言的入門知識1.2C語言的發(fā)展及特點1.3C語言程序的書寫格式和結構特點1.4C語言的基本語法單位1.5簡單的輸入與輸出1.6
運行C程序的一般步驟
1.1C語言的入門知識1.1.1二進制編碼系統(tǒng)
b,B,KB,MB,GB,TBbit,中文叫法:位Byte,中文叫法:字節(jié)Kilobyte(KB),中文叫法:KMegabyte(MB),中文叫法:兆Gigabyte(GB),中文叫法:GTerabyte(TB),中文叫法:T1TB==
1,024GB1GB
==
1,024MB1MB
==
1,024KB1KB
==
1,024B1B==
8b1.1.2微型計算機硬件的基本組成1.中央處理器CPU2.存儲器3.輸入輸出接口電路和外部設備1.1.3計算機系統(tǒng)的層次結構1.操作系統(tǒng)(DOSWINDOWSUNIXLinux)語言處理系統(tǒng)低級語言:機器語言,匯編語言高級語言:FORTRAN,COBOL,BASIC,PASCAL,C與C++,Java3.應用軟件(通用,應用,工具)學什么?什么是“會計算機”?會打字?會編程?會DIY?會上網?會“黑客”?……懂原理、能應用、有創(chuàng)新計算機(Computer)計算機是用來延伸人的能力的工具,需要人來駕馭AI能實現嗎?(AI,ArtificialIntelligence,人工智能)會有那么一天,人與計算機的位置互換嗎?我們的職責是讓它更容易被駕馭自我毀滅的過程人與計算機的對話兩個說不同母語的人的對話方式:一方學另一方的語言雙方都學習一種第三方語言人與計算機的對話方式:計算機學習人的語言(自然語言理解)人學習計算機的語言學習第三方語言機器語言計算1+1101110000000000100000000000001010000000100000000匯編語言MOVAX,1101110000000000100000000ADDAX,1000001010000000100000000BASIC語言PRINT1+1C語言#include<stdio.h>main(){
printf("%d\n",1+1);}1.2C語言的發(fā)展及特點1.2.1C語言的發(fā)展過程歷史悠久,戰(zhàn)勛卓著誕生于上世紀70年代初,成熟于80年代(C89),修訂與90年代(C99)很多重量級軟件都是用C寫的上天入地,無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)很多流行語言、新生語言都借鑒了它的思想、語法從C++,到Java,再到C#等一切從一個叫“SpaceTravel”的電子游戲開始……為了讓他的游戲能在PDP-7上運行,KenThompson用匯編語言給PDP-7寫了一個操作系統(tǒng)——UNIX匯編太不好用了,Thompson需要高級語言試驗了一些高級語言,包括Fortran,都不理想他在BCPL基礎上,自己設計了一個B語言UNIX開始發(fā)展,B也不夠用了DennisRitchie加入,把B改造成C開始用C重寫UNIXRitchie和Thompson在開發(fā)UNIX接受美國國家技術勛章C語言的祖師爺
DennisM.RitchieRitchie漫畫像Cisquirky,flawed,andanenormoussuccess.計算機基本工作過程整個過程的執(zhí)行者是硬件,但硬件是受軟件控制的編程,就是編寫軟件,使硬件按照人的意圖工作編譯運行編譯過程程序員(Programmer)編寫程序源代碼(SourceCode)編譯器(Compiler)把源代碼轉換為可被計算機理解的機器代碼(MachineCode),并把機器代碼以可執(zhí)行文件(ExecutableFile)的形式保存在磁盤上軟件的運行計算機把機器代碼讀入到內存(Memory),由CPU運行這些代碼,讀取輸入(Input),產生輸出(Output),完成程序員預定的功能編譯語言一種編譯語言對應一種編譯器程序員按照該語言的語法編寫程序源代碼,把自己的意圖融入到代碼中編譯器讀入源代碼,把程序員的意圖轉換成可執(zhí)行程序,供他人使用C語言可執(zhí)行程序編譯器計算機的層次硬件(Hardware)操作系統(tǒng)(OS)應用程序
(Application)應用
平臺基于
平臺的
應用
程序低級語言的地盤高級語言的地盤C語言的地盤1.2.2C語言的特點
1.介乎于高級語言和匯編語言之間,兼有兩者的優(yōu)點。2.引用結構化程序結構,便于軟件工程化。3.語言簡潔,且表達能力強,使用靈活,易于學習和應用。4.可移植性好。1.3C語言程序的書寫格式和結構特點
1.3.1C語言程序的書寫格式例1.1編制計算半徑為R、高度為H的圓柱體體積的程序。要求R和H的數值由鍵盤輸入。圓柱體體積計算程序:#include<stdio.h>voidmain(){
intr,h;floatv;
scanf("%d%d",&r,&h);v=3.14159*r*r*h;
printf("v=%f\n",v);}可以看出,C語言程序有以下若干格式特點:C語言程序習慣上使用小寫英文字母。C語言程序也是由一個個的語句組成。C語言程序使用分號;作為語句的終止符或分隔符。一般情況下,每個語句占用一個書寫行的位置。C語言程序中用大括弧對{},表示程序的結構層次范圍。C語言程序中,為了增強可讀性,可以使用適量的空格和空行。1.3.2C語言程序的結構特點例1.3C語言程序結構特點
/*printstringasuppercase*/#include<stdio.h>#defineSIZE80voidputupper(char
ch);voidmain(){charstr[SIZE];
inti;
gets(str);for(i=0;str[i]!='\0';i++)
{
putupper(str[i]);}}voidputupper(char
ch){charcc;cc=(ch>='a'&&ch<='z')?\
ch+'A'-'a':ch);
putchar(cc);}從上面程序可看出:(1)C語言程序的執(zhí)行是從主函數開始的,主函數中的所有語句執(zhí)行完畢,則程序執(zhí)行結束。(2)main函數之外的其它函數都是在執(zhí)行main函數時,通過嵌套調用而以執(zhí)行的,在程序中除了可以調用用戶自己編制的函數外,還可以調用由系統(tǒng)提供的標準函數。C程序基本結構小結:(1)C程序的組成:一個C程序可以由若干個函數構成,其中必須有且只能有一個以main命名的主函數。(2)函數的組成:
函數是一個獨立的程序塊,相互不能嵌套。一個函數由兩個部分組成:函數頭和函數體。(3)C標準函數
C函數分為兩類:標準函數用戶定義函數
用戶定義函數是由程序員在自己的源程序中編寫的函數。
標準函數是由C編譯程序提供的一些通用函數,C標準函數又稱為C庫函數。用戶程序需要使用標準函數時,只需要使用前用#include包含該標準函數所需的系統(tǒng)頭文件即可。1.4C語言的基本語法單位
1.4.1標識符
1.4.2關鍵字
1.4.3分隔符
1.4.4常量1.4.1標識符1.標識符:在高級語言程序中由用戶(即程序員)或編譯程序(有時稱系統(tǒng))定義的常量、變量、數據類型、函數、過程和程序等的名字。2.標識符的組成規(guī)則
:由字母(A~Z,a~z)和數字(0~9)組成,其第一個字符必須是字母。字母要區(qū)分大小寫;下劃線_被作為一個字母看待。3.標識符的有效長度:能夠被編譯程序識別的標識符的字符的數目稱為標識符的有效長度。標準C規(guī)定標識符的有效長度為31。注意:標識符不能與關鍵字同名。1.4.2關鍵字關鍵字由固定的小寫字母組成,是系統(tǒng)預定的名字,用于表示C語言的語句,數據類型、存儲類型或運算符。關鍵字又稱為保留字。標準C定義的32個關鍵字如下:autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile1.4.3分隔符
分隔符:包括空格符、制表符、換行符、換頁符及注釋符。程序中兩個相鄰的標識符、關鍵字和常量之間必須用分隔符分開(通常用空格符)。1.4.4常量
常量:程序中其數值不發(fā)生變化的量.C語言中的常量有三類:數,字符和字符串。此外,C語言中還經常使用兩種表現形式不同的常量:換碼序列和符號常量.。常量的類型是由常量的文字自身隱含說明的。1.5簡單的輸入與輸出
一個完整的計算機程序,常常要求具備輸入輸出功能.C語言本身沒有配備完成輸入輸出的語句.C語言程序的輸入輸出功能是通過調用系統(tǒng)提供的標準函數實現的。1.5.1格式化輸入輸出函數
格式化輸入輸出函數是按指定的格式完成輸入輸出過程.1.輸出函數printf()
輸出函數printf()的一般使用形式如下:
printf(“輸出格式”,輸出項系列);(1)printf()函數的功能是按照給定的輸出格式、把輸出項輸出到標準輸出設備,輸出格式中用%打頭后面跟有一個字母的部分稱為轉換說明符。
%d十進制整數
%x十六進制整數
%f浮點小數(實數)
%c單一字符
%s字符串如:printf(“v=%f\n”,v);
是把輸出項v的值按%f規(guī)定的浮點小數形式顯示出來。(2)輸出格式中除轉換說明符以外的其它字符都原封不動地輸出到標準輸出設備顯示器上。其中以\打頭后跟一個字母或數字的部分稱為換碼序列。它們的作用是輸出控制代碼和特殊字符,如上述輸出格式中的\n是回車換行的控制代碼。有關換碼系列的內容將在在第二章詳細介紹。(3)使用printf()函數可以有一個以上的輸出項,這時輸出格式中的轉換說明符與輸出項的個數必須相同。它們按各自的先后順序一一對應。如下所示:printf("….%d…%x…%f…",a,b,c);printf("….%d…
%x…
%f…",a,b,c);2.輸入函數scanf()
輸入函數scanf()的一般使用形式如下:
scanf("輸入格式",輸入項系列);(1)輸入格式中一般只使用轉換說明符,否則容易出錯。(2)輸入項必須是地址量,(變量名前加上&表示變量的地址)。(3)輸入分隔符的指定。在雙引號包圍的輸入格式中,兩個轉換說明符%之間出現的字符就是他們對應輸入項之間的分隔符。如scanf("%d:%d",&a,&b);這時輸入的數據之間必須有分隔符,例如輸入3和5,則實際輸入時一定要輸入3:5,最后輸入的結果a=3,b=5。(4)輸入長度的給定如scanf(%4d%2d%2d”,&a,&b,&c);
假設一個輸入序列為:19900125
則a=1990,b=01,c=25(5)輸入數據時,遇到下列情況時該數據認為結束
a.遇空格、回車或者tab鍵
b.遇寬度結束,如“%3d”只取輸入項三列。1.5.2字符輸入輸出函數字符輸入輸出函數是以一個字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 乳品安全監(jiān)管體系構建考核試卷
- 教育文具在遠程教育中的應用考核試卷
- 樂器批發(fā)商的品牌市場渠道開發(fā)考核試卷
- 家用換氣扇產業(yè)鏈協(xié)同創(chuàng)新發(fā)展模式與實踐考核試卷
- 城市軌道交通的非折返運行與列車調度考核試卷
- 辦公自動化軟件綜合應用考核試卷
- 絲印染在體育用品上的獨特應用考核試卷
- 智能設備多模態(tài)交互設計考核試卷
- 工傷案例培訓課件
- 快手代運營合同范本
- 大學生職業(yè)素養(yǎng)訓練(第六版)課件 第五單元學會有效溝通
- 2024年可行性研究報告投資估算及財務分析全套計算表格(含附表-帶只更改標紅部分-操作簡單)
- 醫(yī)院醫(yī)療項目收費管理制度
- 浙江建設職業(yè)技術學院單招《職業(yè)技能測試》參考試題庫(含答案)
- 排球教學課件教學課件
- 安徽省滁州市2024年小升初英語試卷(含答案)
- 國際經濟與貿易《統(tǒng)計學》課程教學大綱
- 黑龍江省哈爾濱市2022-2023學年七年級下學期數學期末試題(含答案)
- 翻譯批評與賞析課件
- 尚義縣壩下片區(qū)鄉(xiāng)鎮(zhèn)國土空間總體規(guī)劃(2021-2035年)(征求意見稿)
- JGJ52-2006 普通混凝土用砂、石質量及檢驗方法標準
評論
0/150
提交評論