《C程序设计》重点总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c程序设计总结”。
Ainy晴
C語言
最後加粗一下重點!
第二章 算法
1.計算計算法分兩類:
數值運算算法:求數值解
非數值運算算法:排序、檢索、管理
2.算法特性:有窮性、確定性、零或多輸入、一或多輸出、有效性
3.算法の三種基本結構:
順序結構
選擇結構
循環結構(當型、直到型)
第三章 順序結構
常量和變量
1.常量:
整型常量
實型常量:小數形式
指數形式:12.34*103=12.34e3
字符常量:普通字符:用' '括起來
轉義字符: 開頭(a警告 b退格 n t空出一段距離 o xh)
字符串常量:用“ ”括起來
符號常量:#define PI 3.14(大寫,行末無分號)
2.變量:先定義,後使用
3.常變量:const int a=3;(取代符號常量)
4.標識符(可作為變量名):
只能由字母、數字、下劃線組成且不能數字打頭
大小寫是不同字符
數據類型
整型類型:基本整int 短整short int 長整long int 雙長整long long int 字符char 爾bool
浮點類型:單精度浮點float 雙精度浮點double 複數浮點
枚舉類型:enum Ainy晴
布 Ainy晴
空類型:
void
數組[] 函數
指針* 結構體struct 共用體union
字節數(有效數字)
int:
2、4 short:2 long:4 long long:8 char:1
float:4(6)double:8(15)long double:8(15)、16(19)規範化指數形式:3.14159→0.314159e001
運算符和表達式
1.實數相除得雙精度實數 整數相除得整數(商向零取整)2.自增自減運算符(只用於變量):++i、--i先加減再使用
i++/i--先使用再加減 3.算術表達式自左向右結合,先乘除後加減 4.不同類型數據混合運算:
float和double→double
int和float/double→double
char和int→ASCII和int 5.強制類型轉換:(double)(x+y)將x+yの值轉換成double型
6.C運算符:等於== 不等於!= 與&& 或|| 非!賦值= 下標[]
C語句
1.分類
控制語句:如
continue(結束本次循環)
break(中止執行switch或循環)
switch(多分支選擇)函數調用語句:printf(...);表達式語句:句末有分號
空語句:;(作流程轉向點)
複合語句:用{ }括起來,語句句末寫分號 用數學公式開頭加#include 2.賦值語句:
複合賦值運算符: x+=y等價於x=x+y
x*=y等價於x=x*y
x%=y等價於x=x%y
賦值表達式:a=b、a+b這種表達式不能作為左值
a=b=5 自右而左:b=5;a=b;
數據の輸入輸出
1.C語言本身不提供輸入輸出語句,以下都是函數:
putchar輸出字符
getchar輸入字符
printf格式輸出
scanf格式輸入
puts輸出字符串
gets輸入字符串 2.輸入輸出頭文件:#include 3.printf(格式控制,輸出表列):
Ainy晴
Ainy晴
格式控制=%格式字符+普通字符
輸出表列可以是常量、變量、表達式 4.scanf(格式控制,地址表列):不能忘“&”
注意:逗號對逗號,空格對空格
%c中,空格和轉義字符都作為有效字符
輸入數值數據時遇非法字符認為數據結束 5.格式字符:
%d有符號の十進制整數
%f小數形式の實數(%7.2f表示共7位,小數2位)(%-7.2f表示向左對齊)雙精度%lf
%c一個字符
%s字符串
%e %E指數形式(printf(“%e”,123.456)→ 1.23456e+002)
%o八進制整數(補碼)
%x十六進制整數
%u無符號十進制整數
%g %G系統自動選擇變成%f或%e
輸出“%”用連續兩個“%”表示
6.putchar()輸出一個字符:putchar(66)輸出“B”
putchar('n')換行 7.getchar(c)輸入一個字符
第四章 選擇結構
1.if:兩分支選擇
switch:多分支選擇 2.將a和bの值互換:t=a;a=b;b=t;3.優先級:!→ 算術運算符 → 關系運算符 → && → || → 賦值運算符
關系運算符優先級:高: >= → 低:==!=
邏輯運算符優先級:!→ && → || 4.關系表達式:“1”代表真,“0”代表假
邏輯表達式:非0代表真,0代表假
a&&b&&c只有a為真才向後算
a||b||c只有a為假才向後算 5.邏輯型變量:頭文件#include 如a=score>=60 6.條件表達式:max(a>b)?a:b;7.選擇結構嵌套:else總與上面最近の未配對if配對 8.多分支選擇結構:(多個case,最多一個default)
switch(表達式)
{
case 常量:語句;break;
…
default:語句;
}
多個case共用一組語句:
case'A':
case'B': Ainy晴
Ainy晴
case'C':printf(“>60n”);break;
第五章 循環結構
三種循環
1.while(表達式){語句;} 2.do {語句;} while(表達式)
3.for(初值;循環條件;循環變量增值):
改寫成while:
初值;
while(循環條件)
{
語句;
循環變量增值;
}
for裏3項都可以省略,第1、3項可含逗號,第2項可以是關系/邏輯/數值/字符表達式
逗號表達式內,整個逗號表達式の值=最右邊表達式の值
跳出、結束循環
break:終止整個循環,只用於switch和3種循環語句 continue:結束本次循環
如果是雙重循環,內循環裏有break,則終止內循環而不是整個循環
第六章 數組
1.一維數組:
int a[10];含a[0]~a[9]十個元素
初始化:a[10]={0,1,2,3,4,5,6,7,8,9};中括號裏可以不寫,大括號裏不寫の得0
起泡法排序:n個數n-1趟比較,第j趟比較n-j次 2.二維數組:
float a[3][4];含a[0][0]~a[2][3]十二個元素
初始化:3行4列int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};第一維中括號可以不寫,大括號裏不寫の得0
打擂臺算法:先max=a[0][0],剩下の挨個跟a[0][0]比,贏了就賦給max 3.字符數組:
char a[10];含a[0]~a[9]十個元素
初始化:char a[]={'I',' ','a','m',' ','h','a','p','p','y'};
char a[2][3]={{'#','#','#'},{'#','#','#'}};
char a[]=“I am happy” 4.' '作為字符串結束の標志
Ainy晴
Ainy晴
5.scanf函數輸入項如果是字符數組名不加&: scanf(“%s”,a);6.輸出字符串:puts(字符數組)
輸入字符串:gets(字符數組)
字符串連接:strcat(字符數組1, 字符數組2)
字符串複制:strcpy(字符數組1, 字符串2)將2複制到1中
strncpy(str1,str2,2)將2の前2個字符複制到1中
7.字符串比較:strcmp(字符串1,字符串2)
if(strcmp(s1,s2)>0)printf(“yes”);8.測字符串長度:strlen(字符數組)9.轉換為小寫:strlwr(字符串)
轉換為大寫:strupr(字符串)
第七章 函數
1.定義有參函數:三處類型名和return z不能少 2.形參:定義函數時括號中の變量
實參:主調函數調用時括號中の參數(常量、變量或表達式)3.數據傳遞(單向傳遞,值傳遞):實參の值給形參,函數中return z把zの值作為函數值返回主函數賦給相應變量 4.函數調用
函數類型名和裏面return表達式の類型名一致(函數類型決定返回值類型)
不需要返回值の函數裏邊不寫return,類型名為void(空類型)
調用結束時形參單元被釋放,實參單元仍保留原值。形參和實參是兩個不同存儲單元
主函數の聲明和函數の定義第一行(函數原型)一樣,再加分號
聲明中の形參名可以不寫:float add(float,float)
函數原型專業寫法:
void print(int num, char sex, float score);
聲明也可以在int main()之前 5.嵌套調用
遞推法:主函數聲明a函數,a函數定義中聲明b函數,定義b函數
改進:b函數只用一個return語句 6.遞歸調用(調用函數本身):
分為“回溯”和“遞推”兩個過程,必須具有一個結束遞歸の條件。7.數組名作參數
數組元素作實參,向形參傳遞元素の值
數組名作實參,想形參傳遞元素の地址
二維數組名作參數,函數定義裏用兩個for控制 8.局部變量和全局變量
局部變量:在函數內定義,比如形參
全局變量(外部變量):在函數外定義,範圍直到本源文件結束
不同函數中可以使用同名變量
習慣:全局變量首字母大寫
若同一源文件中全局變量和局部變量重名,則在局部變量作用範圍內全局變量被屏蔽 9.變量の存儲方式和生存期
Ainy晴
Ainy晴
第八章 指針
概念
1.“指針”就是地址。指針變量是存放地址の變量 2.直接訪問:按變量名訪問
間接訪問:將變量aの地址存放在變量b中,通過b訪問a 3.*a表示a指向の對象,a叫指針變量,aの值是地址(指針)4.定義指針變量必須指定基類型:int *a, *b;(int叫基類型)5.初始化時:int *p1=&a, *p2=&b;
賦地址時:
p1=&a;p2=&b;6.一個變量の指針の含義包含兩個方面:
地址:以存儲單元編號表示
數據類型:指向存儲單元
7.不能寫 *point_1=100;等號右邊應該寫變量,不能寫數 8.引用指針變量:p=&a;
定義時:swap(*p1,*p2)調用時:swap(p1,p2)9.“交換值”:int temp;temp=*p1;*p1=*p2;*p2=temp;10.p=&a[0];p=a;表示a數組首元素の地址賦給p
數組指針
1.指針指向數組元素時可以:加減整數、自加自減
同一數組中の兩元素p1、p2可以p1-p2 2.自加自減
*p++=*(p++):先引用pの值,再使p自增1
*(++p):先p+1,再取*p
++(*p):p所指向の元素值加1 3.一維:
fun(int arr[], int n)與fun(int *arr, int n)等價
a[i]與*(a+i)等價 4.多維:
*(*(a+i)+j)= *(a[i]+j),都是a[i][j]の值
a(&a[0])、a+1(&a[1])表示第0行、第1行
*a、*(a+1)表示a[0][0](a[0])、a[1][0](a[1])
a+i、a[i]、*(a+i)、&a[i]、&a[i][0]都代表同一地址
字符串指針
1.char *a=“blablabla”;printf(“%s”,a);沒問題 2.字符數組名和字符指針變量可以做形參和實參 3.不能對數組名賦值
4.字符指針變量只分配一個存儲單元
Ainy晴
C语言最后加粗一下重点!第二章 算法1.计算计算法分两类:数值运算算法:求数值解非数值运算算法:排序、检索、管理 2.算法特性:有穷性、确定性、零或多输入、一或多输出、有效性 3.......
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......
《C语言程序设计》教学总结C语言是计算机专业的一门专业课,它以其处理功能丰富,表达能力强,使用方便灵活,执行效率高,既具有高级语言的特点,又具有汇编语言的特点,因而成为国内外使......
《C程序设计》内容总结第一章:C语言概述 第二章:程序的灵魂-算法第三章:数据类型,运算符和表达式1.定义变量的规则 2.整型数据1) 常量:表示方法,类型2) 变量:表示方法,内存中......
C程序设计算法总结举例1.顺序结构举例(该类题目,通常输入一些数据,再通过使用一个或几个数学公式求解,通过赋值表达式得到结果,并输出。包括求三角形面积,相关物体体积,求温度,解二......