




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第2章順序結構流程及應用C語言基礎語法主要內(nèi)容數(shù)據(jù)類型、常量、變量基本運算與表達式其它運算與表達式、混合運算順序結構程序設計數(shù)據(jù)類型、常量、變量主要內(nèi)容基本字符、標識符、關鍵字數(shù)據(jù)類型常量十進制、二進制、八進制、十六進制數(shù)及其轉(zhuǎn)換變量數(shù)據(jù)的輸出與輸入2.1基本字符、標識符和關鍵字學一學基本字符標識符關鍵字基本字符一個C程序也可以看成是由C語言的基本字符按一定的規(guī)則組成的一個序列。C語言中使用的基本字符包括:數(shù)字字符:0~9;大小寫英文字母:a~z,A~Z;其他可打?。娠@示)字符:!#%^&*_(下劃線)-+=~<>/\|.,:;?‘“()[]{}空白字符:空格符、換行符、制表符等。
和其它高級語言一樣,用來標識函數(shù)名、變量名、符號常量、數(shù)組名、類型名、文件名的有效字符序列稱為“標識符”(identifier),通俗地講,標識符就是一個名字。在C語言中,標識符的命名規(guī)則為:(1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開頭;(2)有效長度:隨系統(tǒng)而異,但至少前8個字符有效。如果超長,則超長部分被舍棄;(3)C語言的關鍵字(或稱保留字)不能用作標識符。例如:
sum,Total,day,_f2048,file_name,a3b06
都是合法的標識符,而
99new,a-b,W.S.Piter,$88,cd#ab,@vbase,int
都是不合法標識符。標識符關鍵字 由系統(tǒng)預先定義的標識符稱“關鍵字”,它們都有特殊的含意,不能用于其它目的。C語言關鍵字32個,如表2-1所示。想一想對于下面的程序,指出其中的關鍵字。#include"stdio.h"/*編譯預處理命令*/voidmain(){intiMath,iEnglish;floatfAverage;/*定義變量*/iMath=80;iEnglish=88;/*給變量賦值*/fAverage=(iMath+iEnglish)/2.0;/*計算平均分并存入變量faverage*/printf("Theaverageis%0.1f",fAverage);/*輸出結果值*/getch();}2.2數(shù)據(jù)類型及常量、變量學一學數(shù)據(jù)類型常量變量數(shù)據(jù)類型
各種類型數(shù)據(jù)取值范圍常量常量是在程序的執(zhí)行過程中其值不變的量。在C語言中,常量不需要類型說明就可以直接使用,常量的類型是由常量本身隱含決定的。在C語言中,從其表現(xiàn)形式常量分為普通常量和符號常量。普通常量就是用數(shù)字直接表示的常量,符號常量是用一個標識符來代表的常量。無論是普通常量,還是符號常量,它們都有自己的類型。
數(shù)值常量
1整型數(shù)值常量2實型數(shù)值常量:835.6,77.2,0.618,1.23E-2,1.5E33字符型常量:‘a(chǎn)’,‘A’,‘$’,‘\n’,’\105,’\X7B’4字符串常量:“Hello”,“Welcome”“_ABC”整型數(shù)值常量三種表示法十進制(0-9十個數(shù)字構成,逢10進1):1,200,3500十六進制(0-9十個數(shù)字,A-F六個字符構成,逢16進1)
:
以0x或0X開頭的數(shù)字序列
0x12,0X706A,0xF2B八進制(0-7八個數(shù)字構成,逢8進1):以0開頭的數(shù)字序列025,0706十進制、二進制、八進制、十六進制十進制數(shù)轉(zhuǎn)換為二進制數(shù)十進制數(shù)轉(zhuǎn)換為二進制數(shù)使用“除2取余法”,例如,將十進制數(shù)25轉(zhuǎn)換為二進制數(shù)
1用25除以2余數(shù)是1,商是12,
2對商12再除以2得余數(shù)是0,商是6,
3對商6再除以2得余數(shù)是0,商是3,
4對商3再除以2得余數(shù)1,商1,
5對商1再除以2得余數(shù)1,商0,
6當商為0時停止。此時十進制數(shù)25的二進制數(shù)為:11001,即把以上每步所得的余數(shù)按從右到左的順序?qū)懗鰜砭涂梢粤?。如果是?位表示這個二進制數(shù),則高位部分補0.即可。比如25的8位二進制數(shù)為00011001252……1122……062……032……112……10這種方法也可用來將十進制數(shù)轉(zhuǎn)換為8(或16)進制數(shù),不過在上述過程中要以8(或16)做除數(shù)。二進制數(shù)轉(zhuǎn)換為十進制數(shù)二進制數(shù)轉(zhuǎn)換為十進制數(shù)比較簡單,比如100110對應的十進制數(shù)為:
1*25+0*24+0*23+1*22+1*21+0*20=32+4+2=38二進制數(shù)轉(zhuǎn)換為八進制數(shù)二進制數(shù)轉(zhuǎn)換為八進制數(shù)時,將二進制數(shù)從低位按3位一組進行劃分,高位不足三位的補0,將每三位二進制數(shù)轉(zhuǎn)換為一個十進制數(shù),即為該二進制數(shù)的八進制數(shù)。比如1100110,將其分組如下:
001
100
110
則對應的八進制數(shù)為146146二進制數(shù)轉(zhuǎn)換為十六進制數(shù)二進制數(shù)轉(zhuǎn)換為十六進制數(shù)時,將二進制數(shù)從低位按4位一組進行劃分,高位不足4位的補0,將每4位二進制數(shù)轉(zhuǎn)換為一個十進制數(shù),即為該二進制數(shù)的十六進制數(shù)。比如111100100,將其分組如下:
0001
1110
0100
則對應的十六進制數(shù)為1E41E4課堂練習將十進制數(shù)59轉(zhuǎn)為二進制、八進制和十六進制數(shù)。將二進制數(shù)1100110100轉(zhuǎn)化為十進制、八進制和十六進制數(shù)。實型數(shù)值常量2種表示法小數(shù)形式:835.6,77.2,0.618指數(shù)形式:1.23E-2,1.5E3字符型常量2種表示法用單引號引起來的單個字符,如‘a(chǎn)’,‘A’,‘$’.轉(zhuǎn)義字符表示法,如‘\n’,’\105,’\X7B’轉(zhuǎn)義字符及其含義課堂練習從附錄中查找字母H的ASCII碼值,寫出其轉(zhuǎn)義字符.編一程序,定義一個字符型變量cX,賦以字符H的轉(zhuǎn)義字符,然后用字符格式輸出變量cX.字符型數(shù)據(jù)的存儲形式在內(nèi)存中,一個字符型數(shù)據(jù)占用一個字節(jié)(8bite),以ASCII碼的二進制形式存放。比如字符’a’的ASCII碼值是97,則’a’在內(nèi)存中的存放形式如下:字符型數(shù)據(jù)的使用一個字符型變量可以賦以一個字符常量,也可以賦以一個整數(shù).字符型數(shù)據(jù)在輸出時可以以字符格式輸出,也可以以整數(shù)格式輸出.以整數(shù)格式輸出時,Ascii碼值在1-127之間的字符輸出正數(shù),128-255之間的字符輸出負數(shù).字符型數(shù)據(jù)可以進行算術運算,運算時以它們的Ascii碼值進行運算.課堂實踐編一程序,定義一個字符型變量cX,賦以字符常量’a’,然后用字符和整數(shù)格式輸出cX.將cX的值減32,賦給cX,再用字符和整數(shù)格式輸出cX.有何發(fā)現(xiàn)?符號常量符號常量通常在文件的開始定義,它是一個預處理命令,其定義格式如下:
#define<標識符><字符串>
其含義是程序中該命令后出現(xiàn)<標識符>的地方全部用<字符串>來替代.
比如:#definePI3.1415926符號常量字符串符號常量的使用#definePI3.1415926/*圓周率*/#include"Stdio.h"#include"Conio.h"intmain(void){floatfR,fArea;fR=10;fArea=PI*fR*fR;printf("theareaofthiscircleis%0.2f",fArea);getch();return0;}
PI是符號常量,程序中的PI在運行時用3.1415926來替換變量
變量是指在程序執(zhí)行過程中,其值可以改變的量。一個變量用一個名字表示,在內(nèi)存中占據(jù)一定的存儲單元,用于存放變量的值。變量必須先定義后使用,變量的值可以通過賦值的方法獲得和改變。變量定義和初始化
[存儲類型]數(shù)據(jù)類型變量名1[=初始數(shù)據(jù)],變量名2[=初始數(shù)據(jù)2],…,變量n[=初始數(shù)據(jù)n];
比如:
intiMath;intiEnglish=90;定義變量定義變量并初始化數(shù)據(jù)類型變量名當前值變量三要素:數(shù)據(jù)類型變量名當前值試一試 問題2.1新生入學需要保存學生數(shù)據(jù),現(xiàn)在定義整型變量存放年齡、學號,定義字符變量存放性別,定義浮點型變量存放入學分數(shù)和班費。
intiAge=20,iNum=201; charcSex=’m’;/*f:female(女),m:male(男)*/ floatfScore,fSum; fScore=580.5; fMoney=78.5想一想
生活、學習、工作中有哪些量是其值不變的常量?哪些信息是經(jīng)常變化的?定義成什么類型的變量比較合適?課堂實踐編一程序從鍵盤輸入矩形的長和寬,計算矩形的面積和周長,并輸出到屏幕上。小結基本字符標識符關鍵字數(shù)據(jù)類型常量變量上節(jié)課內(nèi)容回顧printf()函數(shù)scanf()函數(shù)putchar()函數(shù)getchar()函數(shù)基本運算與表達式主要內(nèi)容1、算術運算符與算術表達式2、賦值運算符與賦值表達式3、關系運算符與關系表達式4、邏輯運算符與邏輯表達式算術運算符與算術表達式
關于/,兩邊全是整數(shù),結果為整數(shù);其中一邊為浮點數(shù),結果為浮點數(shù)。關于%,兩邊必須為整數(shù)算術運算符:+、-、*、/、%課堂實踐調(diào)試31頁問題2.6的程序代碼。賦值運算如有:inta=3,b=9,x;floatf1=2.5,f3=5.8;則經(jīng)過以下運算后分析各個變量的值:b=a;b=b-a;f3=f2+f3;賦值符號:=關系運算符與關系表達式關系表達式:3>5Inta=4,b=9,c=5;a==b-cb<cC語言規(guī)定,用0表示關系表達式的假,用1表示關系表達式的真關系運算符:>、<、>=、<=、!=、==課堂實踐編一程序,輸出一個關系表達式的值。邏輯運算符和邏輯表達式
邏輯表達式:表達式邏輯運算符表達式5>3&&4<5,5>3&&4>55>3||4<5,5>3||4>5!0&&4,intiX=3,0&(iX=iX+1),0&&(iX=iX+1)邏輯運算符:&&(短路與)、||(短路或)&(與)、|(或)、?。ǚ牵?&和&的區(qū)別當多個表達式進行&&運算時,如果第一個表達式的值為假,則整個表達式的值為假,這時,后面的其它表達式不需要再做運算。當多個表達式進行&運算時,需要計算出每個表達式的值后,再將每個表達式的值進行邏輯與運算。
課堂實踐編一程序,驗證短路與(&&)和與(&)運算規(guī)則。解題步驟如下:1定義一個整型變量iA,并賦值2;
2定義1個整型變量iY;3iY賦值0&&(iA=iA+2)4輸出iA,iY
觀察程序運行結果,iA的值有何變化?將程序中的&&改為&,運行程序,iA的值有無變化?
||和|的區(qū)別當多個表達式進行||運算時,如果第一個表達式的值為真,則整個表達式的值為真,這時,后面的其它表達式不需要再做運算。當多個表達式進行邏輯或|運算時,需要計算出每個表達式的值后,再將每個表達式的值進行邏輯或運算。課堂實踐編一程序,驗證短路或(||)和或(|)運算規(guī)則。解題步驟如下:1定義一個整型變量iA,并賦值2;
2定義1個整型變量iY;3iY賦值1||(iA=iA+2)4輸出iA,iY
觀察程序運行結果,iA的值有何變化?將程序中的||改為|,運行程序,iA的值有無變化?舉例:表達閏年的條件按照歷法的規(guī)定,某一年要成為閏年,則應符合以下兩個條件之一:
(1)能被4整除,但不能被100整除;
(2)能被400整除。設year表示年份,用C語言的邏輯表達式來表達潤年的邏輯表達式即為:
((year%4==0)&&(year%100!=0))||(year%400==0)課堂實踐寫出“成績高于90分并且年齡小于20歲”的條件表達式。成績iscore用表示,年齡用iage表示
設整型變量a=16,b=5,下列表達式的值為真的是_____。
A)!(b==a/3)B)b!=(a%ll)C)(a>1)&&(b<l)D)(a!=b)||(a>b)
當x為偶數(shù)時,下列哪一個表達式的值為真_____。
A)x%2==0B)x/2*2-xC)x%2!=0D)!(x%2==0)設整型變量a=3,b=4,c=5,下列表達式的值為0的是_____。
A)‘a(chǎn)’&&‘b’B)a<(b+5)C)a||(b+c)&&(b-c+8)
D)!(a<b)
使判斷閏年條件表達式(((year%4==0)&&(year%100!=0))||(year%400==0))結果為假的年份是:A)1950B)2000C)1996D)2004要表達出如下關系:x≥y≥z,應使用以下表達式____。
A)(x>=y)AND(y>=z)B)(x≥y≥z)C)(x>=y)&&(y>=z)D)(x>=y)&(y>=z)請用條件表達式寫出下面的條件:1)溫度temp介于20度與30度之間;2)成績score大于60小于100;3)時間time在上午10或者下午3點;4)上班時間time是上午8至11點和下午2點至5點;作業(yè)從鍵盤輸入一個4位數(shù)(1000-9999),輸出其千位、百位、十位和個位上的數(shù)。小結什么是算術運算符與算術表達式賦值運算的特點關系運算符與關系表達式邏輯運算符與邏輯表達式其它運算與表達式、混合運算主要內(nèi)容1、自加、自減運算及其表達式2、逗號運算符與逗號表達式3、強制類型轉(zhuǎn)換運算符4、混合運算與類型轉(zhuǎn)換5、數(shù)學函數(shù)的使用上節(jié)課內(nèi)容回顧算術運算賦值運算關系運算邏輯運算自加、自減運算及其表達式
自加運算符:++自減運算符:--自加、自減運算符是單目運算符。所謂單目運算符就是只對一個運算對象施加運算,運算的結果仍賦予該對象。參見自加和自減運算的對象只能是變量。思考:對二個運算對象施加運算的運算符是什么運算符?課堂實踐調(diào)試33頁問題2.8的程序代碼,學習自加,自減運算符的用法。思考:--5,(x+y)++對嗎?iX++和++iX一樣嗎?有何區(qū)別?逗號運算符與逗號表達式逗號運算符也稱為順序求值運算符,它的作用是把多個表達式連接起來。用逗號運算符連接起來的式子稱為逗號表達式。主要用在for循環(huán)語句中比如:iA=4,iX=iA+iB,iY=2*iX;逗號運算符:,課堂實踐調(diào)試36頁問題2.11的程序代碼,學習逗號運算符的用法。思考:
逗號表達式的值是?
逗號表達式中每個表達式的數(shù)據(jù)類型可以不同嗎?強制類型轉(zhuǎn)換運算符在實際應用中,常常要把一些表達式的類型轉(zhuǎn)換成所需要的類型.比如:floatiA=1.23;IntiY=(int)(iA+10.25),floatiX=(float)(50);強制類型轉(zhuǎn)換運算符:()
用法格式:(類型名)(表達式)
課堂實踐調(diào)試32頁問題2.7的程序代碼,學習強制類型轉(zhuǎn)換運算符的用法。注意:
在將胖類型(float,double)轉(zhuǎn)換瘦類型(int)時,可能會丟失數(shù)據(jù)。混合運算與類型轉(zhuǎn)換
不同數(shù)據(jù)類型的數(shù)據(jù)在一起進行混合運算時需要進行類型轉(zhuǎn)換。C語言的類型轉(zhuǎn)換方式有兩種:
自動轉(zhuǎn)換。一個表達式(特別是算術)在運算中,自動將低級別的類型轉(zhuǎn)換為高級別的類型后進行運算。
強制轉(zhuǎn)換。數(shù)據(jù)類型轉(zhuǎn)換規(guī)則
其中橫向向左表示必定的轉(zhuǎn)換。char型、short型的數(shù)據(jù)在運算中必先轉(zhuǎn)換為int型,float型數(shù)據(jù)必先轉(zhuǎn)換為double型數(shù)據(jù)。這是為了提高運算精度,即使是兩個float型數(shù)據(jù)作運算,也都是先轉(zhuǎn)換成double型,然后再進行運算。
縱向的箭頭表示數(shù)據(jù)類型級別的高低。當兩個不同類型的數(shù)據(jù)進行運算時,按照“就高不就低”的原則。運算中,類型級別較低的數(shù)據(jù)的類型將被轉(zhuǎn)換成類型級別較高的數(shù)據(jù)的類型,且運算結果的數(shù)據(jù)類型也為類型級別較高的數(shù)據(jù)的類型。運算符的優(yōu)先級與結合方向參見附錄B數(shù)學函數(shù)的使用任務:編一程序,從鍵盤輸入一個實數(shù),求這個數(shù)的平方根。課堂實踐編一個程序,從鍵盤輸入一個圓的半徑值,1)計算并輸出這個圓內(nèi)接正六邊形的面積。2)計算并輸出這個六邊形面積占圓面積的百分比。小結1、自加、自減運算及其表達式2、逗號運算符與逗號表達式3、強制類型轉(zhuǎn)換運算符4、混合運算與類型轉(zhuǎn)換5、數(shù)學函數(shù)的使用結構化程序設計主要內(nèi)容1、結構化程序設計方法2、模塊化3、結構化程序的三種基本結構4、流程圖的畫法5、C語句的種類上節(jié)課內(nèi)容回顧1、自加、自減運算及其表達式2、逗號運算符與逗號表達式3、強制類型轉(zhuǎn)換運算符4、混合運算與類型轉(zhuǎn)換5、數(shù)學函數(shù)的使用考考你下面程序的運行結果是
。main(){ intiX,iY,iM,iN; iX=10;iY=20; iM=iX++;iN=++iY; printf("iX=%d,iY=%d,iM=%d,iN=%d",iX,iY,iM,iN); iM=iX--;iN=--iY; printf("iX=%d,iY=%d,iM=%d,iN=%d",iX,iY,iM,iN);}考考你下面程序的運行結果是
。main(){ intiX,iY; iX=80;iY=25; printf("iX=%d,iY=%d\n",iX,iY); printf("iX/iY=%d,iX%iY=%d\n",iX/iY,iX%iY);}結構化程序設計方法所謂結構化的程序設計方法就是“按照一組能夠提高程序的易讀性和易維護性的規(guī)則進行程序設計的方法”。結構化程序設計思想產(chǎn)生于20世紀60年代,是隨著計算機的發(fā)展、硬件成本的急劇下降、軟件規(guī)模和復雜性的不斷增加而提出的一種至今仍廣為使用的計算機軟件開發(fā)技術。其目的是為了增加程序的易讀性(容易理解),保證程序的質(zhì)量,降低軟件成本,從而提高軟件的生產(chǎn)和維護的效率。結構化程序設計的特點①程序的質(zhì)量標準是“清晰第一,效率第二”。②程序的設計采用“自頂向下,逐步求精,模塊化設計,結構化編程”的方法。③程序的結構僅由順序、分支、循環(huán)三種基本結構組合、嵌套而成。④程序的書寫和格式要規(guī)范。⑤程序的設計風格要以好的可讀性為標準。何為模塊化?
模塊化是指將一個復雜的問題或任務分解成若干個功能單一、相對獨立的小問題來進行設計,每個小問題就是一個模塊。每個模塊是一組由三種基本結構(順序、分支、循環(huán))組成的程序。模塊一定要簡單、功能獨立,這樣才能使程序具有一定的靈活性和可靠性。何為自頂向下?自頂向下是指模塊的劃分要從問題的頂層向下逐層分解、逐步細化,直到最底層的模塊的功能達到最簡單。何為逐步求精?逐步求精是指在將抽象問題分解成若干個相對對立的小問題時,要逐級地由抽象到具體、由粗到細、由表及里進行細化,直到將問題細化到可以用程序的三種基本結構來實現(xiàn)為止。結構化程序的三種基本結構順序結構選擇結構循環(huán)結構順序結構順序結構是最簡單的基本結構。在順序結構中,要求順序地執(zhí)行且必須執(zhí)行有先后順序排列的每一個最基本的處理單位。傳統(tǒng)流程圖N-S圖選擇結構選擇結構又稱做分支結構。在選擇結構中,要根據(jù)邏輯條件的成立與否,分別選擇不同的處理。傳統(tǒng)流程圖N-S圖循環(huán)結構循環(huán)結構一般分為當型循環(huán)和直到型循環(huán)兩種。當型循環(huán)結構在當型循環(huán)結構中,當邏輯條件成立時,就反復執(zhí)行處理A(循環(huán)體),直到邏輯條件不成立時結束。傳統(tǒng)流程圖N-S圖直到型循環(huán)結構在直到型循環(huán)中,反復執(zhí)行處理A(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東農(nóng)工商職業(yè)技術學院高職單招(數(shù)學)歷年真題考點含答案解析
- 2025年常州工業(yè)職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年天津濱海職業(yè)學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 2025年天津海運職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 肺炎護理診斷
- 新發(fā)展英語(第二版)綜合教程3 課件 Unit 6 Telecommunication
- 戀尚生活 旅 行
- 人教版數(shù)學六年級下冊第六章復習(同步練習)
- 人教版數(shù)學六年級下冊第一、二單元負數(shù)、百分數(shù)(二)
- 湖南電子科技職業(yè)學院《生物化學(B)》2023-2024學年第二學期期末試卷
- 2024年全國中學生天文知識競賽考試題庫(含答案)
- 會陰穴的穴位刺激對疾病的影響
- 《自然教育》課件-自然游戲
- 部編版語文一年級下冊第六單元大單元教學任務群設計
- 脊柱側彎矯正的七大門派
- DZ/T 0430-2023 固體礦產(chǎn)資源儲量核實報告編寫規(guī)范(正式版)
- 全民國家安全教育日知識測試題庫和答案
- 廉潔教育班會.省公開課一等獎全國示范課微課金獎課件
- 2024版醫(yī)療器械行業(yè)數(shù)字化轉(zhuǎn)型白皮書
- 12 清貧公開課一等獎創(chuàng)新教案
- 第四講:簡單長管的水力計算
評論
0/150
提交評論