順序程序設計講解學習_第1頁
順序程序設計講解學習_第2頁
順序程序設計講解學習_第3頁
順序程序設計講解學習_第4頁
順序程序設計講解學習_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

順序程序設計注意:聲明部分的內(nèi)容不產(chǎn)生機器操作,因此不是語句源程序文件1數(shù)據(jù)聲明函數(shù)首部函數(shù)體函數(shù)1源程序文件i源程序文件nC程序數(shù)據(jù)聲明執(zhí)行語句預處理命令函數(shù)n4.1C語句概述C程序結構2023/1/132語句的作用C的函數(shù)包括聲明部分和執(zhí)行部分,執(zhí)行部分由語句構成語句的作用是經(jīng)編譯后產(chǎn)生若干條機器指令,指揮機器執(zhí)行相應的操作2023/1/133語句的分類(P57-59)控制語句函數(shù)調(diào)用語句表達式語句空語句復合語句(又稱語句塊)2023/1/134復合語句例 if(x>y){ z=x+y;

t=z/100;

printf(“%f”,t); }注意:復合語句中最后一個語句后面的分號不能省略2023/1/1354.2賦值語句賦值語句是由賦值表達式加一個分號構成注意區(qū)別賦值表達式和賦值語句 一個表達式中可以包含一個或多個賦值表達式,但不能包含賦值語句 例: if((a=b)>0)t=a; √if((a=b;)>0)t=a; × if的條件中是表達式,不能包含賦值語句2023/1/1364.3數(shù)據(jù)的輸入輸出所謂輸入輸出是以計算機為主體而言C語言不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來實現(xiàn)的C不提供輸入輸出語句的原因(P67)標準輸入輸出函數(shù):printf(),scanf(),putchar(),getchar(),puts(),gets()等在使用系統(tǒng)庫函數(shù)時,要用到預處理命令“#include”將有關的頭文件包括到源文件中

#include<stdio.h>或#include“stdio.h”2023/1/1374.3.1用printf函數(shù)輸出數(shù)據(jù)作用:向標準終端設備以指定格式輸出數(shù)據(jù)形式:printf(格式控制,輸出表列)

例:printf(“%d,%c\n”,i,c)格式控制:是用雙引號括起來的字符串,包含兩種信息格式聲明,由“%”和格式字符組成,格式聲明總是由“%”字符開始普通字符,即需要原樣輸出的字符輸出表列:是需要輸出的一些數(shù)據(jù),可以是常量、變量或表達式一般形式:printf(參數(shù)1,參數(shù)2,…參數(shù)n)2023/1/138格式字符(P74表)d格式符

o格式符

x格式符

u格式符

c格式符

s格式符

f格式符

e格式符

g格式符2023/1/139d格式符%d 以十進制有符號形式輸出整型數(shù)據(jù)%md m為指定的輸出字段的寬度 例:a=123;d=12345;printf(“%4d,%4d”,a,b);%ld 輸出長整型數(shù)據(jù)

例:longa=135790;printf(“%ld”,a);

對長整型數(shù)據(jù)也可以制定字段寬度 例:printf(“%8ld”,a);2023/1/1310o格式符和x格式符%o 以八進制無符號形式輸出整數(shù)(不輸出前導符0) 例:inta=-1;printf(“%d,%o”,a,a);

輸出結果為:-1,37777777777%lo 輸出長整型數(shù)據(jù),同樣可以加字段寬度%x(與%o類似)以十六進制無符號形式輸出整數(shù)(不輸出前導符0x) 例:inta=-1;printf(“%x,%d,%o”,a,a,a);

輸出:-1,37777777777,ffffffff2023/1/1311#include<stdio.h>intmain()

{ inta=-1; unsignedintb=4294967295;

printf("a=%d,%o,%x,%u\n",a,a,a,a);

printf("b=%d,%o,%x,%u\n",b,b,b,b);

return0;}運行結果:a=-1,37777777777,ffffffff,4294967295

b=-1,37777777777,ffffffff,4294967295u格式符%u 以十進制無符號形式輸出整數(shù)一個有符號整數(shù)也可以用%u格式輸出;反之,一個unsigned也可以用%d、%o、%x格式輸出2023/1/1312%c 輸出一個字符可以指定輸出域寬整數(shù)也可以用%c格式輸出,系統(tǒng)自動取最后一個字節(jié)的信息以字符形式輸出(P71圖3.18);反之,一個字符數(shù)據(jù)也可以用整數(shù)格式(%d、%o、%x)輸出c格式符2023/1/1313#include<stdio.h>intmain()

{printf("%3s,%7.2s,%.4s,%-5.3s\n","china","china","china","china");return0;}%s 輸出一個字符串%ms%-ms%m.ns%-m.ns輸出如下:china,□□□□□ch,chin,chi□□s格式符2023/1/1314以小數(shù)形式輸出實數(shù)(包括單、雙精度數(shù))%f 整數(shù)部分全部輸出,并輸出6位小數(shù)(并非全部數(shù)據(jù)都是有效數(shù)字)%m.nf 指定域寬及小數(shù)位數(shù)%-m.nf#include<stdio.h>intmain()

{floatf=123.456;

printf("%f,%10f,%10.2f,%.2f,%-10.2f\n",f,f,f,f,f);return0;}輸出如下:

123.456001,123.456001,□□□□123.46,123.46,123.46□□□□f格式符2023/1/1315輸出double型數(shù)據(jù)例#include<stdio.h>intmain(){ doublea=1.0;

printf("%f,%20.15f,%55.50f\n",a/3,a/3,a/3); printf("%8.0f\n",a/3); return0;}//當小數(shù)部分被指定為0時,小數(shù)和小數(shù)點都不輸出2023/1/1316e格式符以標準化指數(shù)形式輸出實數(shù)(小數(shù)點前必須有而且只有1位非零數(shù)字)%e TC給出5位小數(shù),指數(shù)部分4位(“e”占1位,指數(shù)符號占1位,指數(shù)占2位);VC給定6位小數(shù),指數(shù)部分占5位,指數(shù)占3位%m.ne和%-m.ne n的含義VC和TC不同,VC中n代表小數(shù)點后面的小數(shù)位數(shù),而TC中n包括小數(shù)點在內(nèi)的小數(shù)位數(shù)2023/1/1317輸出:123.400002,1.234000e+002,123.4g格式符自動選擇f格式或e格式中較短的一種來輸出實數(shù),且不輸出無意義的0

例:floatf=123.4;printf("%f,%e,%g",f,f,f);2023/1/1318注意事項輸出對象的類型應與格式控制字符匹配除X,E,G外,其他格式字符必須用小寫字母可以在printf()函數(shù)中的“格式控制”字符串內(nèi)包含“轉義字符”,如:”\n”,”\t”等一個格式聲明以“%”開頭,以d、o、x、u、c、s、f、e、g等字符之一結束,中間可以插入附加格式字符,如:字符”l”等(P74表3.7)如果想輸出字符“%”,則應該在“格式控制”字符串中用連續(xù)兩個%表示,例

printf("%f%%",1.0/3);2023/1/13194.3.2用scanf函數(shù)輸入數(shù)據(jù)形式:scanf(格式控制,地址列表)格式控制:含義同printf函數(shù)(P76)地址列表:是由若干地址組成的列表,可以是變量的地址,或字符串的首地址2023/1/1320scanf函數(shù)例#include<stdio.h>intmain(){ inta,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d,%d,%d\n",a,b,c); return0;}2023/1/1321注意事項“格式控制”后面應是變量地址,而不是變量名 上例若改為scanf(“%d%d%d”,a,b,c);則會出錯連續(xù)輸入多個數(shù)據(jù)時,數(shù)值之間的分隔符應是一個或多個空白字符(空格,<Tab>鍵和<Enter>鍵),輸入結束時按<Enter>鍵2023/1/1322注意事項當輸入格式控制字符串中有非格式控制字符做分隔時,應將這些字符照原樣輸入(系統(tǒng)會做對照檢查),否則會出錯#include<stdio.h>intmain(){ inti,j; scanf("i=%d,j=%d",&i,&j); printf("ii=%d,jj=%d\n",i,j); return0; }2023/1/1323輸入字符型數(shù)據(jù)時,字符之間不需要分隔符,空白字符及轉義字符都被作為有效字符輸入輸入數(shù)據(jù)時,何時認為結束輸入最后數(shù)據(jù)并遇到<Enter>鍵非法輸入并遇到<Enter>鍵(P77-78例)scanf(“%c%c%c”,&c1,&c2,&c3);若輸入a□b□c則’a’->c1,□->c2,’b’->c3正確的方法是輸入abc注意事項2023/1/1324注意事項輸入:123456789結果:123=>a 456=>b ’7’=>ch可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動截取所需數(shù)據(jù)

scanf(“%3d%3d”,&a,&b);scanf(“%3c”,&ch);2023/1/1325注意事項輸入:12□345□67

結果:12=>a67=>b%后的“*”附加說明符被稱為抑制符,用來表示跳過它相應的數(shù)據(jù)

scanf(“%2d%*3d%2d”,&a,&b);輸入數(shù)據(jù)時,不能規(guī)定精度

例:scanf(“%7.2f”,&a);是不合法的2023/1/13264.3.3字符數(shù)據(jù)的輸入輸出putchar函數(shù):字符輸出函數(shù)

putchar(c)/*c可以是字符型或整型數(shù)據(jù)*/getchar函數(shù):字符輸入函數(shù)

此函數(shù)沒有參數(shù),其一般形式為:getchar()2023/1/1327字符輸出例 #include<stdio.h>

intmain()

{ chara,b,c;

a=‘B’;b=‘O’;c=‘Y’;

putchar(a);putchar(b);putchar(c);

putchar(‘\n’);

putchar(‘\101’);putchar(‘\\’); putchar(‘\x61’); return0; }

運行結果是:BOY

A\a2023/1/1328字符輸入例#include<stdio.h>intmain() //注意P80說明{ chara,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); //putchar(getchar()); putchar(b);//printf(“%c”,getchar()); putchar(c); return0;}2023/1/13294.4順序程序設計舉例例1輸入三角形邊長,求面積例2從鍵盤輸入大寫字母,用小寫字母輸出例3求ax2+bx+c=0方程的根2023/1/1330#include<math.h>#include<stdio.h>intmain(){floata,b,c,l,area;scanf("%f,%f,%f",&a,&b,&c);l=1.0/2*(a+b+c);area=sqrt(l*(l-a)*(l-b)*(l-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,l=%7.2f\n",a,b,c,l);printf("area=%7.2f\n",area);return0;}例1輸入三角形邊長,求面積文件包含預處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)運行情況如下:

3,4,6

a=□□□3.00,b=□□□4.00,c=□□□6.00,l=□□□6.50

area=□□□5.332023/1/1331例2從鍵盤輸入大寫字母,用小寫字母輸出#include<stdio.h>intmain(){charc1,c2;

溫馨提示

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

評論

0/150

提交評論