1. 程式人生 > 其它 >R語言讀CSV、txt檔案方式以及read.table read.csv 和readr(大資料讀取包)

R語言讀CSV、txt檔案方式以及read.table read.csv 和readr(大資料讀取包)

1,程式

(1)程式基本概念

  • C語言程式至少由一個 main() 函式組成
  • main() 函式是執行 C語言程式的人口函式,程式碼從這裡開始執行
  • 如無特殊情況,一般是從上到下依次執行 C語言程式的語句
  • main() 函式執行完畢,意味著整個 C語言程式執行完畢

(2)程式基本結構

  • C語言程式由一個或多個函式組成,其中至少有一個 main() 函式
  • 函式由簡單語句和複合語句構成
  • 複合語句由若干個簡單語句組成,例如 if 語句和 while 語句都是複合語句
  • 使用關鍵字可以組成語句
  • 表示式加上分號 ";" 可以組成語句
  • 運算子和運算元可以組成表示式

(3)程式程式碼可讀性

  • 水平空白    適當使用空格(用空格鍵或 Tab鍵)以提高程式碼的可讀性
  • 垂直空白    適當加入空行(用 Enter鍵)以提高程式碼的可讀性

2,關鍵字

  • break    結束迴圈語句或 switch...case 分支結構
  • case    可以實現 switch...case 多分支結構
  • continue    提前進入下一次迴圈
  • default    switch...case 多分支結構的 default 部分
  • do    可以實現 do...while 迴圈結構
  • else    可以實現 if...else 分支結構
  • for    可以實現 for 迴圈結構
  • if    可以實現 if...else 分支結構
  • return    結束一個函式並可以附帶一個整數作為函式的返回值(?)
  • sizeof    求出資料型別或變數的儲存空間大小
  • struct    定義結構體型別
  • switch    可以實現 switch...case 多分支結構
  • typedef    定義資料型別的同義詞(別名)
  • unsigned    無符號數
  • void    void 型別,表示通用型別
  • while    可以實現 while 迴圈結構

3,基本資料型別

  • char    字元型別,本質上是整數型別,sizeof(char) 等於 1
  • short    短整數型別,short int 的簡寫,sizeof(short) 等於 2
  • int    整數型別,sizeof(int) 等於 2 或 4
  • long    長整數型別,long int 的簡寫,sizeof(long) 等於 4
  • long long    長整數型別,long long int 的簡寫,sizeof(long long) 等於 8
  • float    單精度浮點數型別,sizeof(float) 等於 4
  • double    雙精度浮點數型別,sizeof(double) 等於 8

4,ASCII字符集

  •  使用7位二進位制編碼,一共有128個字元(95個“可顯示字元”和33個“控制字元”)

5,字串

  • 以字元 '\0' (ASCII編號為0的字元)為結束標記的 char型別的陣列
  • 藉助字元陣列來實現,沒有專門的關鍵字

6,變數

(1)定義變數

資料型別 變數名;

(2)定義變數並初始化

資料型別 變數名 = 初始值;

(3)一次定義多個變數的格式

資料型別 變數名1,變數名2,······,變數名n;

(4)變數名字的基本要求

  • 變數名字的第一字元必須是字母或者下劃線 "_" ,第二個字元起可以是數字、字母或者下劃線
  • 變數名是區分大小寫字母的,例如 y 和 Y 是兩個不同的名字
  • 關鍵字不能用於變數名
  • 變數名最好能表達出變數的功能用途,做到 “見名知意”
  • 變數一般是描述事物的名稱,因此變數的名字建議使用 “名詞” 或 “定語_名詞” 的形式命名

7,運算子

(1)算數運算子

  • +    加法
  • -    減法
  • *    乘法
  • /    除法(兩個整數相除,結果是整數)
  • %    求餘數

(2)關係運算符

  • >    大於
  • <    小於
  • ==    等於
  • >=    大於或等於
  • <=    小於或等於
  • !=    不等於

(3)邏輯運算子

  • &&    邏輯與 /且
  • ||    邏輯或
  • !    邏輯非,屬於一元運算子

(4)賦值運算子

  • =    把等號右邊的值儲存到等號左邊的變數
  • +=    加賦值運算子

(5)成員運算子

  • .    結構成員運算子
  • ->    間接成員運算子

(6)一元(單目)/三元(三目)運算子

  • &    求出變數在記憶體中的地址,屬於一元運算子
  • *    引用指標所指物件的內容,屬於一元運算子
  • ++    自增 1運算子,屬於一元運算子
  • --    自減 1運算子,屬於一元運算子
  • -    相反數運算子,屬於一元運算子
  • ? :    條件運算子,屬於三元運算子

8,運算子優先順序

  分為15個級別

9,分支結構

  • if 語句的最簡形式
if( 表示式 ){
    語句
}
  • if 語句的完整形式
if( 表示式 ){
    語句 1
}else{
    語句 2
}
  • if 語句的擴充套件形式
if( 表示式1 ){
    語句 1
}else if( 表示式2 ){
    語句 2
}else if( 表示式n ){
    語句 n
}else{
    語句 n+1
}
  • switch...case 語句
switch( 表示式 ){
    case 整數 1 :
        語句 1
        break;
    case 整數 2 :
        語句 2
        break;
    case 整數 n :
        語句 n
        break;
    default :
        語句 n+1
}

10,迴圈結構 

  • while 語句
while( 表示式 ){
    語句
}
  • for 語句
for( 表示式1; 表示式2; 表示式3 ){
    語句
}
  • do...while 語句
do {
    語句
} while( 表示式 );

11,函式 

  • 函式定義
資料型別 函式名字 ( 資料型別1 形式引數1, 資料型別2 形式引數2, ······)
{
    // 函式體
}
  • 函式呼叫
某個變數 = 函式名字( 實際引數1, 實際引數2, ······ );
函式名字( 實際引數1, 實際引數2, ······ );
  • 函式原型宣告
資料型別 函式名字 ( 資料型別1 形式引數1, 資料型別2 形式引數2, ······);

 12,陣列

  • 定義一維陣列
資料型別 陣列名 [ 元素個數 n ];
  • 定義一維陣列並初始化
資料型別 陣列名 [ 元素個數 n ] = { 第0個元素, 第1個元素, ······, 第k個元素 };
  • 訪問一維陣列的元素
陣列名[ 下標i ]
  • 定義二維陣列
資料型別 陣列名 [ 行數量R ][ 列數量C ];
  • 定義二維陣列並初始化
資料型別 陣列名 [ 行數量R ][ 列數量C ] = {
    { 第0行0列元素, 第0行1列元素, ······, 第0行n列元素 },
    { 第1行0列元素, 第1行1列元素, ······, 第1行n列元素 },
    ······
    { 第m行0列元素, 第m行1列元素, ······, 第m行n列元素 }
};
  • 訪問二維陣列的元素
陣列名[ 行下標 ][ 列下標 ]
  • 變長陣列

    使用整數型別的變數定義陣列的大小,並在程式執行時才確定陣列的大小

13,結構體

  • 定義結構體型別
struct 結構體名字 {
    第1個成員;
    第2個成員;
    ······
    第n個成員;
}
  • 定義結構體變數
struct 結構體名字 變數名字;
  • 定義結構體變數並初始化
struct 結構體名字 變數名字 = { 資料1, 資料2, ······, 資料k };
  • 訪問結構體變數的成員
結構體變數名字.成員
  • 訪問結構體指標的成員
( * 指向結構變數的指標名字 ).成員
指向結構變數的指標名字 -> 成員

14,指標

  • 定義指標
資料型別 * 指標變數 ;
  • 定義指標並初始化
資料型別 * 指標變數 =& 其他變數;
  • 引用指標所指向物件的內容
*指標變數 

15,標準庫函式

(1)< stdio.h >

  • fopen()    開啟檔案
  • fclose()    關閉檔案
  • printf()    輸出資料到螢幕中
  • fprintf()    輸出資料到文字檔案中
  • sprintf()    輸出資料到字元陣列中
  • scanf()    從鍵盤輸入資料
  • fscanf()    從文字檔案輸入資料
  • fwrite()    輸出資料到二進位制檔案中
  • fread()    從二進位制檔案輸入資料
  • feof()    檢測是否到達檔案末尾
  • fseek()    移動檔案的讀寫 “游標”

(2)< string.h >

  • strcmp()    比較兩個字串是否相等
  • strcpy()    複製字串

(3)< math.h >

  • abs()    求絕對值
  • sqrt()    求算術平方根

(4)< stdlib.h >

  • rand()    產生隨機數
  • srand()    設定隨機數種子
  • malloc()    分配記憶體空間
  • free()    釋放記憶體空間
  • exit()    結束整個程式

(5)< time.h >

  • time()    獲取計算機當前的時間

16,函式 printf() 的格式說明符

  • %c    輸出 ASCII 碼字元
  • %d    以十進位制形式輸出 int 型別的整數
  • %lld    以十進位制形式輸出 long long 型別的整數
  • %Md    以十進位制形式輸出 int 型別的整數,要求輸出 M 位寬度
  • %0Md    以 M 位十進位制形式輸出 int 型別的整數,若位數不足則使用 0 補足
  • %o    以八進位制形式輸出 int 型別的整數
  • %x    以十六進位制形式輸出 int 型別的整數,字母 a~e 使用小寫形式
  • %X    以十六進位制形式輸出 int 型別的整數,字母 A~E 使用大寫形式
  • %p    按照 %X的格式輸出十六進位制形式的地址,並使用前導 0 補足不足的位數
  • %f    輸出 float 和 double 型別的浮點數
  • %.Nf    輸出 float 和 double 型別的浮點數,要求輸出 N 位小數
  • %M.Nf    輸出 float 和 double 型別的浮點數,要求輸出 M 位總寬度以及 N 位小數
  • %s    輸出字串
  • %Ms    輸出字串,並指定寬度為 M 個字元,若寬度不足,則使用空格補足
  • %%    輸出一個百分號 “%”

17,函式 scanf() 的格式說明符

  • %c    輸入 ASCII 碼字元
  • %d    以十進位制形式輸入 int 型別的整數
  • %lld    以十進位制形式輸入 long long 型別的整數
  • %o    以八進位制形式輸入 int 型別的整數
  • %x    以十六進位制形式輸入 int 型別的整數
  • %f    輸入 float 型別的浮點數
  • %lf    輸入 double 型別的浮點數
  • %s    輸入字串
  • %Ms    輸入字串,並指定最多輸入 M 個字元

18,換碼序列

  • \n    換行符,即 Enter 鍵
  • \t    製表符,即 Tab 鍵,可以實現每列資料左對齊

19,預編譯指令

  • # include    引用一個檔案
  • # define    定義巨集替換

 

 

 

相關/轉載:

1,《C語言程式設計案例教程》附錄 知識點彙總