第2章 簡單程序設計_第1頁
第2章 簡單程序設計_第2頁
第2章 簡單程序設計_第3頁
第2章 簡單程序設計_第4頁
第2章 簡單程序設計_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言程序設計第2章簡單程序設計

第2章簡單程序設計2.1用printf()函數(shù)輸出數(shù)據(jù)2.2用scanf()函數(shù)輸入數(shù)據(jù)2.3輸入輸出字符數(shù)據(jù)2.4語言知識補遺2.5程序設計舉例2.1用printf()函數(shù)輸出數(shù)據(jù)2.1.1固定數(shù)值的加法程序2.1.2printf()函數(shù)2.1.1固定數(shù)值的加法程序例2-1固定數(shù)值的加法程序。1.程序/*programe2-1.c*/#include<stdio.h>voidmain(){ inta,b,c; a=8; b=2000; c=a+b; printf("%d\n",c);}2.程序解析加法運算的結果由printf()函數(shù)輸出。printf()函數(shù)的參數(shù)由兩部分構成第一部分是“%d\n”,稱為輸出格式控制串,它規(guī)定printf()函數(shù)輸出的結果的形式;第二部分是變量c,稱為輸出表達式,它是要輸出的具體數(shù)據(jù)?!?d”可以理解為占位符,表示在該位置輸出一個整數(shù),實際數(shù)值由輸出表達式部分的c確定?!癨n”是換行控制符,輸出c之后自動完成換行操作。2.1.2格式化輸出函數(shù)printf()printf()函數(shù)是C語言系統(tǒng)提供的格式化輸出函數(shù),用于向標準輸出設備(通常為顯示器)按規(guī)定格式輸出信息。printf()函數(shù)一般使用格式printf("格式化字符串",表達式表);說明:⑴“表達式表”是要輸出的一系列表達式,各表達式之間用“,”分隔。⑵“格式化字符串”用于說明要輸出表達式的形式:以“%”開始的格式控制參數(shù),它規(guī)定對應表達式的輸出格式;對普通字符按原樣輸出,對轉義字符,輸出的是其轉義后的形式。⑶輸出表達式的個數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)相同,且順序要與格式串中要求輸出的內容一一對應。2.1.2格式化輸出函數(shù)printf()printf()函數(shù)中常用的格式控制符及其功能格式控制符功能是否常用%d輸出一個int型數(shù)據(jù)是%f輸出一個float型數(shù)據(jù)是%c輸出一個char型數(shù)據(jù)是%ld輸出一個longint型數(shù)據(jù)一般%s輸出一個字符串是%u輸出一個十進制無符號整數(shù)否%e輸出一個指數(shù)形式的浮點數(shù)否%x或%X輸出一個以十六進制表示的無符號整數(shù)否%O輸出一個以八進制表示的無符號整數(shù)否%g自動選擇%f或%e格式中輸出寬度較短的一種形式否2.1.2格式化輸出函數(shù)printf()printf()函數(shù)的轉義字符及其功能字符形式功能是否常用\n換行,將當前位置移到下一行開頭是\t水平跳格,跳到下一個Tab位置一般\b退格,將當前位置移到前一列否\r回車,將當前位置移到本行開頭否\\反斜杠字符“\”否\'單引號字符'否\"雙引號字符"否\ddd8進制數(shù)表示的對應ASCII碼字符一般\xhh16進制數(shù)表示的對應ASCII碼字符一般2.1.2格式化輸出函數(shù)printf()例2-2輸出格式控制舉例一。/*programe2-2.c*/#include<stdio.h>voidmain(){ inta,b; a=8; b=2000; printf("%d+%d=%d\n",a,b,a+b);}2.1.2格式化輸出函數(shù)printf()在“%”和格式控制符之間插進數(shù)字,表示輸出項的最大域寬。例如:%3d

表示輸出3位整型數(shù),不夠3位右對齊。%9.2f表示輸出域寬為9的實數(shù),其中小數(shù)位為2,整數(shù)位為6,小數(shù)點占1位,不夠9位時按域寬右對齊。%8s

表示輸出占8個字符的寬度,不夠8個字符時右對齊。例2-3輸出格式控制舉例二。/*programe2-3.c*/#include<stdio.h>voidmain(){floatr=5.7693,s;s=3.1416*r*r;printf("R=%10.3f,S=%10.3f\n",r,s);}2.1.2格式化輸出函數(shù)printf()在“%”和格式控制符之間加入一個"-"號,控制輸出為左對齊,否則為右對齊。

例2-4輸出格式控制舉例三。/*programe2-4.c*/#include<stdio.h>voidmain(){ floatr=5.7693,s; s=3.1416*r*r; printf("R=%-10.3f,S=%-10.3f\n",r,s);}2.1.2格式化輸出函數(shù)printf()字符型數(shù)據(jù)既可以使用“%c”格式符輸出,也可以使用“%d”格式符輸出。當使用“%c”格式符時輸出字符本身,當使用“%d”格式符時輸出字符對應的ASCII碼。例2-5字符型變量輸出舉例。/*programe2-5.c*/#include<stdio.h>voidmain(){ charch='A'; printf("%c,%d\n",ch,ch);}2.2用scanf()函數(shù)輸入數(shù)據(jù)2.2.1任意數(shù)值的加法程序

2.2.2scanf()函數(shù)2.2.1任意數(shù)值的加法程序例2-7一個改進的加法程序。2.程序解析輸入功能由“scanf("%d,%d",&a,&b);”語句實現(xiàn),執(zhí)行該語句后,計算機進入等待狀態(tài),當從鍵盤輸入數(shù)據(jù)后,再繼續(xù)執(zhí)行程序,通過“c=a+b;”語句實現(xiàn)加法運算,最后由“printf("%d+%d=%d\n",c);”語句輸出加法運算結果。scanf()函數(shù)的參數(shù)由“"%d,%d"”和“&a,&b”兩部分構成:“"%d,%d"”規(guī)定輸入數(shù)據(jù)的格式,表示輸入兩個整數(shù),它們之間以“,”分隔;“&a,&b”指定接收數(shù)據(jù)的變量分別是a和b。1.程序/*programe2-7.c*/#include<stdio.h>voidmain(){inta,b,c;printf("Inputa,b:");

scanf("%d,%d",&a,&b);c=a+b;printf("%d+%d=%d\n",c);}2.2.2scanf()函數(shù)scanf()是格式化輸入函數(shù),從標準輸入設備為變量輸入數(shù)據(jù)。scanf()函數(shù)一般使用格式

scanf("格式化字符串",變量地址表);說明:⑴

“格式化字符串”用于說明輸入數(shù)據(jù)的類型和數(shù)據(jù)格式,使用的格式控制符與printf()函數(shù)相同。⑵“變量地址表”是接受輸入數(shù)據(jù)的變量的地址,它們之間以逗號“,”分隔。當接受數(shù)據(jù)的變量是簡單變量時,變量地址的表示形式如下:

&簡單變量名⑶“格式化字符串”中的格式控制參數(shù)之間通常用逗號“,”或空格分隔,也可以不使用任何分隔符號。當使用“,”分隔時,輸入數(shù)據(jù)時各個數(shù)據(jù)之間也要使用“,”分隔;當使用空格分隔或不使用任何分隔符時,輸入的數(shù)據(jù)之間可以使用空格分隔,也可以使用回車符分隔。(3)“格式字符串”中控制參數(shù)的個數(shù)必須與變量地址的個數(shù)一致。2.2.2格式化輸入函數(shù)scanf()例2-8輸入學生兩門課的成績,計算其平均成績。/*programe2-8.c*/#include<stdio.h>voidmain(){ intscore1,score2,average; printf("Data:"); scanf("%d%d",&score1,&score2); average=(score1+score2)/2; printf("Average:%d\n",average);}輸入數(shù)據(jù)的格式要與此對應變量名前加“&”2.3輸入輸出字符數(shù)據(jù)1.getchar()函數(shù)功能:從鍵盤輸入的字符串中讀入一個字符。調用格式:getchar()2.putchar()函數(shù)功能:向標準輸出設備輸出一個字符。調用格式:putchar(ch)說明:ch為一個字符變量名或字符常量,putchar(ch)函數(shù)將ch的值顯示在屏幕上。2.3輸入輸出字符數(shù)據(jù)例2-13從鍵盤輸入一個字符,然后再顯示出來。/*programe2-13-1.c*/#include<stdio.h>voidmain(){ charch; ch=getchar();

putchar(ch);

}getchar()函數(shù)也可以直接作為putchar()函數(shù)的參數(shù)使用。/*programe2-13-2.c*/#include<stdio.h>voidmain(){

putchar(getchar());

}2.4語言知識補遺2.4.1數(shù)據(jù)類型2.4.2常量詳解 2.4.3簡單變量詳解2.4.4算數(shù)運算2.4.5賦值運算2.4.6宏命令 2.4.1數(shù)據(jù)類型數(shù)據(jù)是計算機程序處理的所有信息的總稱,C語言共有9種數(shù)據(jù)類型。 2.4.2常量詳解1.整型常量整型常量即整數(shù)。十進制數(shù):以非0開始的數(shù)如:220、-560、+369八進制數(shù):以0開始的數(shù)如:06、0106、0677十六進制數(shù):以0X或0x開始的數(shù)如:0X0D、0XFF、0x4e、0x123等。在整型常數(shù)后添加一個“L”或“l(fā)”字母,表示該數(shù)為長整型數(shù)。如:22L、0773L、0Xae4l等。2.4.2常量詳解2.實型常量實型常量即實數(shù)一般形式由數(shù)字、小數(shù)點以及必要時的正負號組成如:29.56、-56.33、0.056、.056、0.0等。指數(shù)形式相當于科學計數(shù)法,將a×10b的數(shù)表示如下:

aEb或aeb

其中:a、E(或e)、b任何一部分都不允許省略。如:2.956E3、-0.789e8、.792e-6等。錯誤表示:e-6、2.365E。2.4.2常量詳解3.字符常量用兩個英文單引號限定的一個字符。如:‘a’、‘9’、‘Z’、‘%’。特殊字符常量:轉義字符4.字符串常量

用英文雙引號限定的一個字符序列。這個字符序列包括的字符個數(shù)稱為字符串的長度,其長度允許為0。

"Helloworld"長度為11“"長度為1"0.912e8"長度為72.4.2常量詳解5.符號常量定義符號常量的一般格式:#define符號常量名常量例如:#defineMAX200該命令定義了符號常量MAX,它表示常數(shù)200。2.4.3簡單變量詳解變量分類類型標識符類型名稱存儲數(shù)據(jù)完整形式簡化形式整型變量signedintint有符號基本整型整型數(shù)據(jù)signedshortintshort有符號短整型signedlongintlong有符號長整型unsignedintunsignedint無符號基本整型unsignedshortintunsignedshort無符號短整型unsignedlongintunsignedlong無符號長整型實型變量floatfloat單精度實型實型數(shù)據(jù)doubledouble雙精度實型字符型變量charchar字符型字符數(shù)據(jù)1.簡單變量的分類2.4.3簡單變量詳解定義格式:數(shù)據(jù)類型變量名表;變量定義說明inta;定義變量a,存儲int型數(shù)據(jù)floatx,y;定義變量x、y,存儲float型數(shù)據(jù)charch1,ch2,ch3;定義變量ch1、ch2、ch3,存儲char型數(shù)據(jù)longm;定義變量m,存儲longint型數(shù)據(jù)doublex1,x2;定義變量x1、x2,存儲double型數(shù)據(jù)

變量定義實例2.簡單變量的定義

2.4.3簡單變量詳解變量賦值的一般格式

變量名=表達式變量賦值的兩種形式(1)定義變量的同時為變量賦初值

floatx=29.6;

(2)先定義變量,然后再為變量賦值

intsum,i;sum=10;2.4.4算術運算

1.算術運算符加法運算符+減法運算符-乘法運算符*除法運算符/求余運算符%2.算術表達式由算術運算符和運算對象構成的表達式稱為算術表達式。

126-a*(x+y-0.96)(a+b)/c+sin(x)sqrt(b*b-4*a*c)2.4.4算術運算3.運算符的優(yōu)先級和結合性運算符的優(yōu)先級不同運算符在表達式中的運算順序。算術運算的優(yōu)先順序負號運算符(-)最高,其次是乘法(*)、除法(/)、求余(%)運算,最后是加法(+)、減法(-)運算。有括號()時,括號的優(yōu)先級別最高。運算符的結合性在表達式中,當一個運算量的兩側有兩個相同優(yōu)先級別的運算符時,該運算量先和那個運算符進行結合運算的問題。有兩個結合方向:

自左至右的結合,又稱左結合;自右至左的結合,又稱右結合。算術運算符+、-、*、/、%的結合性是左結合的2.4.5賦值運算簡單的賦值運算“=”復合的賦值運算常用算符有5種:+=,-=,*=,/=,%=運算符名稱復合賦值運算實例展開形式+=復合加賦值a+=ba=a+b-=復合減賦值a-=ba=a-b*=復合乘賦值a*=ba=a*b/=復合除賦值a/=ba=a/b%=復合模賦值a%=ba=a%b2.4.6宏命令C語言系統(tǒng)提供了大量的系統(tǒng)函數(shù),對函數(shù)的說明信息分門別類的放在不同的頭文件中。如printf()、scanf()、getchar()、putchar()等輸入輸出函數(shù)的說明信息在頭文件“stdio.h”中,sin()、sqrt()等數(shù)學函數(shù)的說明信息在頭文件“math.h”中。C語言規(guī)定,要使用這些函數(shù)須先行說明。說明的方法,是使用include命令包含相關的頭文件。include命令的一般使用形式:#include<文件名>#include"文件名"1.include命令

2.4.6宏命令1.include命令

/*programe2-14.c*/#include<stdio.h>#include<math.h>/*程序中使用數(shù)學函數(shù)時,要使用該命令*/voidmain(){floatx,y;printf("Data:");scanf("%f%f",&x,&y);printf("Result:%f\n",sqrt(x*x+y*y));/*sqrt()是數(shù)學函數(shù)*/}2.4.6宏命令define命令稱為編譯預處理的宏定義命令。宏定義分為帶參數(shù)的宏和不帶參數(shù)的宏兩類,符號常量屬于不帶參數(shù)的宏。不帶參數(shù)的宏定義:#define宏名宏體說明:(1)“宏名”是一個標識符(2)“宏體”可以是一個字符串,也可以是一個數(shù)值,也可以是一個表達式等。使用宏定義后,在編譯預處理階段,系統(tǒng)就把程序中的宏名替換為宏體,這一替換過程稱為“宏替換”,宏替換是對宏體字符串的原樣照搬。2.define命令2.4.6宏命令例2-16使用符號常量的程序。/*programe2-16.c*/#include<stdio.h>#definePI3.14159/*定義符號常量PI*/voidmain(){ floatr,l,s; printf("r="); scanf("%f",&r);

l=2*PI*r;/*使用符號常量PI*/

s=PI*r*r;

printf("%f,%f\n",l,s);}2.define命令2.4.6宏命令關于宏定義的說明:⑴宏名一般使用大寫形式。但須明確,使用大寫形式的宏名僅僅是一種習慣。⑵宏定義是用宏名來表示一個字符串,在宏替換時又以該字符串取代宏名,這只是一種簡單的代換,預處理程序對它不作任何檢查。如有錯誤,只能在編譯宏替換后的源程序時發(fā)現(xiàn)。⑶宏定義不是C語句,后面不能有分號。⑷通常把#define命令放在一個文件的開頭使用。2.define命令2.4.6宏命令帶參數(shù)的宏定義帶參數(shù)的宏在宏替換時不但要進行字符串替換,而且要進行相應的參數(shù)替換。帶參數(shù)宏定義的一般形式#define宏名(參數(shù)表)字符串例如:#definem(x)x*x*x*x說明①宏名后的參數(shù)表可以是一個參數(shù),也可以是多個參數(shù),當有多個參數(shù)時,各參數(shù)之間用“,”分割。②作為宏體的字符串部分,要包括參數(shù)表中的參數(shù)。2.define命令2.4.6宏命令帶參數(shù)的宏定義2.define命令/*programe2-17.c*/#include<stdio.h>#definem(x)x*x*x*xvoidmain(){ inta,b,s; printf("Inputa,b:"); scanf("%d,%d",&a,&b); s=m(a)+m(b); printf("Result:%d\n",s);}2.5程序設計舉例例2-19設三角形邊長為a、b、c,計算其面積area。1.問題分析⑴面積area的計算公式如下:⑵該問題的輸入量有三個,即a、b、c;輸出量是area。2.算法設計⑴輸入a、b、c;⑵(a+b+c)/2→s;⑶sqrt(s*(s-a)*(s-b)*(s-c))→area;⑷輸出area。3.程序實現(xiàn)/*programe2-19.c*/#include<stdio.h>#include<math.h>voidmain(){ floata,b,c,s,area; printf("a,b,c:"); scanf("%f,%f,%f",&a,&b,&c); s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%7.2f,b=%7.2f,c=%7.2f\n",a,b,c); printf("Area=%7.2f\n",area);}2.5程序設計舉例例2-20

從鍵盤輸入一個大寫英文字母,然后在屏幕上輸出它的小寫形式。

問題分析⑴英文字母是以ASCII碼的方式存儲的,同一個字母的大、小寫形式有不同的ASCII碼值,其對應關系如下:小寫字母ASCII碼值=大寫字母ASCII碼值+32⑵設輸入量為ch,則輸出量為ch+32。算法設計⑴輸入大寫字母存儲到變量ch中;⑵ch+32→ch;⑶輸出ch。程序實現(xiàn)/*programe2-20.c*/#include<stdio.h>voidmain(){charch; printf("Input:"); ch=getchar(); printf("Output:%c\n",ch+32);}2.5程序設計舉例例2-21編寫程序,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論