C語言程序設計1_第1頁
C語言程序設計1_第2頁
C語言程序設計1_第3頁
C語言程序設計1_第4頁
C語言程序設計1_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計C語言程序設計1全文共70頁,當前為第1頁。目錄第1章C語言概述2學時第2章數(shù)據(jù)類型與表達式4學時第3章順序結構程序設計2學時第4章選擇結構程序設計4學時第5章循環(huán)結構程序設計4學時第6章數(shù)組4學時第7章函數(shù)4學時第8章指針4學時第9章用戶定義數(shù)據(jù)類型4學時第10章文件4學時第11章軟件基礎知識C語言程序設計1全文共70頁,當前為第2頁。第1章C語言概述

1.1

C語言的發(fā)展史1.2

C語言程序的構成1.3

C語言的單詞1.4

DevC++集成開發(fā)環(huán)境

1.5編程方法C語言程序設計1全文共70頁,當前為第3頁。4程序設計語言的發(fā)展機器語言匯編語言高級語言面向過程面向對象CPU指令系統(tǒng),由0、1序列構成的指令碼組成如:10000000加

10010000減用助記符號描述的指令系統(tǒng)如ADDA,B面向機器的語言程序設計是數(shù)據(jù)被加工的過程程序設計關鍵是定義類,并由類派生對象C語言程序設計1全文共70頁,當前為第4頁。51.1C語言的發(fā)展史

---1.1.1C語言的起源產生過程時間:1972~1973地點:美國貝爾實驗室目的:設計UNIX操作系統(tǒng)設計人:Ken.Thompson和Dennis.M.RitchieC標準標準C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1989年,ANSI又公布了一個新的C語言標準—C89,目前流行的C語言編譯系統(tǒng)大多是以C89為基礎進行開發(fā)的1990年國際標準的ANSIC1994年,對C90的修訂工作開始,ISO/IEC于1999年12月16日,推出了C語言標準:ISO/IEC9899:1999(Programminglanguages–C)稱為C99。C語言程序設計1全文共70頁,當前為第5頁。61.1.2C語言的特點1.語言簡潔、緊湊,使用靈活、方便。2.運算符豐富,表達能力強。3.數(shù)據(jù)結構豐富,結構化程度高。4.兼有高級語言和低級語言的特點,允許直接訪問物理地址,能進行位操作,能實現(xiàn)匯編語言的大部分功能。5.生成目標代碼質量高,程序執(zhí)行效率高6.比匯編程序的可移植性好。

C語言程序設計1全文共70頁,當前為第6頁。71.1.3C語言的集成開發(fā)環(huán)境

常用的C與C++集成開發(fā)環(huán)境有Borland公司的TurboC、BorlandC++、C++Builder;微軟的MicrosoftC、VisualC++、Visualstudio.NET。VisualC++成為最常用的C語言集成開發(fā)環(huán)境(簡稱VC),但VC不支持C99標準。等級考試等級考試。DevC++支持C99標準,是全國奧林匹克編程C語言指定的開發(fā)工具。C語言程序設計1全文共70頁,當前為第7頁。8

C語言集成開發(fā)環(huán)境都是由編輯器、編譯器、連接器集合而成,用戶編寫的源程序通過編輯器輸入到計算機內存,形成擴展名為.c的程序文件,通過編譯器編譯,形成擴展名為.obj目標代碼文件,通過連接器連接目標代碼和庫文件,形成擴展名為.exe的執(zhí)行文件,運行執(zhí)行文件,在運行窗口輸入數(shù)據(jù),并輸出計算結果。常用的集成開發(fā)環(huán)境TC與GCC是以命令行方式工作,VC和DevC++是在windows平臺下工作,由于DevC++執(zhí)行完程序后立即關閉了輸出窗口,用戶看不見輸出結果,因此在源程序結束之前應該加入getch();語句,暫停程序運行,讓用戶查看完輸出內容后,按任一鍵結束。也可以用system("pause");語句,調用標準庫中的系統(tǒng)函數(shù),使用system函數(shù)時,要在源程序開始處用#include<stdlib.h>聲明包含標準庫頭文件,因為system函數(shù)是定義在<stdlib.h>這個頭文件之中。C語言程序設計1全文共70頁,當前為第8頁。91.2C語言的程序構成

---1.2.1C語言程序的基本構成

C語言是一種函數(shù)型語言,C語言的源程序是由一系列函數(shù)構成的。C語言的函數(shù)模塊一般形式如下:編譯預處理命令函數(shù)類型

函數(shù)名(函數(shù)形式參數(shù)){

聲明語句

執(zhí)行語句}C語言程序設計1全文共70頁,當前為第9頁。10`1.2C語言的程序構成

---1.2.1C語言程序的基本構成

例1.1在DevC++集成環(huán)境下編程,建立一個文件文件名為ex1_1的C源程序,在屏幕上輸出"CompilerDEVC++"后回車換行。#include<stdio.h> /*包含標準輸入/輸出頭文件*/#include<stdlib.h> /*包含C語言標準庫頭文件*/intmain(void) /*主函數(shù)由主函數(shù)名和參數(shù)組成*/{ /*函數(shù)體開始*/ printf("CompilerDEVC++\n");/*用格式輸出函數(shù)printf輸出字符串*/ system("pause"); /*暫停程序運行,查看輸出內容*/ return0; /*向操作系統(tǒng)返回0值,即程序正常退出*/} /*函數(shù)體結束*/C語言程序設計1全文共70頁,當前為第10頁。11`1.2C語言的程序構成

---1.2.1C語言程序的基本構成

例1.2在VC集成環(huán)境下編程,編制輸入兩個整數(shù),并輸出較大的一個數(shù)的源程序。#include<stdio.h> /*包含標準輸入/輸出頭文件*/main() /*主函數(shù)參數(shù)無返回值*/{ /*函數(shù)體開始*/ intiX,iY,iZ; /*定義函數(shù)中使用的變量ix,iy,iz*/ scanf(“%d,%d”,&iX,&iY); /*用格式輸入函數(shù)輸入兩個整數(shù)*/ if(iX>iY)iZ=iX; /*如果ix>iy那么把ix的值賦給iz*/ elseiZ=iY; /*否則把iy的值賦給iz*/ printf(“max=%d\n”,iZ); /*用格式輸出函數(shù)printf輸出最大值*/ }C語言程序設計1全文共70頁,當前為第11頁。12`1.2C語言的程序構成

---1.2.1C語言程序的基本構成

例1.3先定義一個求二個數(shù)的較大值函數(shù),然后由主函數(shù)調用該函數(shù),試編寫源程序,當輸入兩個整數(shù)時,輸出較大的一個數(shù)。#include<stdio.h> /*包含標準輸入/輸出頭文件*/#include<stdlib.h> /*包含C語言標準庫頭文件*/intiMax(intiX,intiY); /*函數(shù)iMax前向說明*/C語言程序設計1全文共70頁,當前為第12頁。13`1.2C語言的程序構成

---1.2.1C語言程序的基本構成

intmain(void) /*主函數(shù)函數(shù)無返回值,參數(shù)無返回值*/{ /*函數(shù)體開始*/intiA,iB,iC; /*定義函數(shù)中使用的變量iA,iB,iC*/scanf("%d,%d",&iA,&iB); /*用格式輸入函數(shù)輸入兩個整數(shù)*/ic=iMax(iA,iB); /*調用函數(shù)iMax*/printf("max=%d\n",iC); /*用格式輸出函數(shù)printf輸出最大值*/system("pause"); /*暫停程序運行,查看輸出內容*/return0; /*向操作系統(tǒng)返回0值,即程序正常退出*/} /*函數(shù)體結束*/C語言程序設計1全文共70頁,當前為第13頁。14`1.2C語言的程序構成

---1.2.1C語言程序的基本構成

例1.3先定義一個求二個數(shù)的較大值函數(shù),然后由主函數(shù)調用該函數(shù),試編寫源程序,當輸入兩個整數(shù)時,輸出較大的一個數(shù)。intiMax(intiX,intiY) /*用戶定義函數(shù)iMax*/{ /*函數(shù)體開始*/intiZ; /*定義函數(shù)中使用的變量iX,iY,iZ*/if(iX>iY)iZ=iX; /*如果iX>iY那么把iX的值賦給iZ*/elseiZ=iY; /*否則把iy的值賦給iz*/return(iZ); /*返回計算結果*/} /*函數(shù)體結束*/C語言程序設計1全文共70頁,當前為第14頁。C程序的基本構成由編譯預處理命令、參數(shù)說明、函數(shù)說明、主函數(shù)、函數(shù)等成份組成15C語言程序設計1全文共70頁,當前為第15頁。編譯預處理編譯預處理命令有文件包含(.h頭文件)、宏定義和條件編譯3種。包含文件的格式為:#include<stdio.h>或#include“stdlib.h“用

#include<filename.h>格式來引用標準庫的頭文件,編譯器從標準庫目錄開始搜索。用

#include“filename.h”格式來引用非標準庫的頭文件,編譯器從用戶工作目錄開始搜索。宏定義的作用是定義符號常量,用一個短的名字代表一個長的字符串。定義格式為:#define標識符

字符串

例:#definePI3.141592616C語言程序設計1全文共70頁,當前為第16頁。C語言中的函數(shù)C語言是函數(shù)型語言,程序模塊都是函數(shù)型模塊,一個C程序可以由一個或多個具有相對獨立功能的函數(shù)模塊構成,其中有一個且僅有一個以main命名的主函數(shù),其他函數(shù)模塊為函數(shù)如iMax。程序從main函數(shù)開始執(zhí)行,直到執(zhí)行完函數(shù)體程序才運行結束。主函數(shù)調用函數(shù),執(zhí)行完函數(shù)體后返回到主函數(shù)調用處繼續(xù)執(zhí)行后續(xù)語句。函數(shù)與函數(shù)之間用參數(shù)傳遞數(shù)據(jù)。函數(shù)只能被主函數(shù)或其他函數(shù)調用,不能單獨運行。17C語言程序設計1全文共70頁,當前為第17頁。函數(shù)的調用C函數(shù)分為標準函數(shù)和用戶定義函數(shù)兩類,程序模塊中的函數(shù)調用語句可以調用標準函數(shù),也可以調用用戶定義函數(shù)。標準函數(shù)是由編譯程序提供的,標準函數(shù)的定義是以編譯后的目標代碼形式存放在系統(tǒng)的函數(shù)庫中,稱為C函數(shù)庫。用戶編程時直接調用標準函數(shù)。用戶定義函數(shù)必須由用戶在源程序中編寫函數(shù)定義,根據(jù)模塊功能,設計和編寫用戶定義的函數(shù)語句,供其他函數(shù)調用。用戶定義函數(shù)與調用函數(shù)的函數(shù)名必須一致,兩者參數(shù)的個數(shù)與參數(shù)的類型必須按位置相同放置,函數(shù)定義的參數(shù)為虛參,函數(shù)調用中的參數(shù)為實參,參數(shù)的傳遞按位置虛實對應。18C語言程序設計1全文共70頁,當前為第18頁。函數(shù)說明函數(shù)應該滿足先定義后調用的規(guī)則,如果函數(shù)的定義在前,在主函數(shù)中對函數(shù)的調用語句在后,則滿足先定義后調用的規(guī)則,不需要進行函數(shù)說明;如果主函數(shù)在前,函數(shù)的定義在后,則需要對函數(shù)進行前向說明。函數(shù)說明是在函數(shù)被使用之前的位置,用函數(shù)原型對函數(shù)進行前向說明,將函數(shù)的名稱和參數(shù)告知編譯器。19C語言程序設計1全文共70頁,當前為第19頁。書寫格式C語言的書寫格式自由,C語句用分號“;”作結束符,一條語句可以寫成多行,多條語句也可以寫成一行。C語言的書寫支持縮進格式,將同一層次的語句,語句的開頭對齊在同一列,每下一個層次,語句開頭通過加空格縮進若干列,從而形成層層縮進對齊的書寫格式。20C語言程序設計1全文共70頁,當前為第20頁。注釋

程序中可加必要的注釋,注釋分為塊注釋和行注釋,塊注釋用一對符號“/**/”作程序中注釋的定界符,表示“/*”和“*/”之間的內容是注釋;行注釋使用“//”,支持C99的編譯器支持在C語言中使用行注釋。注釋的內容不影響程序的編譯和執(zhí)行,增加程序的可讀性,是一種良好的程序設計風格21C語言程序設計1全文共70頁,當前為第21頁。函數(shù)的組成22一個函數(shù)由函數(shù)頭部和函數(shù)體二部分組成,函數(shù)的頭部包括函數(shù)的類型、函數(shù)名和形式參數(shù)表。形式參數(shù)表可以無類型,參數(shù)表為無類型用類型名void表示。函數(shù)體用一對花括號“{}”括起來,包括局部說明部分和語句部分。一般形式為:函數(shù)類型

函數(shù)名(參數(shù)表列){聲明語句執(zhí)行語句}C語言程序設計1全文共70頁,當前為第22頁。231.2.2C語言程序邏輯順序C語言程序模塊中,語句塊的邏輯順序是按局部說明、數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)輸出的次序依次排列的。C語言程序設計1全文共70頁,當前為第23頁。例1.4:已知園的半徑為r,編寫求園的面積與周長的程序。#include<stdio.h> /*包含標準輸入/輸出頭文件*/#definePI3.1415926 /*宏定義*/main() /*經(jīng)典C表示的主函數(shù)*/{ /*函數(shù)體開始*/floatfR,fS,fW; /*定義函數(shù)中使用的變量fR(局部說明)*/scanf("%f",&fR); /*用格式輸入函數(shù)輸入半徑dR*/fS=PI*fR*fR; /*求園的面積(數(shù)據(jù)處理)*/fW=2*PI*fR; /*求園的周長(數(shù)據(jù)處理)*/printf("fS=%f,fW=%f\n",fS,fW); /*用格式輸出函數(shù)printf輸出面積和周長*/} /*函數(shù)體結束*/24C語言程序設計1全文共70頁,當前為第24頁。251.2.3C語言的風格C語言的風格指C程序的風范格局。C語言的風格是編程思想的開放性、程序開發(fā)的統(tǒng)一性、程序結構的層次性和程序內容的易讀性的表現(xiàn)形式。也是程序員對程序書寫形式一貫性的體現(xiàn)。1、主函數(shù)與大括號的放置位置2、縮進格式3、空格4、注釋5、命名系統(tǒng)6、函數(shù)C語言程序設計1全文共70頁,當前為第25頁。2、C語言的程序樣板程序樣板指C源程序中存在一些使用方法相對固定的成分,包括編譯預處理命令、主函數(shù)頭部、聲明語句、執(zhí)行語句和返回語句等語法成分,包括一些相對固定的算法。將源程序的這些固定成分作為程序樣板,對其中的某些語法成分稍作修改,可以快速地編制出解決實際問題的源程序。C語言程序設計1全文共70頁,當前為第26頁。C89/C99語言的程序樣板例如,在文件名為ex1_1.c的源文件中,語法成份相對固定的程序內容如下:#include<stdio.h> /*包含標準輸入/輸出頭文件*/intmain(void) /*C89/C99主函數(shù)頭部*/{ /*函數(shù)體開始*/ …… /*程序語句*/ return0; /*向操作系統(tǒng)返回0值,程序正常退出*/} /*函數(shù)體結束*/C語言程序設計1全文共70頁,當前為第27頁。經(jīng)典C的程序樣板#include<stdio.h> /*包含標準輸入/輸出頭文件*/main() /*經(jīng)典C的主函數(shù)頭部*/{ /*函數(shù)體開始*/

…… /*根據(jù)題義插入相應的語句*/}

添加輸出語句構成完整的程序:#include<stdio.h> /*包含標準輸入/輸出頭文件*/main() /*經(jīng)典C的主函數(shù)頭部*/{ /*函數(shù)體開始*/printf(“CProgram\n”);/*輸出“CProgram”*/} /*函數(shù)體結束*/C語言程序設計1全文共70頁,當前為第28頁。291.3C語言的單詞

---1.3.1C語言基本字符集

1、基本字符集

型基

符大寫字母ABCDEFGHIJ……XYZ小寫字母abcdefghij……xyz數(shù)字0123456789空白符空格符、水平制表符(HT)、垂直制表符(VT)、回車符(CR)、換行符(LF)、換頁符(FF)轉義符號\n換行(LF)\t水平制表(HT)\a響鈴(BEL)\b退格(BS)\f換頁(FF)\r回車(CR)\v垂直制表(VT)\\反斜杠\’單引號\”雙引號\?問號\0空字符(NULL)\ddd三位八進制數(shù)\xhh二位十六進制數(shù)

圖形符號~!#%&?|^*=+-_/\“‘()[]{}<>,.:;?C語言程序設計1全文共70頁,當前為第29頁。2、分隔符分隔符是用來分隔程序的正文、語句或單詞,用來表示某個程序實體的結束和另一個程序實體的開始。C分隔符由空白符和標點符號組成??瞻追崭穹?、水平制表符(HT)、垂直制表符(VT)、回車符(CR)、換行符(LF)、換頁符(FF)等30C語言程序設計1全文共70頁,當前為第30頁。1.3.2關鍵字關鍵字是由編譯程序預定義具有固定含義的單詞,關鍵字有特定含義的專門用途,用戶不能用關鍵字作為常量、變量、類型或函數(shù)的名字。ANSIC標準中定義的32個關鍵字,在TurboC中在存儲類型說明中增加了7個關鍵字。31C語言程序設計1全文共70頁,當前為第31頁。關鍵字類型保留字C關鍵字(基本集)32個auto、break、case、char、const、continue、default、do、double、else、enum、extem、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、whileTurboC擴展7個關鍵字asm、cdecl、far、huge、interrupt、near、pascalVC++擴展34個關鍵字asm、bad_cast、bad_typeid、bool、catch、class、const_cast、delete、dynamic_cast、except、explicit、false、finally、friend、inline、mutable、namespace、new、operator、private、protected、public、reinterpret_cast、static_cast、template、this、throw、true、try、type_info、typeid、typename、virtual、wchar_tC99新增5個關鍵字restrict、inline、_Complex、_Imaginary、_BoolC語言程序設計1全文共70頁,當前為第32頁。331.3.3標識符標識符是由程序員定義實體的單詞,標識符是定義符號常量、標號、變量、類型、函數(shù)、對象的定義符。1、標識符的命名規(guī)則(1)標識符以英文字母或下劃線開頭的英文大小字母、數(shù)字字符(0~9)和下劃線符組成的序列。(2)標識符中的字母區(qū)分大小寫,例如,abc、ABC和Abc是三個不同的標識符。C語言習慣使用小寫字母。(3)C語言ANSI標準規(guī)定,標識符的長度為1-31個字,C99標準標識符的長度為63字節(jié)。(4)標識符的中間不能有分割符,如不能在標識符中間加空格。(5)不能用C的關鍵字作為標識符,標識符不能與C的庫函數(shù)同名,不能和用戶已編制的函數(shù)同名,避免產生歧義。C語言程序設計1全文共70頁,當前為第33頁。對象定義格式定義舉例標識符符號常量#define標識符字符串#definePI3.1415926PI標號標號名:Lable:Lable變量與數(shù)組類型名變量名,數(shù)組intiK,iA[3]={1,2,3}iK、iA函數(shù)[類型說明符]函數(shù)名([形參表])intiMax(intiA,intiB)iMaxC語言程序設計1全文共70頁,當前為第34頁。例1.5判斷下列字符序列是否可做標識符。12abcabc123ab4a58c_namename_charcharshortex1-1ex1_1x$fs#35C語言程序設計1全文共70頁,當前為第35頁。361.3.4常量與常量的類型常量指在程序運行和處理的過程中其值始終不能被改變的量。常量的基本類型有整型常量、字符型常量、字符串常量、浮點型常量、枚舉類型常量等5種基本類型。此外,還允許用一個標識符代表一個常量,稱為符號常量。C語言程序設計1全文共70頁,當前為第36頁。整型常量整型常量是由字符和數(shù)字組成的序列,用以表示整數(shù)及其相應的表示方式或存儲類型,整數(shù)包括正整數(shù)、負整數(shù)和零。(1)按不同的進制區(qū)分,整型常量包括十進制、八進制和十六進制3種表示方法。十進制整型常量:246,-126,32700八進制整型常量:0345,0621。十六進制整型常量:0x8B,0xE6。(2)用后綴表示整型常數(shù)長整數(shù):0773L、-0xa8el,32788L。無符號數(shù):12345u、4365U。unsignedlong類型的常量:65640UL。編譯時,整型常量按照數(shù)據(jù)類型存儲為十六進制數(shù)37C語言程序設計1全文共70頁,當前為第37頁。浮點型常量浮點型常量指帶有小數(shù)的十進制數(shù)。浮點型常量有兩種表示方式:帶小數(shù)的十進制表示法。如:5.,.32,0.0,13.54等??茖W表示法(指數(shù)形式),如1.234e2表示1.234102。注意,e(E)前面必須有數(shù)字,e(E)后面的指數(shù)部分可正可負,但必須是整數(shù)。3.2E-5,-4.3E10,-3e-2,.41e-2,12.e3合法e2,1.2e2.5,.e-3,e-1.5,e不合法38C語言程序設計1全文共70頁,當前為第38頁。浮點型常量分為單精度(float)、雙精度(double)和長雙精度(longdouble)3類。默認為double型,float型常量在實數(shù)后加f(F)。longdouble在實數(shù)后加l(L)。8.2f、4.6e2F //表示float型1.230e-4 //表示double型6.47L //表示longdouble型39C語言程序設計1全文共70頁,當前為第39頁。字符常量字符常量是用單引號括起來的一個基本字符。兩種表示方法準用字符表示法,用單引號括起準用字符,如'a','x','*','1',字符常量不包括字符'和換行符。轉義符號表示法,用單引號括起轉義符號,如:'\n','\t','\b','\f','\a','\\','\101','\x41','\”'等。注意:轉義字符必須用小寫字母。40C語言程序設計1全文共70頁,當前為第40頁。字符串常量字符串常量用一對雙括號括起來的字符序列。例如,"Hello!"、

"ABCDEFG\n"、"a"等。在字符串中出現(xiàn)的反斜線\,單引號'、雙引號"等定界符時應該用轉義字符\\、\'、\"表示。例如:輸出"\t\\string\’ssetofchar\n",表示跳過一個制表位后顯示\string’ssetofchar后回車。字符串的存儲是字符序列的順序依次存放各字符十六進制形式的ASCII碼值,最后以轉義符'\0'結束,在C中,凡是字符串必須要有一個結束符,該結束符用'\0'表示41C語言程序設計1全文共70頁,當前為第41頁。字符常量與字符串常量的區(qū)別。(1)字符型常量的定界符用單引號括起,而串常量的定界符用雙引號括起。(2)一個字符常量存放在內存中只占一個字節(jié),而字符串常量要占多個字節(jié)。例如:存放字符常量'a'僅占一個字節(jié),用a的十六進制ASCII碼值61H存放;字符串"a"占兩個字節(jié),除了存放字符'a'的ASCII碼61H外,還要存放字符串常量的結束符'\0'。(3)字符常量與字符串常量的運算方法也不相同。例如,字符常量具有加法和減法運算,而字符串常量用函數(shù)進行運算。42C語言程序設計1全文共70頁,當前為第42頁。符號常量符號常量,必須按照先定義后使用,用#define進行宏定義,然后在程序中使用符號常量。#definePI3.1415926定義了符號常量PI,在程序中用符號常量PI表示3.1415926。注意:①宏定義是命令不是語句,所以不是給PI賦值,命令結束沒有分號,C程序在編譯時會將非雙引號內的所有PI都置換成為3.1415926。②宏名一般用大寫字母表示,以示與變量名區(qū)別。③使用宏名,可以使它代替的內容含義更清晰,增加程序可讀性,還可減少輸入量。④#define命令出現(xiàn)在函數(shù)的外面,宏只能在它出現(xiàn)之后起作用,還可以用#undef終止已定義的宏。⑤在進行宏定義時,可以引用已定義的宏⑥

在帶參數(shù)的宏展開時要注意只作宏代換,不能先計算結果再代換。⑦

常量標識符在程序中只能被引用,而不能被重新賦值。43C語言程序設計1全文共70頁,當前為第43頁。例1.6引用已定義的宏,程序如下#defineN5#defineMN*Nmain(){printf(“%d”,M);}運行結果為:2544C語言程序設計1全文共70頁,當前為第44頁。例1.7帶參數(shù)的宏#include<stdio.h>#defineN4#defineS(x)N*x*xmain(){intiA=1,iB=2;printf(“%d\n“,S(iA+iB));}運行結果為8,程序中輸出S(iA+iB)宏展開為4*iA+iB*iA+iB;不能先計算iA+iB=3,再代換。45C語言程序設計1全文共70頁,當前為第45頁。461.3.5運算符運算是對數(shù)據(jù)進行加工處理的過程,運算的本質是集合之間的映射,運算元素包括運算量、運算符、括號和運算結果,運算量是參加運算已知量的集合,運算量包括常量、變量和函數(shù)等;運算符是標識運算類型和運算方法的符號,運算符是C中重要的詞法記號。運算是按照運算符標識的運算方法,實現(xiàn)已知量的集合(運算量)到結果集的映射C語言程序設計1全文共70頁,當前為第46頁。47C運算符算術運算符:(+-*/%++--)關系運算符:(<<===>>=!=)邏輯運算符:(!&&||)位運算符:(<<>>~|^&)賦值運算符:(=及其擴展)條件運算符:(?:)逗號運算符:(,)指針運算符:(*&)求字節(jié)數(shù):(sizeof)強制類型轉換:(類型)分量運算符:(.->)下標運算符:([])其它:(()-)C語言程序設計1全文共70頁,當前為第47頁。學習運算符應注意:運算符功能與運算量關系要求運算量個數(shù)要求運算量類型運算符優(yōu)先級別結合方向結果的類型48C語言程序設計1全文共70頁,當前為第48頁。491.4DevC++集成開發(fā)環(huán)境

---1.4.1Dev-C++的工作環(huán)境Dev-C++可以看成Windows操作系統(tǒng)下C/C++程序的集成開發(fā)環(huán)境(IDE),Dev-C++是根據(jù)標準的GNU許可協(xié)議進行發(fā)布的。Dev-C++集成開發(fā)環(huán)境包括多頁面窗口、工程編輯器、調試器、及相關工具等。多頁面窗口可以同時打開多個文檔窗口,使用代有文件名的標簽進行切換;在工程編輯器中集成了支持多國語言的編輯器、類瀏覽器、變量調試瀏覽器、MingW32/GCC編譯器、連接程序、創(chuàng)建exe程序和執(zhí)行程序;使用GDB的集成調試器;提供項目管理、功能列表、支持模板創(chuàng)建用戶項目類型、快速創(chuàng)建Windows、命令行、靜態(tài)連接庫和動態(tài)連接庫、提供打印管理等軟件工具。

C語言程序設計1全文共70頁,當前為第49頁。Dev-C++集成開發(fā)環(huán)境的安裝與設置1、從網(wǎng)上下載Dev-Cpp5.4.0MinGW4.7.2Setup.exe并復制到E:\DEVCPP\”文件夾中2、運行Dev-Cpp5.4.0MinGW4.7.2Setup.exe打開如下對話框:選擇默認的語言,單擊“OK”C語言程序設計1全文共70頁,當前為第50頁。顯示許可證協(xié)議,單擊“IAgree”按鈕C語言程序設計1全文共70頁,當前為第51頁。選擇組件:單擊“Next”按鈕C語言程序設計1全文共70頁,當前為第52頁。選擇安裝位置:指定默認位置;

單擊“Install”按鈕C語言程序設計1全文共70頁,當前為第53頁。單擊“是”,完成安裝,單擊“finish”。C語言程序設計1全文共70頁,當前為第54頁。打開Dev-C++第一次配置

選擇“簡體中文/Chinese”,單擊“Next”,

單擊“Next”復制完文件后,單擊“OK”C語言程序設計1全文共70頁,當前為第55頁。1、設置字體較?。哼x擇菜單:工具→編輯器選項→打開“編輯器屬性”對話框→“顯示”選項卡→“字體”→“大小”→“14”→“確定”。2、新建源文件”文件”→”新建”→”源代碼”→打開“未命名1”程序編輯窗口,在程序編輯窗口中輸入如下源程序:(文件名:ex1_7.c)#include<stdio.h> //包含標準輸入/輸出頭文件#include<stdlib.h> //包含C語言標準庫頭文件main() //主函數(shù){ //函數(shù)體開始

printf(“Hello!\n”); //輸出“Hello!”后換行

system(“pause”); //暫停程序運行,查看屏輸出} //函數(shù)體結束輸入源程序后,執(zhí)行“文件”菜單→“保存”命令→打開“保存文件”對話框→“保存在:E:\DEVCPP\”→“保存類型:Csourcefiles(*.c)”→保存”→程序編輯窗口的文件名改為“ex1_7.c”。3、編譯運行程序將編譯與運行命令合并在一起執(zhí)行,執(zhí)行“運行”→“編譯運行”命令或按<F9>,系統(tǒng)編譯正確就直接運行該程序。菜單命令C語言程序設計1全文共70頁,當前為第56頁。Dev-C++集成開發(fā)環(huán)境C語言程序設計1全文共70頁,當前為第57頁。581.4.2Dev-C++的文件操作(1)新建源文件(2)關閉程序編輯窗口(3)裝載已有源程序文件(4)新建C工程(5)關閉工程(6)打開工程C語言程序設計1全文共70頁,當前為第58頁。591.4.3源文件的編譯及運行

1、程序的編輯和調試輸入源程序用文件名“ex1_8.c”保存在指定的文件夾E:\DEVCPP\后,使用編譯命令查找程序中的語法錯誤,執(zhí)行“運行”菜單→“編譯”命令或按<Ctrl+F9>編譯程序,當程序存在語法錯誤,在編譯器的信息窗口顯示當前源程序的出錯的語句行及錯誤的類型,查找出程序中的錯誤,改正錯誤,直到編譯正確為止。2、編譯當前文件打開工程文件dex1_9.dev后,執(zhí)行“運行”菜單→“編譯當前文件”命令→編譯當前工程文件。C語言程序設計1全文共70頁,當前為第59頁。603、程序的運行在程序編輯窗口打開“ex1_8.c”源程序,執(zhí)行“運行”→“運行”菜單命令或按<Ctrl+F10>運行程序,在輸出窗口顯示輸出信息“Hello!”,查看完畢后按任一鍵關閉輸出窗口。4、程序的編譯運行可以將編譯與運行命令合并在一起執(zhí)行,執(zhí)行“運行”→“編譯運行”命令或按<F9>,系統(tǒng)編譯正確就直接運行該程序。C語言程序設計1全文共70頁,當前為第60頁。1.4案例分析1.用轉義符表示的字符例1.2.1字符串中包含轉義字符,分析簡單C語言源程序的輸出結果(文件名sy1_1.c)。#include<stdio.h> //包含標準輸入輸出頭文件;main() //經(jīng)典C的主函數(shù)頭部;{ //函數(shù)體開始;

printf("He\154\x6C\157!\x6Fk!\n");//調用標準輸出函數(shù);} //函數(shù)體結束。解:在輸出的字符串中,\154是八進制數(shù)表示字符"l",\x6C是十六進制數(shù)表示字符"l",\157是八進制數(shù)表示字符"o",\x6F是十六進制數(shù)表示字符"o"。源程序編譯、運行后,輸出結果為:Hello!ok!C語言程序設計1全文共70頁,當前為第61頁。2.用轉義符表示的控制符例1.2.2輸出字符串中包括用轉義符表示的控制符,分析下面C語言源程序的輸出結果(文件名sy1_2.c)。#include<stdio.h> //包含標準輸入輸出頭文件;main() //經(jīng)典C的主函數(shù)頭部;{ //函數(shù)體開始;printf("字符串中的轉義符\t表示跳過一個制表位;\n表示換行;執(zhí)行到\0結束,不輸出后面的字符內容。"); //調用標準輸出函數(shù);} //函數(shù)體結束。解:在輸出的字符串中,\t表示跳過一個制表位;\n表示換行;\0表示結束字符串的顯示。源程序編譯、運行后,輸出結果為:字符串中的轉義符 表示跳過一個制表位;表示換行;執(zhí)行到C語言程序設計1全文共70頁,當前為第62頁。3.用賦值語句計算和處理數(shù)據(jù)例1.2.3已知電路參數(shù)L=2.0和C=1.0,求諧振頻率f0(文件名sy1_3.c)。#include<stdio.h> //包含標準輸入輸出頭文件;#include<math.h> //包含數(shù)學頭文件;main(

) //經(jīng)典C的主函數(shù)頭部;{ //函數(shù)體開始;

doubleL=2.0,C=1.0,f0; //聲明變量L、C,f0并賦初值;

f0=1/(2*3.1415926*sqrt(L*C)); //用賦值語句計算諧振頻率f0;

printf("f0=%f\n",f0); //調用標準輸出函數(shù)printf輸出f0;} //函數(shù)體結束。解:編譯預處理命令和語句的功能如程序

溫馨提示

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

評論

0/150

提交評論