1.int型:絕對(duì)值在10^9范圍內(nèi)的整數(shù)都可以定義成int型。
2.longlong型:如果longlong型賦值大于2^31 -1的初值,則需要在初值后面加上LL,否則會(huì)編譯錯(cuò)誤。
3.float、double輸入輸出格式:使用printf("%f",c);語(yǔ)句時(shí),%f是float和double型的輸出格式。而在使用scanf輸入時(shí),float輸入格式為%f,double輸入格式為%lf。
4.if條件:由于if(n)表示if(n!=0),所以if(!n)表示if(n==0)
5.for語(yǔ)句:注意在C語(yǔ)言中不允許在for(A;B;C)語(yǔ)句的表達(dá)式A里定義變量(比如inta=0;的寫法是不允許的),但在C++中可以
6.數(shù)組定義:如果數(shù)組大小較大(10^6級(jí)別以上),則需要將其定義在主函數(shù)外面,否則會(huì)使程序異常退出。
7.數(shù)組賦初值:如果我們定義一個(gè)數(shù)組int array[10]={12,1,6,4}.可知只對(duì)數(shù)組的前四項(xiàng)賦值,那么后面沒有賦值的元素默認(rèn)為0.但如果該數(shù)組沒有賦初值,數(shù)組中的每個(gè)元素都可能會(huì)是一個(gè)隨機(jī)數(shù)(不一定是0)。所以如果想給整個(gè)數(shù)組都賦值為0,簡(jiǎn)單介紹以下四種方法:
1、int array[10]={};
2、int array[10]={0};
3、memset函數(shù) :memset(array,0,sizeof(array));//若數(shù)組為int array[10],則此處sizeof(array)=4*5=20,因?yàn)?/p>
memset是按字節(jié)賦值. 格式memset(數(shù)組名,值,sizeof(數(shù)組名));
4、fill函數(shù) :fill(array,array+5,8);//數(shù)組從array[0]到array[4]均被賦值為8,格式fill(起始地址,結(jié)束地址,值);
注意:memset()函數(shù)需頭文件
8.二維數(shù)組賦值:若二維數(shù)組array[4][5]={{1,2,3,4,5},{2,2,3},{},{4,2,3,5}};可以看出第三行用{}跳過了(如果不加大括號(hào)是無法通過編譯的)
9.字符數(shù)組初始化:字符數(shù)組可以通過直接賦值字符串來初始化(僅限初始化,程序其他位置不允許這樣直接賦值整個(gè)字符串)
10.字符數(shù)組輸入輸出:定義char str[10]; scanf("%s",str); pritnf("%s",str);注意字符數(shù)組在輸入時(shí)不需要加&取地址運(yùn)算符. 且scanf輸入時(shí)%s通過空格或換行來識(shí)別一個(gè)字符串的結(jié)束
gets用來輸入一行字符串.gets識(shí)別換行符 作為輸入結(jié)束,因此scanf完一個(gè)整數(shù)后如果要使用gets,需要先用getchar接收整數(shù)后的換行符;puts輸出一行字符串后會(huì)緊跟一個(gè)換行( )
11.字符數(shù)組長(zhǎng)度的重要性:字符數(shù)組的長(zhǎng)度一定要比實(shí)際存儲(chǔ)字符串的長(zhǎng)度至少多1,作為結(jié)束符'