版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計總結、C語言程序的基本結構#in elude“ stdio.h”void mai n()定義變量;程序實現;輸出結果;printf二、變量的定義1. 整型:int a , b, s=0;(可以在定義的同時為變量進行賦值)長整型:Io ng無符號整型(非負整數):unsigned2. 單精度實型:float x, y, z=1.0 ;3. 雙精度實型:double l,m;4. 字符型:char c1= ' A2=, ;b'三、變量的賦值1. 直接賦值:a=10 ;/用賦值號“將右側的值賦給左側的變量2. 賦表達式的值:a=3+7;3. 賦另外一個變量的值:a=s;
2、 /把s的值賦給a變量的輸入:輸入一個變量:scanf( %d ” &a);輸入多個變量:scanf( %d%d%d ” &a, &b, &c);int-%dfloat-%f char-%c double-%lf字符串-%s變量的輸出:輸出一個提示語句:printf( xxxxxx ”;輸出一個回車:printf( n ”;輸出一個變量:printf( xxx is %d ” a);輸出多個變量:printf( xxxx%d, xxxx%d ",a,b);練習:1. 輸入圓的半徑,求圓的周長。四、常用流程控制語句分支語句:根據條件執(zhí)行相應的語句條件的形
3、式:a大于0寫成a>0a小于0寫成a<0a等于0寫成a=0(注意,用兩個=)a大于等于0并且小于等于10 寫成 a>=0&&a<=10a小于0或者a大于10 寫成a<0 | a>10(三)多分支if語句(滿足哪一個條件,就做相應的語句(一)單分支if語句(如果滿足某個條件,就做某件事情,不滿足就向下執(zhí)行。)if(條件)執(zhí)行語句;(二)雙分支if語句(如果滿足某個條件,就做某件事情,否則就做另外一件事情。)if(條件)執(zhí)行語句1; else執(zhí)行語句2; if(條件1)執(zhí)行語句1; else if(條件 2)執(zhí)行語句2; else if(條件 3
4、)執(zhí)行語句3;else if(條件 4)執(zhí)行語句4; else執(zhí)行語句5; (四)if的嵌套(根據具體情況對ifelse語句進行靈活的運用)其格式如下:if(條件1)if(條件2)執(zhí)行語句a; else執(zhí)行語句b; elseif(條件3)執(zhí)行語句c; else執(zhí)行語句d; 此語句了解即(五)多分支語句 switch (根據switch后的值,執(zhí)行相對應的 case語句,可,因為它的作用完全可以用多分支if來實現)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個數x,y,z,求其中的最小值。5. 輸入3個數x,y,z,將其中最大值放在x中,最小值放在z中,中間值放在y中,然后輸出x,y,z。循環(huán)語句:在條件成立時重復執(zhí)行一組語句(一)當型循環(huán)while例如:求1+2+3+ - 100while(條件)intn=1,s=0;while( *=100)循環(huán)體s=s+n;n=n+1;
6、(二)直到型循環(huán)dowhile do循環(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+)說明:1.假設某冋學參與 打氣球游戲”,該冋學可以打5局,每局可以打10槍。 這里的每局10槍就相當于內循環(huán)的for( j=1;j<m;j+)次數;5局就相當于5個10槍,也
7、 就是外循環(huán)的次數。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月份的總天數是31天,其中1日是星期五日歷如下:二 四五六日1234567891011121314151617181920212223242526272
8、8293031void mai n()int i,n,d;/i是循環(huán)變量,n代表總天數,d代表星期;n=31;n代表一個月的天數d=5;d代表星期,星期一為1,星期五為5,星期日為7printf("一二三四五六日n");/ 一個漢字占兩個字符的位置for(i=1;i<d;i+)/開始日期之前用空格占位,每個日期對應3個空格printf(" ");for(i=1;i<=n ;i+,d+)prin tf("%3d",i);if(d%7=0)prin tf("n");5. 在第4題的程序上進行修改,如果輸入任
9、意一個月的總天數及該月第一天的 星期(1代表星期日,2代表星期一 以此類推),能否打印出該月日歷6. 計算x的n次方(x為雙精度,n為非負整數)void mai n()double x,s;un sig ned n ,i;s=1;printf("請輸入 x 和 n:"); sea nf("%lf%u", &x,&n);for(i=1;i<=n ;i+)s=s*x;prin tf("jieguo is %.2lf",s);四、數組一維數組1. 一維數組:名字相同且?guī)в邢聵说囊唤M變量2. 定義形式:類型名 數組名長度
10、例如:int a10/a 數組中包含有10個整型變量,名字分別是a0、a1、a2 a9這里每一個an都是一個普通的整數變量3. 一維數組的初始化:定義數組的時候就給每個數組元素賦值int a5=2,4,6,8,10;4. 對a數組中的每一個元素依次進行操作(訪問)的方法如下:int i;for(i=0;i<9;i+). ai 例如:通過鍵盤輸入給a數組中的每個元素賦值將a數組中每一個元素都擴大2倍統(tǒng)計a數組中奇數的個數求a數組中的最大值把a數組的元素進行逆置把a數組中的元素進行右移練習:1 . 從一維數組中查找 X,并返回x所在的位置,否則提示沒有找到。2. 求fibonacci數列的第
11、n項。3. 求任意一個數的1.21.6倍存入數組。4. 數組中存入10個數并進行循環(huán)左移二維數組1. 二維數組:名稱相同且?guī)в?2個下標的一堆變量,邏輯上可看成n行m列的二維表格2. 定義形式:類型名 數組名行長度列長度例如:int a34這里a數組中包含有3*4=12個數組元素,這12個元素的名字分別是:a00a01a02a03a10a11a12a13a20a21a22a233.二維數組的初始化int a34=1,2,3,4,5,6,7,8,9,10,11,12;4.對a中數組元素的訪問,需要定義2個下標變量i和j, aij代表第i行第j列的元素。按行的順序訪問:按列的順序訪問:int i,
12、j;int i,j;for(i=0;i<3;i+)for(j=0;j<4;j+)for(j=0;j<4;j+)for(i=0;i<3;i+)aijaij例如:為二維數組中的每一個元素賦值將二維數組轉置輸出(行變列,列變行)求每行的平均值求每列的總和求列上的最小值5行列相等的二維數組叫做矩陣,對矩陣的操作有求主對角線的和求次對角線的平均值輸出該矩陣的上半三角元素練習:1. 對一個3*4的數組,求列上的平均值2. 求一個3*3矩陣的主、次對角線的平均值3. 利用數組輸出以下圖形222422662281282210202010221230403012 2字符串1. 字符串:字
13、符型的一維數組,可以存儲一串字符,并以'0 '做為結束標志。2. 字符串的輸入與輸出char str120,str220,str320;gets(strl); /字符串的輸入scanf( %s”,str2);/字符串的輸入puts(strl); /字符串的輸出;printf( %s:str2); / 字符串的輸出;3. 對字符串的訪問:如有char s120; int n;字符串的長度:n=strlen(s1);第一個字符:s10;最后一個字符:s1n-10的位置:s1n從第一個字符訪問到最后一個字符:從最后一個字符訪問到第一個字符:char s120;char s120;in
14、t i;int i;gets(s1);gets(s1);for(i=0;si!=0;i+)for(i= strle n(s1)-1;i>=0;i-)si;si;4. 字符串常用函數:注意:用以下函數需要用#includestring.h "引入頭文件。連接字符串:strcat(str1,str2)比較兩個字符串的大小:strcmp(str1,str2);求字符串的長度:strlen(str1);在字符串中查找一個字符,并返回其位置:char c= 'a”;strchr(str1, c);復制字符串:strcpy(str3,str1);在字符串strl中查找字串 str2
15、的位置:strstr(str1,str2)5. 字符串常見操作把字符串逆置判斷是否為回文五、函數(一)函數的定義:1 無返回值、無參函數的定義:void 函數名()定義變量;實現功能;返回;例:定義一個能夠輸出10個”的程序。void f1()int i;for(i=1;i<=10;i+)printf(return;2.無返回值、有參函數的定義:void 函數名(參數定義列表)定義變量;例:定義一個能夠輸出n個”*”的程序voidf2(i nt n)int i;實現功能;返回;for(i=1;i<=n ;i+)printf( *“');return;例:定義一個能夠輸出n個
16、指定字符的程序。voidf3(char c,i nt n)int i;for(i=1;i<=n ;i+)printf( %c”,c);return;3.有返回值有參函數的定義 :類型函數名(參數定義列表)定義變量;實現功能;返回計算結果;這里”類型”一定要與”計算結果”一致。例:定義一個計算兩個整數加法的函數。int f4(i nt x,i nt y)return (x+y);例:疋義一個能判斷奇數的函數int f5(i nt x)if(x%2=1) return 1;elsereturn 0;(二) 函數的調用1 無參函數調用:函數名()2 有參函數調用:函數名(實參列表)這里的實參可
17、以是一個具體的值,或者一個已經有值的變量,也可以是一個表達式3 函數的調用可以成為一個獨立的語句,也可以參與到表達式中進行計算。例如:調用fl函數:f1()調用 f2 函數:f2(5) 或 int n=20; f2(n);調用 f3 函數:f3(,10)或 char cc= ' 'nt n=8; f3(cc,n);調用 f4 函數:int s,a=1,b=2;s=f4(a,b);調用f5函數:int x=7;if(f5(x) printf (奇數”else printf(偶數”);(三) 指向一維數組的函數:f1(int a,int n)int i;for(i=0;i<
18、n;i+)ai;void mai n()int a10=1,2,3,4,5,6,7,8,9,10; f1(a,10);練習:求10個數的和求10個數的平均值把10個數逆序輸出求10個數中的最小值(四)指向字符串的函數:f2(char s)int i;for(i=0;si!=0;i+) si;使用自定義函數的要點:1. 自定義函數要寫在 main函數的上方2. 在分析程序的運行時要知道,程序的執(zhí)行從 ma in函數開始,在main中結束3. 自定義函數可以接收主函數傳遞的多個參數4. 自定義函數每次只能返回一個結果給主函數5. 自定義函數可以通過指針對主函數中的數值進行直接訪問(操作)6. 輸入操作一般交給 main函數練習(全都用函數實現,輸入輸出由主函數負責,功能實現由自定義函數負責):求任意兩個數的和、差、積(用三個自定義函數實現)求任意兩個數的余數,如果輸入的除數為0要輸出警告信息交換兩個變量計算x的10次方(x為雙精度)求等比數列2 4 8 16 32的第n項查找字符c在字符串s中第一次出現的位置連接兩個字符串/*連接兩個字符串*/#in elude "stdio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 舞臺設備運輸外包合同范本
- 2025年度辦公室租賃及企業(yè)市場推廣服務合同
- 2025年度互聯(lián)網公司辦公室租賃簡明合同
- 工程建筑工程技術員聘用合同
- 勞務合作合同年
- 農業(yè)產業(yè)鏈質量監(jiān)督與管理指南
- 打井降水施工合同
- 食品進口與出口檢驗作業(yè)指導書
- 深圳股權轉讓合同協(xié)議書
- 建設工程施工勞務分包合同協(xié)議書
- 2025年大慶職業(yè)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 山東省濟南市2024-2024學年高三上學期1月期末考試 地理 含答案
- 【課件】液體的壓強(課件)-2024-2025學年人教版物理八年級下冊
- 實施彈性退休制度暫行辦法解讀課件
- 冷凍食品配送售后服務體系方案
- 發(fā)酵饅頭課件教學課件
- 《心系國防 強國有我》 課件-2024-2025學年高一上學期開學第一課國防教育主題班會
- 數與代數結構圖
- 曹晶《孫悟空大鬧蟠桃會》教學設計
- 國際貿易進出口流程圖
- 玄武巖纖維復合筋工程案例及反饋情況
評論
0/150
提交評論