C語(yǔ)言上課課件第3章_第1頁(yè)
C語(yǔ)言上課課件第3章_第2頁(yè)
C語(yǔ)言上課課件第3章_第3頁(yè)
C語(yǔ)言上課課件第3章_第4頁(yè)
C語(yǔ)言上課課件第3章_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章順序結(jié)構(gòu)程序設(shè)計(jì)3.1C語(yǔ)言的基本語(yǔ)句3.2數(shù)據(jù)輸入與輸出3.3程序舉例教學(xué)目的和基本要求:要求學(xué)生了解語(yǔ)句,尤其是復(fù)合語(yǔ)句的概念和使用場(chǎng)合,學(xué)會(huì)基本輸入輸出語(yǔ)句。教學(xué)重點(diǎn):復(fù)合語(yǔ)句、scanf與printf,表達(dá)式在printf中的運(yùn)用。程序設(shè)計(jì)語(yǔ)言有順序、選擇、循環(huán)三種基本的控制結(jié)構(gòu)。BA圖3.1順序結(jié)構(gòu)執(zhí)行流程順序結(jié)構(gòu)是最基本的控制結(jié)構(gòu),其包含的語(yǔ)句是按照書寫的順序執(zhí)行的,且每條語(yǔ)句都將被執(zhí)行。程序流程如圖3.1所示,語(yǔ)句按書寫順序執(zhí)行。先執(zhí)行A,再執(zhí)行B。例:#jinclude<stdio.h>main(){inta=10,x=5,y=6;a+=a*=6;

x=y++;y=++x;a=x+++y;printf(“%d,%d,%d”,a,x,y);}

輸出:14,8,7

C語(yǔ)言的語(yǔ)句可分為以下四類:

簡(jiǎn)單語(yǔ)句(包括輸入/輸出語(yǔ)句)空語(yǔ)句復(fù)合語(yǔ)句流程控制語(yǔ)句。

3.1C語(yǔ)言的基本語(yǔ)句

本章將介紹前三種語(yǔ)句。3.1.1簡(jiǎn)單語(yǔ)句表達(dá)式語(yǔ)句:由一個(gè)表達(dá)式加上一個(gè)分號(hào)構(gòu)成。如:A++;x=1;p+=q*4+5;y=4>2?6:1;空語(yǔ)句:由一個(gè)分號(hào)表示,一般形式為:;空語(yǔ)句在語(yǔ)法上是一條語(yǔ)句,但執(zhí)行時(shí)不做任何操作。C語(yǔ)言有豐富的標(biāo)準(zhǔn)函數(shù)庫(kù),可提供各類函數(shù)供用戶調(diào)用,完成預(yù)先設(shè)定好的操作.例如調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)求數(shù)學(xué)函數(shù)值:sin(x)、cos(x)、exp(x)(求ex)、fabs(x)(求x的絕對(duì)值)、log(x)等。3.函數(shù)調(diào)用語(yǔ)句:由函數(shù)調(diào)用表達(dá)式加分號(hào)構(gòu)成.

如:printf(“%d”,a);scanf(“%f”,&b);3.1.2復(fù)合語(yǔ)句{語(yǔ)句1;……語(yǔ)句n;}用一對(duì)花括號(hào),把若干條語(yǔ)句括起來(lái),就形成了一條復(fù)合語(yǔ)句。形式如下:

花括號(hào)中的語(yǔ)句,可以是簡(jiǎn)單語(yǔ)句、空語(yǔ)句、復(fù)合語(yǔ)句、流程控制語(yǔ)句,所有這些語(yǔ)句括在一起,在語(yǔ)法上看成是一條語(yǔ)句,執(zhí)行時(shí)順序執(zhí)行花括號(hào)中的每條語(yǔ)句。復(fù)合語(yǔ)句多用于流程控制語(yǔ)句中。3.2數(shù)據(jù)輸入與輸出C語(yǔ)言本身不提供輸入輸出語(yǔ)句,得由標(biāo)準(zhǔn)I/O庫(kù)函數(shù)提供。輸入輸出庫(kù)函數(shù)很豐富,可以從鍵盤、顯示器、磁盤文件和硬件端口進(jìn)行輸入或輸出操作。本節(jié)主要介紹用于鍵盤輸入和顯示器輸出的函數(shù)。intputchar(int)向標(biāo)準(zhǔn)輸出設(shè)備(一般為顯示器)輸出一個(gè)字符,并返回返回該字母的ASCII碼值。參數(shù)可以是字符常量、變量或整型常量、變量。如:#include<stdio.h>main(){inta=65;charc=‘d’;putchar(a);putchar(97);putchar(‘\n’);putchar(c);}3.2.1字符輸入輸出函數(shù)1.字符輸出函數(shù)輸出為:Aad2.字符輸入函數(shù)intgetchar(void)從輸入設(shè)備(一般為鍵盤)上輸入一個(gè)字符。它每被調(diào)用一次,就從標(biāo)準(zhǔn)輸入設(shè)備上取一個(gè)字符,返回值是該字符的ASCII編碼值,可以賦給字符變量或整型變量。例:#include<stdio.h>main(){inti,j;charc;i=getchar();putchar(i);

j=getchar();putchar(j);c=getchar();putchar(c);}思考:以下三種不同的輸入,輸出情況如何?1.abcdefg2.ab3.abcdefg執(zhí)行g(shù)etchar()時(shí)輸入字符以回車結(jié)束,同時(shí)回車字符也可以做為輸入的字符。

注意3.2.2格式輸出函數(shù)前面兩條語(yǔ)句非常方便,但一次只能處理一個(gè)字符,格式輸出函數(shù)可以按規(guī)定格式向輸出設(shè)備(一般為顯示器)輸出數(shù)據(jù),并返回輸出的字符數(shù)。這個(gè)函數(shù)可以輸出多字信息。格式輸出函數(shù)的一般形式printf(“格式控制字符串”,輸出參數(shù)表);用雙引號(hào)括起來(lái),控制輸出項(xiàng)的格式

和輸出一些提示信息可以是一個(gè)或多個(gè)輸出項(xiàng).可以是常量或變量表達(dá)式,用逗號(hào)分隔。類型可以是

整型實(shí)型字符型和字符串型.具體的講,printf語(yǔ)句,就是把輸出參數(shù)表中的表達(dá)式的值,按照格式控制字符串的格式,依次在指定的位置輸出,如果輸出位置不夠,從左到右依次輸出前幾個(gè)的值。格式輸出函數(shù)運(yùn)用示例:1.printf(“It’sfun!”);輸出:It’sfun!inta=1,b=2;

printf(“%d,%d”,a,b);輸出:1,23.inta=1,b=2;printf(“a=%d\nb=%d”,a,b);輸出:a=1b=2inta=1,b=2;

printf(“%d”,a+b);輸出:3inta=1,b=2;

printf(“a+b”);輸出:a+b在printf語(yǔ)句的格式控制字符串中,有三類字符:普通字符:按原樣輸出,主要起提示作用。轉(zhuǎn)義字符:指明特定的操作,如\n換行、\t橫向跳格格式說(shuō)明部分:由%引導(dǎo)的格式字符串組成輸出參數(shù)表中的表達(dá)式,就是按照格式說(shuō)明部分指定的格式,在格式控制字符串中的相應(yīng)位置輸出的。格式說(shuō)明部分的一般格式為:%[flags][width][.prec][F|N|h|L][type]在這里,我們對(duì)常用的幾種形式進(jìn)行介紹!1.%type這是最簡(jiǎn)單的格式輸出說(shuō)明形式,說(shuō)明以何種形式輸出表達(dá)式的值。d以帶符號(hào)的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號(hào))o以8進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符O)x(X)以16進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符Ox)u以無(wú)符號(hào)10進(jìn)制形式輸出整數(shù)c以字符形式輸出一個(gè)字符s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)e(E)以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度數(shù),小數(shù)位數(shù)為6位g(G)選用%f或%e格式中輸出寬度較短的一種格式

%百分號(hào)type字符表實(shí)型(float)(double)表達(dá)式值的類型字符型(char、unsignedchar)整型(int、unsigned)type格式對(duì)應(yīng)%c、%d、%u、%o、%x%d、%u、%o、%x、%c(long、unsgnedlong)%ld、%lu、%o、%x、%c%f、%e、%g%lf、%e、%g字符串(字符串常量、字符數(shù)組)%s在字符型和整型之間,輸出的type格式是可以互換的,而與實(shí)型及字符串型則不能。在%與type字符之間加一個(gè)字符l表示輸出長(zhǎng)整型或雙精度型數(shù)據(jù)的值。2..prec%f與%lf的輸出格式都是在小數(shù)點(diǎn)后保留六位數(shù)字,有余四舍五入,缺少以0補(bǔ)足。

在C語(yǔ)言中,輸出實(shí)數(shù)時(shí)可以用在%與type符之間加入.prec的格式來(lái)控制輸出的小數(shù)位數(shù)。例:printf(“%.3f,%.2f”,3.1415926,3);輸出為:3.142,3.00.prec也可以加在%與整型、字符型type符之間,意義各不一樣,此處不作介紹。例:#include<stdio.h>main(){inta=65,i=-2;charc=‘a(chǎn)’;floatb=1.34576;doubled=4.65;unsignedj=65535;printf(“\n%s”,”hello”);printf(“\n%d,%c,%d,%u,%u,%d”,a,a,i,i,j,j);printf(“\n%.3f,%.4lf”,b,d);printf(“\n%d,%d”,a+i,i++);}輸出:hello65,A,-2,65534,65535,-11.346,4.650064,-2printf語(yǔ)句輸出參數(shù)表中的表達(dá)式是先從右到左運(yùn)算,再?gòu)淖蟮接逸敵?。注意格式輸入函?shù)一般形式scanf(“格式控制字符串”,地址列表);3.2.3格式輸入函數(shù)在scanf語(yǔ)句的格式控制字符串中,有兩類字符:普通字符:按原樣輸入格式說(shuō)明部分:由%引導(dǎo)的格式字符串組成scanf語(yǔ)句地址列表中的地址,用取址符&加變量名的形式表示,指的是該變量所代表的內(nèi)存空間的地址。scanf語(yǔ)句在運(yùn)行時(shí),會(huì)停下來(lái),等待從鍵盤輸入值依次存入地址列表中的地址空間,即相當(dāng)于從鍵盤給變量賦值。輸入數(shù)據(jù)時(shí)要嚴(yán)格按照scanf語(yǔ)句中格式控制字符串的形式輸入??聪旅娴睦樱?.scanf(“%d%d”,&a,&b);輸入:12回車或者1回車2回車2.scanf(“%d,%d”,&a,&b);輸入:1,2回車3.scanf(“a=%d,b=%d”,&a,&b);輸入:a=1,b=2回車%[*][width][F|N][h|L]typetype是必須的,表示輸入后轉(zhuǎn)換的數(shù)據(jù)類型。d(D)十進(jìn)制整數(shù)o(O)八進(jìn)制整數(shù)x(X)十六進(jìn)制整數(shù)i(I)自動(dòng)根據(jù)數(shù)頭分辨十、八、十六進(jìn)制u(U)無(wú)符號(hào)十進(jìn)制整數(shù)c單個(gè)字符s字符串f(e,g,G)實(shí)數(shù)n不輸入數(shù)據(jù),將已讀入的字符輸送到對(duì)應(yīng)的地址中%百分號(hào)type字符表

scanf語(yǔ)句格式說(shuō)明部分的一般格式為:3.使用scanf應(yīng)注意:執(zhí)行scanf()輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間允許以一個(gè)或多個(gè)空格間隔,也可以用回車鍵、tab鍵分隔。實(shí)數(shù)不許規(guī)定精度,像%.4f是不合法的。%后面有*號(hào)時(shí),該數(shù)據(jù)會(huì)被禁止使用。%后面有數(shù)字,可以自動(dòng)截取該長(zhǎng)度的數(shù)據(jù)作為輸入值。如果輸入時(shí)類型不匹配則停止處理,返回0。3.3程序舉例

例3.1輸入圓的半徑,輸出圓的周長(zhǎng)和面積。分析:

1.定義實(shí)型變量r、l、s用于存放半徑、周長(zhǎng)、面積;2.調(diào)用輸入函數(shù),輸入r:3.分別利用周長(zhǎng)公式和面積公式求出l、s;4.調(diào)用輸出函數(shù)輸出l、s。程序:#include<stdio.h>main(){floatr,l,s;scanf(“%f”,&r);l=2*3.14159*r;s=3.14159*r*r;printf(“\nl=%.4f”,l);printf(“\ns=%.4f”,s);}分析:1.輸入小寫字母存入變量a;2.轉(zhuǎn)換成大寫a=a-32;3.輸出a.例3.2從鍵盤輸入一個(gè)小寫字母,用大寫形式輸出該字母。#include“stdio.h”voidmain(){char

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論