第三章順序程序相關(guān)設(shè)計_第1頁
第三章順序程序相關(guān)設(shè)計_第2頁
第三章順序程序相關(guān)設(shè)計_第3頁
第三章順序程序相關(guān)設(shè)計_第4頁
第三章順序程序相關(guān)設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章順序程序設(shè)計C

第三章順序程序設(shè)計3.1常量與變量3.2

C的數(shù)據(jù)類型3.3整型數(shù)據(jù)3.4字符型數(shù)據(jù)3.5

浮點型數(shù)據(jù)3.6運算符和算表達(dá)式3.7

C語句概述3.8賦值語句3.9數(shù)據(jù)的輸入輸出3.10逗號運算符和逗號表達(dá)式3.1常量與變量1.常量:在程序運行過程中,其值不能改變的量稱為常量也可以用一個標(biāo)識符代表一個常量

#include<stdio.h>#definePRICE30intmain(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);return0;}#include<stdio.h>intmain(){inta,b;charx,y;a=1;b=2;x=‘c’;y=‘s’;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);return0;}2.變量其值可以改變的量稱為變量。例:#include<stdio.h>

intmain(){inta,b;a=3;b=4;printf(“%d”,a);a=a+b;printf(“%d”,a);

return0;}用來標(biāo)識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文件名的有效字符序列稱為標(biāo)識符。(關(guān)鍵字、預(yù)定義、用戶標(biāo)識符)標(biāo)識符:只能由字母、數(shù)字、下劃線三種字符組成,且第一個字符必須為字母或下劃線合法標(biāo)識符:first,stu_1_1,_tea,a1,FIRST,First非法標(biāo)識符:a.m,ab&c,1stu,$56,a>b*注意:C程序中的變量必須先定義后使用回第三章變量命名規(guī)則1、只能由字母、數(shù)字、下劃線三種字符組成2、第一個字符必須為字母或下劃線3、大小寫有區(qū)別4、不允許使用保留字和關(guān)鍵字5、最大長度無統(tǒng)一規(guī)定,隨系統(tǒng)而變3

.常變量:constinta=3;有類型,占存儲單元,不允許改變其值。有名字的不變量。3.2C的數(shù)據(jù)類型

整型字符型基本類型實型(浮點型)單精度型枚舉類型雙精度型

數(shù)組類型數(shù)據(jù)類型構(gòu)造類型結(jié)構(gòu)體類型共用體類型指針類型空類型回第三章3.3整型數(shù)據(jù)1.整型常量的表示方法十進(jìn)制整數(shù)。如123,-456,0等。八進(jìn)制整數(shù)。以0開頭,如0123,-011等。十六進(jìn)制整數(shù)。以0x開頭。如0x123,-0x12等。2.整型變量(1)整型數(shù)據(jù)在內(nèi)存中的存放形式(以補(bǔ)碼方式表示)inti;i=10;i10i0101000000000000(2)整型變量的分類

基本整型,以int表示。如:inta,b;

短整型,以shortint或short表示。如:shorta,b;

長整型,以longint或long表示。如:longa,b;

無符號數(shù)。加上修飾符unsigned。整型數(shù)據(jù)的取值范圍:[signed]int16位-32768~32767%d

unsigned[int]16位0~65535%u[signed]short[int]16位-32768~32767%d

unsignedshort[int]16位0~65535%ulong[int]32位-2147483648~2147483647%ldunsignedlong[int]32位0~4294967295%lu*[signed]longlong[int]unsigned]longlong[int]*

VC++中short2個字節(jié),

int、longint4個字節(jié),32位(3)整型變量的定義與使用

對程序中的變量要先定義后使用。定義方式:

inta;longa,b;unsignedlongc,d,e;

對變量的定義,一般放在函數(shù)開頭的聲明部分。#include<stdio.h>intmain(){inta,b,c,d;unsignedu;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d;b+u=%d\n”,c,d);return0;}#include<stdio.h>intmain(){inta,b;a=32767;b=a+1;printf(“%d,%d”,a.b);return0;}運行結(jié)果:a+u=22;b+u=143.4字符型數(shù)據(jù)1.字符常量:用單撇號括起來的一個字符。如:‘a(chǎn)’,’?’,’D’。特殊形式的字符常量(轉(zhuǎn)義字符):\n,\r,\005,\x2e。2.字符變量:用來存放字符常量,一個字符變量只能存放一個字符。charc1,c2;c1=‘a(chǎn)’;c2=‘b’;ac1bc2c19798c2c1=97;c2=98;intc1;charc2;c1=‘a(chǎn)’;c2=97;10000110c1c201000110c1c210000110100001100000000048頁表3.3例:#include<stdio.h>intmain(){charc1,c2;c1=97;c2=98;printf(“%c%c\n”,c1,c2);printf(“%d%d\n”,c1,c2);return0;}例:#include<stdio.h>intmain(){charc1,c2;c1=‘a(chǎn)’;c2=‘b’;c1=c1-32;c2=c2-32;printf(“%c%c”,c1,c2);return0;}運行結(jié)果:

ab9798運行結(jié)果:

AB字符串常量:是用一對雙撇號括起來的字符序列。

“china”,“a”,“$123.45”

。

字符串常量printf(“Howdoyoudo”);‘a(chǎn)’

“a”\0aacharc;c=‘a(chǎn)’;c=“a”;X\0anihc“china”\054.321

$“$123.45”3.5實型數(shù)據(jù)實型常量的表示方法十進(jìn)制小數(shù)形式。由數(shù)字和小數(shù)點組成,如:.123,123.,0.3,123.0(必須要有小數(shù)點)指數(shù)形式。如123e3,123E3都代表123X103

。字母e或E之前必須有數(shù)字,e后面的指數(shù)必須為整數(shù)。2.實型變量1)實型變量的分類:分為單精度型(float)、雙精度型

(double)、長雙精度型(longdouble)。(46頁表3.2)2)定義方式:

floatx,y;doublez;longdoublet;3)實型數(shù)據(jù)的舍入誤差#include<stdio.h>intmain(){floata,b;a=123456.789e5;b=a+20;printf(“%f”,b);return0;}運行結(jié)果:12345678848.000000實型常量的類型:

f=2.45678*4523.65f=2.45678f*4523.65ffloata;doubleb;a=111111.111;b=111111.111;Float型:7位有效位3.6運算符和表達(dá)式基本的算術(shù)運算符:+,-,*,/,%3+5,5-2,3*5,5/3,5.0/3,5%3,-17%3,19%-4(%兩側(cè)必須為整數(shù))算術(shù)表達(dá)式:用算術(shù)運算符和括號將運算對象連接起來的、符合C語法規(guī)則的式子。

a*b/c-1.5+’a’運算符的優(yōu)先級和結(jié)合性。在表達(dá)式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行。

a-b*c

算術(shù)運算符的結(jié)合方向為自左至右。

a-b+c

注意:如果一個運算符的兩側(cè)的數(shù)據(jù)類型不同,則先進(jìn)行類型轉(zhuǎn)換,再進(jìn)行運算。a-b+c*d()、+、-、*、/、%、+、-單目雙目高低同級同級同級算術(shù)運算符的優(yōu)先級:4.自增、自減運算符++i,--iintj,i=3;j=++i;i++,i--intj,i=3;j=i++;inti=3,j=4;printf(“%d,%d”,++i,j++):Printf(“%d,%d”,i,j);4,44,5注意:1)自增運算符和自減運算符只能用于變量,而不能用于常量或表達(dá)式i++,++i5++(i+j)++i2)++和--的結(jié)合方向是“自右至左”#include<stdio.h>intmain(){intk,i=232;k=-i++;printf(“%d,%d”,k,i);return0;}-232,233#include<stdio.h>intmain(){intk,i=232;k=-++i;printf(“%d”,k);return0;}-233i=i+1;j=i;j=i;i=i+1;5.各類數(shù)值型數(shù)據(jù)間的混合運算doublefloatlongunsignedintchar,shortfloata;a=1.3+3.73;charc1,c2=‘A’;c1=c2+’0’;longa,b=123;intc=5;a=b+c;doublea=3.4416;intb,c=3;b=a*c;10+‘a(chǎn)’+i*f-d/ei:intf:floatd:doublee:long3/1.06.強(qiáng)制類型轉(zhuǎn)換運算符可以利用強(qiáng)制類型轉(zhuǎn)換運算符將一個表達(dá)式轉(zhuǎn)換成所需類型。

(double)a(int)(x+y)(float)(5%3)一般形式:(類型名)(表達(dá)式)

(int)(x+y)(int)x+y例1:#include<stdio.h>intmain(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);return0;}運行結(jié)果:x=3.600000,i=33.7C語句概述C語句可以分為以下5類:控制語句,完成一定的控制功能:if()~else~,for()~…2)函數(shù)調(diào)用語句:printf(“ThisisaCprogram”);3)表達(dá)式語句:a=3;x=a+b;空語句:;5)復(fù)合語句:可用{}把一些語句括起來成為復(fù)合語句。

#include<stdio.h>intmain(){inti=1,j=0,a[6];for(;i<=5;i++){scanf(“%d”,&a[i]);j=j+a[i];}printf(“%d”,j);return0;}

回第三章3.8賦值語句1.賦值運算符:=a=3a=3+52.復(fù)合的賦值運算符:在賦值符“=”之前加上其他運算符。

a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%33.賦值表達(dá)式:由賦值運算符將一個變量和一個表達(dá)式連接起來的式子稱為“賦值表達(dá)式”。一般形式:<變量><賦值運算符><表達(dá)式>a=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)a+=a-=a*a

a=12a=a+(a-=a*a)a=a+(a=a-(a*a))printf(“%d”,a=3+5);4.賦值過程中的類型轉(zhuǎn)換。若賦值運算符兩側(cè)的類型不一致,都是算數(shù)類型時,在賦值時要進(jìn)行類型轉(zhuǎn)換。1)將浮點型數(shù)據(jù)賦給整型變量時,舍棄小數(shù)部分。

a=3.56;將整型數(shù)據(jù)賦給單、雙精度變量時,數(shù)值不變,但以浮點數(shù)形式存儲到變量中

f=23將一個double型數(shù)據(jù)賦給float變量時,先將double型數(shù)據(jù)轉(zhuǎn)換成float,只取6~7位有效數(shù)字。

f=23.226

將一個float型數(shù)據(jù)賦給double變量時,數(shù)值不變,有效位數(shù)擴(kuò)展到15位。4)字符型數(shù)據(jù)賦給整型變量時,將字符數(shù)據(jù)的ASCII碼放到整型變量中。c=‘\003’

11000000i=c;11000000000000005)將一個int、short、long型數(shù)據(jù)賦給一個char型變量時,只將其低8位原封不動地送到char型變量。inti=289;charc;c=i;i=2891000010010000000c=i10000100#include<stdio.h>intmain(){inta=2,b=7;a*=b*5-3;printf(“%d”,a);return0;}a=a*(b*5-3)運行結(jié)果:645變量賦初值#include<stdio.h>intmain(){inta,b;charx,y;a=1;b=2;x=‘c’;y=‘s’;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);return0;}intx1=3;

intx1;x1=3;

inta=1,b=2;charx=‘c’,y=‘s’;floata,b,c=5;floata,b,c;c=5;練習(xí):1、指出程序中的錯誤#include<stdio.h>intmain();floatr,s;r=5.0;S=3.14159*r*r;printf(“%d\n”,s)return0;2、以下選擇中,正確的賦值語句是:Aa=1,b=2Bi++;Ca=b=5Dy=int(x)#include<stdio.h>intmain(){floatr,s;r=5.0;s=3.14159*r*r;printf(“%f\n”,s);}3.9數(shù)據(jù)的輸入輸出

所謂輸入輸出是以計算機(jī)主機(jī)為主體而言的。(2)C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來實現(xiàn)的。

printf(),scanf(),putchar(),getchar()……(3)在使用C語言庫函數(shù)時,要用預(yù)編譯命令“#include”將有關(guān)的頭文件包括到用戶源文件中。#include<stdio.h>,#include<string.h>……#include<math.h>#include<stdio.h>intmain(){floata;a=sin(0.52);printf("%f",a);return0;}回第三章3.9.1

printf與scanfprintf函數(shù)(格式輸出函數(shù))該函數(shù)的作用是向終端輸出若干個任意類型的數(shù)據(jù)。

1)printf函數(shù)的一般格式:

printf(格式控制,輸出表列)

printf(“a=%d,a+b=%d\n”,a,a+b);a=3,a+b=7printf函數(shù)的一般形式:

printf(參數(shù)1,參數(shù)2,參數(shù)3,……參數(shù)n)

printf函數(shù)的功能是將參數(shù)2~參數(shù)n按參數(shù)1給定的格式輸出。

printf(“x=%f,i=%d”,x,i);2)格式字符常用的格式字符:(1)d格式符。用來輸出十進(jìn)制整數(shù)。

%d按整型數(shù)據(jù)的實際長度輸出。

printf(“%d,%d”,a,b)123,456%mdm為指定的輸出字段的寬度。

printf(“%8d,%2d”,a,b)

123,456%ld輸出長整型數(shù)據(jù)。

longa=135790;printf(“%ld”,a);printf(“%8ld”,a)135790

13579074頁(2)o格式符。以八進(jìn)制數(shù)形式輸出整數(shù)。%o%lo%mointa=-1;printf(“%d,%o”,a,a);1111111111111111a-1,177777x格式符。以十六進(jìn)制數(shù)形式輸出整數(shù)。%x%lx%mxinta=-1;printf(“%x,%d,%o”,a,a,a);ffff,-1,177777(4)u格式符。用來輸出無符號數(shù),以十進(jìn)制形式輸出。#include<stdio.h>intmain(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);return0;}

運行結(jié)果:

a=-1,177777,ffff,65535b=-2,177776,fffe,655341111111111111111a0111111111111111bc格式符。用來輸出一個字符。%c#include<stdio.h>intmain(){charc=‘a(chǎn)’;inti=97;printf(“%c,%d\n”,c,c);printf(“%3c,%3d\n”,i,i);return0;}

運行結(jié)果:

a,97

a,

97(6)s格式符。用來輸出一個字符串。%sprintf(“%s”,”CHINA”)%ms輸出的字符占m列。

printf(“%8s”,”CHINA”);printf(“%2s”,”CHINA”);

CHINACHINA%-ms如果串長小于m,則在m列范圍內(nèi),字符串向左靠,右補(bǔ)空格。(6)s格式符。用來輸出一個字符串。printf(“%-8sc1”,”CHINA”)CHINA

c1

%m.ns輸出占m列,但只取字符串中左端n個字符。左補(bǔ)空格printf(“%8.2s”,”CHINA”)

CH%-m.ns輸出占m列,只取字符串中左端n個字符。右補(bǔ)空格若n>m,則m自動取n值。printf(“%-3.4s”,”CHINA”)CHINprintf(“%-8.3sc1”,”CHINA”)CHI

c1例.字符串的輸出#include<stdio.h>intmain(){printf(“%3s,%7.2s,%.4s,%-5.3sc\n”,”CHINA”,”CHINA”,”CHINA”,”CHINA”);return0;}CHINA,

CH,CHIN,CHI

c(7)f格式符。用來輸出實數(shù),以小數(shù)形式輸出。%f整數(shù)部分全部輸出,并輸出6位小數(shù)。單精度數(shù)的有效位一般為7為,雙精度一般為16位。#include<stdio.h>intmain(){floatx,y;x=111111.111;y=222222.222;printf(“%f”,x+y);return0;}運行結(jié)果:333333.328125#include<stdio.h>intmain(){doublex,y;x=1111111111111.111111111;y=2222222222222.222222222;printf(“%lf”,x+y);return0;}運行結(jié)果:3333333333333.333010#include<stdio.h>intmain(){floata=123456789.23;printf(“%f”,a);return0;}123456792.000000%m.nf指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,則左端補(bǔ)空格。%-m.nf與%m.nf基本相同,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。(7)f格式符。用來輸出實數(shù),以小數(shù)形式輸出。main(){floatf=123.456;printf(“%f,%10f,%10.2f,%.2f,%-10.2fc\n”,f,f,f,f,f,);}123.456001,123.456001,

123.46,123.46,123.46

ce格式符。以指數(shù)形式輸出實數(shù)。

%eprintf(“%e”,123.456);1.23456e+02%m.ne%-m.neg格式符。用來輸出實數(shù)。它根據(jù)數(shù)值的大小,自動選f格式或e格式。注意:1.格式字符x,e,g大小寫均可,其他格式字符必須用小寫。

2.格式說明以%開頭,以上述格式字符之一結(jié)束。

printf(“c=%cf=%fd=%d”,c,f,d);3.連續(xù)兩個%輸出字符%printf(“%f%%”,1.0/3);0.333333%回第三章2.scanf函數(shù)(格式輸入函數(shù))1)一般形式:scanf(格式控制,地址表列)例.用scanf函數(shù)輸入數(shù)據(jù)#include<stdio.h>intmain(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d”,a,b,c);return0;}3453,4,5scanf(“%d,%d,%d”,&a,&b,&c);3,4,5scanf(“%da%da%d:,&a,&b,&c);3a4a52)格式說明同fe,E,g,G實數(shù)??捎眯?shù)形式或指數(shù)形式f字符串s單個字符c無符號十六進(jìn)制整數(shù)x,X無符號八進(jìn)制整數(shù)o無符號十進(jìn)制整數(shù)u有符號十進(jìn)制整數(shù)d,i

說明格式字符例.scanf格式字符

#include<stdio.h>intmain(){longa;charc1;floatf;scanf(“%ld%c%f”,&a,&c1,&f);printf(“%ld,%cf=%f%%”,a,c1,f);return0;}12a123.4512,af=123.449997%

scanf格式字符說明

對unsigned型變量所需的數(shù)據(jù),可用%u,%d或%o,%x

格式輸入。(2)可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動截取所需數(shù)據(jù)。

scanf(“%3d%3d”,&a,&b);輸入:123456a=123b=456

如果在%后面有一個“*”附加說明符,表示跳過它指定的列數(shù)

scanf(“%2d%*3d

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論