版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)第3章掌握C語言的語句分類1掌握C語言的標(biāo)準(zhǔn)輸入/輸出函數(shù)的用法2掌握字符數(shù)據(jù)的輸入/輸出方法3掌握順序結(jié)構(gòu)程序應(yīng)用4學(xué)習(xí)目標(biāo)3.1C語言語句條件判斷語句:if語句、switch語句。循環(huán)執(zhí)行語句:do-while語句、while語句、for語句。轉(zhuǎn)向語句:break語句、goto語句、continue語句、return語句。4控制語句函數(shù)調(diào)用語句由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。函數(shù)調(diào)用語句表達(dá)式語句由表達(dá)式后加一個(gè)分號(hào)構(gòu)成。在C語言中,“;”是語句的結(jié)束符而不是語句的分隔符。表達(dá)式語句用一對(duì)大括號(hào)括起一條或多條語句,無論有多少條語句,都只被看成一條語句。復(fù)合語句空語句僅由一個(gè)分號(hào)構(gòu)成,是表達(dá)式語句的一種特例??照Z句表示什么操作也不做??照Z句3.2C語言輸入/輸出函數(shù)C語言沒有提供專門的輸入/輸出語句,輸入/輸出通過相關(guān)庫函數(shù)完成,例如,putchar、getchar、printf、scanf等標(biāo)準(zhǔn)輸入/輸出函數(shù),這些函數(shù)是在頭文件“stdio.h”中定義的。因此,在使用函數(shù)時(shí),要用預(yù)處理命令在main函數(shù)之前或本文件之前使用“包含文件”:#include<stdio.h>或#include"stdio.h",將頭文件包含在源程序中?!纠?-1】運(yùn)行程序,查看輸出結(jié)果。程序代碼:#include<stdio.h>voidmain(){charm='a';intn=97;putchar(m);//輸出字符變量m的值'a'putchar('a');//輸出字符常量'a'putchar(n);//輸出整型變量n的值,ASCII碼97對(duì)應(yīng)小寫'a'putchar('\141');//輸出轉(zhuǎn)義字符'\141'對(duì)應(yīng)小寫字母'a'putchar('\n');//輸出轉(zhuǎn)義字符'\n',對(duì)應(yīng)換行}運(yùn)行結(jié)果:aaaa【分析】①函數(shù)的參數(shù)c可以是字符變量、字符常量包括轉(zhuǎn)義字符、整型變量或者整型常量。②putchar函數(shù)只能用于單個(gè)字符的輸出,且一次只能輸出一個(gè)字符。字符輸出函數(shù)putcharputchar函數(shù)功能是單個(gè)字符輸出函數(shù),其一般形式為:putchar(c);3.2C語言輸入/輸出函數(shù)【分析】①getchar函數(shù)沒有參數(shù)。②getchar函數(shù)只能接受單個(gè)字符,輸入數(shù)字也按數(shù)字字符處理。輸入多于一個(gè)字符時(shí),只接收第一個(gè)字符。③使用getchar函數(shù)輸入字符時(shí),鍵入字符后需要按回車鍵后,程序才會(huì)相應(yīng)輸入繼續(xù)執(zhí)行后面的語句。④getchar函數(shù)也將回車鍵作為一個(gè)回車符讀入,因此在用getchar函數(shù)連續(xù)輸入兩個(gè)字符時(shí)需要注意回車符。⑤getchar函數(shù)得到的字符可以賦給字符變量或整型變量,也可以不賦給任何變量。字符輸入函數(shù)getchar()getchar()函數(shù)的功能是從系統(tǒng)默認(rèn)的輸入設(shè)備(如鍵盤)輸入一個(gè)字符。函數(shù)的一般形式為:getchar();【例3-2】putchar()函數(shù)與getchar()函數(shù)的使用。#include"stdio.h"voidmain(){ charc; printf("Pleaseinputtwocharacter:"); c=getchar();//輸入一個(gè)字符,賦給c putchar(c); putchar('\n'); putchar(getchar());}運(yùn)行結(jié)果:ab3.2C語言輸入/輸出函數(shù)(1)printf()函數(shù)的一般調(diào)用形式printf("格式控制字符串",[輸出列表]);格式控制串用于指定輸出格式。它必須放在雙引號(hào)內(nèi),它由格式說明符、普通字符和轉(zhuǎn)義字符組成。格式說明符由%和格式字符組成,用于說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。格式輸出函數(shù)printf()的功能是按用戶指定的格式,把指定的數(shù)據(jù)輸出到顯示器屏幕上【例3-3】已知矩形,長a=10,寬b=6,求矩形面積S。#include<stdio.h>voidmain(){ inta=10,b=6,s; s=a*b;//求矩形面積 printf("長%d,寬%d的矩形面積為%d\n",a,b,s);}運(yùn)行結(jié)果:長10,寬6的矩形面積為60(2)printf()函數(shù)的格式控制字符串①格式說明符。以%開頭的字符串,在%后面跟有各種格式字符,例如,%d表示按十進(jìn)制整型輸出;%ld表示按十進(jìn)制長整型輸出;%c表示按字符型輸出;%f表示按十進(jìn)制實(shí)型輸出等等。格式說明符必須與變量輸出表中輸出項(xiàng)的數(shù)據(jù)類型一致,否則會(huì)引起輸出錯(cuò)誤。②轉(zhuǎn)義字符。函數(shù)中的\n是轉(zhuǎn)義字符,輸出時(shí)產(chǎn)生一“換行”操作。③普通字符。3.2C語言輸入/輸出函數(shù)【例3-4】指定數(shù)據(jù)寬度輸出。程序代碼:#include<stdio.h>voidmain(){ intx=12,y=34,z=56789; printf("%4d,%-4d,%3d\n",x,y,z);}運(yùn)行結(jié)果:12,34,56789格式字符輸出形式d帶符號(hào)的十進(jìn)制整數(shù)o無符號(hào)的八進(jìn)制整數(shù)x,X無符號(hào)的十六進(jìn)制整數(shù)u無符號(hào)的十進(jìn)制整數(shù)f浮點(diǎn)數(shù),小數(shù)點(diǎn)形式e,E浮點(diǎn)數(shù),指數(shù)e或E形式%%輸出百分號(hào)本身c輸出單個(gè)字符s輸出一串字符字符說明-結(jié)果左對(duì)齊,右邊填空格m數(shù)據(jù)最小寬度n對(duì)實(shí)數(shù),表示輸出n位小數(shù),對(duì)字符串表示截取的字符個(gè)數(shù)L,l用于長整型整數(shù),可以加在格式符d、o、x、u前面【例3-5】輸出實(shí)數(shù)的有效位。程序代碼:#include<stdio.h>voidmain(){ floatx=11111.111,y=33333.333; printf("x+y=%f\n",x+y);}運(yùn)行結(jié)果:x+y=44444.4433593.2C語言輸入/輸出函數(shù)【例3-6】字符和整數(shù)的輸出。程序代碼:#include<stdio.h>voidmain(){charc='A';inti=65;printf("c=%c,i=%c\n",c,i);printf("c=%d,i=%d\n",c,i); }運(yùn)行結(jié)果:c=A,i=Ac=65,i=65【例3-7】輸出字符串。程序代碼:#include<stdio.h>voidmain(){printf("%s,%-9s,%3s\n","student","student","student");printf("%8.3s,%-8.3s,%3.4s\n","student","student","student");}運(yùn)行結(jié)果:student,student,studentstu,stu,stud(1)對(duì)于實(shí)型數(shù)據(jù)的輸出,可以用%m.n來控制輸出精度,其中m代表包含小數(shù)點(diǎn)總共輸出的位數(shù),n代表小數(shù)點(diǎn)后保留的位數(shù),如果想輸出字符%,可以在用兩個(gè)連續(xù)%表示。(2)在輸出數(shù)據(jù)時(shí),格式說明與輸入項(xiàng)從左至右在類型上必須一一對(duì)應(yīng)。如果出現(xiàn)不一致的情況,系統(tǒng)將按照強(qiáng)制類型轉(zhuǎn)換的方式,按照對(duì)應(yīng)格式所指定的類型輸出數(shù)據(jù)。(3)可以在printf函數(shù)中的“格式控制”內(nèi)像使用普通字符一樣使用轉(zhuǎn)義字符。如:'\n'、'\t'、'\b'、'\r'等,通過使用轉(zhuǎn)義字符可以改變程序結(jié)果的輸出格式。(4)d、o、x、u、c、s、f、e等字符,如用在"%"后面就作為格式符號(hào),用在其他位置則為普通字符。3.2C語言輸入/輸出函數(shù)(1)scanf()函數(shù)的一般調(diào)用形式scanf("格式控制字符串",地址列表);格式控制—用雙引號(hào)括起來的字符串,用于指定輸入格式,可包含以下兩種信息:①格式說明:格式說明必須以%開頭,由"%"和格式字符組成。用于指定輸入數(shù)據(jù)的格式。輸入的數(shù)據(jù)可以用一空格、回車鍵或tab鍵來分隔。②普通字符:除了格式說明之外的其他字符,要求用戶必須原樣輸入。地址列表—由若干個(gè)地址項(xiàng)組成,相鄰地址之間用逗號(hào)“,”分隔。C語言中,變量地址的表示方法為:&變量名,其中&為取地址運(yùn)算符。地址列表可以是變量的地址,也可以是字符數(shù)組名或指針變量。格式輸入函數(shù)scanf()的功能是按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入并賦予指定的變量中。
【例3-8】輸入矩形,長a,寬b,求矩形面積s。程序代碼:#include<stdio.h>voidmain(){intm,n,s;printf("Pleaseinputm,n:");scanf("%d,%d",&m,&n);s=m*n;printf("s=%d\n",s);}3.2C語言輸入/輸出函數(shù)
(2)格式說明符①可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)。②在%后有一個(gè)“*”,表示跳過它指定的列數(shù)。【例3-9】指定數(shù)據(jù)寬度輸入。程序代碼:#include<stdio.h>intmain(){inta,b,c,d;scanf("%3d%2d%1d%d",&a,&b,&c,&d);//a,b,c按指定寬度截取數(shù)據(jù),d接收剩余數(shù)據(jù)printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);return0;}格式字符字符意義d輸入十進(jìn)制整數(shù)o輸入八進(jìn)制整數(shù)x,X輸入十六進(jìn)制整數(shù)u輸入無符號(hào)十進(jìn)制整數(shù)f或
e輸入實(shí)型數(shù)(用小數(shù)形式或指數(shù)形式)c輸入單個(gè)字符s輸入字符串【例3-10】數(shù)據(jù)抑制符號(hào)“*”用法。程序代碼:#include<stdio.h>voidmain(){inta,b;scanf("%*3d%2d%2d",&a,&b);printf("a=%d,b=%d\n",a,b);}3.2C語言輸入/輸出函數(shù)04030201如果相鄰格式說明符之間沒有數(shù)據(jù)分隔符號(hào)(如%d%d),則由鍵盤輸入的數(shù)據(jù)間可以用空格分隔(至少一個(gè)),或者用Tab鍵分隔,或者輸入1個(gè)數(shù)據(jù)后按回車鍵,然后再輸入下一
個(gè)數(shù)據(jù)?!案袷娇刂谱址敝谐霈F(xiàn)的普通字符,包括轉(zhuǎn)義字符,需要原樣輸入。輸入數(shù)據(jù)時(shí),遇到以下情況,該數(shù)據(jù)被認(rèn)為輸入結(jié)束:a.遇到空格,或者回車鍵,或者“跳格”(Tab)鍵。b.指定的輸入寬度結(jié)束時(shí)。例如,"%5d",只取5列。c.遇到非法輸入。例如,輸入數(shù)值數(shù)據(jù)時(shí),遇到非數(shù)值符號(hào)。d.使用“%c”輸入字符時(shí),不要忽略空格的存在,因?yàn)榭崭褚彩亲址鹲canf()函數(shù)中沒有精度控制,對(duì)于實(shí)型數(shù)據(jù)“scanf(“%5.2f”,&a);”是非法的。單精度和雙精度實(shí)型數(shù)據(jù)輸入的格式符分別為%f和%lf,而用printf()輸出是兩者都可用%f進(jìn)行輸出數(shù)據(jù)。(3)數(shù)據(jù)輸入格式說明3.3順序結(jié)構(gòu)程序設(shè)計(jì)概述順序結(jié)構(gòu)程序是由順序執(zhí)行語句組成的,程序運(yùn)行是按照書寫的順序進(jìn)行,無分支、無轉(zhuǎn)移、無循環(huán),所以又被稱為最簡單的C程序?!纠?-11】從鍵盤輸入3個(gè)大寫字母,輸出其ASCII碼和對(duì)應(yīng)的小寫字母。程序代碼:#include<stdio.h>voidmain(){charx1,x2,x3,y1,y2,y3;printf("請輸入三個(gè)大寫字母:\n");scanf("%c%c%c",&x1,&x2,&x3);y1=x1+32;y2=x2+32;y3=x3+32;printf("%d,%d,%d\n%c,%c,%c\n",x1,x2,x3,y1,y2,y3);}運(yùn)行結(jié)果:請輸入三個(gè)大寫字母:輸入:ABC↙輸出:65,66,67a,b,c【例3-12】從鍵盤輸入2個(gè)整數(shù),輸出兩數(shù)之和。程序代碼:#include<stdio.h>voidmain(){inta,b,c;printf("請輸入2個(gè)整數(shù)");scanf("%d%d",&a,&b);c=a+b;printf("%d+%d=%d\n",a,b,c);}運(yùn)行結(jié)果:請輸入2個(gè)整數(shù)輸入:1223↙輸出:12+23=33.4程序舉例【例3-13】編程按如下格式輸出古詩《靜夜思》。*************靜夜思-----------------床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。*************#include<stdio.h>voidmain(){printf("*************\n");printf("靜
夜
思\n");printf("-------------\n");printf("床前明月光,\n");printf("疑是地上霜。\n");printf("舉頭望明月,\n");printf("低頭思故鄉(xiāng)。\n");printf("*************");}3.4程序舉例【例3-14】
輸入x,計(jì)算y的值,y=6/(4x-12)+5x,結(jié)果保留2位小數(shù)。#include<stdio.h>voidmain(){floatx,y;printf("請輸入x:");scanf("%f",&x);y=6/(4*x-12)+5*x;printf("y=%.2f",y);}運(yùn)行結(jié)果:請輸入x:輸入:4↙輸出:y=21.503.4程序舉例【例3-15】
小明今年8歲,小明爸爸比小明大25歲,小明爺爺比小明爸爸大28歲,小明爺爺今年多少歲?編程解決上述問題。#include<stdio.h>voidmain(){inta,b,c;a=8;//小明今年8歲b=a+25;//小明的年齡加25是小明爸爸的年齡c=b+28;//小明爸爸的年齡加28歲是小明爺爺?shù)哪挲gprintf("小明今年%d歲,小明爸爸今年%d歲,小明爺爺今年%d歲\n",a,b,c);}運(yùn)行結(jié)果:小明今年8歲,小小明今年8歲,小明爸爸今年33歲,小明爺爺今年61歲3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鞍山在職考研真題及答案
- 左手右手操課件
- 燕歌行無課件
- 智能交通管理系統(tǒng)維護(hù)員的專業(yè)知識(shí)面試題集
- 通訊設(shè)備工程師面試題及答案參考
- 通信行業(yè)客服人員專業(yè)面試題集
- 2026福建三明市沙縣區(qū)緊缺急需學(xué)科教育人才引進(jìn)7人備考考試試題及答案解析
- 2025廣西欽州市北部灣職業(yè)技術(shù)學(xué)校招聘歷史、地理、物理和化學(xué)類教師5人備考考試試題及答案解析
- 2025年甘肅省臨夏州康樂縣融媒體中心招聘編輯記者、播音員備考考試試題及答案解析
- 銀行系統(tǒng)人力資源專員面試題庫及答案
- 店鋪?zhàn)饨鹑牍珊贤瑓f(xié)議
- 醫(yī)療行業(yè)銷售年度工作總結(jié)
- 2024年中國計(jì)量發(fā)展白皮書
- 2025年中國電化學(xué)工作站市場調(diào)查研究報(bào)告
- 財(cái)務(wù)顧問合同聘請財(cái)務(wù)顧問合同
- 政府電梯維保投標(biāo)施工方案
- 四川省涼山州2025中考數(shù)學(xué)適應(yīng)性考試試卷四套附參考答案
- 蔬菜病蟲害綠色防控技術(shù)
- 江蘇省91job智慧就業(yè)平臺(tái)單位中心操作手冊
- 火力發(fā)電工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文執(zhí)行表格 第6部分 管道分冊
- 牛黃解毒膠囊藥代動(dòng)力學(xué)
評(píng)論
0/150
提交評(píng)論