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

下載本文檔

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

文檔簡介

第1章C語言程序概述《C語言程序設(shè)計》課程簡介

C語言是當今使用最廣泛的高級語言,是操作系統(tǒng)、編譯系統(tǒng)等大型復(fù)雜系統(tǒng)的首選語言。實踐證明,用該語言編寫的程序,靈活、方便、簡潔、高效、數(shù)據(jù)結(jié)構(gòu)豐富、功能齊全。C語言自問世以來,很快就流行于全世界,并為各種規(guī)模的通用計算機所必備。同時,C語言以其靈活方便的特點,成為培養(yǎng)學(xué)生計算機語言思維,了解計算機編程思想的最佳語言,它已被當今國內(nèi)外眾多主要高校列為各理工科專業(yè)必修課程?!禖語言程序設(shè)計》概述6C語言程序的開發(fā)環(huán)境1.1C語言的發(fā)展及特點1.2C語言的基本結(jié)構(gòu)1.3C語言的字符集、標識符、關(guān)鍵字1.4C語言的開發(fā)環(huán)境1.5實踐1.1C語言的發(fā)展及特點

C語言是當今社會應(yīng)用很廣泛,受到眾多用戶歡迎的一種計算機算法語言。它既可適合于作為系統(tǒng)軟件的描述語言,也可用來開發(fā)應(yīng)用軟件。

D.M.Ritchie1972年在B的基礎(chǔ)上研制了C語言,并用C語言寫成了第一個在PDP-11計算機上實現(xiàn)的UNIX操作系統(tǒng)。目前在微型計算機上使用的C語言有多種版本,這些不同的版本,基本部分是相同的,但在有關(guān)規(guī)定上又略有差異。1.1.1C語言的發(fā)展概況1.1C語言的發(fā)展及特點1.1.2C語言的特點簡潔緊湊、靈活方便01020304運算符豐富數(shù)據(jù)結(jié)構(gòu)豐富C是結(jié)構(gòu)式語言C語法限制不太嚴格、程序設(shè)計自由度大050607C語言允許直接訪問物理地址,可以直接對硬件進行操作用C語言編程,生成的目標代碼質(zhì)量高,程序執(zhí)行效率高、可移植性好。1.2C語言的基本結(jié)構(gòu)第一個入門編程代碼便是"HelloWorld!"#include<stdio.h>//頭文件intmain()//主函數(shù),程序的入口函數(shù){/*代碼區(qū)*/printf(“Hello,World!”);//printf輸出函數(shù)return0;//返回值為0}1.2C語言的基本結(jié)構(gòu)頭文件說明:#include<stdio.h>(1)#:預(yù)處理指令(2)include:文件包含指令,只能包含頭文件,xxx.h----頭文件xxx.c----源文件(3)<>,"":表示搜索頭文件的一種方式<>:庫文件,庫函數(shù)所在的頭文件,系統(tǒng)自帶的頭文件表示程序會在系統(tǒng)目錄(軟件安裝的目錄)中查找頭文件"":適用于程序員自定義的頭文件(4)stdio.h:標準輸入輸出的頭文件,有關(guān)標準輸入輸出函數(shù)的聲明都在該文件(5)頭文件:關(guān)于一類功能相近的函數(shù)的聲明信息如:pow()--求冪,sqrt()--開方關(guān)于數(shù)學(xué)計算的功能------#include<math.h>關(guān)于字符串操作的功能------#include<string.h>關(guān)于輸入輸出功能------#include<stdio.h>注意:用到哪個函數(shù),則需要包含該函數(shù)的所在頭文件1.2C語言的基本結(jié)構(gòu)主函數(shù)的理解intmain()//main函數(shù){.......return0;}int指明main()函數(shù)的返回值類型,表示函數(shù)的返回值類型是int型。函數(shù)名后面的括號一般包含傳遞給函數(shù)的信息,沒有則表示為空。main函數(shù)結(jié)論:(1)C語言程序執(zhí)行過程中,主函數(shù)是程序的入口函數(shù),即程序是從主函數(shù)開始執(zhí)行的,而不是從第一個函數(shù)開始執(zhí)行;(2)main函數(shù)中語句執(zhí)行。其他函數(shù)體的內(nèi)容不執(zhí)行;(3)main函數(shù)執(zhí)行結(jié)束,意味著整體的C程序執(zhí)行結(jié)束;(4)一個c程序,有并且只有一個main函數(shù),如果是兩個則會出錯;(5)main()書寫只能是這樣,不能寫成其他形式;(6)主函數(shù)是自動調(diào)用,程序運行,主函數(shù)自動調(diào)用了,子函數(shù)必須人為調(diào)用才行1.2C語言的基本結(jié)構(gòu)注釋的解釋:

(1)功能:解釋說明,代碼的調(diào)試(2)特性:被注釋掉的代碼不再進行編譯,即使有語法錯誤,也不會檢測出來(3)形式:單行注釋://之后的內(nèi)容為被注釋的內(nèi)容。(4)多行注釋:/**/其中的內(nèi)容為被注釋掉的內(nèi)容。用法:(1)對文件注釋(2)對函數(shù)注釋(3)對程序語句注釋1.3C語言的字符集、標識符與關(guān)鍵字英文字母:大小寫各26個,共計52個。01020304阿拉伯數(shù)字:0到9共計10個。下劃線:_。其它特殊符號:主要指運算符,運算符通常由一至兩個特殊符號組成。

特殊符號集如下:+-*/%++--<>=>=<===!=|&!‖&&∧~《》()[]{}\?:.,;1.3.1C語言的字符集1.3C語言的字符集、標識符與關(guān)鍵字1.3.1C語言的標識符1、標識符只能以英文大小寫字母、和下劃線開頭,而不能用其他任何字符或數(shù)字開頭。例如以下就是錯誤的例子:int%a;//錯誤,標識符不能以符號開頭int8C[8];//錯誤,不能以數(shù)字開頭2、標識符中只能包含英文大小寫字母、下劃線和阿拉伯數(shù)字,但是不能以阿拉伯數(shù)字開頭。inta8;//正確int_adf589S_5;//正確3、標識符區(qū)分大小寫,Acd和acd、caDd和cadd、_8Fc9和_8fc9都是不相同的標識符。4、標識符不能是關(guān)鍵字。intfloat;//錯誤,float是關(guān)鍵字。intFloat;//正確1.3C語言的字符集、標識符與關(guān)鍵字1.3.1C語言的標識符除了這些硬性規(guī)則外,標識符的命名最好具有具體的意義,以便于觀察、閱讀和維護。//定義某長方體的長度、寬度和高度inta;//高度intb;//寬度intc;//高度可以改成如下定義:intc_Long;intc_Width;intc_Height;1.3C語言的字符集、標識符與關(guān)鍵字1.3.1C語言的關(guān)鍵字關(guān)鍵字是一種語言中規(guī)定具有特定含義的標識符。關(guān)鍵字不能作為變量或函數(shù)名來使用,用戶只能根據(jù)系統(tǒng)的規(guī)定使用它們。根據(jù)ANSI標準,C語言可使用以下32個關(guān)鍵字:autobreakcasecharconstcontinuedefault

dodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile1.4C語言程序的開發(fā)環(huán)境編寫好的C語言程序要經(jīng)過編輯(輸入)、編譯和連接后才能形成可執(zhí)行的程序。程序源程序目標程序可執(zhí)行程序結(jié)果*?c?obj?exe編譯編輯連接運行C語言程序上機過程1、編輯是在程序編譯之前做的準備工作,主要包括:頭文件的包含(include),宏定義(define,替換),條件編譯(ifdef,ifndef)將源文件通過編輯生成預(yù)處理文件(*.c或*.cpp)2、編譯:將編輯過后的文件編譯生成目標文件(*.obj)3、連接:將目標文件通過連接生成可執(zhí)行文件(*.exe)4、執(zhí)行:運行可執(zhí)行文件。DevC++開發(fā)環(huán)境

(1)新建源文件打開DevC++,在上方菜單欄中選擇“文件-->新建-->源代碼”:以創(chuàng)建一個“helloworld!”簡單源程序為例:DevC++開發(fā)環(huán)境

可以增加如下設(shè)置,直接生成固定的程序框架。選擇工具-->編輯器選項-->代碼-->缺省值,說明:#include<bits/stdc++.h>為萬能頭文件,包含了常用的如【輸入輸出頭文件】#include<stdio.h>、【數(shù)學(xué)計算頭文件】#include<math.h>、【字符串頭文件】#include<string.h>等。DevC++開發(fā)環(huán)境

經(jīng)過如上設(shè)置后,新建文件窗口如圖:在空白文件中輸入要執(zhí)行的代碼DevC++開發(fā)環(huán)境

在上方菜單欄中選擇“文件-->保存”,或者按下Ctrl+S組合鍵,都可以保存源文件說明:C++是在C語言的基礎(chǔ)上進行的擴展,C++已經(jīng)包含了C語言的全部內(nèi)容,所以大部分IDE默認創(chuàng)建的是C++文件。編譯器會根據(jù)源文件的后綴來判斷代碼的種類,這里我們選擇*.cpp,將源文件命名為helloworld.cpp。DevC++開發(fā)環(huán)境

(3)生成可執(zhí)行程序在上方菜單欄中選擇“運行-->編譯”,就可以完成helloworld.cpp源文件的編譯工作?;蛘咧苯影垂ぞ邫诘牡谝粋€圖標對源文件進行編譯?;蛘咧苯影聪翭9鍵,也能夠完成編譯工作,這樣更加便捷。單擊第二個圖標,運行該程序,運行結(jié)果如下:1.5實踐環(huán)節(jié)解釋例1.1使用printf()與%d格式化輸出整數(shù)。#include<stdio.h>intmain(){intnumber;printf("輸入一個整數(shù):");scanf("%d",&number);//通過鍵盤給程序中的變量賦值//printf("你輸入的整數(shù)是:%d\n",number);return0;}1.5實踐環(huán)節(jié)解釋例1.2使用printf()與%c格式化輸出一個字符。#include<stdio.h>intmain(){charc;//聲明一個字符串變量C//printf("輸入一個字符(僅限1個字母):");scanf("%c",&c);//通過鍵盤給程序中的變量賦值//printf("輸入的字符為%c\n",c);return0;}1.5實踐環(huán)節(jié)解釋例1.3使用printf()與%f輸出浮點數(shù)。#include<stdio.h>intmain(){floatf;//聲明浮點數(shù)變量printf("輸入一個浮點數(shù):");scanf("%f",&f);//通過鍵盤給程序中的變量賦值//printf("輸入的浮點數(shù)為%f\n",f);return0;}1.5實踐環(huán)節(jié)解釋例1.4使用scanf()來接收輸入,printf()與%d格式化輸出整數(shù),實現(xiàn)兩數(shù)相加。#include<stdio.h>intmain(){intfirstNumber,secondNumber,sumOfTwoNumbers;printf("輸入兩個數(shù)(以空格分割):");scanf("%d%d",&firstNumber,&secondNumber);//通過scanf()函數(shù)接收用戶輸入的兩個整數(shù)sumOfTwoNumbers=firstNumber+secondNumber;printf("%d+%d=%d\n",firstNumber,secondNumber,sumOfTwoNumbers);return0;}1.5實踐環(huán)節(jié)解釋例1.5輸入兩個浮點數(shù),計算乘積。#include<stdio.h>intmain(){doublefirstNumber,secondNumber,product;printf("輸入兩個浮點數(shù):");scanf("%lf%lf",&firstNumber,&secondNumber);product=firstNumber*secondNumber;printf("%lf*%lf=%.2lf\n",firstNumber,secondNumber,product);//輸出結(jié)果,%.2lf保留兩個小數(shù)點return0;}1.5實踐環(huán)節(jié)解釋例1.6兩數(shù)相除,如果有余數(shù),輸出余數(shù)。#include<stdio.h>intmain(){intdividend,divisor,quotient,remainder;//4個變量是被除數(shù)、除數(shù)、商和余數(shù)//printf("輸入被除數(shù):");scanf("%d",÷nd);printf("輸入除數(shù):");scanf("%d",&divisor);quotient=dividend/divisor;//運算符/用來計算商//remainder=dividend%divisor;//運算符%用來計算余數(shù)//printf("商=%d\n",quotient);printf("余數(shù)=%d\n",remainder);return0;}1.5實踐環(huán)節(jié)解釋例1.7輸入兩個數(shù),比較大小#include<stdio.h>intmain(){doublea,b;printf("輸入第一個數(shù):");scanf("%le",&a);printf("輸入第二個數(shù):");scanf("%le",&b);if(a>b)printf("%le大于%le\n",a,b);elseprintf("%le小于等于%le\n",a,b);return0;}1.5實踐環(huán)節(jié)解釋例1.8比較三個數(shù)大小#include<stdio.h>intmain(){inta,b,c;printf("輸入第一個整數(shù):");scanf("%d",&a);printf("輸入第二個整數(shù):");scanf("%d",&b);printf("輸入第三個整數(shù):");scanf("%d",&c);if(a>b&&a>c)printf("%d最大\n",a);elseif(b>a&&b>c)printf("%d最大\n",b);elseif(c>a&&c>b)printf("%d最大\n",c);elsepr

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論