簡(jiǎn)單的C程序設(shè)計(jì)_第1頁(yè)
簡(jiǎn)單的C程序設(shè)計(jì)_第2頁(yè)
簡(jiǎn)單的C程序設(shè)計(jì)_第3頁(yè)
簡(jiǎn)單的C程序設(shè)計(jì)_第4頁(yè)
簡(jiǎn)單的C程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

簡(jiǎn)單的C程序設(shè)計(jì)第一頁(yè),共39頁(yè)。內(nèi)容提要C語(yǔ)句分類表達(dá)式語(yǔ)句復(fù)合語(yǔ)句和空語(yǔ)句的作用基本輸入/輸出操作的實(shí)現(xiàn)第二頁(yè),共39頁(yè)。C語(yǔ)言中的語(yǔ)句變量聲明語(yǔ)句

intx,y;表達(dá)式語(yǔ)句

i++;i=i+1;空語(yǔ)句

;復(fù)合語(yǔ)句

{t=x;x=y;y=t;}控制語(yǔ)句(參見教材P49)第三頁(yè),共39頁(yè)。復(fù)合語(yǔ)句的作用if(x>y){t=x;x=y;y=t;}被當(dāng)作一條語(yǔ)句來處理,這部分將在以后的實(shí)際應(yīng)用中,再進(jìn)一步說明。在什么情況下使用復(fù)合語(yǔ)句?

由于條件語(yǔ)句和循環(huán)語(yǔ)句在語(yǔ)法上只允許帶一條語(yǔ)句,而要處理的操作往往需要多條語(yǔ)句才能完成,此時(shí)可用復(fù)合語(yǔ)句解決該問題。

第四頁(yè),共39頁(yè)。例3.1本程序用于演示在復(fù)合語(yǔ)句中聲明的變量只能在復(fù)合語(yǔ)句中使用。In:a=1Out:a=0#include<stdio.h>main(){ inta=0;

{

inta=1;

printf("In:a=%d\n",a); }

printf("Out:a=%d\n",a);}第五頁(yè),共39頁(yè)??照Z(yǔ)句的作用main(){DataInitialze();DataProcess();DataOutput();}DataInitialze(){;}空語(yǔ)句有什么作用?自頂向下程序設(shè)計(jì)時(shí)用在那些未完成的模塊中延時(shí)用的空循環(huán)第六頁(yè),共39頁(yè)。數(shù)據(jù)輸入/輸出的概念

輸入:從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計(jì)算機(jī)內(nèi)存

輸出:將計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出設(shè)備C語(yǔ)言中輸入/輸出操作通過調(diào)用標(biāo)準(zhǔn)輸入/輸出庫(kù)函數(shù)來實(shí)現(xiàn),使用這些函數(shù)時(shí),要在程序的開始位置加上如下一行命令:

#include<stdio.h>

第七頁(yè),共39頁(yè)。字符輸入輸出函數(shù)字符輸出函數(shù)

格式:putchar(ch)

作用:輸出一個(gè)字符ch字符輸入函數(shù)

格式:getchar()

作用:函數(shù)值為從輸入設(shè)備接收的字符

注意:此函數(shù)是無參函數(shù)第八頁(yè),共39頁(yè)。#include<stdio.h>main(){

charch;

printf("PressakeyandthenpressEnter:"); ch=getchar();

printf("Youpressed");

putchar(ch);

putchar('\n');}運(yùn)行程序PressakeyandthenpressEnter:A↙YoupressedA例3.2函數(shù)getchar()和putchar()使用舉例注意該語(yǔ)句的作用是什么?第九頁(yè),共39頁(yè)。格式輸出函數(shù)

函數(shù)名輸出表列字符串原樣輸出格式說明格式一: printf(格式控制字符串,輸出項(xiàng)表列); 作用:輸出若干個(gè)任意類型的數(shù)據(jù)例如:printf("a=%db=%f",a,b);第十頁(yè),共39頁(yè)。格式二:printf(格式控制字符串);作用:輸出一個(gè)字符串例如:printf(“Hello,world!”);第十一頁(yè),共39頁(yè)。%d或%i

輸出帶符號(hào)的十進(jìn)制整數(shù),正數(shù)的符號(hào)省略%u

以無符號(hào)的十進(jìn)制整數(shù)形式輸出%o

以無符號(hào)的八進(jìn)制整數(shù)形式輸出(無前導(dǎo)符0)%x

以無符號(hào)的十六進(jìn)制整數(shù)形式輸出(無前導(dǎo)符0x)%X

以無符號(hào)的十六進(jìn)制整數(shù)形式(大寫)輸出(無前導(dǎo)符0x)%c

以字符形式輸出單個(gè)字符%s

輸出一個(gè)字符串%f

以小數(shù)形式輸出浮點(diǎn)數(shù)(包括單、雙精度)%e

以指數(shù)形式(小寫e表示指數(shù)部分)輸出實(shí)數(shù)%E

以指數(shù)形式(大寫E表示指數(shù)部分)輸出實(shí)數(shù)%g

選用%f,%e中輸出寬度較小的一種格式%p

以主機(jī)的格式顯示指針,即變量的地址%%

顯示%printf格式字符(課本P55表3-1)第十二頁(yè),共39頁(yè)。l

加在d、i、o、x、u前,輸出long型數(shù)據(jù)L

加在f、e、g前,輸出longdouble型數(shù)據(jù)h

加在d、i、o、x前,輸出short型數(shù)據(jù)m

指定輸出項(xiàng)輸出時(shí)所占的列數(shù)數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)寬度小于m時(shí),補(bǔ)空格。若m為正整數(shù),左邊補(bǔ)空 格;若m為負(fù)整數(shù),右邊補(bǔ)空格;.n

對(duì)實(shí)數(shù),用于指定輸出的實(shí)數(shù)的小數(shù)位數(shù)對(duì)字符串,用于指定從字符串左側(cè)開始截取的子串字符個(gè)數(shù)。Printf格式修飾符(課本P58表3-3)第十三頁(yè),共39頁(yè)。#include<stdio.h>main(){ floatf1=100.15799,f2=12.55,f3=1.7; intn1=123,n2=45,n3=6;

printf("printfWITHOUTwidthorprecision specifications:\n"); printf("%f\n%f\n%f\n",f1,f2,f3); printf("%d\n%d\n%d\n",n1,n2,n3); printf("printfWITHwidthandprecision specifications:\n"); printf("%5.2f\n%6.1f\n%3.0f\n",f1,f2,f3); printf("%5d\n%6d\n%3d\n\n",n1,n2,n3);}例3.8printf函數(shù)格式符的使用第十四頁(yè),共39頁(yè)。格式輸入函數(shù)非格式字符格式說明地址表列scanf(格式控制字符串,地址表列);例如:scanf("%d,%f”,&a,&b);第十五頁(yè),共39頁(yè)。格式輸入函數(shù)scanf()常見錯(cuò)誤scanf("%d,%f\n”,&a,&b);scanf("%d,%f”,a,b);scanf("%7.2f",&a);第十六頁(yè),共39頁(yè)。%d或%i

以帶符號(hào)十進(jìn)制形式輸入整型數(shù)據(jù)%o

以八進(jìn)制無符號(hào)整數(shù)形式輸入(無前導(dǎo)0)%x

以十六進(jìn)制無符號(hào)整數(shù)形式輸入(無前導(dǎo)0x)%c

以字符形式輸入單個(gè)字符%s

輸入字符串,以非空白字符開始,遇第一個(gè)空白字符結(jié)束%f

以小數(shù)形式輸入浮點(diǎn)數(shù)%e

以指數(shù)形式輸入浮點(diǎn)數(shù)%%

輸入一個(gè)百分號(hào)%函數(shù)scanf格式字符(課本P57表3-2)第十七頁(yè),共39頁(yè)。l

加在d、i、o、x、u之前,輸入long型數(shù)據(jù)加在f、e前,輸入double型數(shù)據(jù)L

加在f、e前,輸入longdouble型數(shù)據(jù)h

加在d、i、o、x前,輸入short型數(shù)據(jù)m

指定輸入數(shù)據(jù)的寬度,系統(tǒng)自動(dòng)按此寬度截取所需數(shù)據(jù)*表示對(duì)應(yīng)的輸入項(xiàng)在讀入后不賦給相應(yīng)的變量函數(shù)scanf的格式修飾符(課本P59表3-4)第十八頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=461234↙例函數(shù)scanf的使用(一)遇空格、TAB鍵時(shí)結(jié)束第十九頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=4612↙遇回車鍵時(shí)結(jié)束34↙例函數(shù)scanf的使用(二)第二十頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; printf("Pleaseinputaandb:"); scanf("%2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=461234↙遇寬度時(shí)結(jié)束例函數(shù)scanf的使用(三)第二十一頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta,b; printf("Pleaseinputaandb:"); scanf("%2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=3,a+b=15123a↙遇非法輸入時(shí)結(jié)束例函數(shù)scanf的使用(四)第二十二頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta,b; printf("Pleaseinputaandb:"); scanf("%d,%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=34,a+b=4612,34↙這里逗號(hào)需要原樣輸入例函數(shù)scanf的使用(五)第二十三頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta,b; printf("Pleaseinputaandb:"); scanf("%2d%*2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=56,a+b=68123456↙例3.9跳過一個(gè)輸入項(xiàng)第二十四頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題1:當(dāng)要求程序輸出結(jié)果為:

a=12,b=34時(shí),用戶應(yīng)該如何輸入數(shù)據(jù)?

1234↙例3.10輸入數(shù)據(jù)的格式控制第二十五頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題2:當(dāng)限定用戶輸入數(shù)據(jù)以逗號(hào)為分隔符,即輸入數(shù)據(jù)格式為:12,34↙時(shí),應(yīng)修改程序中的哪條語(yǔ)句?怎樣修改?scanf("%d,%d",&a,&b);

例3.10輸入數(shù)據(jù)的格式控制第二十六頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題3:語(yǔ)句scanf("%d%d",&a,&b);修改為scanf("a=%d,b=%d",&a,&b);時(shí),用戶應(yīng)該如何輸入數(shù)據(jù)?a=12,b=34↙例3.10輸入數(shù)據(jù)的格式控制第二十七頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}

問題4:限定用戶輸入數(shù)據(jù)為以下格式為

1234↙

同時(shí)要求程序輸出結(jié)果為a=12,b=34scanf("%2d%2d",&a,&b);例3.10輸入數(shù)據(jù)的格式控制第二十八頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}

問題5:限定用戶輸入數(shù)據(jù)為以下格式為12↙34↙

同時(shí)要求程序輸出結(jié)果為a="12",b="34"scanf("%d%d",&a,&b);printf("a=\"%d\",b=\"%d\"\n",a,b);例3.10輸入數(shù)據(jù)的格式控制第二十九頁(yè),共39頁(yè)。#include<stdio.h>main(){ inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題6:設(shè)計(jì)程序使得用戶可以以任意字符(回車、空格、制表符、逗號(hào)、其它)作為分隔符進(jìn)行數(shù)據(jù)的輸入scanf("%d%*c%d",&a,&b);

例3.10輸入數(shù)據(jù)的格式控制第三十頁(yè),共39頁(yè)。#include<stdio.h>main(){

intdata1,data2,sum;

charop;

printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2第1次測(cè)試12+3↙123129=3141例3.11C格式符存在的問題及其解決第三十一頁(yè),共39頁(yè)。#include<stdio.h>main(){ intdata1,data2,sum;

charop;

printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2

第2次測(cè)試123↙123=15C格式符存在的問題及其解決—例3.11缺“+”號(hào)第三十二頁(yè),共39頁(yè)。#include<stdio.h>main(){

intdata1,data2,sum;

charop;

printf("Pleaseentertheexpression data1+data2\n"); scanf("%d%c%d",&data1,&op,&data2); printf("%d%c%d=%d\n",data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2

第3次測(cè)試12+3↙12+3=15C格式符存在的問題及其解決—例3.11Ohright!第三十三頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta;

charb;

floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:希望得到的運(yùn)行結(jié)果12↙Pleaseinputancharacter

:a↙Pleaseinputafloatnumber:3.5↙integer:12character

:afloatnumber:3.500000C格式符存在的問題及其解決

例3.12

編程從鍵盤先后輸入整型、字符型和實(shí)型數(shù)據(jù),

要求每輸入一個(gè)數(shù)據(jù)就顯示一個(gè)數(shù)據(jù)的類型和數(shù)據(jù)值。第三十四頁(yè),共39頁(yè)。#include<stdio.h>main(){inta;charb;

floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:%d\n",a);printf("Pleaseinputacharacter:");scanf("%c",&b);printf("character:%c\n",b);printf("Pleaseinputafloatnumber:");scanf("%f",&c);printf("float:%f\n",c); }Pleaseinputaninteger:結(jié)果好像很奇怪??!12↙Pleaseinputancharacter:character:Pleaseinputafloatnumber:3.5↙integer:12floatnumber:3.500000C格式符存在的問題及其解決—例3.12第三十五頁(yè),共39頁(yè)。#include<stdio.h>main(){

inta;

charb;

floatc;printf("Pleaseinputaninteger:");scanf("%d",&a);printf("integer:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論