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