版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C語言實現(xiàn)
C語言實現(xiàn)1第一章:C語言概論課程目標:程序與程序語言C語言的組成C語言的上機過程第一章:C語言概論課程目標:2第一節(jié)程序與程序語言
程序的概念
程序是計算機的指令序列,編制程序的工作就是為計算機安排指令序列。程序語言的發(fā)展對程序設(shè)計語言的分類可以從不同的角度進行,如面向機器程序的設(shè)計語言,面向?qū)ο蟮某绦蛟O(shè)計語言,面向?qū)ο蟮某绦蛟O(shè)計語言。其中最常見的方式是按使用方式和功能可分為低級語言和高級語言。第一節(jié)程序與程序語言程序的概念程3
高級語言只是要求人們向計算機描述問題的求解過程,而不關(guān)心計算機的內(nèi)部結(jié)構(gòu),所以把高級語言稱為“面向過程語言”,它易于被人們理解和接受,典型的面向過程語言有BASIC,FORTRAN,COBOL,C,Pascal等等。
低級語言包括機器語言和匯編語言。機器語言就是計算機指令的集合,它與計算機同時誕生,是第一代的計算機語言;匯編語言是用符號來表示計算機指令,被稱為第二代語言。機器語言和匯編語言都是圍繞特定的計算機或計算機族而設(shè)計的。是面向計算機的語言。要使用這種語言必須了解計算機的內(nèi)部結(jié)構(gòu),而且難學(xué),難寫,難記憶,把這種語言稱為低級語言。
“面向過程”是程序設(shè)計的基礎(chǔ),尤其對于程序設(shè)計的初學(xué)者。所以,我們將以面向過程的C程序設(shè)計語言為背景,主要介紹程序設(shè)計的基本概念和方法。高級語言只是要求人們向計算機描述問題的4第二節(jié)C語言組成與上機過程
C語言是國際上廣泛流行的計算機高級程序設(shè)計語言,它是1973年由美國貝爾實驗室設(shè)計發(fā)布的。由于C語言既是一個非常成功的系統(tǒng)描述語言,又是一個相當有效的通用程序設(shè)計語言,所以,從C語言誕生至今雖然只有近三十年的歷史,但其發(fā)展速度和應(yīng)用范圍卻是任何一種程序設(shè)計語言所無法比擬的。作為現(xiàn)代計算機語言的代表之一,C語言展現(xiàn)出強大的生命力。
第二節(jié)C語言組成與上機過程C語言是國5一、C語言的結(jié)構(gòu)
(一)兩個簡單的C程序?qū)嵗齟g1-1:/*ThisisaHELLOCprogram.*/Voidmain(){Printf(“================\n”);Printf(“Howareyou!\n”);Printf(“================\n”);}這個程序的功能是輸出三行信息:================Howareyou!================一、C語言的結(jié)構(gòu)(一)兩個簡單的C程序?qū)嵗齟g16eg1-2:計算函數(shù)M(x)是值。函數(shù)M(x)為:M(x)=bx+a2x<=aa(c-x)+c2x>a其中,a,b,c為常數(shù)實現(xiàn)此算法的C程序如下:eg1-2:計算函數(shù)M(x)是值。函數(shù)M(x)為:bx+7#include<stdio.h>main(){intx,m;scanf(“%d”,&x);m=sub(x);printf(“m=%d\n”,m);}intsub(intx1){inta,b,c,n;a=6;b=30;c=15;if(x1<a||x1==a)n=b*x1+a*a;elsen=a*(c-x1)+c*c;return(n);}這個程序的執(zhí)行結(jié)果如下:3(輸入3給x,其中表示回車符)126(輸出m的值)#include<stdio.h>8二、C語言的組成
一個C程序是C語言基本字符構(gòu)成的一個序列。C語言的基本字符集包括:數(shù)字字符:0,1,2,3,4,5,6,7,8,9拉丁字母:A,B,C……,Z,a,b,c……,z(注意:字母的大小是可區(qū)分的。如:abc與ABC是不同的)運算符:+、-、*、/、%、=、<、>、
<=、>=、!=、==、<<、>>、&、|、&&、||、^、~、(、)、[、]、->、.、!、?、:、,、;特殊符號和不可顯示字符:_(連字符或下劃線),空格,換行,制表符對初學(xué)者來說:書寫程序要從一開始就養(yǎng)成良好的習(xí)慣,力求字符準確,工整,清晰,尤其要注意區(qū)分一些字形上容易混淆的字符,避免給程序的閱讀,錄入和調(diào)試工作帶來不必要的麻煩。(一)基本字符集二、C語言的組成一個C程序是C語言基本字符構(gòu)成的一9在程序中有許多需要命名的對象,以便在程序是其他地方使用。這些名字包括:變量名、常數(shù)名、函數(shù)名、文件名、類型名等,通常被統(tǒng)稱為“標識符”。(二)標識符C語言規(guī)定,標識符由字母、數(shù)字或下劃線(_)組成,它的第一個字符必須是字母或下劃線。這里要說明的是,為了標識符構(gòu)造和閱讀的方便,C語言把下劃線作為一個特殊使用,它可以出現(xiàn)在標識符字符序列的任何地方,特別是它可以作為標識符的第一個字符出現(xiàn)。C語言還規(guī)定,標識符中同一個字母的大寫與小寫被看作是不同的字符。這樣,a和A,AB、Ab是互不相同的標識符。在程序中有許多需要命名的對象,以便在程10C語言有一些具有特定含義的關(guān)鍵字,用作專用的定義符。這些特定的關(guān)鍵字不允許用戶作為自定義的標識符使用。C語言關(guān)鍵字絕大多數(shù)是由小寫字母的字符序列,它們是:(按字母次序排列)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile
(三)關(guān)鍵字C語言有一些具有特定含義的關(guān)鍵字,用作專用的定義符11語句是組成的基本單位,它能完成特定操作,語句的有機組合能實現(xiàn)指定的計算機處理功能。C語言中的語句有以下幾類:(四)語句選擇語句if,switch流程控制語句循環(huán)語句for,while,do_while轉(zhuǎn)移語句break,continue,return,gotoC語句表達式語句復(fù)合語句空語句這些語句的形式和使用見后續(xù)相關(guān)章節(jié)。語句是組成的基本單位,它能完成特定操作,語句的有12(五)標準庫函數(shù)標準庫函數(shù)不是C語言本身的組成部分,它是由C編譯系統(tǒng)提供的一些非常有用的功能函數(shù)。例如,C語言沒有輸入/輸出語句,也沒有直接處理字符串的語句,而一般的C編譯系統(tǒng)都提供了完成這些功能的函數(shù),稱為標準庫函數(shù)。MicrosoftVisualC++6.0編譯系統(tǒng)提供了四百多個庫函數(shù),常用的有數(shù)學(xué)函數(shù),字符函數(shù)和字符串函數(shù),輸入輸出函數(shù),動態(tài)分配函數(shù)和隨機函數(shù)等幾個大類。(五)標準庫函數(shù)標準庫函數(shù)不是C語言本身的組13三、C程序的上機執(zhí)行過程
編寫出C程序僅僅是程序設(shè)計工作中是一個環(huán)節(jié),寫出來的程序需要在計算機上進行調(diào)式運行,直到得到正確的運行結(jié)果為止。C語言的上機過程C語言處理系統(tǒng)提供的開發(fā)環(huán)境是編譯系統(tǒng),所以,C程序的上機執(zhí)行過程一般要經(jīng)過如圖1-1所示的四個步驟,即:編輯,編譯,連接和運行。圖中虛線框內(nèi)是C編譯系統(tǒng)提供是語言處理程序和C標準庫函數(shù),單線框內(nèi)是用戶程序。下面分別說明上機執(zhí)行過程。三、C程序的上機執(zhí)行過程編寫出C程序僅僅14C庫函數(shù)連接程序C編譯系統(tǒng)編輯程序編譯程序用戶編輯C源程序.文件編譯目標程序.obj文件可執(zhí)行程序.exe文件連接其它目標文件結(jié)果執(zhí)行圖1-1程序的上機執(zhí)行過程C庫函數(shù)連接程序C編譯系統(tǒng)編輯程序編譯程序編輯C源程序編譯目15(一)編輯C源程序編輯是用戶把編寫好的C語言源程序輸入計算機,并以文本文件的形式存放在磁盤上。其標識為:“文件名.C”其中文件名是由用戶指定的符合C標識符規(guī)定的任意字符組合,擴展名要求為“.C”,表示是C源程序。例如File1.c,t.c等。(二)編譯C源程序編譯是把C語言源程序翻譯成用二進制指令表示的目標文件。編譯過程由C編譯系統(tǒng)提供的編譯程序完成。(一)編輯C源程序編輯是用戶把編寫好的C語言16(三)程序連接目標程序計算機還是不能執(zhí)行的。程序連接過程是用系統(tǒng)提供的連接程序(也稱鏈接程序或裝配置程序)將目標程序,庫函數(shù)或其它目標程序連接裝配成可執(zhí)行的目標程序??蓤?zhí)行程序的文件名為:“文件名.exe”,擴展名:“.exe”是可執(zhí)行程序的文件類型標識。絕大部分系統(tǒng)生成的可執(zhí)行文件的擴展名是“.exe”,但UNIX系統(tǒng)中,生成的可執(zhí)行文件自動確定為“a.out”,除非在編譯時用戶特別規(guī)定自己的文件名。
有的C編譯系統(tǒng)把編譯和連接放在一個命令文件中,用一條命令即可完成編譯和連接任務(wù),減少了操作過程。(三)程序連接目標程序計算機還是不能執(zhí)行的17(四)運行程序運行程序是指將可執(zhí)行的目標投入運行。以獲取程序處理的結(jié)果。如果程序運行結(jié)果不正確,可重新回到第一步,重新對程序進行編輯修改,編譯和運行。與編譯,連接不同的是,運行程序可以脫離語言處理環(huán)境。因為它是對一個可執(zhí)行程序進行操作,與C語言本身已經(jīng)沒有聯(lián)系,所以可以在語言開發(fā)環(huán)境下運行,也可直接在操作系統(tǒng)下運行。必須指出,對不同型號計算機上的C語言版本,上機環(huán)境各不同,編譯系統(tǒng)支持性能各異,上述步驟有些可再分解,有些也可集成進行批處理,但邏輯上是基本相同的。目前在微機上常用的C語言編譯系統(tǒng)中,BorlandInternational公司的TurboC和Microsoft公司的MicrosoftVisualC++,GNUCcompiler等都被廣泛使用。以下簡單介紹MicrosoftVisualC++6.0集成開發(fā)的使用。(四)運行程序運行程序是指將可執(zhí)行的目標投入18切換tc編譯器的窗口大小的快捷方式是alt+enter。F9編譯,ctrl+F9運行,alt+F5屏幕顯示!F1
獲得TurboC2.0編輯命令的幫助信息;F5
擴大編輯窗口到整個屏幕;F6
在編輯窗口與信息窗口之間進行切換;F10
從編輯窗口轉(zhuǎn)到主菜單。切換tc編譯器的窗口大小的快捷方式是alt+enter。F9191、新建VC工具啟動VC后上圖,選擇菜單[File/New]將看到新建工程向?qū)?。圖1-2VC的界面1、新建VC工具啟動VC后上圖,選擇菜單[File/New]20選擇Win32ConsoleApplication項目,并在Projectname下面的編輯框里輸入一個工程名,Location標簽下面選擇工程存放的路徑,然后選擇OK。圖1-3VC工程向?qū)?選擇Win32ConsoleApplica21圖1-4VC工程向?qū)?選擇Asimpleapplication然后點擊Finish。就回到
下面這個界面:圖1-4VC工程向?qū)?選擇Asimpleapplic22圖1-5VC工程編輯器VC工程編輯器主要分成三個部分:工作區(qū),
程序編輯區(qū),輸出區(qū)。圖1-5VC工程編輯器VC工程編輯器主要分成三個部分232、編譯和連接 代碼編輯完成后,就可以選擇菜單項[Build/CompileMyProgram.cpp]來對源文件進程編譯。如果程序有錯,編譯系統(tǒng)會在輸出區(qū)給出編譯結(jié)果報告,并將警告和錯誤信息(包括錯誤說明及位置)顯示在輸出中,雙擊出錯信息的程序行,自動進入編輯狀態(tài)。全部修改完成后,重心進行編譯即可。3、運行程序
運行編譯連接后的.EXE文件。選擇菜單項[Build/ExecuteMyProgram.exe]。2、編譯和連接 代碼編輯完成后,就可以選擇菜單項[Build24第三節(jié)實例:使用VisualC++6.6開發(fā)環(huán)境
一、VC菜單介紹(一)File菜單:包含對文件和工作區(qū)的打開,關(guān)閉,保存的功能項
(二)Edit菜單:包含代碼的定位,編碼功能
(三)View菜單:包含查看類對話框,資源對話框,和其它幾個功能窗口的功能(四)Insert菜單:新建類,資源等
(五)Project菜單:以整個工程為操作對象
(六)Build菜單(七)Tools菜單第三節(jié)實例:使用VisualC++6.6開發(fā)環(huán)境一25二、VC工程的創(chuàng)建與執(zhí)行(一)嘗試創(chuàng)建一個Console工程,輸入如下代碼進行編譯連接,查看運行結(jié)果/*
*我的第一個C程序
*/
#include“stdafx.h”
#include<stdio.h>Voidmain()
{
printf(“這是我的第一個C程序\n”);}運行結(jié)果輸出如下,如果達不到這個結(jié)果,則應(yīng)檢查編碼過程有沒出錯。這是我的第一個C程序二、VC工程的創(chuàng)建與執(zhí)行(一)嘗試創(chuàng)建一個Console工26第四節(jié)實例:打印星號一、程序要求用“*”號打印一個“中”字。輸出效果如下圖:***
***
**************
*******
**************
***
***
***第四節(jié)實例:打印星號一、程序要求用“*”號打印一個27二、編碼提示要使用輸出函數(shù)Printf,必須要在文件開頭有#include<satdio.h>輸出時每行要用空格來控制字樣輸出時用\n來換行。若是在VC環(huán)境,則要在文件頭有#include”stdafx.h”語句,否則編譯時會報告錯誤:找不到預(yù)編譯頭。如果實在不想包含這個文件,也可以用下面這個辦法,點擊菜單[Project/Settings…]彈出下面這個對話框:二、編碼提示要使用輸出函數(shù)Printf,必須要在文件開頭有#28圖1-6設(shè)置不使用VC預(yù)編譯頭 在圖1-6中選擇C/C++屬性頁,在Category里選擇PrecompiledHeaders,然后選擇Notusingprecompiledheaders并點擊OK。這樣的設(shè)置下就不會報告類似的錯誤了。頂點位置(290,128)矩形大小(639,465)光標坐標(710,376)圖1-6設(shè)置不使用VC預(yù)編譯頭 在圖1-6中選擇C/C++屬29三、程序清單#include“stdafx.h”
#include<stdio.h>Voidmain()
{
printf(“***\n”);
printf(“***\n”);
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年分期付款旅游套餐協(xié)議
- 導(dǎo)演與設(shè)計師2025年度合作協(xié)議3篇
- 2025年人事代理授權(quán)服務(wù)協(xié)議
- 二零二五版奶茶店財務(wù)審計與風(fēng)險控制服務(wù)合同
- 2025年代理權(quán)益保護協(xié)議書案例展示總結(jié)介紹案例
- 2025年在線購物消費者協(xié)議
- 2025年銀行間市場協(xié)議存款居間業(yè)務(wù)合作合同范本6篇
- 2025年超額保險合同保險合同保險范圍協(xié)議
- 復(fù)習(xí)課件蘇聯(lián)的社會主義建設(shè)人教版
- 2025年度新能源技術(shù)研發(fā)個人技術(shù)服務(wù)合同4篇
- 書籍小兵張嘎課件
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京海淀區(qū)2025屆高三下第一次模擬語文試題含解析
- 量子醫(yī)學(xué)治療學(xué)行業(yè)投資機會分析與策略研究報告
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2023年十天突破公務(wù)員面試
- 《瘋狂動物城》中英文對照(全本臺詞)
評論
0/150
提交評論