C語言程序設(shè)計(第2版)課件:簡單程序設(shè)計_第1頁
C語言程序設(shè)計(第2版)課件:簡單程序設(shè)計_第2頁
C語言程序設(shè)計(第2版)課件:簡單程序設(shè)計_第3頁
C語言程序設(shè)計(第2版)課件:簡單程序設(shè)計_第4頁
C語言程序設(shè)計(第2版)課件:簡單程序設(shè)計_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

0102033.1C語言語句3.2C語言程序結(jié)構(gòu)簡介3.3數(shù)據(jù)輸入與輸出

簡單程序設(shè)計04053.4知識點強化與應(yīng)用3.5本章小結(jié)【學(xué)習(xí)要點】1.掌握表達式語句的格式,理解表達式與表達式語句的區(qū)別。

2.熟練掌握字符的輸入/出函數(shù)、格式輸入/輸出函數(shù)的使用方法。

從鍵盤輸入2個同學(xué)的姓名,性別,學(xué)號,英語、高等數(shù)學(xué)、計算機的成績信息,并計算出總分,并將其按照下圖的格式輸出到屏幕?!緦?dǎo)入案例】C中沒有專門的輸入輸出語句,輸入輸出操作通過調(diào)用系統(tǒng)提供的輸入、輸出函數(shù)實現(xiàn),這樣可以節(jié)省程序處理的時間。分析C程序的基本組成單位是函數(shù),而函數(shù)由語句構(gòu)成。所以語句是C程序的基本組成成分。語句能完成特定操作,語句的有機組合能實現(xiàn)指定的計算處理功能。語句最后必須有一個分號,分號是C語句的組成部分。3.1C語言語句變量聲明語句

intx,y;表達式語句

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

;復(fù)合語句

{t=x;x=y;y=t;}控制語句{

t=x;x=y;y=t;}被當(dāng)作一條語句來處理在什么情況下使用復(fù)合語句?

條件語句和循環(huán)語句在語法上只允許帶一條語句

當(dāng)分支和循環(huán)中需要進行多項操作時空語句有什么作用?什么也不做,只表示語句的存在自頂向下程序設(shè)計時用在那些未完成的模塊中main(){DataInitialze();DataProcess();DataOutput();}DataInitialze(){;}對于一個C語言的結(jié)構(gòu)來講:1.一個程序由一個或多個源程序文件組成。2.函數(shù)是C程序的主要組成部分。3.一個函數(shù)包括函數(shù)首部和函數(shù)體。4.程序總是從main函數(shù)開始執(zhí)行的。5.程序應(yīng)當(dāng)包含注釋。3.2C語言程序結(jié)構(gòu)簡介變量的賦值(賦值表達式語句)賦值表達式;Total=m*pow(1+r,n);數(shù)據(jù)的輸入輸出(函數(shù)調(diào)用語句)輸入:從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計算機內(nèi)存輸出:將計算機內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出設(shè)備C語言中輸入輸出操作通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)來實現(xiàn)#include"stdio.h"

---在當(dāng)前目錄和TC指定的目錄中找該文件#include<stdio.h>---在由TC指定的文件目錄中找該文件例題分析【例3-1】

要求在屏幕上輸出以下一行信息。ThisisaCprogram.分析:在主函數(shù)中,用printf函數(shù)原樣輸出以上的文字。編寫程序:#include<stdio.h>//這是編譯預(yù)處理指令intmain()//定義主函數(shù){//函數(shù)開始的標(biāo)志printf("ThisisaCprogram.\n");//輸出所指定的一行信息return0;//函數(shù)執(zhí)行完畢時返回函數(shù)值0}說明:C語言允許用兩種注釋方式:(1)以//開始的單行注釋。如上介紹的注釋。(2)以/*開始,以*/結(jié)束的塊式注釋。

【例3-2】求兩個整數(shù)之和。

編寫程序:#include<stdio.h>//這是編譯預(yù)處理指令intmain()//定義主函數(shù){//函數(shù)開始

inta,b,sum;//本行是程序的聲明部分,定義a,b,sum為整型變量

a=123;//對變量a賦值

b=456;//對變量b斌值

sum=a+b;//進行a+b的運算,井把結(jié)果存放在變量sum中

printf("sumis%d\n",sum);//輸出結(jié)果

return0;//使函數(shù)返回值為O}【例3-3】求兩個整數(shù)中的較大者。編寫程序:#include<stdio.h>//主函數(shù)intmain()//定義主函數(shù){//主函數(shù)體開始

intmax(intx,inty);//對被調(diào)用函數(shù)max的聲明

inta,b,c;//定義變量a,b,c scanf("%d,%d",&a,&b);//輸入變量a和b的值

c=max(a,b);//調(diào)用max函數(shù),將得到的值賦給c printf("max=%d\n",c);//輸出c的值

return0;//返回函數(shù)值為0}//主函數(shù)體結(jié)束(續(xù))//求兩個整數(shù)中的較大者的max函數(shù)intmax(intx,inty)//定義max函數(shù),函數(shù)值為整型,、形式參數(shù)x和y為整型{ intz;//max函數(shù)中的聲明部分,定義本函數(shù)中用到的變量z為整型

if(x>y)z=x;//若x>y成立,將x的值賦給變量z elsez=y;//否則(即x>y不成立),將y的值賦給變量z return(z);//將z的值作為max函數(shù)值,返回到調(diào)用max函數(shù)的位置}3.3.1字符數(shù)據(jù)的輸入與輸出3.3.2格式化輸出函數(shù)printf3.3.3格式化輸入函數(shù)scanf3.3數(shù)據(jù)輸入與輸出3.3.1字符輸入輸出函數(shù)字符輸出函數(shù)

putchar(ch)輸出一個字符ch字符輸入函數(shù)

getchar()無參數(shù)函數(shù)值為從輸入設(shè)備接收的字符1、字符輸入格式:getchar()功能描述:從標(biāo)準(zhǔn)輸入設(shè)備上讀取一個字符;main(){charc;c=getchar();}從鍵盤輸入一個字符

在程序設(shè)計中,許多時候需要對字符進行處理,因此專門引進了對字符進行輸入、輸出的相關(guān)函數(shù).2、字符輸出功能描述:在標(biāo)準(zhǔn)輸出設(shè)備上,輸出指定的字符;格式:putchar(字符變量)#include<stdio.h>main(){charc=‘a(chǎn)’;putchar(c);}注意:輸入、輸出只能對單個字符處理;使用時在程序開頭用#include<stdio.h>命令包含相應(yīng)頭文件.#include<stdio.h>main(){

charch;

printf("PressakeyandthenpressEnter:"); ch=getchar(); printf("Youpressed");putchar(ch);putchar('\n');}PressakeyandthenpressEnter:A↙YoupressedA_程序執(zhí)行結(jié)果:printf(格式控制字符串,輸出項表列);輸出若干個任意類型的數(shù)據(jù)printf("a=%db=%f",a,b);3.3.2格式化輸出函數(shù)printf普通字符函數(shù)名格式轉(zhuǎn)換說明符輸出列表項格式輸出函數(shù)printf注意事項:1.格式控制字符串包含兩部分內(nèi)容:(1)格式說明符,如%d,%c等;(2)照原樣輸出的字符,如a=b=等

。2.輸出數(shù)據(jù)表列是需要輸出的數(shù)據(jù)(也可以是表達式),多于一個時用逗號分開。printf("a=%db=%f",a,b);3.其中輸出的格式包括:%d:按十進制整數(shù)形式輸出變量的值%o:按八進制整數(shù)形式輸出變量的值%x:按十六進制整數(shù)形式輸出變量的值%u

輸出無符號整數(shù)變量%f:輸出單精度(或雙精度)浮點變量的值%e:按指數(shù)形式輸出浮點變量的值%g:

輸出f和e格式中寬度較小的格式,不輸出無意義的0%c:輸出字符變量%s:輸出一個字符串4.附加格式(帶參數(shù)的)控制:l

長整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實際寬度輸出;數(shù)據(jù)寬度小于m時,補空格.n對實數(shù)表示輸出n位小數(shù)對字符串表示最多輸出的字符個數(shù)-改變輸出內(nèi)容的對齊方式;缺省為右對齊注意:格式控制字符和后面輸出數(shù)據(jù)一一對應(yīng);格式控制符號盡量用小寫字母;格式控制中的轉(zhuǎn)義字符按照其對應(yīng)的轉(zhuǎn)義意義輸出;若需輸出百分號,格式為:%%.如果:a=5,b=8,給出對應(yīng)的輸出結(jié)果printf(“%d,%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);printf(“%5d%5d\n”,a,b);printf(“TurboC”);5.例題分析:#include<stdio.h>main(){ inta=30;

floatb=3.14; printf("a=%db=%f",a,b);}a=30b=3.140000程序執(zhí)行結(jié)果:#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",n1,n2,n3);}printfWITHOUTwidthorprecisionspecifications:100.15799012.5500001.700000123456#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",n1,n2,n3);}printfWITHOUTwidthorprecisionspecifications:100.1612.62123456scanf(格式控制字符串,地址表列);scanf("%d,%f”,&a,&b);3.3.3格式輸入函數(shù)scanf函數(shù)名格式說明符非格式字符輸入?yún)?shù)地址表說明:在函數(shù)中,可以指定每個數(shù)據(jù)的寬度;(此時小數(shù)點也占據(jù)一個寬度;不能指定所輸入數(shù)據(jù)的精度;%*md表示從輸入的數(shù)據(jù)中跳過m個寬度的數(shù)據(jù);注意:格式控制字符和后面輸入數(shù)據(jù)一一對應(yīng);對后面的變量一定取地址符;當(dāng)其中沒有分隔符時,一般以回車、空格或Tab鍵分隔;輸入時,遇(回車、空格、寬度結(jié)束、非法輸入)結(jié)束;格式控制符號之外的符號必須原樣輸入;使用提示函數(shù)printf和scanf格式多變,請大家在實際寫程序中,以最常用的,最規(guī)范的形式來書寫,并盡量的要考慮好待處理數(shù)據(jù)的數(shù)據(jù)類型,做到格式控制和類型匹配。#include<stdio.h>voidmain(){

inta;

floatb;scanf("%d,%f",&a,&b); printf("a=%db=%f",a,b);}a=30b=3.14000030,3.14↙程序執(zhí)行結(jié)果:常見錯誤scanf("%d,%f\n”,&a,&b);scanf("%d,%f”,a,b);scanf("%7.2f",&a);輸入數(shù)據(jù)時,遇以下情況時該數(shù)據(jù)認為結(jié)束遇空格、回車、TAB鍵遇寬度:%3d遇非法輸入注意:輸入數(shù)據(jù)的格式控制舉例#include

<stdio.h>voidmain(){

int

a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:1234↙a=12,b=34問題1:當(dāng)要求程序輸出結(jié)果為

a=12,b=34時,用戶應(yīng)該如何輸入數(shù)據(jù)?問題2:當(dāng)限定用戶輸入數(shù)據(jù)以逗號為分隔符,即輸入數(shù)據(jù)格式為:12,34↙時,應(yīng)修改程序中的哪條語句?怎樣修改?輸入數(shù)據(jù)的格式控制舉例#include

<stdio.h>voidmain(){

int

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

%d,%d

,&a,&b);#include

<stdio.h>main(){

int

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

a=%d,b=%d",&a,&b);Pleaseinputaandb:a=12,b=34↙a=12,b=34輸入數(shù)據(jù)的格式控制舉例問題3:語句scanf("%d%d",&a,&b);修改為scanf("a=%d,b=%d",&a,&b);時,用戶應(yīng)該如何輸入數(shù)據(jù)?執(zhí)行程序:#include

<stdio.h>voidmain(){

int

a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}問題4:限定用戶輸入數(shù)據(jù)為以下格式:

1234↙同時要求程序輸出結(jié)果為:

a=12,b=34scanf("%2d%2d",&a,&b);

輸入數(shù)據(jù)的格式控制舉例#include

<stdio.h>voidmain(){

int

a,b; printf("Pleaseinputaandb:"); scanf("%d%d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}問題5:限定用戶輸入數(shù)據(jù)為以下格式:12↙34↙同時要求程序輸出結(jié)果為a="12",b="34“應(yīng)如何修改scanf和printf?scanf("%d%d",&a,&b);printf("a=\"%d\",b=\"%d\"\n",a,b);輸入數(shù)據(jù)的格式控制舉例#include<stdio.h>voidmain(){

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);}第1次測試Pleaseentertheexpressiondata1+data212+3↙123129=3141C格式符存在的問題及其解決#include<stdio.h>voidmain(){

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格式符存在的問題及其解決#include<stdio.h>voidmain(){

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);}C格式符存在的問題及其解決Pleaseentertheexpressiondata1+data2第3次測試12+3↙12+3=15#include<stdio.h>voidmain(){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); }C格式符存在的問題及其解決Pleaseinputaninteger:希望得到的運行結(jié)果12↙Pleaseinputancharacter

:a↙Pleaseinputafloatnumber:3.5↙integer:12character

:afloatnumber:3.500000#include<stdio.h>voidmain(){

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\

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論