C語言程序設計總結--精選文檔_第1頁
C語言程序設計總結--精選文檔_第2頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設計總結一、C語言程序的基本結構#include “stdio.h”void main() 定義變量; 程序?qū)崿F(xiàn); 輸出結果; printf二、變量的定義1整型:int a , b, s=0; (可以在定義的同時為變量進行賦值)長整型:long無符號整型(非負整數(shù)):unsigned2單精度實型:float x, y, z=1.0 ;3雙精度實型:double l,m;4. 字符型:char c1=A, c2=b;三、變量的賦值1直接賦值:a=10 ; /用賦值號“=”將右側的值賦給左側的變量2賦表達式的值:a=3+7;3. 賦另外一個變量的值:a=s; /把s的值賦給a 變量的輸入

2、:輸入一個變量:scanf(“%d”, &a);輸入多個變量:scanf(“%d%d%d”, &a, &b, &c);int-%d float-%f char-%c double-%lf 字符串-%s變量的輸出:輸出一個提示語句:printf(“xxxxxx”);輸出一個回車:printf(“n”);輸出一個變量:printf(“xxx is %d”, a);輸出多個變量:printf(“xxxx%d, xxxx%d”,a,b);練習:1 輸入圓的半徑,求圓的周長。四、常用流程控制語句分支語句:根據(jù)條件執(zhí)行相應的語句條件的形式:a大于0 寫成 a>0 a小

3、于0 寫成 a<0 a等于0 寫成 a=0 (注意,用兩個=) a大于等于0并且小于等于10 寫成 a>=0 && a<=10 a小于0或者a大于10 寫成 a<0 | a>10(一)單分支if語句(如果滿足某個條件,就做某件事情,不滿足就向下執(zhí)行。)if(條件) 執(zhí)行語句; (二)雙分支if語句(如果滿足某個條件,就做某件事情,否則就做另外一件事情。) if(條件) 執(zhí)行語句1; else執(zhí)行語句2; (三)多分支if語句(滿足哪一個條件,就做相應的語句。) if(條件1) 執(zhí)行語句1; else if(條件2)執(zhí)行語句2; else if(條件

4、3)執(zhí)行語句3; else if(條件4)執(zhí)行語句4; else 執(zhí)行語句5; (四)if的嵌套(根據(jù)具體情況對ifelse語句進行靈活的運用) 其格式如下: if(條件1) if(條件2) 執(zhí)行語句a; else 執(zhí)行語句b; else if(條件3) 執(zhí)行語句c; else 執(zhí)行語句d; (五) 多分支語句 switch(根據(jù)switch后的值,執(zhí)行相對應的case語句,此語句了解即可,因為它的作用完全可以用多分支if來實現(xiàn))switch (表達式)case 值1:語句1; break; case 值2:語句2; break; case 值3:語句4; break; case 值n:語句n

5、; break; default: 語句n+1;練習:2 某自助餐廳規(guī)定,浪費食物在20克以下的,每克罰款2元;如浪費超過20克,則超過的部分每克加罰1元。編程求罰款金額。3 從鍵盤輸入正方形的邊長,如果邊長大于零則求出該正方形的周長和面積,否則提示輸入錯誤。4 輸入3個數(shù)x,y,z,求其中的最小值。5 輸入3個數(shù)x,y,z,將其中最大值放在x中,最小值放在z中,中間值放在y中,然后輸出x,y,z。循環(huán)語句:在條件成立時重復執(zhí)行一組語句(一)當型循環(huán) whilewhile(條件) 循環(huán)體例如:求1+2+3+100int n=1,s=0;while(n<=100)s=s+n;n=n+1;(

6、二)直到型循環(huán)dowhiledo 循環(huán)體 while(條件);例如:求1+2+3+100int n=1,s=0;dos=s+n;n=n+1; while(n<=100);(三)知起至型循環(huán)forfor(循環(huán)變量初值;循環(huán)變量范圍;步長) 循環(huán)體例如:求1+2+3+100int n=1,s=0;for(n=0;n<=100;n+) s=s+n;(四)循環(huán)的嵌套for(i=1;i<n;i+) for(j=1;j<m;j+) 說明:1 假設某同學參與“打氣球游戲”,該同學可以打5局,每局可以打10槍。這里的每局10槍就相當于內(nèi)循環(huán)的次數(shù); 5局就相當于5個10槍,也就是外循環(huán)

7、的次數(shù)。2 這5*10槍不是一次性打完的,而且每一槍都要記是哪一局的哪一槍打出來的成績,哪一局對應的是i,哪一槍對應的是j。(五) 使用break可以強制退出循環(huán),其用法必須配合if來使用: 例如:for(i=0;i<100;i+) if(條件) ;break;練習:1 編程求出公式s=1-1/3 + 1/5- 1/7+1/101 的值并輸出2 編程輸出如下圖形:* * * * * * * * * * *3 編程打印九九乘法表4 編程打印出2016年1月份的日歷注意:1月份的總天數(shù)是31天,其中1日是星期五。日歷如下:一二三四五六 日123456789101112131415161718

8、19202122232425262728293031void main()int i,n,d; /i是循環(huán)變量,n代表總天數(shù),d代表星期;n=31; /n代表一個月的天數(shù)d=5; /d代表星期,星期一為1,星期五為5,星期日為7printf(" 一 二 三 四 五 六 日n"); /一個漢字占兩個字符的位置 for(i=1;i<d;i+) /開始日期之前用空格占位,每個日期對應3個空格 printf(" "); for(i=1;i<=n;i+,d+)printf("%3d",i);if(d%7=0) printf(&quo

9、t;n");5. 在第4題的程序上進行修改,如果輸入任意一個月的總天數(shù)及該月第一天的星期(1代表星期日,2代表星期一以此類推),能否打印出該月日歷6. 計算x的n次方(x為雙精度,n為非負整數(shù))void main()double x,s;unsigned n,i;s=1;printf("請輸入x和n:");scanf("%lf%u",&x,&n);for(i=1;i<=n;i+)s=s*x;printf("jieguo is %.2lf",s);四、數(shù)組一維數(shù)組1. 一維數(shù)組:名字相同且?guī)в邢聵说囊唤M變

10、量2. 定義形式:類型名 數(shù)組名長度例如:int a10 /a數(shù)組中包含有10個整型變量,名字分別是a0、a1、a2a9這里每一個an都是一個普通的整數(shù)變量3. 一維數(shù)組的初始化:定義數(shù)組的時候就給每個數(shù)組元素賦值 int a5=2,4,6,8,10;4. 對a數(shù)組中的每一個元素依次進行操作(訪問)的方法如下: int i; for(i=0;i<9;i+) ai例如:l 通過鍵盤輸入給a數(shù)組中的每個元素賦值l 將a數(shù)組中每一個元素都擴大2倍l 統(tǒng)計a數(shù)組中奇數(shù)的個數(shù)l 求a數(shù)組中的最大值l 把a數(shù)組的元素進行逆置l 把a數(shù)組中的元素進行右移練習:1 從一維數(shù)組中查找x,并返回x所在的位置

11、,否則提示沒有找到。2 求fibonacci數(shù)列的第n項。3 求任意一個數(shù)的1.21.6倍存入數(shù)組。4 數(shù)組中存入10個數(shù)并進行循環(huán)左移二維數(shù)組1. 二維數(shù)組:名稱相同且?guī)в?個下標的一堆變量,邏輯上可看成n行m列的二維表格。2. 定義形式:類型名 數(shù)組名行長度列長度 例如:int a34 這里a數(shù)組中包含有3*4=12個數(shù)組元素,這12個元素的名字分別是:a00a01a02a03a10a11a12a13a20a21a22a233. 二維數(shù)組的初始化: int a34=1,2,3,4,5,6,7,8,9,10,11,12;4. 對a中數(shù)組元素的訪問,需要定義2個下標變量i和j,aij代表第i行

12、第j列的元素。 按行的順序訪問: int i,j; for(i=0;i<3;i+) for(j=0;j<4;j+) aij 按列的順序訪問: int i,j; for(j=0;j<4;j+) for(i=0;i<3;i+) aij例如:l 為二維數(shù)組中的每一個元素賦值l 將二維數(shù)組轉置輸出(行變列,列變行)l 求每行的平均值l 求每列的總和l 求列上的最小值5. 行列相等的二維數(shù)組叫做矩陣,對矩陣的操作有:l 求主對角線的和l 求次對角線的平均值l 輸出該矩陣的上半三角元素練習:1. 對一個3*4的數(shù)組,求列上的平均值2. 求一個3*3矩陣的主、次對角線的平均值3. 利

13、用數(shù)組輸出以下圖形字符串1. 字符串:字符型的一維數(shù)組,可以存儲一串字符,并以0做為結束標志。2字符串的輸入與輸出 char str120,str220,str320; gets(str1); /字符串的輸入 scanf(“%s”,str2); /字符串的輸入 puts(str1); /字符串的輸出; printf(“%s”,str2); /字符串的輸出;3對字符串的訪問:如有char s120; int n; 字符串的長度:n=strlen(s1); 第一個字符:s10; 最后一個字符:s1n-1 0的位置:s1n從第一個字符訪問到最后一個字符:char s120;int i;gets(s1

14、);for(i=0;si!=0;i+)si;從最后一個字符訪問到第一個字符:char s120;int i;gets(s1);for(i= strlen(s1)-1;i>=0;i-)si;4. 字符串常用函數(shù): 注意:用以下函數(shù)需要用#include “string.h”引入頭文件。n 連接字符串:strcat(str1,str2)n 比較兩個字符串的大?。簊trcmp(str1,str2);n 求字符串的長度:strlen(str1);n 在字符串中查找一個字符,并返回其位置:char c=a”; strchr(str1, c);n 復制字符串:strcpy(str3,str1);n

15、在字符串str1中查找字串str2的位置:strstr(str1,str2)5字符串常見操作n 把字符串逆置n 判斷是否為回文五、函數(shù)(一)函數(shù)的定義:1無返回值、無參函數(shù)的定義: void 函數(shù)名( )定義變量;實現(xiàn)功能;返回;例:定義一個能夠輸出10個”*”的程序。void f1() int i; for(i=1;i<=10;i+) printf(“*”); return;2. 無返回值、有參函數(shù)的定義: void 函數(shù)名(參數(shù)定義列表)定義變量;實現(xiàn)功能;返回;例:定義一個能夠輸出n個”*”的程序void f2(int n) int i; for(i=1;i<=n;i+) p

16、rintf(“*”); return;例:定義一個能夠輸出n個指定字符的程序。void f3(char c,int n) int i; for(i=1;i<=n;i+) printf(“%c”,c); return;3有返回值有參函數(shù)的定義: 類型 函數(shù)名(參數(shù)定義列表)定義變量;實現(xiàn)功能;返回 計算結果;這里”類型”一定要與”計算結果”一致。例:定義一個計算兩個整數(shù)加法的函數(shù)。int f4(int x,int y)return (x+y);例:定義一個能判斷奇數(shù)的函數(shù)int f5(int x)if(x%2=1) return 1;else return 0;(二)函數(shù)的調(diào)用1無參函數(shù)調(diào)

17、用:函數(shù)名()2有參函數(shù)調(diào)用:函數(shù)名(實參列表) 這里的實參可以是一個具體的值,或者一個已經(jīng)有值的變量,也可以是一個表達式。3函數(shù)的調(diào)用可以成為一個獨立的語句,也可以參與到表達式中進行計算。例如:調(diào)用f1函數(shù):f1()調(diào)用f2函數(shù):f2(5) 或 int n=20; f2(n);調(diào)用f3函數(shù):f3(#,10) 或 char cc=$ ;int n=8; f3(cc,n);調(diào)用f4函數(shù):int s,a=1,b=2; s=f4(a,b);調(diào)用f5函數(shù):int x=7; if(f5(x) printf(“奇數(shù)”) else printf(“偶數(shù)”);(三)指向一維數(shù)組的函數(shù): f1(int a,in

18、t n) int i; for(i=0;i<n;i+) ai;void main() int a10=1,2,3,4,5,6,7,8,9,10; f1(a,10);練習:l 求10個數(shù)的和l 求10個數(shù)的平均值l 把10個數(shù)逆序輸出l 求10個數(shù)中的最小值(四)指向字符串的函數(shù):f2(char s)int i;for(i=0;si!=0;i+) si;使用自定義函數(shù)的要點:1. 自定義函數(shù)要寫在main函數(shù)的上方2. 在分析程序的運行時要知道,程序的執(zhí)行從main函數(shù)開始,在main中結束3. 自定義函數(shù)可以接收主函數(shù)傳遞的多個參數(shù)4. 自定義函數(shù)每次只能返回一個結果給主函數(shù)5. 自定義函數(shù)可以通過指針對主函數(shù)中的數(shù)值進行直接訪問(操作)6. 輸入操作一般交給main函數(shù)練習(全都用函數(shù)實現(xiàn),輸入輸出由主函數(shù)負責,功能實現(xiàn)由自定義函數(shù)負責):l 求任意兩個數(shù)的和、差、積(用三個自定義函數(shù)實現(xiàn))l 求任意兩個數(shù)的余數(shù),如果輸入的除數(shù)為0要輸出警告信息l 交換兩個變量l 計算x的10次方(x為雙精度)l 求等比數(shù)列2 4 8 16 32的第n項l 查找字符c在字符串s中第一次出現(xiàn)的位置l 連接兩個字符串/*連接兩個字符串*/#inc

溫馨提示

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

評論

0/150

提交評論