IOS學習筆記:
1、變量容易犯錯的地方1.1變量使用前未初始化
1.2兩個整形數做減法
例子:int a=1,b=1.5 int c=a-b; 輸出c顯示結果爲0;
2、github 代碼託管平臺
3、程序結構
3.1順序結構
3.2分支結構
3.3循環結構:給定的判斷條件成立時,循環執行
3.3.1、while循環語句
3.3.2、do-while循環語句
3.3.3、for循環語句
4、arc4random_uniform隨機數產生的函數
例如:arc4random_uniform(3) -->//0,1,2-->導入#include <stdlib.h>
產生10至50之間的隨機數:arc4random_uniform(41)+10;
產生m,n之間的隨機數:arc4random_uniform(n-m+1)+m;
5、if和switch的分支選擇
1)分支比較多並且無法窮盡或進行大量列舉時最好使用if
2)如果分支數量不是很多,但是使用if代碼量比較大的是很,可以選擇使用switch
6、C語言是面向過程的語言,在方法的使用之前必須要對函數進行聲明。
例如:
int main(){
void test();//聲明函數,否則報錯
test();
}
void test(){
printf("test函數。");
}
7、函數調用作爲另外一個函數的實參。
//定義方法max()求兩個數的最大值
int max(int x,int y){
return x>y?x:y;
}
//main函數,程序主入口
int main(){
//調用max()函數,並求三個數最大值
max(max(12,32),123);
}
注意:函數名不能和變量名同名
8、遞歸函數:函數內部調用函數本身,就是遞歸函數。
8.1、遞歸函數非常耗資源、耗內存。所以開發中能不用盡量不用。
8.2、遞歸的原理:壓棧、出棧。先進後出
例子:
A、遞歸求n的階乘
//JC()函數用來求階乘
int JC(int n){
int j;
if(n==1){
j=1;
}else{
j=JC(n-1)*n;
}
return j;
}
//主函數,調用JC()函數
int main(){
int n=10;
int j = JC(n);
printf("n %d 的階乘是:%d\n",n,j);
return 0;
}
B、遞歸求x的y次方
//計算x的y次方的函數CF()
int CF(int x,int y){
int result;
if(y==1){
result=x;
}else{
result=CF(x,y-1)*x;
}
return result;
}
//主函數,調用階乘方法JC()
int main(){
int x=2,y=3;
int result=CF(x,y);
printf("x %d 的 y %d 次方的結果是:%d\n",x,y,result);
return 0;
}
1、Xcode 的運行原理
1.1、編譯-->.o(目標文件)-->鏈接-->.out執行
1.2、常見的Unix命令
Mac系統採用的是Unix文件系統,所有的文件都放在根目錄下面,因此沒有Windows中分
C盤、D盤的概念。
常用的Unix指令如下:
ls:列出當前目錄下的所有內容(文件/文件夾)
pwd:顯示出當前目錄的名稱
cd:改變當前操作的目錄
who:顯示當前用戶名
clear:清除所有內容
mkdir:創建一個新目錄
rm:刪除文件
rm -r:刪除文件夾 -f強制刪除
touch:創建文件
vi /open:打開、創建文件 -q 退出 -wq保持並退出 -q!強制退出
cat/more 都可以查看文件內容
方向鍵可以查看 歷史命令
1、進制轉換:
二進制:封二進一。
書寫形式:需要以0b或者0B開頭。例如:0b101
八進制:逢八進一。
書寫形式:在前面加個0。例如:045.
十進制:逢十進一。
書寫形式:前面加個0x或者0X。
2、字符串的概念
字符串是位於雙引號中的字符序列
內存中以“\0”結束,所佔字節比實際多一個。
注意:
1)可以把一個字符常量賦值給一個字符變量,但不能把字符串常量賦值給字符變量。
2)C語言中沒有字符串變量,可以用字符數組來存放字符串。
printf("Hello world!");
char ch[10]="abcde";
3、字符數組
字符數組的初始化
1)定義的同時進行初始化。
2)先定義、後初始化。
字符數組的作用:
1)保存字符
char ch[10]={'a','b','c','d'};
2)保存字符串
char str[20]={"Helloworld"};//固定長度爲20個字符
char str[20]="Helloworld"; //固定長度爲20個字符
char str[]="helloworld"; //不限長度