版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章順序結(jié)構(gòu)流程及應(yīng)用
本章內(nèi)容中我們將學(xué)習(xí)1C語(yǔ)言中的數(shù)據(jù)類型2標(biāo)識(shí)符、常量與變量3數(shù)據(jù)輸入/輸出處理4運(yùn)算符與表達(dá)式5順序結(jié)構(gòu)程序設(shè)計(jì)第2章順序結(jié)構(gòu)流程及應(yīng)用本章內(nèi)容中我們將學(xué)習(xí)12.1基本字符、標(biāo)識(shí)符和關(guān)鍵字學(xué)一學(xué)基本字符標(biāo)識(shí)符關(guān)鍵字2.1基本字符、標(biāo)識(shí)符和關(guān)鍵字學(xué)一學(xué)2基本字符一個(gè)C程序也可以看成是由C語(yǔ)言的基本字符按一定的規(guī)則組成的一個(gè)序列。C語(yǔ)言中使用的基本字符包括:數(shù)字字符:0~9;大小寫英文字母:a~z,A~Z;其他可打?。娠@示)字符:!#%^&*_(下劃線)-+=~<>/\|.,:;?‘“()[]{}空白字符:空格符、換行符、制表符等。基本字符一個(gè)C程序也可以看成是由C語(yǔ)言的基本字符按一定3
和其它高級(jí)語(yǔ)言一樣,用來(lái)標(biāo)識(shí)函數(shù)名、變量名、符號(hào)常量、數(shù)組名、類型名、文件名的有效字符序列稱為“標(biāo)識(shí)符”(identifier),通俗地講,標(biāo)識(shí)符就是一個(gè)名字。在C語(yǔ)言中,標(biāo)識(shí)符的命名規(guī)則為:(1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開(kāi)頭;(2)有效長(zhǎng)度:隨系統(tǒng)而異,但至少前8個(gè)字符有效。如果超長(zhǎng),則超長(zhǎng)部分被舍棄;(3)C語(yǔ)言的關(guān)鍵字(或稱保留字)不能用作標(biāo)識(shí)符。例如:sum,Total,day,_f2048,file_name,a3b06 都是合法的標(biāo)識(shí)符,而 99new,a-b,W.S.Piter,$88,cd#ab,@vbase,int 都是不合法標(biāo)識(shí)符。標(biāo)識(shí)符
和其它高級(jí)語(yǔ)言一樣,用來(lái)標(biāo)識(shí)函數(shù)名、變量名、符4關(guān)鍵字 由系統(tǒng)預(yù)先定義的標(biāo)識(shí)符稱“關(guān)鍵字”,它們都有特殊的含意,不能用于其它目的。C語(yǔ)言關(guān)鍵字32個(gè),如表2-1所示。關(guān)鍵字 由系統(tǒng)預(yù)先定義的標(biāo)識(shí)符稱“關(guān)鍵字”,它們都有特殊的含52.2數(shù)據(jù)類型及常量、變量
學(xué)一學(xué)數(shù)據(jù)類型常量變量2.2數(shù)據(jù)類型及常量、變量學(xué)一學(xué)6數(shù)據(jù)類型
數(shù)據(jù)類型7常量常量是在程序的執(zhí)行過(guò)程中其值不變的量。在C語(yǔ)言中,常量不需要類型說(shuō)明就可以直接使用,常量的類型是由常量本身隱含決定的。在C語(yǔ)言中,從其表現(xiàn)形式常量分為普通常量和符號(hào)常量。普通常量就是用數(shù)字直接表示的常量,符號(hào)常量是用一個(gè)標(biāo)識(shí)符來(lái)代表的常量。無(wú)論是普通常量,還是符號(hào)常量,它們都有自己的類型。
常量8普通常量與符號(hào)常量 1.普通常量 普通常量有3類:數(shù)值常量、字符型常量和字符串常量。例如, 1,200,3500,0x12——整型數(shù)值常量 835.6,77.2,0.618——實(shí)型數(shù)值常量 ‘a(chǎn)’,‘A’,‘$’——字符型常量 “Hello”,“Welcome”——字符串常量 2.符號(hào)常量 在C語(yǔ)言程序中,可對(duì)常量進(jìn)行命名,即用符號(hào)代替常量,叫做符號(hào)常量,一般用大寫字母表示,一經(jīng)定義就可以代替常量使用。普通常量與符號(hào)常量 1.普通常量9變量 變量是指在程序執(zhí)行過(guò)程中,其值可以改變的量。一個(gè)變量用一個(gè)名字表示,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,用于存放變量的值。變量必須先定義后使用,變量的值可以通過(guò)賦值的方法獲得和改變。變量 變量是指在程序執(zhí)行過(guò)程中,其值可以改變的量。10變量定義和初始化 [存儲(chǔ)類型]數(shù)據(jù)類型變量名1[=初始數(shù)據(jù)],變量名2[=初始數(shù)據(jù)2],…,變量n[=初始數(shù)據(jù)n];變量定義和初始化11試一試 問(wèn)題2.1新生入學(xué)需要保存學(xué)生數(shù)據(jù),現(xiàn)在定義整型變量存放年齡、學(xué)號(hào),定義字符變量存放性別,定義浮點(diǎn)型變量存放入學(xué)分?jǐn)?shù)和班費(fèi)。 intiAge=20,iNum=201; charcSex=’m’;/*f:female(女),m:male(男)*/ floatfScore,fSum; fScore=580.5; fMoney=78.5試一試 問(wèn)題2.1新生入學(xué)需要保存學(xué)生數(shù)據(jù),現(xiàn)在定義整型變量12想一想
生活、學(xué)習(xí)、工作中有哪些量是其值不變的常量?哪些信息是經(jīng)常變化的?定義成什么類型的變量比較合適?想一想132.3數(shù)據(jù)的輸出和輸入數(shù)據(jù)的格式化輸出數(shù)據(jù)的格式化輸入單個(gè)字符的輸出和輸入2.3數(shù)據(jù)的輸出和輸入14數(shù)據(jù)的格式化輸出學(xué)一學(xué)格式化輸出函數(shù)printf的功能是按指定的格式向終端(或系統(tǒng)默認(rèn)的輸出設(shè)備)輸出若干個(gè)任意類型的數(shù)據(jù)。printf函數(shù)的一般形式為:printf(格式控制,[輸出表列]);其中,“格式控制”是用雙引號(hào)括起來(lái)的字符串,也稱“轉(zhuǎn)換控制字符串”。它是由字符“%”、格式字符(如d、f、c等)和普通字符(原樣輸出的)組成?!拜敵霰砹小笔且恍┡c“格式控制”中的格式字符一一對(duì)應(yīng)的需要輸出的數(shù)據(jù),可以是變量或表達(dá)式。。數(shù)據(jù)的格式化輸出學(xué)一學(xué)15試一試問(wèn)題2.2新生入學(xué)需要將自己的姓名、年齡、學(xué)號(hào)、性別、入學(xué)成績(jī)打印出來(lái),請(qǐng)編程實(shí)現(xiàn)?!窘忸}步驟】1.定義整型變量iAge,iNum存放年齡、學(xué)號(hào);2.定義字符變量chSex存放性別;3.定義實(shí)型變量fScore用來(lái)存放入學(xué)成績(jī);4.用printf函數(shù)上面的信息打印出來(lái);試一試問(wèn)題2.2新生入學(xué)需要將自己的姓名、年齡、學(xué)號(hào)16程序代碼#include“stdio.h”voidmain(){intiAge=20,iNum=201; charchSex=’m’;/*f:female(女),m:male(男)*/floatfScore=580.5;printf(“Tony’spersonalinformation\n”);printf(“Name:Tony\n”);printf(“ID:%d\n”,iNum);printf(“Age:%d\nSex:%c\nScore:%d\n”,iAge,chSex,fScore);}程序代碼17
問(wèn)題2.3轉(zhuǎn)義字符輸出演示請(qǐng)觀察下面程序運(yùn)行結(jié)果。
#include“stdio.h”voidmain(){charch1,ch2,ch3;ch1=‘n’;ch2=‘e’;ch3=‘\167’;/*8進(jìn)制數(shù)167代表的字符w*/printf(“%c%c%c\n”,ch1,ch2,ch3);/*以字符格式輸出*/printf(“%c\t%c\t%c\n”,ch1,ch2,ch3);/*每輸出一個(gè)字符后跳到下一個(gè)輸出區(qū)*/printf(“%c\n%c\n%c\n”,ch1,ch2,ch3);/*每輸出一個(gè)字符后換行*/}問(wèn)題2.3轉(zhuǎn)義字符輸出演示請(qǐng)觀察下面程序運(yùn)行結(jié)果。18數(shù)據(jù)的格式化輸入格式化輸入函數(shù)scanf的功能是用來(lái)從外部設(shè)備(通常是鍵盤),向程序中的變量輸入一個(gè)或若干個(gè)任意類型的數(shù)據(jù)。scanf函數(shù)的一般形式為:scanf(格式控制,地址表列);其中“格式控制”的含義同printf函數(shù);“地址表列”是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址。數(shù)據(jù)的格式化輸入格式化輸入函數(shù)scanf的功能是用19試一試問(wèn)題2.4Tony因?qū)W習(xí)努力,成績(jī)突出,上半學(xué)年獲獎(jiǎng)學(xué)金2500元,下半學(xué)年獲獎(jiǎng)學(xué)金3000元。用scanf函數(shù)輸入數(shù)據(jù),計(jì)算Tony本學(xué)年所獲得的獎(jiǎng)學(xué)金并輸出結(jié)果?!窘忸}步驟】1.定義變量iPrize1、iPrize2和iSum用來(lái)存放上半年、下半年和本年度的獎(jiǎng)學(xué)金值;2.輸出提示信息;3.從鍵盤輸入上半年和下半年的獎(jiǎng)學(xué)金;4.計(jì)算本年度獎(jiǎng)學(xué)金存入iSum;5.輸出本年度獎(jiǎng)學(xué)金iSum中的值。試一試問(wèn)題2.4Tony因?qū)W習(xí)努力,成績(jī)突出,上半學(xué)年獲獎(jiǎng)20程序代碼
#include“stdio.h”voidmain(){intiPrize1,iPrize2,iSum;/*定義變量*/printf("pleaseinputtwoprizes:");/*輸出提示信息*/scanf("%d%d",&iPrize1,&iPrize2);/*從鍵盤輸入數(shù)據(jù)*/isum=iPriz1+iPrize2;/*求和計(jì)算*/printf("Tom’sprizeis%d",iSum);/*輸出計(jì)算結(jié)果*/}?程序代碼21單個(gè)字符的輸出和輸入函數(shù)putchar()和getchar()專門用來(lái)輸入和輸出字符型數(shù)據(jù),使用時(shí)要包含頭文件stdio.h。putchar函數(shù)的功能是用于將一個(gè)字符輸出到顯示器上顯示,其一般調(diào)用形式為:putchar(ch);其中,ch為一個(gè)字符型數(shù)據(jù)(普通字符或轉(zhuǎn)義字符)或整型數(shù)據(jù)(0~255)。getchar函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀入一個(gè)字符。它的一般調(diào)用形式為:ch=getchar();其中ch為一個(gè)字符型變量,把從鍵盤接收到字符放到變量ch中。單個(gè)字符的輸出和輸入函數(shù)putchar()和getc22試一試問(wèn)題2.5從鍵盤輸入一個(gè)小寫字母,將其轉(zhuǎn)化為大寫字母輸出?!窘忸}步驟】定義字符變量ch用來(lái)存放從鍵盤輸入的數(shù)據(jù)。;輸出提示信息;從鍵盤接收一個(gè)小寫字母存入ch;將字符ch轉(zhuǎn)換為大寫字母,即ch-32后仍存入到ch;輸出字符變量ch中的字符;試一試23程序代碼#include“stdio.h”voidmain(){charch;printf(“從鍵盤輸入一個(gè)小寫字母”);ch=getchar();/*從鍵盤接收一個(gè)小寫字母*/ch=ch-32;/*小寫字母轉(zhuǎn)化為大寫字母*/putchar(ch);/*輸出大寫字母*/}程序代碼#include“stdio.h”24小結(jié)格式化輸出函數(shù)printf中雙引號(hào)括起來(lái)的內(nèi)容除了%d等格式說(shuō)明符外,其它字符原樣輸出。同樣格式化輸入函數(shù)scanf中雙引號(hào)括起來(lái)的內(nèi)容除了%d等格式說(shuō)明符外,其它字符照原樣輸入。printf函數(shù)中的格式說(shuō)明符非常豐富,如表2-4所示。使用scanf函數(shù)時(shí)要輸入的變量名前要加取地址符號(hào)“&”,scanf函數(shù)的格式說(shuō)明符如表2-5所示小結(jié)格式化輸出函數(shù)printf中雙引號(hào)括起來(lái)的內(nèi)容除了%d等252.4運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符和賦值表達(dá)式
逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式2.4運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式26運(yùn)算符分類C的運(yùn)算符大致有如下的幾類?;舅阈g(shù)運(yùn)算符:+-*/%關(guān)系運(yùn)算符:<>>=<===!=邏輯運(yùn)算符:!&&||強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:()自增、自減運(yùn)算符:++――賦值運(yùn)算符:=條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:*&求字節(jié)數(shù)運(yùn)算符:sizeof位運(yùn)算符:<<>>~|^&分量運(yùn)算符:.->下標(biāo)運(yùn)算符:[]運(yùn)算符分類C的運(yùn)算符大致有如下的幾類。27算術(shù)運(yùn)算符和算術(shù)表達(dá)式試一試問(wèn)題2.6從鍵盤輸入一個(gè)3位數(shù),求該數(shù)個(gè)位、十位、百位上的數(shù)的和?!窘忸}步驟】定義整型變量iNum接收從鍵盤輸入的三位數(shù);定義整型變量i1,i2,i3,iSum用來(lái)存放個(gè)位、十位、百位上的數(shù)據(jù)及其和;從鍵盤輸入一個(gè)3位數(shù)存入變量iNum中;用iNum%10求得個(gè)位上的數(shù)存入i1中,用iNum/10%10求得十位上的數(shù)存入i2中;用iNum/100求得百位上的數(shù)存入i3中;求和輸出和。算術(shù)運(yùn)算符和算術(shù)表達(dá)式試一試28程序代碼#include“stdio.h”voidmain(){intiNum;inti1,i2,i3,iSum;printf(“pleaseinputainteger(100-999):”);scanf(“d%”,&iNum);i1=iNum%10;/*求個(gè)位數(shù)*/i2=iNum/10%10;/*求十位數(shù)*/i3=iNum/100;/*求百位數(shù)*/iSum=i1+i2+i3;printf(“d%thesumis:”,iSum);}程序代碼#include“stdio.h”29想一想對(duì)于一個(gè)四位整數(shù),其千位、百位、十位、個(gè)位上的數(shù)如何求得?想一想30強(qiáng)制類型轉(zhuǎn)換運(yùn)算符學(xué)一學(xué)在實(shí)際應(yīng)用中,常常要把一些表達(dá)式的類型轉(zhuǎn)換成所需的類型。C語(yǔ)言提供了強(qiáng)制類型轉(zhuǎn)換運(yùn)算符。其格式為:(類型名)(表達(dá)式)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符學(xué)一學(xué)31試一試問(wèn)題2.7從鍵盤輸入一個(gè)球的半徑值,計(jì)算并輸出這個(gè)球的體積。球體積計(jì)算公式為:v=4/3*∏*r3。其中r是球的半徑,∏是圓周率,v是球的體積?!窘忸}步驟】定義符號(hào)常量PAI=3.1415926作為圓周率;定義float型變量fRadius、fVolum用來(lái)存放球半徑和球體積;從鍵盤輸入球半徑放變量fRadius;計(jì)算球的體積;輸出球體積。試一試問(wèn)題2.7從鍵盤輸入一個(gè)球的半徑值,計(jì)算并輸出這個(gè)球32程序代碼#include“stdio.h”#definePAI3.1415926voidmain(){floatfRadius,fVolume;printf(“pleasetheball’sradius:”);
scanf(“%f”,&fRadius);fVolume=(float)4/3*PAI*fRadius*fRadius*fRadius;printf(“theball’svolume:%f”,fVolume);}程序代碼#include“stdio.h”33自增、自減運(yùn)算符學(xué)一學(xué)自增、自減運(yùn)算符是單目運(yùn)算符,即對(duì)一個(gè)運(yùn)算對(duì)象施加運(yùn)算,運(yùn)算結(jié)果仍賦予該對(duì)象。參加運(yùn)算的對(duì)象必須是變量。如表2-7所示。自增、自減運(yùn)算符學(xué)一學(xué)34試一試問(wèn)題2.8運(yùn)行下面的程序,觀察并分析自增、自減運(yùn)算符的用法。#include“stdio.h”voidmain(){intiX,iY;iX=2;iY=iX++*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=iX--*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=++iX*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=--iX*4;printf(“iX=%d,iY=%d\n”,iX,iY);}試一試35算術(shù)表達(dá)式學(xué)一學(xué)用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的符合C語(yǔ)法規(guī)則的式子,稱為C算術(shù)表達(dá)式。運(yùn)算對(duì)象可以是常量、變量、函數(shù)等。5.算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,再按運(yùn)算符的結(jié)合方向結(jié)合(相同優(yōu)先級(jí)時(shí))。例如先乘除后加減,如表2-8所算術(shù)表達(dá)式學(xué)一學(xué)36算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,再按運(yùn)算符的結(jié)合方向結(jié)合(相同優(yōu)先級(jí)時(shí))。例如先乘除后加減,如表2-8所示。算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)37試一試問(wèn)題2.9函數(shù)f(x)=3x3+2x2+x+1,編一程序計(jì)算并輸出f(3)值?!窘忸}步驟】定義整型變量iX、iY;從鍵盤輸入一個(gè)自變量的值;計(jì)算函數(shù)值;輸出函數(shù)值;試一試問(wèn)題2.9函數(shù)f(x)=3x3+2x2+x+1,編38程序代碼#include“stdio.h”voidmain(){intiX,iY;printf(“請(qǐng)輸入自變量值:”);scanf(“%d”,&iX);iY=3*iX*iX*iX+2*iX*iX+iX+1;printf(“函數(shù)值是:%d”,iY);}程序代碼#include“stdio.h”39賦值運(yùn)算符和賦值表達(dá)式學(xué)一學(xué)1.賦值運(yùn)算符在C語(yǔ)言中,等號(hào)“=”被作為是一種運(yùn)算符來(lái)處理,稱為賦值運(yùn)算符。其一般形式為:<變量名>=<表達(dá)式>;它的作用就是將右邊表達(dá)式的值賦給左邊的變量2.復(fù)合賦值運(yùn)算符在賦值運(yùn)算符的前面加上一個(gè)其它運(yùn)算符后就構(gòu)成復(fù)合的賦值運(yùn)算符。其一般形式為:<變量><雙目運(yùn)算符>=<表達(dá)式>;等價(jià)于:<變量>=<變量><雙目運(yùn)算符><表達(dá)式>;3.賦值表達(dá)式由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為賦值表達(dá)式,它的一般形式為:<變量><賦值運(yùn)算符><表達(dá)式>賦值運(yùn)算符和賦值表達(dá)式學(xué)一學(xué)40試一試問(wèn)題2.10賦值運(yùn)算符和賦值表達(dá)式用法演示,運(yùn)行程序并觀察運(yùn)行結(jié)果。#include“stdio.h”voidmain(){intiA,iB,iC,iX,iY;iA=2;iY=iX=2*iA+6;printf("\niA=%d",iA);/*輸出賦值表達(dá)式iA的值*/printf("\niX=2*iA+6is%d",iX=2*iA+6);/*輸出賦值表達(dá)式iX=2*iA+6的值*/printf("\niY=%d",iY);/*輸出變量iY的值*/iC=iB=iA=4;/*表達(dá)式iB=iA=4賦給iC*/printf("\niB=iA=4is%d",iB=iA=4);/*輸出表達(dá)式iB=iA=4的值*/printf("\niA=%d,iB=%d,iC=%d",iA,iB,iC);/*輸出變量iA,iB,iC的值*/}試一試問(wèn)題2.10賦值運(yùn)算符和賦值表達(dá)式用法演示,運(yùn)行程序41逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式學(xué)一學(xué)逗號(hào)運(yùn)算符“,”作為C語(yǔ)言的一種特殊的運(yùn)算符,也稱為順序求值運(yùn)算符,它的作用是把多個(gè)表達(dá)式連接起來(lái),用逗號(hào)運(yùn)算符連接起來(lái)的式子稱為逗號(hào)表達(dá)式,其一般形式為:表達(dá)式1,表達(dá)式2,...,表達(dá)式n表達(dá)式的求解過(guò)程按照從左到右的順序逐個(gè)求解表達(dá)式1,表達(dá)式2,...,表達(dá)式n,而整個(gè)逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式(表達(dá)式n)的值。逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式學(xué)一學(xué)42試一試問(wèn)題2.11逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式用法演示,運(yùn)行程序并觀察運(yùn)行結(jié)果?!境绦虼a】#include“stdio.h”voidmain(){intiA=2,iB=3;intiX,iY;floatfC;iX=(iA*2+1,iY=iB+2,iA*iY);fC=(iA+5,2.0*iX);printf("iX=%d,iY=%d\n",iX,iY);printf("fC=%f\n",fC);}試一試43小結(jié)不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),往往需要進(jìn)行類型轉(zhuǎn)換。在C語(yǔ)言中這種轉(zhuǎn)換通常是自動(dòng)進(jìn)行的,當(dāng)然也可以通過(guò)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符進(jìn)強(qiáng)制進(jìn)行。各種運(yùn)算符具有優(yōu)先級(jí)和結(jié)合方向,通常情況下,可用圓括號(hào)限制優(yōu)先級(jí)
小結(jié)不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),往往需要進(jìn)行類型轉(zhuǎn)換。442.5順序結(jié)構(gòu)程序設(shè)計(jì)
C是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是,用順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)來(lái)構(gòu)造程序。C語(yǔ)言提供了豐富的語(yǔ)句用來(lái)支持結(jié)構(gòu)化的程序設(shè)計(jì)。2.5順序結(jié)構(gòu)程序設(shè)計(jì)C是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,結(jié)45C語(yǔ)句的分類C語(yǔ)句可以分為以下五大類:1.函數(shù)調(diào)用語(yǔ)句。由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成的語(yǔ)句。2.表達(dá)式語(yǔ)句。表達(dá)式的后面加一個(gè)分號(hào)就構(gòu)成了一個(gè)表達(dá)式語(yǔ)句。3.空語(yǔ)句,光有一個(gè)分號(hào)“;”,作為語(yǔ)句結(jié)束符,它表示什么也不做。4.復(fù)合語(yǔ)句。由“{”和“}”把一些變量說(shuō)明和語(yǔ)句組合在一起,稱之為復(fù)合語(yǔ)句(Block),又稱語(yǔ)句塊。5.控制語(yǔ)句,共九種。C語(yǔ)句的分類C語(yǔ)句可以分為以下五大類:46C的控制語(yǔ)句⑴if語(yǔ)句(條件語(yǔ)句)⑵switch語(yǔ)句(多分支選擇語(yǔ)句)⑶while語(yǔ)句(循環(huán)語(yǔ)句)⑷do-while語(yǔ)句(循環(huán)語(yǔ)句)⑸for語(yǔ)句(循環(huán)語(yǔ)句)⑹break語(yǔ)句(終止執(zhí)行循環(huán)語(yǔ)句或switch語(yǔ)句)⑺continue語(yǔ)句(結(jié)束本次循環(huán)語(yǔ)句)⑻goto語(yǔ)句(轉(zhuǎn)向語(yǔ)句)⑼return語(yǔ)句(從函數(shù)返回語(yǔ)句)C的控制語(yǔ)句⑴if語(yǔ)句(條件語(yǔ)句)47程序的三種基本結(jié)構(gòu)1.順序結(jié)構(gòu)順序執(zhí)行每個(gè)操作,即先執(zhí)行A操作,再執(zhí)行B操作,兩者之間是順序執(zhí)行的關(guān)系。圖2-3是順序結(jié)構(gòu)的流程圖。2.選擇結(jié)構(gòu)設(shè)P代表一個(gè)判斷條件,當(dāng)P成立(或稱“為真”)時(shí),執(zhí)行A操作,否則執(zhí)行B操作。即A和B中只能選擇其中之一。圖2-4是選擇結(jié)構(gòu)的流程圖。3.循環(huán)結(jié)構(gòu)C語(yǔ)言提供了兩種循環(huán)結(jié)構(gòu)。(1)當(dāng)型循環(huán)結(jié)構(gòu):如圖2-5所示,當(dāng)條件P成立時(shí),反復(fù)執(zhí)行A操作,直到條件P不再成立時(shí)才跳出循環(huán)。(2)直到型循環(huán)結(jié)構(gòu):如圖2-6所示,先執(zhí)行A操作,再判斷條件P是否成立,若P成立,則再執(zhí)行A操作,如此反復(fù),直到條件P不成立時(shí)跳出循環(huán)。程序的三種基本結(jié)構(gòu)1.順序結(jié)構(gòu)48三種基本結(jié)構(gòu)流程圖三種基本結(jié)構(gòu)流程圖49試一試問(wèn)題2.12編一程序?qū)⑷A氏溫度轉(zhuǎn)換為攝氏溫度。公式為:攝氏溫度=5/9(華氏溫度-32),要求從鍵盤輸入華氏溫度的值?!窘忸}步驟】定義fF變量存放華氏溫度值;定義變量fC存放攝氏溫度值;從鍵盤輸入華氏溫度值存入變量fF;計(jì)算攝氏溫度;輸出攝氏溫度。試一試問(wèn)題2.12編一程序?qū)⑷A氏溫度轉(zhuǎn)換為攝氏溫度。公式為50程序代碼#include“stdio.h”voidmain(){floatfF,fC;printf("PleaseinputthedegreesFahrenheit:");scanf("%d",&fF);fC=5.0/9*(fF-32);printf("thedegreesCelsiusis%f\n",fC);}程序代碼51問(wèn)題2.13交換兩個(gè)變量的值。解題步驟:1.定義整型變量iX,iY;2.定義臨時(shí)變量iTemp;3.iX=1,iY=2;4.輸出iX,iY;5.將變量iX的值存入iTemp;6.將變量iY的值存入iX;7.將變量iTemp的值存入iX;8.輸出iX,iY;問(wèn)題2.13交換兩個(gè)變量的值。52程序代碼#include"stdio.h"voidmain(){intiX,iY;intiTemp;iX=1;iY=2;printf("iX=%d,iY=%d\n",iX,iY);iTemp=iX;iX=iY;iY=iTemp;printf("iX=%d,iY=%d\n",iX,iY);getch();}程序代碼#include"stdio.h"53想一想交換兩個(gè)變量中的值類似于日常生活中的哪些問(wèn)題?想一想交換兩個(gè)變量中的值類似于日常生活中的哪些問(wèn)題?54小結(jié)1.順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu),其中順序結(jié)構(gòu)是最基本的程序結(jié)構(gòu)。2.C語(yǔ)言提供了五大類語(yǔ)句可以實(shí)現(xiàn)結(jié)構(gòu)化的程序設(shè)計(jì)。小結(jié)1.順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基55第2章順序結(jié)構(gòu)流程及應(yīng)用
本章內(nèi)容中我們將學(xué)習(xí)1C語(yǔ)言中的數(shù)據(jù)類型2標(biāo)識(shí)符、常量與變量3數(shù)據(jù)輸入/輸出處理4運(yùn)算符與表達(dá)式5順序結(jié)構(gòu)程序設(shè)計(jì)第2章順序結(jié)構(gòu)流程及應(yīng)用本章內(nèi)容中我們將學(xué)習(xí)562.1基本字符、標(biāo)識(shí)符和關(guān)鍵字學(xué)一學(xué)基本字符標(biāo)識(shí)符關(guān)鍵字2.1基本字符、標(biāo)識(shí)符和關(guān)鍵字學(xué)一學(xué)57基本字符一個(gè)C程序也可以看成是由C語(yǔ)言的基本字符按一定的規(guī)則組成的一個(gè)序列。C語(yǔ)言中使用的基本字符包括:數(shù)字字符:0~9;大小寫英文字母:a~z,A~Z;其他可打?。娠@示)字符:!#%^&*_(下劃線)-+=~<>/\|.,:;?‘“()[]{}空白字符:空格符、換行符、制表符等。基本字符一個(gè)C程序也可以看成是由C語(yǔ)言的基本字符按一定58
和其它高級(jí)語(yǔ)言一樣,用來(lái)標(biāo)識(shí)函數(shù)名、變量名、符號(hào)常量、數(shù)組名、類型名、文件名的有效字符序列稱為“標(biāo)識(shí)符”(identifier),通俗地講,標(biāo)識(shí)符就是一個(gè)名字。在C語(yǔ)言中,標(biāo)識(shí)符的命名規(guī)則為:(1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開(kāi)頭;(2)有效長(zhǎng)度:隨系統(tǒng)而異,但至少前8個(gè)字符有效。如果超長(zhǎng),則超長(zhǎng)部分被舍棄;(3)C語(yǔ)言的關(guān)鍵字(或稱保留字)不能用作標(biāo)識(shí)符。例如:sum,Total,day,_f2048,file_name,a3b06 都是合法的標(biāo)識(shí)符,而 99new,a-b,W.S.Piter,$88,cd#ab,@vbase,int 都是不合法標(biāo)識(shí)符。標(biāo)識(shí)符
和其它高級(jí)語(yǔ)言一樣,用來(lái)標(biāo)識(shí)函數(shù)名、變量名、符59關(guān)鍵字 由系統(tǒng)預(yù)先定義的標(biāo)識(shí)符稱“關(guān)鍵字”,它們都有特殊的含意,不能用于其它目的。C語(yǔ)言關(guān)鍵字32個(gè),如表2-1所示。關(guān)鍵字 由系統(tǒng)預(yù)先定義的標(biāo)識(shí)符稱“關(guān)鍵字”,它們都有特殊的含602.2數(shù)據(jù)類型及常量、變量
學(xué)一學(xué)數(shù)據(jù)類型常量變量2.2數(shù)據(jù)類型及常量、變量學(xué)一學(xué)61數(shù)據(jù)類型
數(shù)據(jù)類型62常量常量是在程序的執(zhí)行過(guò)程中其值不變的量。在C語(yǔ)言中,常量不需要類型說(shuō)明就可以直接使用,常量的類型是由常量本身隱含決定的。在C語(yǔ)言中,從其表現(xiàn)形式常量分為普通常量和符號(hào)常量。普通常量就是用數(shù)字直接表示的常量,符號(hào)常量是用一個(gè)標(biāo)識(shí)符來(lái)代表的常量。無(wú)論是普通常量,還是符號(hào)常量,它們都有自己的類型。
常量63普通常量與符號(hào)常量 1.普通常量 普通常量有3類:數(shù)值常量、字符型常量和字符串常量。例如, 1,200,3500,0x12——整型數(shù)值常量 835.6,77.2,0.618——實(shí)型數(shù)值常量 ‘a(chǎn)’,‘A’,‘$’——字符型常量 “Hello”,“Welcome”——字符串常量 2.符號(hào)常量 在C語(yǔ)言程序中,可對(duì)常量進(jìn)行命名,即用符號(hào)代替常量,叫做符號(hào)常量,一般用大寫字母表示,一經(jīng)定義就可以代替常量使用。普通常量與符號(hào)常量 1.普通常量64變量 變量是指在程序執(zhí)行過(guò)程中,其值可以改變的量。一個(gè)變量用一個(gè)名字表示,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,用于存放變量的值。變量必須先定義后使用,變量的值可以通過(guò)賦值的方法獲得和改變。變量 變量是指在程序執(zhí)行過(guò)程中,其值可以改變的量。65變量定義和初始化 [存儲(chǔ)類型]數(shù)據(jù)類型變量名1[=初始數(shù)據(jù)],變量名2[=初始數(shù)據(jù)2],…,變量n[=初始數(shù)據(jù)n];變量定義和初始化66試一試 問(wèn)題2.1新生入學(xué)需要保存學(xué)生數(shù)據(jù),現(xiàn)在定義整型變量存放年齡、學(xué)號(hào),定義字符變量存放性別,定義浮點(diǎn)型變量存放入學(xué)分?jǐn)?shù)和班費(fèi)。 intiAge=20,iNum=201; charcSex=’m’;/*f:female(女),m:male(男)*/ floatfScore,fSum; fScore=580.5; fMoney=78.5試一試 問(wèn)題2.1新生入學(xué)需要保存學(xué)生數(shù)據(jù),現(xiàn)在定義整型變量67想一想
生活、學(xué)習(xí)、工作中有哪些量是其值不變的常量?哪些信息是經(jīng)常變化的?定義成什么類型的變量比較合適?想一想682.3數(shù)據(jù)的輸出和輸入數(shù)據(jù)的格式化輸出數(shù)據(jù)的格式化輸入單個(gè)字符的輸出和輸入2.3數(shù)據(jù)的輸出和輸入69數(shù)據(jù)的格式化輸出學(xué)一學(xué)格式化輸出函數(shù)printf的功能是按指定的格式向終端(或系統(tǒng)默認(rèn)的輸出設(shè)備)輸出若干個(gè)任意類型的數(shù)據(jù)。printf函數(shù)的一般形式為:printf(格式控制,[輸出表列]);其中,“格式控制”是用雙引號(hào)括起來(lái)的字符串,也稱“轉(zhuǎn)換控制字符串”。它是由字符“%”、格式字符(如d、f、c等)和普通字符(原樣輸出的)組成。“輸出表列”是一些與“格式控制”中的格式字符一一對(duì)應(yīng)的需要輸出的數(shù)據(jù),可以是變量或表達(dá)式。。數(shù)據(jù)的格式化輸出學(xué)一學(xué)70試一試問(wèn)題2.2新生入學(xué)需要將自己的姓名、年齡、學(xué)號(hào)、性別、入學(xué)成績(jī)打印出來(lái),請(qǐng)編程實(shí)現(xiàn)。【解題步驟】1.定義整型變量iAge,iNum存放年齡、學(xué)號(hào);2.定義字符變量chSex存放性別;3.定義實(shí)型變量fScore用來(lái)存放入學(xué)成績(jī);4.用printf函數(shù)上面的信息打印出來(lái);試一試問(wèn)題2.2新生入學(xué)需要將自己的姓名、年齡、學(xué)號(hào)71程序代碼#include“stdio.h”voidmain(){intiAge=20,iNum=201; charchSex=’m’;/*f:female(女),m:male(男)*/floatfScore=580.5;printf(“Tony’spersonalinformation\n”);printf(“Name:Tony\n”);printf(“ID:%d\n”,iNum);printf(“Age:%d\nSex:%c\nScore:%d\n”,iAge,chSex,fScore);}程序代碼72
問(wèn)題2.3轉(zhuǎn)義字符輸出演示請(qǐng)觀察下面程序運(yùn)行結(jié)果。
#include“stdio.h”voidmain(){charch1,ch2,ch3;ch1=‘n’;ch2=‘e’;ch3=‘\167’;/*8進(jìn)制數(shù)167代表的字符w*/printf(“%c%c%c\n”,ch1,ch2,ch3);/*以字符格式輸出*/printf(“%c\t%c\t%c\n”,ch1,ch2,ch3);/*每輸出一個(gè)字符后跳到下一個(gè)輸出區(qū)*/printf(“%c\n%c\n%c\n”,ch1,ch2,ch3);/*每輸出一個(gè)字符后換行*/}問(wèn)題2.3轉(zhuǎn)義字符輸出演示請(qǐng)觀察下面程序運(yùn)行結(jié)果。73數(shù)據(jù)的格式化輸入格式化輸入函數(shù)scanf的功能是用來(lái)從外部設(shè)備(通常是鍵盤),向程序中的變量輸入一個(gè)或若干個(gè)任意類型的數(shù)據(jù)。scanf函數(shù)的一般形式為:scanf(格式控制,地址表列);其中“格式控制”的含義同printf函數(shù);“地址表列”是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址。數(shù)據(jù)的格式化輸入格式化輸入函數(shù)scanf的功能是用74試一試問(wèn)題2.4Tony因?qū)W習(xí)努力,成績(jī)突出,上半學(xué)年獲獎(jiǎng)學(xué)金2500元,下半學(xué)年獲獎(jiǎng)學(xué)金3000元。用scanf函數(shù)輸入數(shù)據(jù),計(jì)算Tony本學(xué)年所獲得的獎(jiǎng)學(xué)金并輸出結(jié)果?!窘忸}步驟】1.定義變量iPrize1、iPrize2和iSum用來(lái)存放上半年、下半年和本年度的獎(jiǎng)學(xué)金值;2.輸出提示信息;3.從鍵盤輸入上半年和下半年的獎(jiǎng)學(xué)金;4.計(jì)算本年度獎(jiǎng)學(xué)金存入iSum;5.輸出本年度獎(jiǎng)學(xué)金iSum中的值。試一試問(wèn)題2.4Tony因?qū)W習(xí)努力,成績(jī)突出,上半學(xué)年獲獎(jiǎng)75程序代碼
#include“stdio.h”voidmain(){intiPrize1,iPrize2,iSum;/*定義變量*/printf("pleaseinputtwoprizes:");/*輸出提示信息*/scanf("%d%d",&iPrize1,&iPrize2);/*從鍵盤輸入數(shù)據(jù)*/isum=iPriz1+iPrize2;/*求和計(jì)算*/printf("Tom’sprizeis%d",iSum);/*輸出計(jì)算結(jié)果*/}?程序代碼76單個(gè)字符的輸出和輸入函數(shù)putchar()和getchar()專門用來(lái)輸入和輸出字符型數(shù)據(jù),使用時(shí)要包含頭文件stdio.h。putchar函數(shù)的功能是用于將一個(gè)字符輸出到顯示器上顯示,其一般調(diào)用形式為:putchar(ch);其中,ch為一個(gè)字符型數(shù)據(jù)(普通字符或轉(zhuǎn)義字符)或整型數(shù)據(jù)(0~255)。getchar函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀入一個(gè)字符。它的一般調(diào)用形式為:ch=getchar();其中ch為一個(gè)字符型變量,把從鍵盤接收到字符放到變量ch中。單個(gè)字符的輸出和輸入函數(shù)putchar()和getc77試一試問(wèn)題2.5從鍵盤輸入一個(gè)小寫字母,將其轉(zhuǎn)化為大寫字母輸出?!窘忸}步驟】定義字符變量ch用來(lái)存放從鍵盤輸入的數(shù)據(jù)。;輸出提示信息;從鍵盤接收一個(gè)小寫字母存入ch;將字符ch轉(zhuǎn)換為大寫字母,即ch-32后仍存入到ch;輸出字符變量ch中的字符;試一試78程序代碼#include“stdio.h”voidmain(){charch;printf(“從鍵盤輸入一個(gè)小寫字母”);ch=getchar();/*從鍵盤接收一個(gè)小寫字母*/ch=ch-32;/*小寫字母轉(zhuǎn)化為大寫字母*/putchar(ch);/*輸出大寫字母*/}程序代碼#include“stdio.h”79小結(jié)格式化輸出函數(shù)printf中雙引號(hào)括起來(lái)的內(nèi)容除了%d等格式說(shuō)明符外,其它字符原樣輸出。同樣格式化輸入函數(shù)scanf中雙引號(hào)括起來(lái)的內(nèi)容除了%d等格式說(shuō)明符外,其它字符照原樣輸入。printf函數(shù)中的格式說(shuō)明符非常豐富,如表2-4所示。使用scanf函數(shù)時(shí)要輸入的變量名前要加取地址符號(hào)“&”,scanf函數(shù)的格式說(shuō)明符如表2-5所示小結(jié)格式化輸出函數(shù)printf中雙引號(hào)括起來(lái)的內(nèi)容除了%d等802.4運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符和賦值表達(dá)式
逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式2.4運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式81運(yùn)算符分類C的運(yùn)算符大致有如下的幾類?;舅阈g(shù)運(yùn)算符:+-*/%關(guān)系運(yùn)算符:<>>=<===!=邏輯運(yùn)算符:!&&||強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:()自增、自減運(yùn)算符:++――賦值運(yùn)算符:=條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:*&求字節(jié)數(shù)運(yùn)算符:sizeof位運(yùn)算符:<<>>~|^&分量運(yùn)算符:.->下標(biāo)運(yùn)算符:[]運(yùn)算符分類C的運(yùn)算符大致有如下的幾類。82算術(shù)運(yùn)算符和算術(shù)表達(dá)式試一試問(wèn)題2.6從鍵盤輸入一個(gè)3位數(shù),求該數(shù)個(gè)位、十位、百位上的數(shù)的和。【解題步驟】定義整型變量iNum接收從鍵盤輸入的三位數(shù);定義整型變量i1,i2,i3,iSum用來(lái)存放個(gè)位、十位、百位上的數(shù)據(jù)及其和;從鍵盤輸入一個(gè)3位數(shù)存入變量iNum中;用iNum%10求得個(gè)位上的數(shù)存入i1中,用iNum/10%10求得十位上的數(shù)存入i2中;用iNum/100求得百位上的數(shù)存入i3中;求和輸出和。算術(shù)運(yùn)算符和算術(shù)表達(dá)式試一試83程序代碼#include“stdio.h”voidmain(){intiNum;inti1,i2,i3,iSum;printf(“pleaseinputainteger(100-999):”);scanf(“d%”,&iNum);i1=iNum%10;/*求個(gè)位數(shù)*/i2=iNum/10%10;/*求十位數(shù)*/i3=iNum/100;/*求百位數(shù)*/iSum=i1+i2+i3;printf(“d%thesumis:”,iSum);}程序代碼#include“stdio.h”84想一想對(duì)于一個(gè)四位整數(shù),其千位、百位、十位、個(gè)位上的數(shù)如何求得?想一想85強(qiáng)制類型轉(zhuǎn)換運(yùn)算符學(xué)一學(xué)在實(shí)際應(yīng)用中,常常要把一些表達(dá)式的類型轉(zhuǎn)換成所需的類型。C語(yǔ)言提供了強(qiáng)制類型轉(zhuǎn)換運(yùn)算符。其格式為:(類型名)(表達(dá)式)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符學(xué)一學(xué)86試一試問(wèn)題2.7從鍵盤輸入一個(gè)球的半徑值,計(jì)算并輸出這個(gè)球的體積。球體積計(jì)算公式為:v=4/3*∏*r3。其中r是球的半徑,∏是圓周率,v是球的體積?!窘忸}步驟】定義符號(hào)常量PAI=3.1415926作為圓周率;定義float型變量fRadius、fVolum用來(lái)存放球半徑和球體積;從鍵盤輸入球半徑放變量fRadius;計(jì)算球的體積;輸出球體積。試一試問(wèn)題2.7從鍵盤輸入一個(gè)球的半徑值,計(jì)算并輸出這個(gè)球87程序代碼#include“stdio.h”#definePAI3.1415926voidmain(){floatfRadius,fVolume;printf(“pleasetheball’sradius:”);
scanf(“%f”,&fRadius);fVolume=(float)4/3*PAI*fRadius*fRadius*fRadius;printf(“theball’svolume:%f”,fVolume);}程序代碼#include“stdio.h”88自增、自減運(yùn)算符學(xué)一學(xué)自增、自減運(yùn)算符是單目運(yùn)算符,即對(duì)一個(gè)運(yùn)算對(duì)象施加運(yùn)算,運(yùn)算結(jié)果仍賦予該對(duì)象。參加運(yùn)算的對(duì)象必須是變量。如表2-7所示。自增、自減運(yùn)算符學(xué)一學(xué)89試一試問(wèn)題2.8運(yùn)行下面的程序,觀察并分析自增、自減運(yùn)算符的用法。#include“stdio.h”voidmain(){intiX,iY;iX=2;iY=iX++*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=iX--*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=++iX*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=--iX*4;printf(“iX=%d,iY=%d\n”,iX,iY);}試一試90算術(shù)表達(dá)式學(xué)一學(xué)用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的符合C語(yǔ)法規(guī)則的式子,稱為C算術(shù)表達(dá)式。運(yùn)算對(duì)象可以是常量、變量、函數(shù)等。5.算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,再按運(yùn)算符的結(jié)合方向結(jié)合(相同優(yōu)先級(jí)時(shí))。例如先乘除后加減,如表2-8所算術(shù)表達(dá)式學(xué)一學(xué)91算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,再按運(yùn)算符的結(jié)合方向結(jié)合(相同優(yōu)先級(jí)時(shí))。例如先乘除后加減,如表2-8所示。算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)92試一試問(wèn)題2.9函數(shù)f(x)=3x3+2x2+x+1,編一程序計(jì)算并輸出f(3)值?!窘忸}步驟】定義整型變量iX、iY;從鍵盤輸入一個(gè)自變量的值;計(jì)算函數(shù)值;輸出函數(shù)值;試一試問(wèn)題2.9函數(shù)f(x)=3x3+2x2+x+1,編93程序代碼#include“stdio.h”voidmain(){intiX,iY;printf(“請(qǐng)輸入自變量值:”);scanf(“%d”,&iX);iY=3*iX*iX*iX+2*iX*iX+iX+1;printf(“函數(shù)值是:%d”,iY);}程序代碼#include“stdio.h”94賦值運(yùn)算符和賦值表達(dá)式學(xué)一學(xué)1.賦值運(yùn)算符在C語(yǔ)言中,等號(hào)“=”被作為是一種運(yùn)算符來(lái)處理,稱為賦值運(yùn)算符。其一般形式為:<變量名>=<表達(dá)式>;它的作用就是將右邊表達(dá)式的值賦給左邊的變量2.復(fù)合賦值運(yùn)算符在賦值運(yùn)算符的前面加上一個(gè)其它運(yùn)算符后就構(gòu)成復(fù)合的賦值運(yùn)算符。其一般形式為:<變量><雙目運(yùn)算符>=<表達(dá)式>;等價(jià)于:<變量>=<變量><雙目運(yùn)算符><表達(dá)式>;3.賦值表達(dá)式由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為賦值表達(dá)式,它的一般形式為:<變量><賦值運(yùn)算符><表達(dá)式>賦值運(yùn)算符和賦值表達(dá)式學(xué)一學(xué)95試一試問(wèn)題2.10賦值運(yùn)算符和賦值表達(dá)式用法演示,運(yùn)行程序并觀察運(yùn)行結(jié)果。#include“stdio.h”voidmain(){intiA,iB,iC,iX,iY;iA=2;iY=iX=2*iA+6;printf("\niA=%d",iA);/*輸出賦值表達(dá)式iA的值*/printf("\niX=2*iA+6is%d",iX=2*iA+6);/*輸出賦值表達(dá)式iX=2*iA+6的值*/printf("\niY=%d",iY);/*輸出變量iY的值*/iC=iB=iA=4;/*表達(dá)式iB=iA=4賦給iC*/printf("\niB=iA=4is%d",iB=iA=4);/*輸出表達(dá)式iB=iA=4的值*/printf("\niA=%d,iB=%d,iC=%d",iA,iB,iC);/*輸出變量iA,iB,iC的值*/}試一試問(wèn)題2.10賦值運(yùn)算符和賦值表達(dá)式用法演示,運(yùn)行程序96逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式學(xué)一學(xué)逗號(hào)運(yùn)算符“,”作為C語(yǔ)言的一種特殊的運(yùn)算符,也稱為順序求值運(yùn)算符,它的作用是把多個(gè)表達(dá)式連接起來(lái),用逗號(hào)運(yùn)算符連接起來(lái)的式子稱為逗號(hào)表達(dá)式,其一般形式為:表達(dá)式1,表達(dá)式2,...,表達(dá)式n表達(dá)式的求解過(guò)程按照從左到右的順序逐個(gè)求解表達(dá)式1,表達(dá)式2,...,表達(dá)式n,而整個(gè)逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式(表達(dá)式n)的值。逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式學(xué)一學(xué)97試一試問(wèn)題2.11逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式用法演示,運(yùn)行程序并觀察運(yùn)行結(jié)果?!境绦虼a】#include“stdio.h”voidmain(){intiA=2,iB=3;intiX,iY;floatfC;iX=(iA*2+1,iY=iB+2,iA*iY);fC=(iA+5,2.0*iX);printf("iX=%d,iY=%d\n"
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年裝箱單在應(yīng)對(duì)外貿(mào)出口貿(mào)易救濟(jì)措施中的策略合同3篇
- 二零二五版國(guó)際貿(mào)易特許經(jīng)營(yíng)合同主體欺詐風(fēng)險(xiǎn)管理與合同解除合同3篇
- 二零二五年電子顯示屏廣告租賃合同樣本3篇
- 二零二五版代辦房地產(chǎn)前期開(kāi)發(fā)手續(xù)與建筑工程質(zhì)量檢測(cè)服務(wù)合同3篇
- 二零二五年采棉機(jī)駕駛員職業(yè)素養(yǎng)提升與勞動(dòng)合同3篇
- 二零二五版能源行業(yè)凍庫(kù)租賃合同含能源物資儲(chǔ)備協(xié)議3篇
- 二零二五年酒店客房部服務(wù)員勞動(dòng)合同書3篇
- 天津事業(yè)單位2025年度合同制聘用人員管理規(guī)范3篇
- 二零二五年度裝修合同范本:環(huán)保裝修保障您的生活品質(zhì)6篇
- 二零二五版地產(chǎn)經(jīng)紀(jì)居間合同糾紛處理指南3篇
- 【公開(kāi)課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊(cè)+
- 高職組全國(guó)職業(yè)院校技能大賽(嬰幼兒照護(hù)賽項(xiàng))備賽試題庫(kù)(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫(kù)附帶答案詳解
- 健康教育工作考核記錄表
- 裝飾工程施工技術(shù)ppt課件(完整版)
- SJG 05-2020 基坑支護(hù)技術(shù)標(biāo)準(zhǔn)-高清現(xiàn)行
- 汽車維修價(jià)格表
- 10KV供配電工程施工組織設(shè)計(jì)
- 終端攔截攻略
- 藥物外滲處理及預(yù)防【病房護(hù)士安全警示教育培訓(xùn)課件】--ppt課件
評(píng)論
0/150
提交評(píng)論