第二章資料型別、運算子與表示式
1. c的資料型別
c的資料型別包括:基本型別(整型、字元型、實型或浮點型(單精度和雙精度))
構造型別(陣列型別、結構體型別、共用體型別)
指標型別
無值型別(void)。
2. 常量與變數
常量其值不可改變,符號常量名通常用大寫。變數其值可以改變,變數名只能由字母、數字和下劃線組成,且第乙個字元必須為字母或下劃線。否則為不合法的變數名。
變數在編譯時為其分配相應儲存單元。
3. 整型資料
整型常量的表示方法:十進位制不用說了,八進位制以0開頭,如0123,十六進製制以0x開頭,如0x1e。
整型變數分為:基本型(int)、短整型(short int)、長整型(long int)和無符號型。在vc++編譯器上short型別為2個位元組,int和long型為4個位元組。
4. 實型資料
實型常量表示形式:十進位制形式由數字和小數點組成(必須有小數點),如:0.
12、.123、123.、0.
0等。指數形式如123e3代表123×10的三次方。
實型變數分為單精度(float)和雙精度(double)兩類。在一般系統中float型佔4位元組,7位有效數字,double型佔8位元組,15~16位有效數字。
5. 字元型資料
字元變數用單引號括起來,如'a','b'等。還有一些是特殊的字元常量,如'\n','\t'等。分別代表換行和橫向跳格。
字元變數以char 來定義,乙個變數只能存放乙個字元常量。
字串常量是由雙引號括起來的字串行。這裡一定要注意'a'和"a"的不同,前者為字元常量,後者為字串常量,c規定:每個字串的結尾加乙個結束標誌'\0',實際上"a"包含兩個字元:
'a'和'\0'。
6. 數值型資料間的混合運算
整型、字元型、實型資料間可以混合運算,運算時不同型別資料要轉換成同一型別再運算,轉換規則:見附錄5
7. 運算子和表示式
c運算子包括:
算數運算子
關係運算子( > < == >= <= != )
邏輯運算子
賦值運算子( = )
條件運算子( ? : )
逗號運算子( , )
指標運算子( * & )
強制型別轉換(型別)
自增自減運算子( ++ -- )注意:++i和i++的不同之處,++i使用i之前先使i加1,i++使用i之後,使i加1。
逗號表示式的求解過程:先求解表示式1,再求解表示式2,整個表示式的值是表示式2的值。
第三章最簡單的c程式設計
1.程式的三種基本結構:順序結構,選擇結構,迴圈結構
2.資料輸出
c語言不提供輸入輸出語句,輸入輸出操作是由c的庫函式完成。但要包含標頭檔案stdio.h。
putchar( ) 向終端輸出乙個字元
printf( )的格式字元:
① d格式符用來輸出十進位制整數
%d 按整型資料的實際長度輸出
%md 使輸出長度為m,如果資料長度小於m,則左補空格,如果大於m,則輸出實際長度
%ld 輸出長整型資料
② o格式符以八進位制形式輸出整數
③ x格式符以十六進製制形式輸出整數
④ u格式符用來輸出unsigned型資料,以十進位制形式輸出
⑤ c格式符用來輸出乙個字元
⑥ s格式符輸出乙個字串
%s 輸出實際長度字串
%ms 輸出的串佔m列,如果串長度小於m,左補空格,如果大於m,實際輸出
%-ms輸出的串佔m列,如果串長度小於m,右補空格,
%m.ns 輸出佔m列,但只取字串中左端n個字元並靠右對齊
%-m.ns m、n含義同上,靠左對齊,如果n>m,則m自動取n值
⑦ f格式符以小數形式輸出實數
%f 整數部分全部輸出,小數部分輸出6位
%m.nf 輸出資料共佔m列,其中有n位小數。如果數值長度小於m,左補空格
%-m.nf 同上,右補空格
⑧ e格式符以指數形式輸出實數
%e 系統指定6位小數,5位指數(e+002 )
⑨ g格式符輸出實數,根據數值大小,自動選f格式或e格式
3.資料輸入
getchar( ) 從終端輸入乙個字元
scanf( 格式控制,位址列表) %後的*,用來跳過它相應的資料。
43改錯題1程式設計題四捨五入問題19填空題100程式設計題
第四章選擇結構
1. 關係運算子:
c提供6種關係運算子(> < <= >= == != )前四種優先順序高於後兩種。
關係表示式的值是乙個邏輯值,關係運算成立,結果為真,否則為假。在c語言中,沒有邏輯型的資料型別,因此規定邏輯真以整數1來表示,邏輯假以整數0來表示。
例: a=3; b=2; c=1;
a>b= =c 的值為1
2 邏輯運算子和邏輯表示式
邏輯運算子
c語言共有三種邏輯運算子,它們是:
邏輯與 && (and) 若a,b為真,則a&&b為真
邏輯或or) 若a,b之一為真,則a| |b為真
邏輯非 ! (not) 若a為真,則!a為假 (單目運算子)
優先順序混合運算:!— 算術運算子 — 關係運算子賦值運算子
結合性: 自左向右
c系統在判斷乙個量是否為「真」時,是以非0代表「真」,以0代表「假」(將乙個量作為邏輯量看)。因此邏輯運算子的運算元可以是任何型別的資料,只要判斷是0還是非0。如:
a=5 b=6 則:(a-b)&&(b-2) 結果為0 !a||b 結果為1
2. if語句
c語言用來設計選擇結構程式的語句有兩種,即if語句和switch語句。它們是根據判斷所給定條件的真還是假,來決定程式執行不同的操作。
一. if語句的三種形式
c語言提供了三種形式的if語句
1.單分支選擇
形式為: if(表示式) 語句
執行過程是:先判斷表示式的值,若非0,
則執行表示式後面的語句,若為0,則不執行表示式後面的語句。
例: if(a>10) x=a+10;
2.雙分支選擇
形式為: if(表示式) 語句1
else 語句2
執行過程是:當表示式值為非0,
執行語句1,否則執行語句2。
例: if(x<=(a+b)) y=a*b
else y=a-b;
3.多分支選擇
形式為:
if(表示式1) 語句1
else if(表示式2)語句2
…… else if(表示式n)語句n
else (語句n+1)
執行過程是:當某個表示式值為非0,則執行該if(表示式)後面的語句,其他語句不執行,即一次僅執行某乙個語句。
例: if (total>450) grade=』a』;
else if (total>400) grade=』b』;
else if (total>300) grade=』c』;
elsegrade=」d』;
使用說明:
● if語句中的「表示式」一般為關係表示式或邏輯表示式,由於系統對表示式值的判斷是以非0或0來進行「真」或「假」處理,因此表示式可以是任意資料型別。如:if(a+b) ……
● if語句中的執行語句可以是一條簡單語句,也可以是一條復合語句。如:
if (x<10)
y=x+10;
a=x+y; /* 該語句不屬於if結構 */
● else它是if語句的一部分,不能單獨使用,應與if配對使用。在書寫時,應強調if語句的結構層次清晰。
● 應用if語句編寫程式時,首先應清楚兩點:一是條件是什麼?二是條件成立幹什麼?不成立幹什麼?這是乙個邏輯關係。
舉例: 輸入兩個不同的整數,輸出其中的大數。
main將大數放在a */
{ int a,b,temp;
scanf(「%d,%d」,&a,&b);
if (ab) /* 用雙分支結構 */
{ temp=a; a=b; b=tempprintf(「max=%d\n」,a);
printf(「max=%d\n」,a); else
printf(「max=%d\n」,b);
二. if語句的巢狀
在if語句結構中,當if或else後面的語句本身又是乙個if語句結構,這稱為if語句的巢狀結構。
如: if(表示式1)
if(表示式2) 語句1
else 語句2
else
if(表示式3) 語句3
else 語句4
應特別注意當if與else巢狀教多時,if與else的配對關係。else與if配對原則是:else與同一層中最接近它、而又沒有其他else與之相匹配的if語句配對。
例如: if理解上可能產生二義性 */
if ( ) 語句1
else整個結構為單分支,內嵌雙分支 */
if ( ) 語句2
else 語句3
在編寫程式時,當if與else的數目不一樣,為了使程式結構清晰,可加上花括弧來確定配對關係,特別注意書寫結構,突出程式中的語句結構,看上去一目了然。
例: 計算1 x<0
y= 0 x=0
1 x>0
main單分支巢狀 */
int x,y雙分支巢狀 */
scanf(「%d」,&xif (x==0)
y=0y=0;
if (x!=0else
c語言複習總結
第二章資料型別 運算子與表示式 1 c的資料型別 c的資料型別包括 基本型別 整型 字元型 實型或浮點型 單精度和雙精度 構造型別 陣列型別 結構體型別 共用體型別 指標型別 無值型別 void 2 常量與變數 常量其值不可改變,符號常量名通常用大寫。變數其值可以改變,變數名只能由字母 數字和下劃線...
C語言複習總結
c語言概述 1 1 重點內容提要 1 1 1 c程式的組成 1 c程式組成 c程式是由函式構成的,乙個c源程式至少有乙個函式,即main函式,也可以由乙個main函式和若干個其他函式構成。2 c程式中函式之間的關係 構成c程式的函式有兩大類 一類是主函式,另一類是子函式。在主函式和子函式之間,主函式...
C語言總結複習參考
c語言程式設計考試要求 2013 2014學年第2學期 一 教學內容 第1章程式設計概述 1.1 程式語言 1.2 演算法 1.3 程式設計與實現 1.4c語言程式的基本結構 第2章簡單程式設計 2.1 printf 函式輸出資料 d c f s 2.2 scanf 函式輸入資料 d c f s 2...