第1章 用C語言編寫程序_第1頁
第1章 用C語言編寫程序_第2頁
第1章 用C語言編寫程序_第3頁
第1章 用C語言編寫程序_第4頁
第1章 用C語言編寫程序_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章用C語言編寫程序1.1計算機語言與程序設(shè)計語言計算機語言(Computerlanguage)是用于人與計算機之間通訊的語言,是人與計算機之間傳遞信息的媒介,目前人對計算機發(fā)出的命令幾乎都是通過計算機語言進行的。程序設(shè)計語言(ProgrammingLanguage)是一組用來定義計算機程序的語法規(guī)則。采用某種程序設(shè)計語言設(shè)計的程序需要被翻譯成計算機語言后才能被計算機所識別并執(zhí)行,這個過程稱為編譯(Compiled)或解釋(Interpreted)。所謂編譯是指將所要翻譯的高級語言編寫的程序代碼作為一個整體進行翻譯,生成可以被計算機所識別的二進制代碼。進行編譯操作的程序塊稱為編譯器。所謂解釋是指高級語言編制的程序代碼在運行時才被即時翻譯,運用這種方法翻譯的程序運行速度往往比編譯的程序慢,但往往更具靈活性,它們能夠與執(zhí)行環(huán)境互相作用,使程序的編制者可以通過觀察程序運行情況,更好了解程序的運行過程。1.1.1程序設(shè)計語言的分類程序設(shè)計語言按照語言級別可以分為低級語言(Low-LevelProgrammingLanguage)和高級語言(High-LevelProgrammingLanguage)。該處的高級與低級是指編寫程序的指令是否更為抽象化或與人類的思維更為接近低級語言一般包括有機器語言和匯編語言高級語言是相對于低級語言而言,它以人類易于接受的文字來表達解決問題的全過程程序設(shè)計語言可以按照不同的分類方法進行分類:(1)按照應(yīng)用范圍,有通用語言與專用語言之分(1)按照應(yīng)用范圍,有通用語言與專用語言之分(3)按用戶的要求,有過程式語言和非過程式語言之分1.1.2C語言簡介C語言是一種通用的程序設(shè)計語言,它主要用來進行系統(tǒng)程序設(shè)計。具有高效、靈活、功能豐富、表達力強和移植性好等的特點C語言是由UNIX的研制者丹尼斯·里奇(DennisRitchie)和肯·湯普遜(KenThompson)于1970年研制出的B語言的基礎(chǔ)上發(fā)展和完善起來的1.1.3C語言的優(yōu)點(1)簡潔緊湊、靈活方便(2)運算符豐富(3)數(shù)據(jù)結(jié)構(gòu)豐富(4)C是結(jié)構(gòu)式語言(5)C語法限制不太嚴格,程序設(shè)計自由度大(6)C語言允許直接訪問物理地址,可以直接對硬件進行操作(7)C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高(8)C語言適用范圍大,可移植性好1.1.4C語言的缺點(1)數(shù)據(jù)的封裝性上不好(2)語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數(shù)組下標越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語言較難掌握(3)指針可能被濫用1.2C語言程序的結(jié)構(gòu)通過下面的例子說明C語言程序的結(jié)構(gòu):/*文件名:Ex01_01.C*/ //程序說明部分/*功能:輸出指定的文字行*/ //程序說明部分#include<stdio.h> //注明使用的庫函數(shù)intmain(void) //主函數(shù)main()開始{printf("Hello,World!\n"); //從標準輸出設(shè)備輸出字符串return0; //返回}在上面的程序中,包括有以下幾個部分(1)程序說明部分:注釋行另一個起釋作用的標志符是“//”(2)注明使用庫函數(shù)部分(3)主函數(shù)main()部分(4)其它函數(shù)部分1.3C語言的基本輸入輸出函數(shù)1.3.1格式化輸入輸出函數(shù)1、printf()函數(shù)調(diào)用格式為:printf("<格式化字符串>",<參量表>);(1)格式化規(guī)定符符號作用%d十進制有符號整數(shù)%u十進制無符號整數(shù)%f浮點數(shù)%s字符串%c單個字符%p指針的值%e指數(shù)形式的浮點數(shù)%x,%X無符號以十六進制表示的整數(shù)%o無符號以八進制表示的整數(shù)%g自動選擇合適的表示法

說明:可以在“%”和字母之間插進數(shù)字表示最大場寬。可以在“%”和字母之間加小寫字母l,表示輸出的是長型數(shù)。可以控制輸出左對齊或右對齊。(2)一些特殊規(guī)定字符符號作用\n換行\(zhòng)f清屏并換頁\r回車\tTab符\xhh表示一個ASCII碼用16進表示,其中hh是1到2個16進制數(shù)2、scanf()函數(shù)調(diào)用格式為:scanf(“<格式化字符串>”,<地址表>);<格式化字符串>包括以下三類不同的字符:(1)格式化說明符(2)空白字符(3)非空白字符<地址表>:需要讀入的所有變量的地址,而不是變量本身(1)對于字符串數(shù)組或字符串指針變量,

由于數(shù)組名和指針變量名本身就是地址,因此使用scanf()函數(shù)時,不需要在它們前面加上"&"操作符(2)可以在格式化字符串中的“%”各格式化規(guī)定符之間加入一個整數(shù),表示任何讀入操作數(shù)的最大位數(shù)(3)使用scanf()函數(shù)連續(xù)給多個字符變量賦值時會存在問題1.3.2非格式化輸入輸出函數(shù)

1、puts()和gets()函數(shù)(1)puts()函數(shù)調(diào)用格式為:

puts(s);puts()函數(shù)的作用與語句printf("%s\n",s)的作用相同該函數(shù)在使用時需要注意以下幾點:puts()函數(shù)只能輸出字符串,不能輸出數(shù)值或進行格式變換;可以將字符串直接寫入puts()函數(shù)中(2)gets()函數(shù)調(diào)用格式為:

gets(s);gets(s)函數(shù)與scanf("%s",&s)相似,但不完全相同,使用scanf("%s",&s)函數(shù)輸入字符串時存在一個問題,就是如果輸入了空格會認為輸入字符串結(jié)束,空格后的字符將作為下一個輸入項處理,但gets()函數(shù)將接收輸入的整個字符串直到回車為止2、putchar()、getch()、getche()和getchar()函數(shù)(1)putchar()函數(shù)調(diào)用格式為:putchar(ch);putchar()函數(shù)的作用等同于printf("%c",ch)(2)getch()、getche()和getchar()函數(shù)getch()和getche()函數(shù)調(diào)用格式為:getch();getche();兩者的區(qū)別在于:getch()函數(shù)不將讀入的字符回顯在顯示屏幕上,而getche()函數(shù)卻將讀入的字符回顯到顯示屏幕上getchar()函數(shù)getchar()函數(shù)功能是從鍵盤上讀入一個字符,并帶回顯。它與前面兩個函數(shù)的區(qū)別在于:getchar()函數(shù)等待輸入直到按回車才結(jié)束,

回車前的所有輸入字符都會逐個顯示在屏幕上。但只有第一個字

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論