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

下載本文檔

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

文檔簡介

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

intx,y;表達式語句

i++;i=i+1;空語句

;復(fù)合語句

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

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

第四頁,共39頁。例3.1本程序用于演示在復(fù)合語句中聲明的變量只能在復(fù)合語句中使用。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);}第五頁,共39頁??照Z句的作用main(){DataInitialze();DataProcess();DataOutput();}DataInitialze(){;}空語句有什么作用?自頂向下程序設(shè)計時用在那些未完成的模塊中延時用的空循環(huán)第六頁,共39頁。數(shù)據(jù)輸入/輸出的概念

輸入:從標準輸入設(shè)備上輸入數(shù)據(jù)到計算機內(nèi)存

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

#include<stdio.h>

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

格式:putchar(ch)

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

格式:getchar()

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

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

charch;

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

printf("Youpressed");

putchar(ch);

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

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

輸出帶符號的十進制整數(shù),正數(shù)的符號省略%u

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

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

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

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

以字符形式輸出單個字符%s

輸出一個字符串%f

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

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

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

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

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

顯示%printf格式字符(課本P55表3-1)第十二頁,共39頁。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

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

對實數(shù),用于指定輸出的實數(shù)的小數(shù)位數(shù)對字符串,用于指定從字符串左側(cè)開始截取的子串字符個數(shù)。Printf格式修飾符(課本P58表3-3)第十三頁,共39頁。#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ù)格式符的使用第十四頁,共39頁。格式輸入函數(shù)非格式字符格式說明地址表列scanf(格式控制字符串,地址表列);例如:scanf("%d,%f”,&a,&b);第十五頁,共39頁。格式輸入函數(shù)scanf()常見錯誤scanf("%d,%f\n”,&a,&b);scanf("%d,%f”,a,b);scanf("%7.2f",&a);第十六頁,共39頁。%d或%i

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

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

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

以字符形式輸入單個字符%s

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

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

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

輸入一個百分號%函數(shù)scanf格式字符(課本P57表3-2)第十七頁,共39頁。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)自動按此寬度截取所需數(shù)據(jù)*表示對應(yīng)的輸入項在讀入后不賦給相應(yīng)的變量函數(shù)scanf的格式修飾符(課本P59表3-4)第十八頁,共39頁。#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鍵時結(jié)束第十九頁,共39頁。#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↙遇回車鍵時結(jié)束34↙例函數(shù)scanf的使用(二)第二十頁,共39頁。#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↙遇寬度時結(jié)束例函數(shù)scanf的使用(三)第二十一頁,共39頁。#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↙遇非法輸入時結(jié)束例函數(shù)scanf的使用(四)第二十二頁,共39頁。#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↙這里逗號需要原樣輸入例函數(shù)scanf的使用(五)第二十三頁,共39頁。#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跳過一個輸入項第二十四頁,共39頁。#include<stdio.h>main(){ inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題1:當要求程序輸出結(jié)果為:

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

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

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

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

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

1234↙

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

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

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

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

例3.10輸入數(shù)據(jù)的格式控制第三十頁,共39頁。#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次測試12+3↙123129=3141例3.11C格式符存在的問題及其解決第三十一頁,共39頁。#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次測試123↙123=15C格式符存在的問題及其解決—例3.11缺“+”號第三十二頁,共39頁。#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次測試12+3↙12+3=15C格式符存在的問題及其解決—例3.11Ohright!第三十三頁,共39頁。#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

:a↙Pleaseinputafloatnumber:3.5↙integer:12character

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

例3.12

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

要求每輸入一個數(shù)據(jù)就顯示一個數(shù)據(jù)的類型和數(shù)據(jù)值。第三十四頁,共39頁。#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第三十五頁,共39頁。#include<stdio.h>main(){

inta;

charb;

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論