版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論課程目標(biāo)計(jì)算機(jī)基本結(jié)構(gòu)什么是程序程序設(shè)計(jì)步驟計(jì)算機(jī)數(shù)據(jù)表示C語言簡(jiǎn)介計(jì)算機(jī)基本結(jié)構(gòu)處理器存儲(chǔ)器輸入輸出程序馮﹒諾依曼模型:系統(tǒng)在預(yù)先編譯的程序的指揮下運(yùn)轉(zhuǎn),系統(tǒng)的運(yùn)行過程就是按照一定的順序不斷執(zhí)行程序指令的過程程序存放在存儲(chǔ)器中程序是什么廣義的講,為了實(shí)現(xiàn)一個(gè)特定的目標(biāo)而預(yù)先設(shè)計(jì)的一組可操作的工作步驟就可以稱之為一個(gè)程序找工作:對(duì)于計(jì)算機(jī)系統(tǒng),簡(jiǎn)單的說,程序就是系統(tǒng)可以識(shí)別的一組有序的指令程序存儲(chǔ)在磁盤上,被加載到內(nèi)存中,計(jì)算機(jī)系統(tǒng)從內(nèi)存中逐條讀取指令并執(zhí)行
筆試寫簡(jiǎn)歷投簡(jiǎn)歷面試入職存儲(chǔ)器的分類存儲(chǔ)器可以簡(jiǎn)單的分為主存儲(chǔ)器,外存儲(chǔ)器和寄存器主存儲(chǔ)器也稱為內(nèi)存儲(chǔ)器、內(nèi)存,是計(jì)算機(jī)的工作存儲(chǔ)器。程序,待處理的數(shù)據(jù)和處理的結(jié)果都存儲(chǔ)在內(nèi)存中。內(nèi)存通常以字節(jié)為單位對(duì)存儲(chǔ)單元按順序進(jìn)行編址。內(nèi)存讀寫速度比較快,但只能在加電時(shí)存儲(chǔ)數(shù)據(jù)外存儲(chǔ)器是用來長(zhǎng)期保存數(shù)據(jù)的大容量存儲(chǔ)器,目前多為磁存儲(chǔ)器或光存儲(chǔ)器。讀寫速度慢于內(nèi)存,可以在不加電的情況下長(zhǎng)期保存數(shù)據(jù)寄存器是CPU內(nèi)部的高速存儲(chǔ)器,速度快,數(shù)目少。程序設(shè)計(jì)語言機(jī)器語言
直接使用機(jī)器指令(0,1序列)來設(shè)計(jì)程序,可以被計(jì)算機(jī)系統(tǒng)直接識(shí)別。和自然語言完全不同,難于記憶和理解,工作量大,效率低,無法移植
000110000011000100011001
程序設(shè)計(jì)語言匯編語言把機(jī)器指令符號(hào)化,即通過一組簡(jiǎn)單的的符號(hào)來表示機(jī)器指令,更接近于自然語言,更容易理解和使用。不能被計(jì)算機(jī)系統(tǒng)直接識(shí)別,要轉(zhuǎn)化成機(jī)器語言后才能執(zhí)行。和機(jī)器語言一樣,開發(fā)工作量大,無法移植如:
MOVA,1000MOV1010,A程序設(shè)計(jì)語言高級(jí)語言和特定的計(jì)算機(jī)系統(tǒng)無關(guān),更接近于人類自然語言。一條語句對(duì)應(yīng)多條機(jī)器指令,工作量小,開發(fā)效率高。同樣需要轉(zhuǎn)換成機(jī)器代碼后才能被計(jì)算機(jī)系統(tǒng)識(shí)別、執(zhí)行。BASIC,FORTRAN,PASCAL,C,C++
程序設(shè)計(jì)步驟編輯執(zhí)行、調(diào)試編譯、鏈接C庫在實(shí)際的程序設(shè)計(jì)中,經(jīng)常需要使用到一些基本功能,例如輸入輸出,各種常用計(jì)算等。但是這些功能對(duì)于一般程序員來說難以自行開發(fā),卻要經(jīng)常用到,因此編譯系統(tǒng)通常將這些功能預(yù)先編制好,以程序庫的形式提供給程序員使用用戶程序
庫函數(shù)常用C庫函數(shù)標(biāo)準(zhǔn)C庫里提供了很多的函數(shù),只要在程序里包含了C庫中對(duì)應(yīng)的頭文件(函數(shù)聲明),就可以使用這些庫函數(shù)了。
#include<stdio.h>printf--標(biāo)準(zhǔn)格式化輸出函數(shù)
scanf--標(biāo)準(zhǔn)格式化輸入函數(shù)計(jì)算機(jī)數(shù)據(jù)表示送入計(jì)算機(jī)的數(shù)字,字母,符號(hào)等信息必須轉(zhuǎn)換成0、1組合的數(shù)據(jù)形式才能被計(jì)算機(jī)接收、存儲(chǔ)并進(jìn)行運(yùn)算。能夠進(jìn)行算術(shù)運(yùn)算得到明確數(shù)值概念的信息成為計(jì)算機(jī)數(shù)值數(shù)據(jù),其余的信息成為非數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)的表示凡是按進(jìn)位的方式計(jì)數(shù)的數(shù)制叫做進(jìn)位計(jì)數(shù)制,簡(jiǎn)稱進(jìn)位制。十進(jìn)制、二進(jìn)制、十六進(jìn)制、八進(jìn)制
基數(shù)與各數(shù)位的權(quán)。
基數(shù)是指該進(jìn)位制中允許選用的基本數(shù)碼的個(gè)數(shù)。如最常用的十進(jìn)制數(shù),基數(shù)為10,可選用0、1、2……9共10個(gè)不同數(shù)碼中的任何一個(gè)。 而位權(quán)的大小是以基數(shù)為底,數(shù)字所在位置的序號(hào)為指數(shù)的整數(shù)次冪。
123=1X100+2X10+3X198=9X10+8X1=1X102+2X101+3X100=9X101+8X100二進(jìn)制基數(shù)為2的進(jìn)位制叫二進(jìn)制二進(jìn)制只有0、1兩種數(shù)碼,計(jì)數(shù)逢2進(jìn)位1010=1X23+0X22+1X21+0X20=1X8+0X4+1X2+0X1=10十六進(jìn)制基數(shù)為16的進(jìn)位制叫十六進(jìn)制十六進(jìn)制有0、1、2…9、a、b、c、d、e、f共16種數(shù)碼,計(jì)數(shù)逢16進(jìn)位0x1010=1X163+0X162+1X161+0X160=1X4096+0X256+1X16+0X1=5012十六進(jìn)制210
2100xa6f=aX162+6X161+fX160=2560+96+15=2671
1111011010101X2048+1X512+1X64+1X32+1X8+1X4+1X2+1X1=2671非數(shù)值數(shù)據(jù)表示計(jì)算機(jī)中數(shù)據(jù)的概念是廣義的,機(jī)內(nèi)除有前面提到的數(shù)值數(shù)據(jù)之外,還有文字、符號(hào)、圖像、語言和邏輯信息等等,因?yàn)樗鼈円捕际且?、1形式存在,所以成為非數(shù)值數(shù)據(jù)字符數(shù)據(jù)主要指數(shù)字、字母、通用符號(hào)、控制符號(hào)等等,在機(jī)器內(nèi)都被變換成計(jì)算機(jī)能夠識(shí)別的二進(jìn)制編碼形式。國(guó)際上被普遍采用的一種編碼是美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)代碼,簡(jiǎn)稱為ASCIIASCII第一部分由00H到1FH共32個(gè),一般用來通訊或作為控制之用,有些字符可顯示于屏幕,有些則無法顯示在屏幕上,但能看到其效果(例如換行字符、歸位字符)。第二部分是由20H到7FH共96個(gè),這96個(gè)字符是用來表示阿拉伯?dāng)?shù)字、英文字母大小寫和底線、括號(hào)等符號(hào),都可以顯示在屏幕上。第三部分由80H到0FFH共128個(gè)字符,一般稱為『擴(kuò)充字符』,這128個(gè)擴(kuò)充字符是由IBM制定的,并非標(biāo)準(zhǔn)的ASCII碼。這些字符是用來表示框線、音標(biāo)和其它歐洲非英語系的字母。/demo/ascii/ascii.htmC語言特點(diǎn)世界上使用最廣泛計(jì)算機(jī)語言語言簡(jiǎn)潔、緊湊,使用方便、靈活運(yùn)算符和數(shù)據(jù)結(jié)構(gòu)豐富結(jié)構(gòu)化的控制語句允許直接對(duì)硬件操作移植性好,程序執(zhí)行效率高C語言的發(fā)展ALGOL60
BLanguageCLanguage
(1960)面向問題,不適合編寫系統(tǒng)程序(1970)簡(jiǎn)潔,接近硬件;過于簡(jiǎn)單,沒有數(shù)據(jù)類型,功能有限(1973)最早的版本,重寫了UNIX(1977)不依賴具體機(jī)器的版本可移植性(1983)ANSIC->89ANSICC語言范例#include<stdio.h>intmain(){inta;printf(“Hellotheworld!\n”);return0;}
詞法符號(hào)(1)任何高級(jí)語言都有自定義的詞法符號(hào)和支持的數(shù)據(jù)類型。詞法符號(hào)是語言的基本組成單位,數(shù)據(jù)類型是數(shù)據(jù)的基本屬性。詞法符號(hào)是程序設(shè)計(jì)語言中有若干字符組成的有意義的最小語法單位。按照詞法符號(hào)在程序中的作用,可以分為:關(guān)鍵字、標(biāo)識(shí)符、分隔符、運(yùn)算符和標(biāo)點(diǎn)符號(hào)詞法符號(hào)(2)關(guān)鍵字
關(guān)鍵字是由系統(tǒng)預(yù)定義的詞法符號(hào),有特定的含義,不允許用戶重新定義。下面是一些基本關(guān)鍵字:
autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsighedvoidvolatilewhile
所有關(guān)鍵字均為小寫
詞法符號(hào)(3)標(biāo)識(shí)符
標(biāo)識(shí)符是由程序員按照命名規(guī)則自行定義的詞法符號(hào),用于定義宏名、變量名、函數(shù)名和自定義類型名等。C語言的命名規(guī)則如下:
1)標(biāo)識(shí)符由一個(gè)或多個(gè)字母、數(shù)字或下劃線組成
2)標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線
3)標(biāo)識(shí)符不能與任何關(guān)鍵字相同
xysuma100_A7b_3x3’ax*y@b.8while大小寫敏感;abAbaBAB命名有一定含義,便于記憶,增加可讀性詞法符號(hào)(4)運(yùn)算符
運(yùn)算符是表示運(yùn)算的詞法符號(hào),C語言有非常豐富的運(yùn)算符,按功能可以分為:算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符、遞增遞減運(yùn)算符、地址運(yùn)算符、逗號(hào)運(yùn)算符、sizeof運(yùn)算符
詞法符號(hào)(5)分隔符
分隔符是用來分隔其他的詞法符號(hào),主要包括:
空格符、制表符、換行符號(hào)、注釋通過對(duì)分隔符的恰當(dāng)運(yùn)用,使得代碼的外觀格式更為清晰易讀,還可以幫助分析程序中的語法錯(cuò)誤
詞法符號(hào)(6)標(biāo)點(diǎn)符號(hào)
C語言中的標(biāo)點(diǎn)符號(hào)有逗號(hào)、分號(hào)、冒號(hào)、花括號(hào)、圓括號(hào)。標(biāo)點(diǎn)符號(hào)的作用與分隔符相似,但用法非常嚴(yán)格,有著明確的語法規(guī)定。有些標(biāo)點(diǎn)符號(hào)出現(xiàn)在表達(dá)式中時(shí),當(dāng)作運(yùn)算符使用
intx,y;x=3;y=4;function(x,y);main(){…….}實(shí)踐一下學(xué)習(xí)在Linux下用文本編輯工具編寫C源程序掌握基本的詞法符號(hào)用法(包括添加注釋)學(xué)習(xí)如何用工具鏈編譯一個(gè)程序運(yùn)行程序
29常用編輯工具vi是Linux中最常用的文本編輯器,嵌入式系統(tǒng)開發(fā)人員要能熟練使用這個(gè)工具,vim是其改進(jìn)版本輸入模式命令模式vi—輸入模式新增(append)
--a從光標(biāo)所在位置后面開始新增資料,光標(biāo)后的資料隨新增資料向后移動(dòng)。
--A從光標(biāo)所在列最后面的地方開始新增資料插入(insert)
--i從光標(biāo)所在位置前面開始插入資料,光標(biāo)后的資料隨新增資料向后移動(dòng)。
--I從光標(biāo)列的第一個(gè)非空白字符前面開始插入資料。開始(open)
--o在光標(biāo)所在列下新增一列并進(jìn)入輸入模式。
--O在光標(biāo)所在列上方新增一列并進(jìn)入輸入模式。
vi—命令模式<:q> 不保存退出<:q!>不保存強(qiáng)制性退出<:w>保存編輯<:wfilename>存入文件filename中<:w!filename>強(qiáng)制性存入文件filename中<:wq>保存并退出gccgcc(GNUCCompiler)是GNU推出的功能強(qiáng)大,性能優(yōu)越的多平臺(tái)編譯器,gcc編譯器能將C,C++語言源程序編譯連接成可執(zhí)行文件,以下是gcc支持編譯的一些源文件的后綴及其解釋:.cc語言源代碼.h程序所包含的頭文件 .i已經(jīng)預(yù)處理過的C源代碼文件 -E.s匯編語言源代碼文件 -S.o編譯后的目標(biāo)文件 -c格式gcc–ohellohello.c-o輸出可執(zhí)行文件-c只要求編譯器輸出目標(biāo)代碼(.o文件),而不必輸出可執(zhí)行文件-g用于調(diào)試./hello查看輸出結(jié)果用于Makefile實(shí)戰(zhàn)例子用vi寫一個(gè)1+2+3+….+10的程序用gcc編譯這個(gè)程序調(diào)試?yán)胈_FILE_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)田灌溉工程施工合同三篇
- 《保護(hù)文物》課件
- 帶人帶心的領(lǐng)導(dǎo)藝術(shù)(博商課件)
- 建筑結(jié)構(gòu)檢測(cè)鑒定技術(shù)概述(東錦內(nèi)部培訓(xùn)課件)pl
- 2024-2025學(xué)年年八年級(jí)數(shù)學(xué)人教版下冊(cè)專題整合復(fù)習(xí)卷第21章 二次根式復(fù)習(xí)卷(24年中考題匯編)-
- 《軟件技術(shù)基礎(chǔ)》課件
- 2024-2025學(xué)年江蘇省淮安市洪澤區(qū)西順河小學(xué)等四校聯(lián)考譯林版(三起)五年級(jí)上冊(cè)12月月考英語試卷(原卷版)-A4
- 2024.11.7 高一英語延慶區(qū)2024-2025學(xué)年第一學(xué)期期中試卷 解析版(2)(1)-A4
- 《供應(yīng)鏈經(jīng)營(yíng)管理》課件
- 2024年浙江省中考英語試卷
- 國(guó)開2023年春《人文英語4》機(jī)考網(wǎng)考期末復(fù)習(xí)資料參考答案
- 教師追悼會(huì)家屬答謝詞(三篇)
- 初三英語中考模擬試卷
- 員工食堂承包合同、考核細(xì)則、考核評(píng)分表
- SnO2材料氣敏性能研究進(jìn)展
- 爆破設(shè)計(jì)與施工(第3版)巖土爆破設(shè)計(jì)題(含答案)概要
- GB/T 7714-2015信息與文獻(xiàn)參考文獻(xiàn)著錄規(guī)則
- GB/T 19963.1-2021風(fēng)電場(chǎng)接入電力系統(tǒng)技術(shù)規(guī)定第1部分:陸上風(fēng)電
- GB/T 13586-2006鋁及鋁合金廢料
- 2023教師編制考試教育理論綜合基礎(chǔ)知識(shí)復(fù)習(xí)題庫及參考答案(通用版)
- 新概念英語第一冊(cè)Lesson13-14課件
評(píng)論
0/150
提交評(píng)論