C語言程式設計總結

2021-03-14 10:06:01 字數 4375 閱讀 3207

一、c語言程式的基本結構

#include 「stdio.h」

void main()

二、變數的定義

1.整型:int a , b, s=0; (可以在定義的同時為變數進行賦值)

長整型:long

無符號整型(非負整數):unsigned

2.單精度實型: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

變數的輸入:

輸入乙個變數:scanf(「%d」, &a);

輸入多個變數:scanf(「%d%d%d」, &a, &b, &c);

int--%d float--%f char--%c double--%lf 字串--%s

變數的輸出:

輸出乙個提示語句:printf(「******」);

輸出乙個回車:printf(「\n」);

輸出乙個變數:printf(「*** is %d」, a);

輸出多個變數:printf(「***x%d, ***x%d」,a,b);

練習:1. 輸入圓的半徑,求圓的周長。

四、常用流程控制語句

分支語句:根據條件執行相應的語句

條件的形式:a大於0 寫成 a>0

a小於0 寫成 a<0

a等於0 寫成 a==0 (注意,用兩個=)

a大於等於0並且小於等於10 寫成 a>=0 && a<=10

a小於0或者a大於10 寫成 a<0 || a>10

(一)單分支if語句(如果滿足某個條件,就做某件事情,不滿足就向下執行。)

if(條件)

(二)雙分支if語句(如果滿足某個條件,就做某件事情,否則就做另外一件事情。)

if(條件)

else

(三)多分支if語句(滿足哪乙個條件,就做相應的語句。)

if(條件1)

else if(條件2)

else if(條件3)

else if(條件4)

else

(四)if的巢狀(根據具體情況對if~else~語句進行靈活的運用)

其格式如下:

if(條件1)

if(條件2)

執行語句a; }

else

執行語句b; }

else

if(條件3)

執行語句c; }

else

執行語句d; }

(五) 多分支語句 switch(根據switch後的值,執行相對應的case語句,此語句了解即可,因為它的作用完全可以用多分支if來實現)

switch (表示式)

case 值2:

case 值3:

……case 值n:

default:

}練習:

2. 某自助餐廳規定,浪費食物在20克以下的,每克罰款2元;如浪費超過20克,則超過的部分每克加罰1元。程式設計求罰款金額。

3. 從鍵盤輸入正方形的邊長,如果邊長大於零則求出該正方形的周長和面積,否則提示輸入錯誤。

4. 輸入3個數x,y,z,求其中的最小值。

5. 輸入3個數x,y,z,將其中最大值放在x中,最小值放在z中,中間值放在y中,然後輸出x,y,z。

迴圈語句:在條件成立時重複執行一組語句

(五) 使用break可以強制退出迴圈,其用法必須配合if來使用:

例如:for(i=0;i<100;i++)

…}練習:1. 程式設計求出公式s=1-1/3 + 1/5- 1/7+…1/101 的值並輸出

2. 程式設計輸出如下圖形:

** *

* * *

* * * *

* * * * *

3. 程式設計列印九九乘法表

4. 程式設計列印出2023年1月份的日曆

注意:1月份的總天數是31天,其中1日是星期五。

日曆如下:

一二三四五六日

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

void main()

}}5. 在第4題的程式上進行修改,如果輸入任意乙個月的總天數及該月第一天的星期(1代表星期日,2代表星期一……以此類推),能否列印出該月日曆

6. 計算x的n次方(x為雙精度,n為非負整數)

void main()

printf("jieguo is %.2lf",s);

}四、陣列

一維陣列

1. 一維陣列:名字相同且帶有下標的一組變數

2. 定義形式:型別名陣列名[長度]

例如:int a[10] //a陣列中包含有10個整型變數,名字分別是a[0]、a[1]、a[2]……a[9]

這裡每乙個a[n]都是乙個普通的整數變數

3. 一維陣列的初始化:定義陣列的時候就給每個陣列元素賦值

int a[5]=;

4. 對a陣列中的每乙個元素依次進行操作(訪問)的方法如下:

int i;

for(i=0;i<9;i++)

例如:● 通過鍵盤輸入給a陣列中的每個元素賦值

● 將a陣列中每乙個元素都擴大2倍

● 統計a陣列中奇數的個數

● 求a陣列中的最大值

● 把a陣列的元素進行逆置

● 把a陣列中的元素進行右移

練習:1. 從一維陣列中查詢x,並返回x所在的位置,否則提示沒有找到。

2. 求fibonacci數列的第n項。

3. 求任意乙個數的1.2~1.6倍存入陣列。

4. 陣列中存入10個數並進行迴圈左移

二維陣列

1. 二維陣列:名稱相同且帶有2個下標的一堆變數,邏輯上可看成n行m列的二維**。

2. 定義形式:型別名陣列名[行長度][列長度]

例如:int a[3][4]

這裡a陣列中包含有3*4=12個陣列元素,這12個元素的名字分別是:

a[0][0] a[0][1] a[0][2] a[0][3]

a[1][0] a[1][1] a[1][2] a[1][3]

a[2][0] a[2][1] a[2][2] a[2][3]

3. 二維陣列的初始化:

int a[3][4]=,,};

4. 對a中陣列元素的訪問,需要定義2個下標變數i和j,a[i][j]代表第i行第j列的元素。

例如:● 為二維陣列中的每乙個元素賦值

● 將二維陣列轉置輸出(行變列,列變行)

● 求每行的平均值

● 求每列的總和

● 求列上的最小值

5. 行列相等的二維陣列叫做矩陣,對矩陣的操作有:

● 求主對角線的和

● 求次對角線的平均值

● 輸出該矩陣的上半三角元素

練習:1. 對乙個3*4的陣列,求列上的平均值

2. 求乙個3*3矩陣的主、次對角線的平均值

3. 利用陣列輸出以下圖形

字串1. 字串:字元型的一維陣列,可以儲存一串字元,並以』\0』做為結束標誌。

2.字串的輸入與輸出

char str1[20],str2[20],str3[20];

gets(str1); //字串的輸入

scanf(「%s」,str2); //字串的輸入

puts(str1); //字串的輸出;

printf(「%s」,str2); //字串的輸出;

3.對字串的訪問:如有char s1[20]; int n;

字串的長度:n=strlen(s1);

第乙個字元:s1[0];

最後乙個字元:s1[n-1]

『\0』的位置:s1[n]

4. 字串常用函式:

注意:用以下函式需要用#include 「string.h」引入標頭檔案。

連線字串:strcat(str1,str2)

比較兩個字串的大小:strcmp(str1,str2);

求字串的長度:strlen(str1);

在字串中查詢乙個字元,並返回其位置:char c=』a」; strchr(str1, c);

複製字串:strcpy(str3,str1);

C語言程式設計總結

其餘的資料型別如char short int long float等與標準c語言完全相同。bit sbit sfr 和sfr16資料型別專門用於51微控制器硬體和c51編譯器,並不是標準c語言的一部分,不能通過指標進行訪問。bit sbit sfr 和sfr16資料型別專門用於訪問51微控制器的特殊...

C語言程式設計

題目答案知識點評析 填空題請補充函式fun 該函式的功能是 把從主函式中輸入的字串str2接在字串str1的後面。例如 str1 how do str2 you do?結果輸出 how do you do?注意 部分源程式給出如下。請勿改動主函式main和其他函式中的任何內容,僅在函式fun的橫線上...

C語言程式設計規範

編碼規範 1.標頭檔案編碼規範 3 2.函式編寫規範 3 3.識別符號命名與定義 3 3.1通用命名規則 3 3.2 變數命名規則 4 3.3函式命名規則 4 3.4 巨集的命名規則 4 4.變數 4 5.巨集 常量 5 6.質量保證 5 7.程式效率 6 8.注釋 6 9.排版與格式 7 10.表...