第一篇:C語言程序設計筆記
C語言程序設計的概論:
什么是程序設計:
編譯環(huán)境 程序設計就是用戶告訴計算機按程序員的思路一步一步的去工作
而C語言程序設計就是,通過c這門語言與計算機通信,并告訴計算機應如何工作
在微機上廣泛使用的C語言編譯系統(tǒng)有Microsoft C、Turbo C、Borland C等。雖然它們的基本部分都是相同的,但還是有一些差異,所以請大家注意自己所使用的C編譯系統(tǒng)的特點和規(guī)定(參閱相應的手冊)。我們所有使用的環(huán)境是WIN-TC(WINDOWS2000操作系統(tǒng))。
簡單的C程序 例1.1 main(){ printf(“This is a c program.n”);} 本程序的作用是輸出一行信息: This is a c program 注意:
每一個C程序都必須有main()函數(shù) 函數(shù)體內由大括弧{ }括起來 大括弧內每條語句后必須有一個分號
符號和字母,都要用半角格式的(必須切換到英文輸入法輸入符號字母)Printf()輸出函數(shù)
n 轉義字母,代表換行(回車)
/* */注釋符
試一試: 參照例題,編寫一個C程序,輸出以下信息: * * * * * * * * * * * * * * * * * * * very good!* * * * * * * * * * * * * * * * * * *
Printf(“******n”);n轉意字符,代表換行 數(shù)據(jù)類型 1.2.3.整型:12, 0 ,-3 實型:4.6 ,-1.23 字符型:’a’ , ‘b’
算術運算符 1.2.3.4.5.+ 加法運算符-減法運算符 * 乘法運算符 / 除法運算符 % 求余運算符
算術運算符的優(yōu)先級同數(shù)學:先括號,后乘除,再加減 題目:求兩個數(shù)的余數(shù)的程序
什么是變量 : 其值可改變的量稱為變量,也把變量看成用來裝數(shù)據(jù)的容器 變量的作用 : 增加程序的靈活度,可以說任何一個程序基本上都用到了變量度 如何定義變量: 數(shù)據(jù)類型 變量名; int a;數(shù)據(jù)類型 變量名1,變量名2,?變量名N;float a,b,c;char c1,c2;變量命名規(guī)則:
只能以字母、數(shù)字、下劃線三種字符組成,且第一個字符必須為字母或下劃線。
在C語言中,變量名是區(qū)分大小寫的。
int a=3 int A=4 變量命名的良好習慣──見名知意: 例如:年齡 intAge/intNl 變量數(shù)據(jù)類型:
int 代表整型類型 范圍:-32768~32768 float 代表實型 范圍:-3.14×10-38~ 3.14×1038 有效數(shù)字:6~7 char 代表字符型 該類型變量只能容納一個字符 變量的賦值: int a=3 int a=3.4 錯誤 float a=3.4 char a=’c‘
或:int a =3,b=4;注意:定義什么類型的變量就賦什么類型的數(shù)據(jù)
%d 以整型的形式輸出
printf()輸出函數(shù) :
例: printf(“this is what?”)直接把雙引號內的字符串原樣輸出 printf(“this is what? n ”)n 轉意字符 不原樣輸出該字符串,而是起到換行作用,將當前位置移到下一行開頭
b 退格
???
Printf(“this is %d ”,i)%d 用來代替“,”后面的變量,并指定該變量以什么類型輸出
%d 按整型輸出
%f 按實型輸出
%c 以字符形式輸出,只輸出一個字符 例:
scanf(“%d%d”,&a,&b)讓用戶輸出兩個整放,放到變量a,b中.注意:
變量前一定要加& 輸入多個變量時,可用空格或回車間隔,但不能用”,” 1.用戶輸入圓半徑,輸出圓的周長和面積
2.用戶輸入兩個整數(shù),求兩個數(shù)的和,差,積,余 3.用戶輸入兩門成績,輸出總分,平均分 1.2.3.4.5.6.每一個C程序都必須有main()函數(shù) 函數(shù)體內由大括弧{ }括起來 大括弧內每條語句后必須有一個分號 符號和字母,都要用半角格式的
Printf()輸出函數(shù) n 轉義字母,代表換行 /* */注釋符
7.C語言結構化程序設計的三種基礎結構介紹 8.關系運算符和關系表達式 9.邏輯運算符和邏輯表達式 10.if語句 11.條件運算符 選擇結構是根據(jù)條件有選擇的執(zhí)行程序代碼!如果(用戶輸入的密碼是:123)輸出:“密碼正確” 否則
輸出:“密碼錯誤” if(判斷式){判斷式成立時所執(zhí)行的語句} else {判斷式不成立時所執(zhí)行的語句} 說明: 只有當判斷式成立時才會執(zhí)行語句塊1 否則執(zhí)行語句塊2 兩者不會同時執(zhí)行或不執(zhí)行 關系運算符
所謂的“關系運算”實際上是”比較運算” C語言提供如下6種關系運算符
< 小于
<= 小于等于
> >= == 是否等于
!= 是否不等于 優(yōu)先級
前四種關系運算符優(yōu)先級相同,后兩種也相同,但前4種大于后2種 關系運算符的優(yōu)先級低于算術運算符 關系運算符的優(yōu)先級低于賦值運算符 試一試:
用戶輸入密碼,如密碼是123,則輸出恭喜你,登錄成功,否則輸出不要試我密碼哦.!注意知識點: 提示:
If語句和}后都沒有分號結束符
else 后沒有條件表達式
如果IF或ELSE后的語句塊只有一句的話,{} 可省略!
如果不滿足IF后面的條件,什么都不做的話,可以省略else 題目: 根據(jù)上網(wǎng)用戶輸入的年齡,決定彈出信息,如年齡小于18則彈出“你太小了,還不能到網(wǎng)吧上網(wǎng)哦”否則彈出“OK,沒問題祝你玩的愉快”; :
用戶輸入數(shù),判斷輸出是奇數(shù)還是偶數(shù)
邏輯運算符
C 提供的三種邏輯運算符
&& 與(相當于and 且)
|| 或(相當于or 或)
!非(相當于not 取反)
例:
a&&b 若a,b為真,則a&&b為真
a||b 若a,b之一為真,則a||b為真
!a 若a為真,則!a為假 運算符優(yōu)先級!(非)算術運算符 關系運算符 && 和 || 賦值運算符 由高往低 條件運算符
若if 語句中,在表達式為”真”,和”假”時,且都只執(zhí)行一個賦值語句給同一個變量賦值時,可以用簡單的條件運算符來處理,例:若有以下if語句: if(a>b)max = a;else max =b;可以用下面的條件運算符來處理
max =(a>b)? a:b;多分支選擇結構
如果用IF ELSE的話。雖然可以做出徠,但要用到眾多的IF ELSE非常的煩瑣。像這種多分支的選擇,我們一般采用下面的語句 switch(變量){ case 值1: 代碼; break;
???..case 值n: 代碼; break;default:語句 N;//當變量不等于上面所有值時,執(zhí)行default后的語句; } 注意: 1.break退出{} 2.case 后只能跟一個值,而不能是一個表達式 3.switch(變量)后沒有”;” {}前后都沒有”;” 三種選擇語句的比較 If //只有條件成立時執(zhí)行
I f else //適用于只有兩種情況出現(xiàn),要么執(zhí)行A,要么執(zhí)行B Switch //適合多種情況,且變量是精確值時 注意
If(a>b>c)錯誤 If(a>b&&a>c)正確 字符一定要加’’引起來 Case,后不能是表示式 Default 后面不必加break
第二篇:C語言程序設計譚浩強重點筆記
C語言設計 學習筆記
早晨: 06:40
起床
07:20——08:20 上午: 08:30——10:30 10:50——11:30 中午: 12:00——02:00
下午: 02:30——04:30
晚上: 05:30——08:00 08:00——09:00 09:00——11:00
11:30
英語 1小時
新概念英語(單詞、語法、聽讀背)大學英語(單詞、語法、聽讀背)
計算機基礎 2小時 計算機科學技術導論 計算機組成原理 微機原理及接口技術
Intel微處理器結構編程與接口 深入理解計算機系統(tǒng) 80x86匯編語言程序設計
8086-8088宏匯編語言程序設計教程 BIOS研發(fā)技術剖析 自己動手寫操作系統(tǒng) 操作系統(tǒng)原理
Windows操作系統(tǒng)原理 Windows內部原理系列 Windows程序內部運行原理 計算機網(wǎng)絡第五版
午休
計算機應用及編程
Windows用戶管理指南、AD配置指南、網(wǎng)絡專業(yè)指南、Windows即學即會教程
Windows下32位匯編語言程序設計、C#編程 鍛煉、晚餐 輔導
專業(yè)基礎 2小時
大學數(shù)學、大學物理、電機及拖動、電力電子技術、通信技術 休息
目 錄
第一章 C語言概述.................................................................................................................................1.1 C程序結構特點16................................................................................................................1.2 C程序上機步驟17...................................................................................................................第二章 程序的靈魂——算法23............................................................................................................2.1 算法24.....................................................................................................................................2.2 算法的三種基本結構...............................................................................................................2.3 結構化程序設計方法42..........................................................................................................第三章 數(shù)據(jù)類型 運算符與表達式48..................................................................................................3.1 C語言的基本元素48...............................................................................................................3.2 C的數(shù)據(jù)類型48.......................................................................................................................3.3 常量與變量48..........................................................................................................................3.4 基本類型...................................................................................................................................3.5 變量63.....................................................................................................................................3.6 不同類型數(shù)據(jù)間的混合運算...................................................................................................3.7 函數(shù)的調用過程(補充).......................................................................................................第四章 最簡單的C程序設計——順序程序設計77...........................................................................4.1 字符數(shù)據(jù)的輸入輸出...............................................................................................................第五章 選擇結構的程序設計97............................................................................................................第六章 循環(huán)結構程序設計.....................................................................................................................6.1 語句標號...................................................................................................................................6.2 break語句和continue語句......................................................................................................第七章 數(shù)組132......................................................................................................................................7.1 構造類型...................................................................................................................................7.2 數(shù)組133...................................................................................................................................7.3 二維數(shù)組...................................................................................................................................7.4 字符串——字符數(shù)組...............................................................................................................7.5 字符串處理函數(shù) #include
1.1 C程序結構特點16
1、C程序的基本構件——函數(shù)。
2、一個函數(shù)由函數(shù)首部和函數(shù)體兩部分構成。
? 函數(shù)首部一般包括函數(shù)類型、函數(shù)名、函數(shù)參數(shù)等。
? 函數(shù)體一般包括聲明部分和執(zhí)行部分。其中:在聲明部分中定義所用到的變量;執(zhí)行部分則由若干個語句組成。
3、C程序只有一個main函數(shù),且總是從main函數(shù)開始執(zhí)行。
4、C語言語句必須以“;”結束。
5、用/*
*/作為注釋。
6、C編譯器一般自頂向下順序編譯C源程序,如果被調函數(shù)定義在主調函數(shù)之后位置時,要在主調函數(shù)前,給出被調函數(shù)的原型說明。以便編譯器在編譯被調函數(shù)的調用語句時,對調用語句進行參數(shù)檢查。
如果不進行原型說明,則無法通過編譯檢查。
原型說明:類型說明 函數(shù)名(參數(shù)類型,參數(shù)類型,??)
7、頭文件——頭文件包含了C語言的標準函數(shù)庫的原型說明。
C語言通過使用#include <>預處理命令,將庫函數(shù)的原型說明插入到源文件中。
1.2 C程序上機步驟17
1、編輯源文件.c;
2、編譯成目標文件.obj;
3、連接——將目標程序和庫函數(shù)及其他目標程序連接起來,生產可執(zhí)行文件,文件擴展名為.exe;
4、執(zhí)行。
結構體、共用體、枚舉型。
3、指針類型:用于存儲地址的一類數(shù)據(jù)類型。
4、空類型:
編譯器根據(jù)變量的數(shù)據(jù)類型,給變量分配存儲單元。
3.3 常量與變量48
1、符號常量——符號常量在其作用域內不能改變,也不能被賦值。#define 符號常量(大寫)常量
2、變量——變量由變量名和變量值標識。數(shù)據(jù)類型 變量;
? 變量名實際上是一個符號地址,編譯連接程序時給每個變量名分配一個內存地址,當程序訪問變量值時,實際上是通過變量名找到相應的內存地址,從其存儲單元中讀取數(shù)據(jù)。
3.4 基本類型
1、整形數(shù)據(jù)在內存中的存放,是以補碼形式存放的。
2、實型數(shù)據(jù):單精度 雙精度。? 在內存中以指數(shù)形勢存放。
? 若數(shù)據(jù)超過有效位,則超過C語言規(guī)定有效位的數(shù)據(jù)將被舍去,故產生誤差。
3、字符型數(shù)據(jù):用一個字節(jié)存儲單元存儲。即將字符的ASCII碼存儲到內存單元中。
? 用單引號括起來的一個字符。
? 轉義字符——特殊字符常量或者控制字符常量,它們都以“”開頭。? Char、unsigned char區(qū)別:char用7位數(shù)表示,最大表示編碼為127的字符;unsigned char用8位數(shù)表示,最大表示編碼為255的字符。? 字符數(shù)據(jù)與整型數(shù)據(jù)可以相互賦值。
? 字符數(shù)據(jù)可以以字符數(shù)據(jù)輸出,也可以以整型數(shù)據(jù)形式輸出。
4、字符串常量:C語言中,必須是用字符數(shù)組來保存字符串常量。在內存中順序存儲。
? 用一對雙引號括起來的字符序列。
(2)一般把建立存儲空間的聲明稱為變量定義,把不需要建立存儲空間的聲明成為變量聲明。
3.6 不同類型數(shù)據(jù)間的混合運算
? 不同類型數(shù)據(jù)進行混合運算時,不同類型的數(shù)據(jù)要先轉換成同一類型,按照類型級別由低到高(char,short—int——unsigned—long—double;float—double)的順序進行轉換。
? 強制類型轉換——(類型名)表達式。強制類型轉換也就是將存儲數(shù)據(jù)的內存單元強制轉換為另一種數(shù)據(jù)類型的單元大小。即強制將存放數(shù)據(jù)的內存單元改變。
? 賦值時進行類型轉換:將數(shù)據(jù)復制給變量時,將會將數(shù)據(jù)強制轉換為要賦值變量的類型。一般短類型轉換為長類型時,進行符號擴展;長類型轉換為短類型時,僅賦值低位,難以保證數(shù)據(jù)的正確性。
3.7 函數(shù)的調用過程(補充)
? C函數(shù)其實就是一個程序模塊。
? C函數(shù)在編譯時,單獨編譯成一個指令模塊,在函數(shù)模塊開始處定義保護現(xiàn)場指令,將用到的CPU寄存器壓入堆棧。在返回時定義了恢復現(xiàn)場指令,將堆棧數(shù)據(jù)恢復到CPU寄存器。
? 在調用函數(shù)時,一般利用堆棧傳遞輸入?yún)?shù);利用EAX傳遞輸出參數(shù),注意在函數(shù)調用完成后,要維持堆棧平衡,且函數(shù)返回輸出參數(shù)在EAX中,在使用輸出參數(shù)前,不要改變EAX的值。
第四章 最簡單的C程序設計——順序程序設計77 4.1 字符數(shù)據(jù)的輸入輸出
1、C語言沒有輸入輸出語句,IO操作通過調用系統(tǒng)函數(shù)實現(xiàn)。
2、在程序的開頭,要有:#include “stdio.h”或 #include
stdio.h 輸入輸出語句
2、數(shù)組——數(shù)組必須先定義后引用。靜態(tài)數(shù)組變量定義時編譯器自動初始化數(shù)據(jù)元素為0,動態(tài)數(shù)組變量在程序執(zhí)行時分配存儲空間,在未被賦值初始化之前其值隨機。
3、C語言只能逐個引用數(shù)組元素,不能一次引用整個數(shù)組。
4、數(shù)組引用是“數(shù)組名+下標”引用,數(shù)組下標均為整數(shù)。如a[2]。
7.3 二維數(shù)組
1、數(shù)組元素為數(shù)組。
2、在內存中,C語言的二維數(shù)組中數(shù)組元素的存放順序是按行存放的。
3、二維數(shù)組引用是“數(shù)組名+下標+下標”。如a[1][2]。
7.4 字符串——字符數(shù)組
1、一般用