C語言程序設(shè)計(jì)(同名73)課件_第1頁
C語言程序設(shè)計(jì)(同名73)課件_第2頁
C語言程序設(shè)計(jì)(同名73)課件_第3頁
C語言程序設(shè)計(jì)(同名73)課件_第4頁
C語言程序設(shè)計(jì)(同名73)課件_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章最簡單的C程序設(shè)計(jì)

--順序程序設(shè)計(jì)

第3章最簡單的C程序設(shè)計(jì)

--順序程序設(shè)13.1程序的三種基本結(jié)構(gòu)程序有三種基本結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)重復(fù)結(jié)構(gòu)ABPABPAyyNN3.1程序的三種基本結(jié)構(gòu)程序有三種基本結(jié)構(gòu):ABPABP2

3.2C語句概述C語言的語句用來向計(jì)算機(jī)發(fā)出操作指令。C語句分為5類:1)控制語句2)函數(shù)調(diào)用語句3)表達(dá)式語句4)空語句5)復(fù)合語句3.2C語句概述C語言的語句用來向計(jì)算機(jī)發(fā)出操作指令33.3賦值表達(dá)式和賦值語句3.3.1賦值表達(dá)式1、賦值運(yùn)算符

使用的基本形式為:變量=表達(dá)式

例:x=y=5(x、y的值均為5)y=a*7-3對象數(shù)名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對象運(yùn)算結(jié)果結(jié)合性雙目賦值=將表達(dá)式值賦予變量任何類型表達(dá)式類型自右向左3.3賦值表達(dá)式和賦值語句3.3.1賦值表達(dá)式對象數(shù)43.3賦值表達(dá)式和賦值語句2)復(fù)合的賦值運(yùn)算符在賦值符“=”之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的賦值運(yùn)算符:+=,-=,*=,/=,%=等例:a+=3等價(jià)于a=a+3x*=y+8等價(jià)于x=x*(y+8)x%=3等價(jià)于x=x%33.3賦值表達(dá)式和賦值語句2)復(fù)合的賦值運(yùn)算符53.3賦值表達(dá)式和賦值語句3.3.2賦值過程中的類型轉(zhuǎn)換(略)如果賦值運(yùn)算符兩側(cè)的類型不一致,則將表達(dá)式值的數(shù)據(jù)類型自動轉(zhuǎn)換成變量的數(shù)據(jù)類型,然后賦予變量;該類型轉(zhuǎn)換是由系統(tǒng)自動進(jìn)行的。轉(zhuǎn)換規(guī)則如下:實(shí)型數(shù)賦給整型變量,自動去掉小數(shù)部分;整型數(shù)賦給實(shí)型變量,值不變,轉(zhuǎn)化為小數(shù)形式;double型數(shù)賦給實(shí)型變量,只取前7位字符型賦給整型變量,放到整型的低8位,且:如果為無符號型賦值,高8位置0如果為有符號型賦值,高8位取符號值(0/1)3.3賦值表達(dá)式和賦值語句3.3.2賦值過程中的類型63.3賦值表達(dá)式和賦值語句Int,short,long賦給char,只取低8位較短整型數(shù)賦給長整型變量,置低位,擴(kuò)展符號位無符號數(shù)賦給有符號同類型變量:無符號和有符號占字節(jié)數(shù)相同時(shí),直接賦值;易出錯(cuò);有符號變量占字節(jié)數(shù)大于無符號數(shù),高位補(bǔ)0;有符號數(shù)賦給無符號同類型變量,將符號看成數(shù)直接賦值3.3賦值表達(dá)式和賦值語句Int,short,long73.3賦值表達(dá)式和賦值語句3.3.3賦值語句

賦值語句由賦值表達(dá)式加上一個(gè)分號構(gòu)成。例:x=3*28+120;y=x/4;3.3賦值表達(dá)式和賦值語句3.3.3賦值語句8

3.3賦值表達(dá)式和賦值語句3.3.4變量賦初值定義變量的同時(shí)還可以為變量指定初值,這個(gè)過程稱為變量的初始化。1、C語言允許在定義變量的同時(shí)使變量初始化;例:inta=3;floatb=3.0;charc=‘A’;2、可以使被定義的變量的一部分賦初值;例:inta,b,d=9;intx,y=4,z=4;3、可以不在變量定義時(shí)初始化;例:inta,b,d;d=9;3.3賦值表達(dá)式和賦值語句3.3.4變量賦初值93.4數(shù)據(jù)輸入與輸出的概念及在C語言中的實(shí)現(xiàn)1、輸出:是從計(jì)算機(jī)向外部輸出設(shè)備(顯示器)輸出數(shù)據(jù);

輸入:是從輸入設(shè)備(鍵盤)向計(jì)算機(jī)輸入數(shù)據(jù);2、C語言的輸入、輸出操作是由函數(shù)來實(shí)現(xiàn)的;例如:printf函數(shù)和scanf函數(shù)。3、在使用C語言庫函數(shù)時(shí),要用預(yù)編譯命令將有關(guān)“頭文件”包括到用戶源文件中;格式:#include<頭文件>或#include“頭文件”

#include命令都是放在程序的開頭例:#include<stdio.h>3.4數(shù)據(jù)輸入與輸出的概念及在C語言中的實(shí)現(xiàn)1、輸出:是103.5字符數(shù)據(jù)的輸入輸出3.5.1用putchar函數(shù)輸出一個(gè)字符(字符輸出函數(shù))格式:putchar(c);功能:向標(biāo)準(zhǔn)輸出設(shè)備輸出一個(gè)字符c;參數(shù):c可以是字符常量、字符變量或整型變量;例:#include<stdio.h>main(){chara,b,c;a=‘r’;b=‘e’;c=‘d’;putchar(a);putchar(b);putchar(c);}

結(jié)果為:red3.5字符數(shù)據(jù)的輸入輸出3.5.1用putchar113.5字符數(shù)據(jù)的輸入輸出–

3.5.1用putchar函數(shù)輸出一個(gè)字符例:#include<stdio.h>main(){charch=‘a(chǎn)’;putchar(ch);putchar(‘a(chǎn)’);putchar(97);}結(jié)果為:a3.5字符數(shù)據(jù)的輸入輸出–

123.5字符數(shù)據(jù)的輸入輸出3.5.2用getchar函數(shù)輸入一個(gè)字符(字符輸入函數(shù))格式:getchar()參數(shù):無功能:從計(jì)算機(jī)終端輸入一個(gè)字符;函數(shù)值:從輸入設(shè)備得到的字符;通常使用的方式:變量=getchar();該變量常為整型或字符型變量例:#include<stdio.h>或#include<stdio.h>main()main(){charc;{c=getchar();putchar(getchar());}putchar(c);}3.5字符數(shù)據(jù)的輸入輸出3.5.2用getchar133.5字符數(shù)據(jù)的輸入輸出注:1)在使用putchar、getchar函數(shù)前,應(yīng)在程序最前面加上“包含命令”#include<stdio.h>2)一個(gè)putchar函數(shù)只能輸出一個(gè)字符;一個(gè)getchar函數(shù)只能輸入一個(gè)字符;3.5字符數(shù)據(jù)的輸入輸出注:143.5字符數(shù)據(jù)的輸入輸出例:從鍵盤輸入一個(gè)小寫字母,要求改用大寫字母輸出;3.5字符數(shù)據(jù)的輸入輸出例:153.5字符數(shù)據(jù)的輸入輸出練習(xí):輸入一字符,輸出其前序和后序;3.5字符數(shù)據(jù)的輸入輸出練習(xí):163.6簡單的格式輸入與輸出3.6.1用printf函數(shù)輸出函數(shù)1、printf函數(shù)的一般格式

printf(格式控制,輸出表列);格式控制:是用雙引號括起來的字符串;格式控制由格式說明和普通字符組成;格式說明:由%和格式字符組成,如%d,%f等作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出;普通字符:輸出時(shí)按原樣輸出;輸出表列:用逗號分隔的一些數(shù)據(jù),這些數(shù)據(jù)可以是常量、變量、還可以是表達(dá)式;3.6簡單的格式輸入與輸出3.6.1用print173.6簡單的格式輸入與輸出格式說明:格式字符數(shù)據(jù)對象輸出形式%dint、char、shortunsignedintunsignedshort十進(jìn)制整數(shù)%f%efloatdouble十進(jìn)制小數(shù)十進(jìn)制指數(shù)%cchar,int,short單個(gè)字符%s字符串一串字符3.6簡單的格式輸入與輸出格式說明:格式字符數(shù)據(jù)183.6簡單的格式輸入與輸出例:1)printf(“%d%c”,97,97);2)printf(“%d%c”,’a’,’a’);3)printf(“\n%d,%c”,‘a(chǎn)’,‘a(chǎn)’);4)inta=3;printf(“%d,%d,%d”,3,a,a+3);3.6簡單的格式輸入與輸出例:193.6簡單的格式輸入與輸出5)

inta=3;printf(“a=%d,a+3=%d”,a,a+3);6)printf(“IloveChina”);7)printf(“%s”,“IloveChina”);8)printf(“%d,%c,%f”,3.2,97,98);3.6簡單的格式輸入與輸出5)inta=3;203.6簡單的格式輸入與輸出%f如不指定字段寬度,由系統(tǒng)自動指定:整數(shù)部分全部輸出,并輸出6位小數(shù);例:floatx=111111.111;printf(“f=%f”,x);

結(jié)果為:f=111111.1093753.6簡單的格式輸入與輸出%f213.6簡單的格式輸入與輸出%e如不指定字段寬度,由系統(tǒng)自動指定(不同系統(tǒng)的規(guī)定略有不同)小數(shù)部分有5位,指數(shù)部分占4(如e+02)其中“e”占1位,指數(shù)符號占1位,指數(shù)占2位;數(shù)值按規(guī)范化指數(shù)形式輸出(即小數(shù)點(diǎn)前有且只有1位非零數(shù)字);例:floatx=123.456;printf(“%e”,x);運(yùn)行結(jié)果為:1.23456e+02

輸出的實(shí)數(shù)共占11列;3.6簡單的格式輸入與輸出%e223.6簡單的格式輸入與輸出例:編程實(shí)現(xiàn):計(jì)算23+35*23.6簡單的格式輸入與輸出例:233.6簡單的格式輸入與輸出練習(xí):1)已知一圓半徑為3,輸出其周長。2)輸出ASCII碼值為100的字符;3.6簡單的格式輸入與輸出練習(xí):243.6簡單的格式輸入與輸出3.6.2用簡單的scanf函數(shù)輸入數(shù)據(jù)1)scanf函數(shù)的格式scanf(格式控制,地址表列);格式控制:同printf函數(shù)的格式控制;地址表列:由若干個(gè)接受數(shù)據(jù)的變量地址組成;變量地址之間用逗號(,)隔開;變量地址由“&變量名”表示;3.6簡單的格式輸入與輸出3.6.2用簡單的sca253.6簡單的格式輸入與輸出例:inta,b,c;scanf(“%d%d%d”,&a,&b,&c);如輸入:345則abc3453.6簡單的格式輸入與輸出例:inta,b,c;3263.6簡單的格式輸入與輸出2)說明:(1)在“格式控制”中,如無普通字符,則在輸入數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)之間應(yīng)以一個(gè)或多個(gè)空格間隔,或用回車鍵,或用Tab鍵間隔;例:scanf(“%d%d%d”,&a,&b,&c);則輸入:345或3453.6簡單的格式輸入與輸出2)說明:273.6簡單的格式輸入與輸出(2)在“格式控制”中,如有普通字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符相同的字符;例:scanf(“%d,%d,%d”,&a,&b,&c);輸入形式:3,4,5scanf(“%d%d”,&a,&b);輸入形式:34

scanf(“%d:%d:%d”,&a,&b,&c);輸入形式:3:4:5scanf(“a=%d,b=%d”,&a,&b);輸入形式:a=3,b=43.6簡單的格式輸入與輸出(2)在“格式控制”中,如有普283.6簡單的格式輸入與輸出(3)對每條scanf語句,所有輸入數(shù)據(jù)從鍵盤輸入后,都可以用一個(gè)回車鍵作為數(shù)據(jù)輸入的結(jié)束;(4)在輸入數(shù)據(jù)時(shí),遇非法輸入,則該數(shù)據(jù)認(rèn)為結(jié)束;例:scanf(“%d%c%d”,&a,&b,&c);輸入:123a45則:a=123b=97c=453.6簡單的格式輸入與輸出(3)對每條scanf語句293.6簡單的格式輸入與輸出例如:寫語句實(shí)現(xiàn)1)任意輸入三整數(shù),并把它們存放;2)輸入一字符3.6簡單的格式輸入與輸出例如:寫語句實(shí)現(xiàn)303.6簡單的格式輸入與輸出程序設(shè)計(jì):例1:編程實(shí)現(xiàn):計(jì)算x+y的和例2:輸入一大寫字母,輸出其對應(yīng)的小寫字母;例3:已知一圓半徑,輸出其周長和面積;3.6簡單的格式輸入與輸出程序設(shè)計(jì):313.6簡單的格式輸入與輸出練習(xí):1、編一個(gè)程序,輸入華氏溫度(F),按下列公式計(jì)算并輸出對應(yīng)的攝氏溫度(C);C=5(F-32)/92、輸入一個(gè)三位整數(shù)(正數(shù)),依次輸出該數(shù)的百位、十位、個(gè)位數(shù)字;3.6簡單的格式輸入與輸出練習(xí):323.7較復(fù)雜的輸入輸出格式控制3.7.1輸出數(shù)據(jù)格式控制1、整數(shù)的格式字符格式字符數(shù)據(jù)對象輸出形式%d%o%x%u%ld%lo%lx%luint、charshortunsignedintunsignedshortlongunsignedlong十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)3.7較復(fù)雜的輸入輸出格式控制3.7.1輸出數(shù)據(jù)格式333.7較復(fù)雜的輸入輸出格式控制例:inta=-1;printf(“%d,%o,%x,%u”,a,a,a,a);

a運(yùn)行結(jié)果為:-1,177777,ffff,6553511111111111111113.7較復(fù)雜的輸入輸出格式控制例:111111343.7較復(fù)雜的輸入輸出格式控制在C語言中,還能用十進(jìn)制正整數(shù)表示設(shè)置輸出值的最少字符個(gè)數(shù)。不足則補(bǔ)空格,多出則按實(shí)際輸出,默認(rèn)按實(shí)際輸出。標(biāo)識補(bǔ)空格位置的字符:-:表示右端補(bǔ)空格+:表示左端補(bǔ)空格,默認(rèn)方式為左端補(bǔ)空格3.7較復(fù)雜的輸入輸出格式控制在C語言中,還能用十進(jìn)制正353.7較復(fù)雜的輸入輸出格式控制整數(shù)輸出的格式字符格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-md%-mo%-mx%-mu%-mld%-mlo%-mlx%-mluInt、charShortUnsignedintUnsignedshortLongUnsignedlong十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)無m按實(shí)際位數(shù)輸出有m輸出m位超過m位,按實(shí)際位數(shù)輸出不足m位,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)3.7較復(fù)雜的輸入輸出格式控制整數(shù)輸出的格式字符格式字符363.7較復(fù)雜的輸入輸出格式控制說明:m是一個(gè)正整數(shù),主要用來控制輸出數(shù)據(jù)的寬度;例:若a=123;d=12345;則printf(“%d,%4d,%-4d,%4d”,a,a,a,d);則運(yùn)行結(jié)果為:123,123,123,123453.7較復(fù)雜的輸入輸出格式控制說明:m是一個(gè)正整數(shù),主要373.7較復(fù)雜的輸入輸出格式控制2、實(shí)數(shù)輸出格式

m和n是正整數(shù);m控制輸出數(shù)據(jù)總寬度,n控制小數(shù)位數(shù);

格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-m.nf%-m.ne%gfloatdouble十進(jìn)制小數(shù)十進(jìn)制指數(shù)自動選取f或e中寬度的格式無m.n按實(shí)際位數(shù)輸出有m.n輸出n位小數(shù),總寬度為m超過m位,按實(shí)際位數(shù)輸出不足m為,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)3.7較復(fù)雜的輸入輸出格式控制2、實(shí)數(shù)輸出格式格式字符數(shù)383.7較復(fù)雜的輸入輸出格式控制例:floatx=123.456;printf(“%f,%11f,%-11f,”,x,x,x);printf(“\n,%10.2f,%.2f,%-10.2f,”,x,x,x);運(yùn)行結(jié)果為:123.456001,123.456001,123.456001,,123.46,123.46,123.46,3.7較復(fù)雜的輸入輸出格式控制393.7較復(fù)雜的輸入輸出格式控制例:floatx=123.456;printf(“,%10e,%13e,%-13e,”,x,x,x);printf(“\n,%10.2e,%.2e,%-10.2e,”,x,x,x);運(yùn)行結(jié)果為:,1.23456e+02,1.23456e+02,1.23456e+02,,1.23e+02,1.23e+02,1.23e+02,3.7較復(fù)雜的輸入輸出格式控制例:403.7較復(fù)雜的輸入輸出格式控制%g輸出數(shù)據(jù)時(shí),系統(tǒng)根據(jù)數(shù)值的大小,自動選f格式或e格式(選擇輸出時(shí)占寬度較小的一種),且不輸出無意義零;例:floatx=123.456printf(“%f,%e,%g”,x,x,x);運(yùn)行結(jié)果為:123.456001,1.23456e+02,123.4563.7較復(fù)雜的輸入輸出格式控制%g413.7較復(fù)雜的輸入輸出格式控制格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-mcCharIntshort單個(gè)字符無輸出單個(gè)字符有輸出位,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)3、字符輸出格式例:charch=‘a(chǎn)’;printf(“,%3c”,ch);運(yùn)行結(jié)果為:,a3.7較復(fù)雜的輸入輸出格式控制格式字符數(shù)據(jù)對象輸出形式數(shù)423.7較復(fù)雜的輸入輸出格式控制格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-m.ns字符串一串字符無m.n輸出字符串全部字符有m.n僅輸出n個(gè)字符,總寬度為m超過m,按實(shí)際字符串輸出不足m位,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)4、字符串輸出格式3.7較復(fù)雜的輸入輸出格式控制格式字符數(shù)據(jù)對象輸出形式數(shù)433.7較復(fù)雜的輸入輸出格式控制例:

main(){printf(“%s,%6s,%-6s,\n”,”china”,”china”,”china”);printf(“%4s,%6.3s,\n”,”china””china”);printf(“%-6.3s,%.3s,”,”china”,”china”);}運(yùn)行結(jié)果為:china,china,china,china,chi,chi,chi,3.7較復(fù)雜的輸入輸出格式控制例:443.7較復(fù)雜的輸入輸出格式控制3.7.2輸入數(shù)據(jù)格式控制1、scanf的“格式說明”中可以出現(xiàn)“%md”,”%mc”等;m出現(xiàn)時(shí),系統(tǒng)自動截取所需數(shù)據(jù);例:scanf(“%3d%3d”,&a,&b);輸入:123456則a=123b=4562、scanf中,如在%后有一個(gè)“*”,表示要跳過它指定的列數(shù);例:scanf(“%3d%*3d%2d”,&a,&b);輸入:123456789則a=123b=783.7較復(fù)雜的輸入輸出格式控制3.7.2輸入數(shù)據(jù)格式453.7較復(fù)雜的輸入輸出格式控制3、用“%c”作格式說明時(shí),僅接受單個(gè)字符;例:scanf(“%c%c%c”,&c1,&c2,&c3);輸入:abc則:c1=‘a(chǎn)’c2=‘‘c3=‘b’scanf(“%3c”,&c1);輸入:abc則:c1=‘a(chǎn)’3.7較復(fù)雜的輸入輸出格式控制3、用“%c”作格式說明時(shí)463.7較復(fù)雜的輸入輸出格式控制(總結(jié))總結(jié):(1)(2)m用來控制數(shù)據(jù)總寬度;n用來控制小數(shù)位數(shù)(實(shí)數(shù))或用來控制字符串的實(shí)際輸出字符數(shù)(字符串);整型數(shù)據(jù)%d,%o,%x,%u,%ld,%lo,%lx,%lu實(shí)型數(shù)據(jù)%f,%e,%g字符型數(shù)據(jù)%c字符串型數(shù)據(jù)%s3.7較復(fù)雜的輸入輸出格式控制(總結(jié))總結(jié):整型數(shù)據(jù)%d473.7較復(fù)雜的輸入輸出格式控制(總結(jié))(3)有–則右對齊(左補(bǔ)空格)無–則左對齊(右補(bǔ)空格)(4)d、o、x、u、c、s、f、e、g用在%后作為格式符號;一個(gè)格式說明以%開頭,以上述9個(gè)格式字符之一為結(jié)束;例:printf(“c=%cf=%fs=%s”,’?’,3.14,”abc”);

輸出結(jié)果為:c=?f=3.140000s=abc3.7較復(fù)雜的輸入輸出格式控制(總結(jié))(3)有–則右483.7較復(fù)雜的輸入輸出格式控制(總結(jié))(5)在printf函數(shù)中的“格式控制”內(nèi)還可以包含轉(zhuǎn)義字符;如:“\n”等;(6)如想輸出字符“%”,應(yīng)在“格式控制”字符串中用連續(xù)兩個(gè)%表示;例:printf(“%f%%”,1.0/3);運(yùn)行結(jié)果為:0.333333%3.7較復(fù)雜的輸入輸出格式控制(總結(jié))(5)在prin49練習(xí)11、設(shè)a=3,b=4,執(zhí)行printf(“%d,%d”,(a,b),(b,a));結(jié)果是:2、使用scanf(“x=%f,y=%f”,&x,&y);要使x,y均為1.25,正確的輸入是:3、已知x是字符型變量,下面不正確的賦值語句是:1)x=‘a(chǎn)+b’;2)x=‘\0’;3)x=‘1’+’2’;4)x=1+2;練習(xí)11、設(shè)a=3,b=4,執(zhí)行printf(“%d,%d”503.8順序結(jié)構(gòu)程序設(shè)計(jì)例1:請寫出下面程序的輸出結(jié)果main(){inta=5,b=7;floatx=67.8564;charc=‘A’;printf(“a=%d\nb=%3d”,a,b);printf(“%f,%6.2f\n”,x,x);printf(“\n%c”,c);}3.8順序結(jié)構(gòu)程序設(shè)計(jì)例1:請寫出下面程序的輸出結(jié)果51第3章最簡單的C程序設(shè)計(jì)

--順序程序設(shè)計(jì)

第3章最簡單的C程序設(shè)計(jì)

--順序程序設(shè)523.1程序的三種基本結(jié)構(gòu)程序有三種基本結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)重復(fù)結(jié)構(gòu)ABPABPAyyNN3.1程序的三種基本結(jié)構(gòu)程序有三種基本結(jié)構(gòu):ABPABP53

3.2C語句概述C語言的語句用來向計(jì)算機(jī)發(fā)出操作指令。C語句分為5類:1)控制語句2)函數(shù)調(diào)用語句3)表達(dá)式語句4)空語句5)復(fù)合語句3.2C語句概述C語言的語句用來向計(jì)算機(jī)發(fā)出操作指令543.3賦值表達(dá)式和賦值語句3.3.1賦值表達(dá)式1、賦值運(yùn)算符

使用的基本形式為:變量=表達(dá)式

例:x=y=5(x、y的值均為5)y=a*7-3對象數(shù)名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對象運(yùn)算結(jié)果結(jié)合性雙目賦值=將表達(dá)式值賦予變量任何類型表達(dá)式類型自右向左3.3賦值表達(dá)式和賦值語句3.3.1賦值表達(dá)式對象數(shù)553.3賦值表達(dá)式和賦值語句2)復(fù)合的賦值運(yùn)算符在賦值符“=”之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的賦值運(yùn)算符:+=,-=,*=,/=,%=等例:a+=3等價(jià)于a=a+3x*=y+8等價(jià)于x=x*(y+8)x%=3等價(jià)于x=x%33.3賦值表達(dá)式和賦值語句2)復(fù)合的賦值運(yùn)算符563.3賦值表達(dá)式和賦值語句3.3.2賦值過程中的類型轉(zhuǎn)換(略)如果賦值運(yùn)算符兩側(cè)的類型不一致,則將表達(dá)式值的數(shù)據(jù)類型自動轉(zhuǎn)換成變量的數(shù)據(jù)類型,然后賦予變量;該類型轉(zhuǎn)換是由系統(tǒng)自動進(jìn)行的。轉(zhuǎn)換規(guī)則如下:實(shí)型數(shù)賦給整型變量,自動去掉小數(shù)部分;整型數(shù)賦給實(shí)型變量,值不變,轉(zhuǎn)化為小數(shù)形式;double型數(shù)賦給實(shí)型變量,只取前7位字符型賦給整型變量,放到整型的低8位,且:如果為無符號型賦值,高8位置0如果為有符號型賦值,高8位取符號值(0/1)3.3賦值表達(dá)式和賦值語句3.3.2賦值過程中的類型573.3賦值表達(dá)式和賦值語句Int,short,long賦給char,只取低8位較短整型數(shù)賦給長整型變量,置低位,擴(kuò)展符號位無符號數(shù)賦給有符號同類型變量:無符號和有符號占字節(jié)數(shù)相同時(shí),直接賦值;易出錯(cuò);有符號變量占字節(jié)數(shù)大于無符號數(shù),高位補(bǔ)0;有符號數(shù)賦給無符號同類型變量,將符號看成數(shù)直接賦值3.3賦值表達(dá)式和賦值語句Int,short,long583.3賦值表達(dá)式和賦值語句3.3.3賦值語句

賦值語句由賦值表達(dá)式加上一個(gè)分號構(gòu)成。例:x=3*28+120;y=x/4;3.3賦值表達(dá)式和賦值語句3.3.3賦值語句59

3.3賦值表達(dá)式和賦值語句3.3.4變量賦初值定義變量的同時(shí)還可以為變量指定初值,這個(gè)過程稱為變量的初始化。1、C語言允許在定義變量的同時(shí)使變量初始化;例:inta=3;floatb=3.0;charc=‘A’;2、可以使被定義的變量的一部分賦初值;例:inta,b,d=9;intx,y=4,z=4;3、可以不在變量定義時(shí)初始化;例:inta,b,d;d=9;3.3賦值表達(dá)式和賦值語句3.3.4變量賦初值603.4數(shù)據(jù)輸入與輸出的概念及在C語言中的實(shí)現(xiàn)1、輸出:是從計(jì)算機(jī)向外部輸出設(shè)備(顯示器)輸出數(shù)據(jù);

輸入:是從輸入設(shè)備(鍵盤)向計(jì)算機(jī)輸入數(shù)據(jù);2、C語言的輸入、輸出操作是由函數(shù)來實(shí)現(xiàn)的;例如:printf函數(shù)和scanf函數(shù)。3、在使用C語言庫函數(shù)時(shí),要用預(yù)編譯命令將有關(guān)“頭文件”包括到用戶源文件中;格式:#include<頭文件>或#include“頭文件”

#include命令都是放在程序的開頭例:#include<stdio.h>3.4數(shù)據(jù)輸入與輸出的概念及在C語言中的實(shí)現(xiàn)1、輸出:是613.5字符數(shù)據(jù)的輸入輸出3.5.1用putchar函數(shù)輸出一個(gè)字符(字符輸出函數(shù))格式:putchar(c);功能:向標(biāo)準(zhǔn)輸出設(shè)備輸出一個(gè)字符c;參數(shù):c可以是字符常量、字符變量或整型變量;例:#include<stdio.h>main(){chara,b,c;a=‘r’;b=‘e’;c=‘d’;putchar(a);putchar(b);putchar(c);}

結(jié)果為:red3.5字符數(shù)據(jù)的輸入輸出3.5.1用putchar623.5字符數(shù)據(jù)的輸入輸出–

3.5.1用putchar函數(shù)輸出一個(gè)字符例:#include<stdio.h>main(){charch=‘a(chǎn)’;putchar(ch);putchar(‘a(chǎn)’);putchar(97);}結(jié)果為:a3.5字符數(shù)據(jù)的輸入輸出–

633.5字符數(shù)據(jù)的輸入輸出3.5.2用getchar函數(shù)輸入一個(gè)字符(字符輸入函數(shù))格式:getchar()參數(shù):無功能:從計(jì)算機(jī)終端輸入一個(gè)字符;函數(shù)值:從輸入設(shè)備得到的字符;通常使用的方式:變量=getchar();該變量常為整型或字符型變量例:#include<stdio.h>或#include<stdio.h>main()main(){charc;{c=getchar();putchar(getchar());}putchar(c);}3.5字符數(shù)據(jù)的輸入輸出3.5.2用getchar643.5字符數(shù)據(jù)的輸入輸出注:1)在使用putchar、getchar函數(shù)前,應(yīng)在程序最前面加上“包含命令”#include<stdio.h>2)一個(gè)putchar函數(shù)只能輸出一個(gè)字符;一個(gè)getchar函數(shù)只能輸入一個(gè)字符;3.5字符數(shù)據(jù)的輸入輸出注:653.5字符數(shù)據(jù)的輸入輸出例:從鍵盤輸入一個(gè)小寫字母,要求改用大寫字母輸出;3.5字符數(shù)據(jù)的輸入輸出例:663.5字符數(shù)據(jù)的輸入輸出練習(xí):輸入一字符,輸出其前序和后序;3.5字符數(shù)據(jù)的輸入輸出練習(xí):673.6簡單的格式輸入與輸出3.6.1用printf函數(shù)輸出函數(shù)1、printf函數(shù)的一般格式

printf(格式控制,輸出表列);格式控制:是用雙引號括起來的字符串;格式控制由格式說明和普通字符組成;格式說明:由%和格式字符組成,如%d,%f等作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出;普通字符:輸出時(shí)按原樣輸出;輸出表列:用逗號分隔的一些數(shù)據(jù),這些數(shù)據(jù)可以是常量、變量、還可以是表達(dá)式;3.6簡單的格式輸入與輸出3.6.1用print683.6簡單的格式輸入與輸出格式說明:格式字符數(shù)據(jù)對象輸出形式%dint、char、shortunsignedintunsignedshort十進(jìn)制整數(shù)%f%efloatdouble十進(jìn)制小數(shù)十進(jìn)制指數(shù)%cchar,int,short單個(gè)字符%s字符串一串字符3.6簡單的格式輸入與輸出格式說明:格式字符數(shù)據(jù)693.6簡單的格式輸入與輸出例:1)printf(“%d%c”,97,97);2)printf(“%d%c”,’a’,’a’);3)printf(“\n%d,%c”,‘a(chǎn)’,‘a(chǎn)’);4)inta=3;printf(“%d,%d,%d”,3,a,a+3);3.6簡單的格式輸入與輸出例:703.6簡單的格式輸入與輸出5)

inta=3;printf(“a=%d,a+3=%d”,a,a+3);6)printf(“IloveChina”);7)printf(“%s”,“IloveChina”);8)printf(“%d,%c,%f”,3.2,97,98);3.6簡單的格式輸入與輸出5)inta=3;713.6簡單的格式輸入與輸出%f如不指定字段寬度,由系統(tǒng)自動指定:整數(shù)部分全部輸出,并輸出6位小數(shù);例:floatx=111111.111;printf(“f=%f”,x);

結(jié)果為:f=111111.1093753.6簡單的格式輸入與輸出%f723.6簡單的格式輸入與輸出%e如不指定字段寬度,由系統(tǒng)自動指定(不同系統(tǒng)的規(guī)定略有不同)小數(shù)部分有5位,指數(shù)部分占4(如e+02)其中“e”占1位,指數(shù)符號占1位,指數(shù)占2位;數(shù)值按規(guī)范化指數(shù)形式輸出(即小數(shù)點(diǎn)前有且只有1位非零數(shù)字);例:floatx=123.456;printf(“%e”,x);運(yùn)行結(jié)果為:1.23456e+02

輸出的實(shí)數(shù)共占11列;3.6簡單的格式輸入與輸出%e733.6簡單的格式輸入與輸出例:編程實(shí)現(xiàn):計(jì)算23+35*23.6簡單的格式輸入與輸出例:743.6簡單的格式輸入與輸出練習(xí):1)已知一圓半徑為3,輸出其周長。2)輸出ASCII碼值為100的字符;3.6簡單的格式輸入與輸出練習(xí):753.6簡單的格式輸入與輸出3.6.2用簡單的scanf函數(shù)輸入數(shù)據(jù)1)scanf函數(shù)的格式scanf(格式控制,地址表列);格式控制:同printf函數(shù)的格式控制;地址表列:由若干個(gè)接受數(shù)據(jù)的變量地址組成;變量地址之間用逗號(,)隔開;變量地址由“&變量名”表示;3.6簡單的格式輸入與輸出3.6.2用簡單的sca763.6簡單的格式輸入與輸出例:inta,b,c;scanf(“%d%d%d”,&a,&b,&c);如輸入:345則abc3453.6簡單的格式輸入與輸出例:inta,b,c;3773.6簡單的格式輸入與輸出2)說明:(1)在“格式控制”中,如無普通字符,則在輸入數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)之間應(yīng)以一個(gè)或多個(gè)空格間隔,或用回車鍵,或用Tab鍵間隔;例:scanf(“%d%d%d”,&a,&b,&c);則輸入:345或3453.6簡單的格式輸入與輸出2)說明:783.6簡單的格式輸入與輸出(2)在“格式控制”中,如有普通字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符相同的字符;例:scanf(“%d,%d,%d”,&a,&b,&c);輸入形式:3,4,5scanf(“%d%d”,&a,&b);輸入形式:34

scanf(“%d:%d:%d”,&a,&b,&c);輸入形式:3:4:5scanf(“a=%d,b=%d”,&a,&b);輸入形式:a=3,b=43.6簡單的格式輸入與輸出(2)在“格式控制”中,如有普793.6簡單的格式輸入與輸出(3)對每條scanf語句,所有輸入數(shù)據(jù)從鍵盤輸入后,都可以用一個(gè)回車鍵作為數(shù)據(jù)輸入的結(jié)束;(4)在輸入數(shù)據(jù)時(shí),遇非法輸入,則該數(shù)據(jù)認(rèn)為結(jié)束;例:scanf(“%d%c%d”,&a,&b,&c);輸入:123a45則:a=123b=97c=453.6簡單的格式輸入與輸出(3)對每條scanf語句803.6簡單的格式輸入與輸出例如:寫語句實(shí)現(xiàn)1)任意輸入三整數(shù),并把它們存放;2)輸入一字符3.6簡單的格式輸入與輸出例如:寫語句實(shí)現(xiàn)813.6簡單的格式輸入與輸出程序設(shè)計(jì):例1:編程實(shí)現(xiàn):計(jì)算x+y的和例2:輸入一大寫字母,輸出其對應(yīng)的小寫字母;例3:已知一圓半徑,輸出其周長和面積;3.6簡單的格式輸入與輸出程序設(shè)計(jì):823.6簡單的格式輸入與輸出練習(xí):1、編一個(gè)程序,輸入華氏溫度(F),按下列公式計(jì)算并輸出對應(yīng)的攝氏溫度(C);C=5(F-32)/92、輸入一個(gè)三位整數(shù)(正數(shù)),依次輸出該數(shù)的百位、十位、個(gè)位數(shù)字;3.6簡單的格式輸入與輸出練習(xí):833.7較復(fù)雜的輸入輸出格式控制3.7.1輸出數(shù)據(jù)格式控制1、整數(shù)的格式字符格式字符數(shù)據(jù)對象輸出形式%d%o%x%u%ld%lo%lx%luint、charshortunsignedintunsignedshortlongunsignedlong十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)3.7較復(fù)雜的輸入輸出格式控制3.7.1輸出數(shù)據(jù)格式843.7較復(fù)雜的輸入輸出格式控制例:inta=-1;printf(“%d,%o,%x,%u”,a,a,a,a);

a運(yùn)行結(jié)果為:-1,177777,ffff,6553511111111111111113.7較復(fù)雜的輸入輸出格式控制例:111111853.7較復(fù)雜的輸入輸出格式控制在C語言中,還能用十進(jìn)制正整數(shù)表示設(shè)置輸出值的最少字符個(gè)數(shù)。不足則補(bǔ)空格,多出則按實(shí)際輸出,默認(rèn)按實(shí)際輸出。標(biāo)識補(bǔ)空格位置的字符:-:表示右端補(bǔ)空格+:表示左端補(bǔ)空格,默認(rèn)方式為左端補(bǔ)空格3.7較復(fù)雜的輸入輸出格式控制在C語言中,還能用十進(jìn)制正863.7較復(fù)雜的輸入輸出格式控制整數(shù)輸出的格式字符格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-md%-mo%-mx%-mu%-mld%-mlo%-mlx%-mluInt、charShortUnsignedintUnsignedshortLongUnsignedlong十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)十進(jìn)制整數(shù)八進(jìn)制整數(shù)十六進(jìn)制整數(shù)無符號整數(shù)無m按實(shí)際位數(shù)輸出有m輸出m位超過m位,按實(shí)際位數(shù)輸出不足m位,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)3.7較復(fù)雜的輸入輸出格式控制整數(shù)輸出的格式字符格式字符873.7較復(fù)雜的輸入輸出格式控制說明:m是一個(gè)正整數(shù),主要用來控制輸出數(shù)據(jù)的寬度;例:若a=123;d=12345;則printf(“%d,%4d,%-4d,%4d”,a,a,a,d);則運(yùn)行結(jié)果為:123,123,123,123453.7較復(fù)雜的輸入輸出格式控制說明:m是一個(gè)正整數(shù),主要883.7較復(fù)雜的輸入輸出格式控制2、實(shí)數(shù)輸出格式

m和n是正整數(shù);m控制輸出數(shù)據(jù)總寬度,n控制小數(shù)位數(shù);

格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-m.nf%-m.ne%gfloatdouble十進(jìn)制小數(shù)十進(jìn)制指數(shù)自動選取f或e中寬度的格式無m.n按實(shí)際位數(shù)輸出有m.n輸出n位小數(shù),總寬度為m超過m位,按實(shí)際位數(shù)輸出不足m為,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)3.7較復(fù)雜的輸入輸出格式控制2、實(shí)數(shù)輸出格式格式字符數(shù)893.7較復(fù)雜的輸入輸出格式控制例:floatx=123.456;printf(“%f,%11f,%-11f,”,x,x,x);printf(“\n,%10.2f,%.2f,%-10.2f,”,x,x,x);運(yùn)行結(jié)果為:123.456001,123.456001,123.456001,,123.46,123.46,123.46,3.7較復(fù)雜的輸入輸出格式控制903.7較復(fù)雜的輸入輸出格式控制例:floatx=123.456;printf(“,%10e,%13e,%-13e,”,x,x,x);printf(“\n,%10.2e,%.2e,%-10.2e,”,x,x,x);運(yùn)行結(jié)果為:,1.23456e+02,1.23456e+02,1.23456e+02,,1.23e+02,1.23e+02,1.23e+02,3.7較復(fù)雜的輸入輸出格式控制例:913.7較復(fù)雜的輸入輸出格式控制%g輸出數(shù)據(jù)時(shí),系統(tǒng)根據(jù)數(shù)值的大小,自動選f格式或e格式(選擇輸出時(shí)占寬度較小的一種),且不輸出無意義零;例:floatx=123.456printf(“%f,%e,%g”,x,x,x);運(yùn)行結(jié)果為:123.456001,1.23456e+02,123.4563.7較復(fù)雜的輸入輸出格式控制%g923.7較復(fù)雜的輸入輸出格式控制格式字符數(shù)據(jù)對象輸出形式數(shù)據(jù)輸出方法%-mcCharIntshort單個(gè)字符無輸出單個(gè)字符有輸出位,補(bǔ)空格無–右對齊(左補(bǔ)空格)有–左對齊(右補(bǔ)空格)3、字符輸出格式例:charch=‘a(chǎn)’;printf(“,%3c”,ch);運(yùn)行結(jié)果為:,a3.7

溫馨提示

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

評論

0/150

提交評論