c語言程序設(shè)計(jì)第4章_第1頁
c語言程序設(shè)計(jì)第4章_第2頁
c語言程序設(shè)計(jì)第4章_第3頁
c語言程序設(shè)計(jì)第4章_第4頁
c語言程序設(shè)計(jì)第4章_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

會(huì)計(jì)學(xué)1c語言程序設(shè)計(jì)第4章2023/1/172程序的三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)NYP成立?A當(dāng)P成立時(shí)

A直到型循環(huán)

A當(dāng)P成立時(shí)YNAP成立?當(dāng)型循環(huán)N-S結(jié)構(gòu)圖流程圖第1頁/共50頁2023/1/173本章主要內(nèi)容:C語句概述賦值語句數(shù)據(jù)輸入輸出的概念及在C語言中的實(shí)現(xiàn)字符數(shù)據(jù)的輸入輸出格式輸入輸出順序結(jié)構(gòu)程序設(shè)計(jì)舉例第2頁/共50頁2023/1/1744.1C語句概述程序包括數(shù)據(jù)描述(由聲明部分來實(shí)現(xiàn))和數(shù)據(jù)操作(由語句來實(shí)現(xiàn))。數(shù)據(jù)描述包括定義數(shù)據(jù)結(jié)構(gòu)和在需要時(shí)對(duì)數(shù)據(jù)賦予初值。數(shù)據(jù)操作的任務(wù)是對(duì)已提供的數(shù)據(jù)進(jìn)行加工。主要內(nèi)容:說明性語句表達(dá)式語句控制語句空語句復(fù)合語句函數(shù)調(diào)用語句第3頁/共50頁2023/1/1751、控制語句控制語句包括以下三類:(1).選擇分支控制語句

if()…else…(條件語句) switch(){…} (多分支選擇結(jié)構(gòu))(2).循環(huán)控制語句

for()… (循環(huán)語句)while()…(循環(huán)語句)do…while()(循環(huán)語句)(3).其他控制語句

Break(終止執(zhí)行switch或循環(huán)語句)Continue(結(jié)束本次循環(huán)語句)Goto(轉(zhuǎn)向語句)Return(從函數(shù)返回語句)第4頁/共50頁2023/1/1762、說明性語句對(duì)程序中使用的變量、數(shù)組、函數(shù)等操作對(duì)象進(jìn)行定義、聲明的描述語句只起說明作用,不產(chǎn)生可執(zhí)行的機(jī)器指令代碼。

例如:inta,b;

floatfunction(int,int);C程序由函數(shù)組成。函數(shù)的格式:函數(shù)名(參數(shù)表){

說明部分;執(zhí)行部分;}數(shù)據(jù)類型說明語句可執(zhí)行語句第5頁/共50頁2023/1/177表達(dá)式語句由表達(dá)式加一個(gè)分號(hào)構(gòu)成。x=3;y=y+5;x=a-b&&c||d;printf("x=%d,y=%d\n",x,y);sort(a,10);賦值語句函數(shù)調(diào)用語句注意:

1、賦值語句(a=3;)有賦值表達(dá)式(a=3)構(gòu)成。2、分號(hào)是語句必不可少的一部分3、單獨(dú)的一個(gè)分號(hào)“;”構(gòu)成一個(gè)空語句例如:;(空語句,是最簡單的C語句)3、表達(dá)式語句第6頁/共50頁2023/1/1784、空語句只有一個(gè)分號(hào)的語句,叫空語句。即它什么也不做。有時(shí)用來作流程的轉(zhuǎn)向點(diǎn)(流程從程序其它地方轉(zhuǎn)到此處語句),也可以用來作為循環(huán)語句中的循環(huán)體(循環(huán)體是空語句,表示循環(huán)體什么也不做)。第7頁/共50頁2023/1/1795、復(fù)合語句用一對(duì)花括號(hào)“{}”括起來的若干條語句

花括號(hào)中可以是說明語句、表達(dá)式語句、控制語句,也可以是復(fù)合語句例如:⑴if(a>b){max=a;min=b;}

⑵for(n=1;n<10;n++)

{p=n+p;if(p>=100)

{

printf(“%d\n”,p);break;

}

}

第8頁/共50頁2023/1/17105、復(fù)合語句(續(xù))復(fù)合語句中如果有說明性語句,應(yīng)該寫在可執(zhí)行語句的前面例如:

main(){inta,b;a=b=100;{floatc=10.23;printf("%f\n",c);}printf("%d%d\n",a,b);}要特別注意:花括號(hào)的配對(duì)花括號(hào)的位置C語言學(xué)習(xí)的難點(diǎn)之一第9頁/共50頁2023/1/17116、函數(shù)調(diào)用語句函數(shù)調(diào)用語句由一個(gè)函數(shù)用加一個(gè)分號(hào)構(gòu)成,例如:

printf(“ThisisaCsatatement.”);此語句調(diào)用輸出函數(shù)。注意:C語言允許一行寫幾個(gè)語句,也允許一個(gè)語句拆開寫在幾行上,書寫格式無固定要求。第10頁/共50頁2023/1/17124.2賦值語句賦值語句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成。C語言的賦值語句具有其它高級(jí)語言的賦值語句的一切特點(diǎn)和功能。但也有和其它高級(jí)語言不同的地方,其區(qū)別主要為:(1)C語言中的賦值號(hào)“=”是一個(gè)運(yùn)算符,在其它大多數(shù)語言中賦值號(hào)不是運(yùn)算符。(2)關(guān)于賦值表達(dá)式與賦值語句的概念,在其它多數(shù)高級(jí)語言中沒有“賦值表達(dá)式”這一概念。例如:書71頁例題。第11頁/共50頁2023/1/17134.3數(shù)據(jù)輸入輸出的概念及在C語言中的實(shí)現(xiàn)數(shù)據(jù)輸入輸出應(yīng)注意以下幾點(diǎn):(1)所謂的輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的。(2)C語言本身不提供輸入輸出語句,輸入輸出是由C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的。(3)在使用系統(tǒng)庫函數(shù)時(shí),要用預(yù)編譯命令“#include”將有關(guān)的“頭文件”包括到用戶源文件中。第12頁/共50頁2023/1/17144.4字符數(shù)據(jù)的非格式化輸入輸出對(duì)于字符類型的數(shù)據(jù)輸入/輸出,可以通過調(diào)用C語言其他的庫函數(shù)來實(shí)現(xiàn),這些庫函數(shù)在實(shí)現(xiàn)字符型數(shù)據(jù)的輸入/輸出時(shí)不能夠?qū)斎?輸出進(jìn)行格式控制,也就是說,它們的輸入/輸出是系統(tǒng)規(guī)定好了的,沒法改變,所以稱之為字符數(shù)據(jù)的非格式化輸入/輸出。4.4.1putchar函數(shù)putchar函數(shù)(字符輸出函數(shù))的作用是向終端輸出一個(gè)字符(只能輸出字符,而且只能是一個(gè)字符)。其一般形式為:Putchar(c)它輸出字符變量c的值,c可以是字符型變量或整型變量。例題:書73頁。例4.1第13頁/共50頁2023/1/1715函數(shù)調(diào)用的一般形式

putchar(ch)功能:在標(biāo)準(zhǔn)輸出設(shè)備(即顯示器屏幕)上輸出一個(gè)字符。例如:putchar('b');putchar('\n');putchar('\101');putchar(st);第14頁/共50頁2023/1/1716說明1putchar是C語言的標(biāo)準(zhǔn)庫函數(shù),使用時(shí)必須加編譯預(yù)處理命令:#include"stdio.h"

#include<stdio.h>【例3.1】利用putchar函數(shù)輸出字符。#include"stdio.h"

main(){charc1,c2;c1='a';c2='b';putchar(c1);putchar(c2);putchar('\n');putchar(c1-32);putchar(c2-32);putchar('\n');}也可改為c1=97;c2=98;

輸出結(jié)果:abAB例jc3_1第15頁/共50頁2023/1/17174.4.2getchar函數(shù)getchar函數(shù)(字符輸入函數(shù))的作用是從終端(或者是系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。getchar函數(shù)沒有參數(shù),其一般形式為getchar()。函數(shù)的值就是從輸入設(shè)備得到的字符。注意:getchar函數(shù)只能接受一個(gè)字符。getchar函數(shù)得到的字符可以賦給一個(gè)字符變量或整型變量,也可以不賦給任何變量,作為表達(dá)式的一部分。例題:書74頁例題4.2第16頁/共50頁2023/1/1718說明:getchar是C語言的標(biāo)準(zhǔn)庫函數(shù),使用時(shí)必須加編譯預(yù)處理命令:#include"stdio.h"

#include<stdio.h>getchar函數(shù)需要交互輸入,接收到輸入字符之后才繼續(xù)執(zhí)行程序。連續(xù)使用getchar函數(shù)時(shí),要注意字符的輸入形式,例如執(zhí)行如下程序段:charch1,ch2;ch1=getchar();ch2=getchar();必須連續(xù)輸入兩個(gè)字符,中間不能有其他字符第17頁/共50頁2023/1/1719【例】getchar函數(shù)的應(yīng)用。

#include"stdio.h"main(){charch;ch=getchar();printf("%c%d\n",ch,ch);printf("%c%d\n",ch-32,ch-32);}程序運(yùn)行時(shí)輸入:m

并按回車鍵后輸出結(jié)果是:m109M77例jc3_8第18頁/共50頁2023/1/17204.5格式輸入與輸出1、Printf函數(shù)稱為格式化輸出函數(shù),其關(guān)鍵字最末個(gè)字母f即為“格式”(Format)之意。Printf函數(shù)的功能絕非只是輸出變量的值,它還可以輸出表達(dá)式的值,并且可以同時(shí)輸出多個(gè)表達(dá)式和變量的值。Printf函數(shù)的一般格式為:Printf(“格式控制”,輸出列表)功能:按格式控制所指定的格式,在標(biāo)準(zhǔn)輸出設(shè)備上輸出參數(shù)2、…、參數(shù)n的值。例如有程序段:inta=123,b=100;printf("%d%d%d\n",a,b,a+b);printf("c=%d+%d=%d\n",a,b,a+b);第19頁/共50頁2023/1/1721格式控制用雙引號(hào)括起的字符串,用于指定輸出數(shù)據(jù)的類型、格式、個(gè)數(shù)包括:普通字符和格式說明符照原樣輸出

printf("c=%d+%d=%d\n",a,b,a+b);格式說明符:指定輸出3個(gè)十進(jìn)制整型數(shù),分別為變量a、b、a+b的值第20頁/共50頁2023/1/1722例如:Printf(“%d,%c\n”,i,c)其中括號(hào)包括兩部分:(1)格式控制用于指定輸出格式,用雙撇號(hào)括起來。它包含如下所示的兩類字符:格式說明。以%開頭的一個(gè)或多個(gè)字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。如,%d、%f等。其中,%后面的d和f被稱為格式轉(zhuǎn)換字符。普通字符。即需要原樣輸出的字符。如書68頁習(xí)題3.6(2)輸出表列是需要輸出的一些數(shù)據(jù),可以是表達(dá)式。如:a=3,b=4Printf(“a=%db=%d”,a,b)

格式說明輸出表列則輸出結(jié)果為:a=3b=4。其中,a=和b=是Printf函數(shù)中的“格式控制”字符串中的普通字符按原樣輸出的結(jié)果。第21頁/共50頁2023/1/17232、格式字符在輸出時(shí),對(duì)不同類型的數(shù)據(jù)要使用不同的格式字符。常用的有以下幾種格式字符。(1)d格式符。用來輸出十進(jìn)制整數(shù)。有以下幾種用法:%d。按十進(jìn)制整型數(shù)據(jù)的實(shí)際長度輸出。%md。m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。如:printf(“%4d,%4d”,a,b),若a=123,b=12345,則輸出結(jié)果為:123,12345第22頁/共50頁2023/1/1724%ld。輸出長整型數(shù)據(jù)。例如:Longa=135790;Printf(“%ld”,a);如果用%d輸出,就會(huì)發(fā)生錯(cuò)誤,因?yàn)檎蛿?shù)據(jù)的范圍為-32768-32767。對(duì)于long型數(shù)據(jù)應(yīng)當(dāng)用%1d格式輸出。對(duì)長整型數(shù)據(jù)也可以指定字段寬度,如將上面printf函數(shù)中的“%1d”改為“%8d”,則輸出為

__135790第23頁/共50頁2023/1/1725(2)o格式符。以八進(jìn)制整數(shù)形式輸出。由于是將內(nèi)存單元匯總的各位的值(0或1)按八進(jìn)制形式輸出,因此輸出的數(shù)值補(bǔ)帶符號(hào),即將符號(hào)位也一起作為八進(jìn)制數(shù)的一部分輸出。例如:Inta=-1;Printf(“%d,%o”,a,a);則輸出結(jié)果為:-1,177777(3)x格式符。以十六進(jìn)制數(shù)形式輸出整數(shù)。同樣不會(huì)出現(xiàn)負(fù)的十六進(jìn)制數(shù)。例如:

inta=-1;printf(“%x,%o,%d”,a,a,a)則輸出結(jié)果為:ffff,177777,-1第24頁/共50頁2023/1/1726(4)u格式符。用來輸出unsigned型數(shù)據(jù),即無符號(hào)數(shù),以十進(jìn)制整數(shù)形式輸出。一個(gè)有符號(hào)整數(shù)型也可以用%u格式輸出;反之,一個(gè)unsigned型數(shù)據(jù)也可以用%d格式輸出。按相互賦值的規(guī)則處理,unsigned型數(shù)據(jù)也可用%o或%x格式輸出。例題:書77頁4.3。(5)c格式符。用來輸出一個(gè)字符。例如:charc=‘a(chǎn)’;printf(“%c”,c);輸出字符‘a(chǎn)’。注意:%后面的c是格式符,逗號(hào)右邊的c是變量名。一個(gè)整數(shù),只要它的值在0-255范圍內(nèi),也可以用“%”使之按字符形式輸出,在輸出前,系統(tǒng)將該整數(shù)作為ASCII碼轉(zhuǎn)換成相應(yīng)的字符;反之,一個(gè)字符數(shù)據(jù)也可以用整數(shù)行數(shù)輸出。書78頁4.4第25頁/共50頁2023/1/1727(6)s格式符,用來輸出一個(gè)字符串。有幾種用法:%s。例如:printf(“%s”,“CHINA”);輸出字符串“CHINA”(不包括雙引號(hào))。%ms,輸出的字符串占m列,如字符串本身長度大于m,則突破m的限制,將字符串全部輸出。若字符串長小于m,則左補(bǔ)空格。%-ms,如果串長小于m,則在m列范圍內(nèi),字符串向左靠,右補(bǔ)空格。%m.ns,輸出占m列,但只取字符串中左端n個(gè)字符。這n個(gè)字符輸出在m列的右側(cè),左補(bǔ)空格。%-m.ns,其中m,n含義同上,n個(gè)字符輸出在m列范圍的左側(cè),右補(bǔ)空格。如果n>m,則m自動(dòng)取n值,即保證n個(gè)字符正常輸出。書78頁例題4.5第26頁/共50頁2023/1/1728(7)f格式符。用來輸出實(shí)數(shù)(包括單/雙精度),以小數(shù)形式輸出。有以下幾種:%f,不指定字段寬度,由系統(tǒng)自動(dòng)指定,使整數(shù)部分全部輸出,并輸出6位小數(shù)。應(yīng)當(dāng)注意,在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字。單精度實(shí)數(shù)的有效位數(shù)一般為7位。書79頁例題4.6、4.7。%m.nf,指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,則左端補(bǔ)空格。%-m.nf與%m.ns基本相同,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。例題4.8第27頁/共50頁2023/1/1729(8)e格式符。以指數(shù)形式輸出實(shí)數(shù)??捎靡韵滦问剑?e,不指定輸出數(shù)據(jù)所占的寬度和數(shù)字部分的小數(shù)位數(shù),有的C編譯系統(tǒng)自動(dòng)指定給出數(shù)字部分的小數(shù)位數(shù)為6位,指數(shù)部分占5位(如e+002),其中”e”占1位,指數(shù)符號(hào)占1位,指數(shù)占3位。數(shù)值按規(guī)范化指數(shù)形式輸出(即小數(shù)點(diǎn)前必須有而且只有一位非零數(shù)字)。例如:Printf(“%e”,123.456);則輸出為:1.234560e+002所輸出的實(shí)數(shù)共占13列。(不同系統(tǒng)的規(guī)定略有不同。)第28頁/共50頁2023/1/1730%m.ne和%-m.ne,m、n和”-”字符的含義與前面相同。此處n指擬輸出的數(shù)據(jù)的小數(shù)部分(又稱尾數(shù))的小數(shù)位數(shù)。書80頁例題(9)g格式符,用來輸出實(shí)數(shù),它根據(jù)數(shù)值的大小,自動(dòng)選f格式或e格式(選擇輸出時(shí)寬度較小的一種),且不輸出無意義的零。第29頁/共50頁2023/1/1731注意:對(duì)使用printf函數(shù)還要說明以下幾點(diǎn):(1)除了X,E,F外,其他格式字符必須用小寫字母,如%d不能寫成%D.(2)可以在printf函數(shù)中的“格式控制”字符串內(nèi)包含轉(zhuǎn)義字符。(3)格式說明以”%”開頭,中間可以插入附加格式字符(也稱為修飾符)。其他的字符原樣輸出。如66頁習(xí)題3.6(4)如果想輸出字符”%”,則應(yīng)該在“格式控制”字符串中用連續(xù)兩個(gè)%表示。如,printf(“%f%%”,1.0/3);輸出0.333333%(5)printf函數(shù)格式控制中的格式說明符與輸出參數(shù)的個(gè)數(shù)和類型必須一一對(duì)應(yīng)。(6)長整型數(shù)應(yīng)該用%ld(或%lo、%lx、%lu)格式輸出,否則會(huì)出現(xiàn)輸出錯(cuò)誤。(7)printf函數(shù)的參數(shù)可以是常量、變量或表達(dá)式。在計(jì)算各參數(shù)值時(shí),TurboC采用從右至左的順序求值。第30頁/共50頁2023/1/1732輸出格式說明符整型數(shù)據(jù)

%d以有符號(hào)十進(jìn)制形式輸出整型數(shù)%o以無符號(hào)八進(jìn)制形式輸出整型數(shù)%x以無符號(hào)十六進(jìn)制形式輸出整型數(shù)%u以無符號(hào)十進(jìn)制形式輸出整型數(shù)實(shí)型數(shù)據(jù)

%f以小數(shù)形式輸出實(shí)型數(shù)%e以指數(shù)形式輸出實(shí)型數(shù)%g按數(shù)值寬度最小的形式輸出實(shí)型數(shù)字符型數(shù)據(jù)

%c輸出一個(gè)字符%s輸出字符串其他

%%輸出字符%本身在%和格式符之間可以使用附加說明符第31頁/共50頁2023/1/1733附加格式說明符l輸出長整型數(shù)(只可與d、o、x、u結(jié)合用)m指定數(shù)據(jù)輸出的寬度(即域?qū)挘?n對(duì)實(shí)型數(shù)據(jù),指定輸出n位小數(shù);對(duì)字符串,指定左端截取n個(gè)字符輸出+使輸出的數(shù)值數(shù)據(jù)無論正負(fù)都帶符號(hào)輸出-使數(shù)據(jù)在輸出域內(nèi)按左對(duì)齊方式輸出整數(shù)位數(shù)+小數(shù)位數(shù)+小數(shù)點(diǎn)自動(dòng)對(duì)n位后小數(shù)四舍五入

例如:%ld——輸出十進(jìn)制長整型數(shù)%m.nf——右對(duì)齊,m位域?qū)挘琻位小數(shù)或n個(gè)字符%-m.nf——左對(duì)齊第32頁/共50頁2023/1/1734例題:整型數(shù)據(jù)的輸出main(){inta=11,b=22;intm=-1;longn=123456789;printf("%d%d\n",a,b);printf("a=%d,b=%d\n",a,b);printf("m:%d,%o,%x,%u\n",m,m,m,m);printf(“n=%d\n”,n);printf("n=%ld\n",n);}程序輸出:1122a=11,b=22m:-1,177777,ffff,65535n=-13035(錯(cuò)誤)超出范圍n=123456789例jc3_a第33頁/共50頁2023/1/1735例實(shí)型數(shù)據(jù)的輸出main(){floatx=1234.56,y=1.23456789;doublez=1234567.123456789;printf("x=%f,y=%f\n",x,y);printf("z=%f\n",z);printf("z=%e\n",z);printf("z=%g\n",z);printf("z=%18.8f\n",z);printf("x=%10.3f\n",x);printf("x=%-10.3f\n",x);printf("x=%4.3f\n\n",x);}程序輸出:x=1234.560059,y=1.234568z=1234567.123457z=1.234567e+006z=1234567z=1234567.12345679x=1234.560x=1234.560x=1234.560(按實(shí)際長度輸出)例jc3_b第34頁/共50頁2023/1/1736例字符型數(shù)據(jù)的輸出main(){intm=97;charch='B';printf("m:%d%c\n",m,m);printf("ch:%d%c\n",ch,ch);printf("%s\n","student");printf("%10s\n","student");printf("%-10s\n","student");printf("%10.3s\n","student");printf("%.3s\n\n","student");}程序輸出:m:97ach:66Bstudentstudentstudentstustu例jc3_c第35頁/共50頁2023/1/17374.5.2scanf函數(shù)C語言中具有基本數(shù)據(jù)輸入功能的庫函數(shù)是scanf函數(shù)。scanf函數(shù)稱為格式化輸入函數(shù),其關(guān)鍵字最末一個(gè)字母f即為“格式”(Format)之意。也就是說,它可以按照某種輸入格式通過鍵盤將數(shù)據(jù)信息輸入到計(jì)算機(jī)。它的函數(shù)原型在頭文件stdio.h中。scanf函數(shù)調(diào)用的一般形式為:scanf(“格式控制字符串”,變量1的地址,變量2的地址,。。。。。,變量n的地址);功能是在第一個(gè)參數(shù)格式控制字符串的控制下,接受用戶的鍵盤輸入,并將輸入的數(shù)據(jù)依次存放在變量1、變量2、。。。、變量n中。例如:inta;scanf(“%d”,&a);就是接受用戶通過鍵盤輸入的整數(shù),并將數(shù)據(jù)存放在int型的變量a中。其中,&符號(hào)的功能是取變量的地址。第36頁/共50頁2023/1/1738格式控制字符串用雙引號(hào)括起的字符串,用于指定輸入數(shù)據(jù)的類型、格式、個(gè)數(shù)以及輸入的形式

包括:普通字符和格式說明符照原樣輸入

scanf("a=%d,b=%d",&a,&b);格式說明符:指定輸入2個(gè)十進(jìn)制整型數(shù)賦給變量a和b第37頁/共50頁2023/1/1739scanf("%d%d%d",&a,&b,&c);

輸入3個(gè)整型十進(jìn)制數(shù),以空白符(空格、tab鍵或回車鍵)分隔

scanf("%d,%o,%f",&a,&b,&x);

輸入3個(gè)數(shù),以“,”分隔scanf("a=%d,b=%d",&a,&b);

輸入的形式是:a=32,b=28(普通字符要照原樣輸入)第38頁/共50頁2023/1/1740(1)在C語言中,變量一經(jīng)定義,程序運(yùn)行時(shí)系統(tǒng)就會(huì)給變量分配相應(yīng)大小的內(nèi)存單元,每個(gè)內(nèi)存單元都有與之相對(duì)應(yīng)的內(nèi)存地址,即變量的地址,變量名通常被用來表示該變量在其內(nèi)存單元的值,要獲得變量的地址(變量所在內(nèi)存單元的地址),需要在變量名前面加上&符號(hào)。因此,&又被稱為取地址運(yùn)算符(與按位與運(yùn)算符是同一個(gè)符號(hào)),它與++等運(yùn)算符具有相同的優(yōu)先級(jí)。(2)&只能作用于變量,不能作用與表達(dá)式,因?yàn)楸磉_(dá)式不對(duì)應(yīng)具體的內(nèi)存單元,沒有地址,只有值。例如:&(a+1)是錯(cuò)誤的。第39頁/共50頁2023/1/1741輸入格式說明符整型數(shù)據(jù)

%d輸入十進(jìn)制整型數(shù)%u輸入無符號(hào)的十進(jìn)制整型數(shù)%o輸入八進(jìn)制整型數(shù)%x輸入十六進(jìn)制整型數(shù)實(shí)型數(shù)據(jù)

%f輸入小數(shù)形式的單精度實(shí)型數(shù)%e輸入指數(shù)形式的單精度實(shí)型數(shù)字符型數(shù)據(jù)

%c輸入單個(gè)字符%s輸入一個(gè)字符串在%和格式符之間可以使用附加說明符第40頁/共50頁2023/1/1742附加格式說明符l與d、o、x、u結(jié)合輸入長整型數(shù)與f結(jié)合輸入double型數(shù)m指定數(shù)據(jù)輸入的寬度(即域?qū)挘?忽略讀入的數(shù)據(jù)(即不將讀入數(shù)據(jù)賦給相應(yīng)變量)例如:%ld、%lo——輸入十進(jìn)制、八進(jìn)制長整型數(shù)%lf、%le——輸入雙精度實(shí)型數(shù)%mf——輸入m位數(shù)(域?qū)挘?*d——忽略輸入的一個(gè)整型數(shù)對(duì)float和double型指整數(shù)位數(shù)+小數(shù)點(diǎn)+小數(shù)位數(shù)第41頁/共50頁2023/1/1743例如:scanf("%d%d%d",&a,&b,&c);

輸入3個(gè)整型十進(jìn)制數(shù),以空白符(空格、tab鍵或回車鍵)分隔

scanf("%d,%o,%f",&a,&b,&x);

輸入3個(gè)數(shù),以“,”分隔scanf("a=%d,b=%d",&a,&b);

輸入的形式是:a=32,b=28(普通字符要照原樣輸入)書82頁例題4.9第42頁/共50頁2023/1/1744使用scanf函數(shù)應(yīng)注意:要求在程序運(yùn)行中輸入數(shù)據(jù),輸入的數(shù)據(jù)個(gè)數(shù)和類型必須與格式說明符一一對(duì)應(yīng)。地址參數(shù)形式:&變量名(除數(shù)組或指針變量)格式控制中有普通字符時(shí),必須照原樣輸入。格式控制中無普通字符時(shí),輸入的數(shù)值型數(shù)據(jù)和字符串用空白符分隔,字符型數(shù)據(jù)不必分隔。double型數(shù)據(jù)輸入時(shí),必須用%lf或%le格式實(shí)型數(shù)輸入時(shí)域?qū)挷荒苡胢.n形式的附加說明為了減少不必要的輸入量,除了逗號(hào)、分號(hào)、空格符以外,格式控制中盡量不要出現(xiàn)普通字符,也不要使用

'\n'

、'\t'

等轉(zhuǎn)義字符第43頁/共50頁2023/1/17

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論