c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)
生活随笔
收集整理的這篇文章主要介紹了
c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
運算符優先級
- 自右向左記憶口訣
- 條件賦值自增減(?: =/+=/-= ++ -- )
- 指針取址按位反 (* & ~)
- 內存非負強制轉 (sizeof ! - (type))
- define 前面的#標志著define是一個【預處理命令】而不是C語句。
- 高字節在【高地址】存儲單元,低字節在【低地址】存儲單元。
- 16位的內存中-65537與-1在內存中的值是一樣的。
- 16位的內存中-65535與1在內存中的值是一樣的。
- 整型常量后可加字母L或l表示long int型常量,如123L, 45l, 0XAFL.
- U或u表示無符號數
- float占4個字節 double占8個字節 long double 占10個(TC/BC)或8個(VC)字節
- 【轉義字符】r光標到當前行首、t制表符、b退格、v豎向跳格、a鳴鈴
- ++和--不可用于常量和表達式
- <<和>>表示位移運算符,左移值乘2,右移值除2。
- C語言常量分為直接常量和符號常量,定義符號常量需要使用預處理命令#include。
- 不合法的浮點數[e3],[2e4.3],[.e5],[-e3]
格式化輸出
- 兩個scanf函數調用之間通常需要使用【fflush庫函數】清除鍵盤緩沖區字符
- 除了X,E,G 其他格式轉換符均為小寫字母
- 有符號整型輸出 --- %[-/+][0][寬度][.至少輸出位數][l/h][u/o/x/X]
- 無符號整型輸出 %[-/+][#][0][寬度][.至少輸出位數][l/h][u/o/x/X]
- - 表示左對齊
- + 表示有正號顯示正號
- 0 表示空格補0
- # 表示16進制數要輸出0x或0X,八進制數要輸出0
- %hd表示輸出短整型,%o輸出八進制,%x或%X輸出十六進制
- 實數輸出 %[-/+][#][0][寬度][.precision][l/L][f/e/E/g/G]
- %f 表示小數點后要輸出六位,不夠補0
- %g 不輸出無意義的0
- %e 指數形式輸出
- #表示必須輸出小數點
- [.precision]輸出小數部分的位數(要四舍五入)
- %.3s輸出字符串前3個字符
- getchar:讀取鍵盤輸入一個字符,回車鍵結束,回顯
- getc:讀入流文件一個字符,回車鍵結束,回顯
- getche:讀取鍵盤輸入一個字符,任意鍵結束,回顯
- getch:讀取鍵盤輸入一個字符,任意鍵結束,不回顯
- putchar:輸出一個字符
- putc:輸出一個字符到流文件
- puts:輸出字符串(自動換行)
選擇結構
switch-case語句注意事項switch(A); //A可以是int、char或者枚舉,不可為浮點數 case 1:{b=b+1; break;} // {}可加可不加 case x: //錯誤?,case后面不可為變量 case; // 錯誤?,case后面直接跟分號是錯誤的 switch a // 錯誤,switch后面的括號不可省略 /*swith語句可以嵌套*/- C語言語句可分為表達式語句、復合語句、函數調用語句、空語句、控制語句。
- 邏輯運算符兩側的運算對象數據類型可以是任何類型的數據。
數組
一維數組- 數組名不可被賦值
- memset的使用---實現對某內存塊各字節單元整體賦同樣的值
- memcpy的使用---實現兩個數組間的賦值
- 二維數組的賦值
函數
填空題- 當函數返回值缺省時,函數的返回值類型為【int】
- 靜態局部變量若在定義是未賦初值,則系統賦初值為【0】,其生存周期是【整個源程序】,其作用域是【在該變量的函數內或復合語句中】。
- 形參只能是【變量】。
- C語言中,函數的隱含存儲類別是【extern】。
- 動態存儲類型:auto, register
- 靜態存儲類型:extern, static
- auto 只能在函數內或符合語句中定義(局部變量)
- register 只有局部變量和形式參數可以定義
- extern是函數的隱含存儲類別
指針
表示a[i][j]的幾種形式a[i][j] *(a[i]+j) *(*(a+i)+j) (*(a+i))[j]數組指針int (*p)[4]; // 表示指向含有4個int型元素的一維數組指針 // 可用來表示二維數組的行指針// 利用p訪問數組元素的四種形式 p[i][j] *(p[i]+j) *(*(p+i)+j) (*(p+i))[j]動態內存分配- malloc() 分配若干個字節的內存空間
- calloc() 分配若干個連續的存儲空間
- realloc() 改變原來分配的存儲空間大小
- 【注意】如果函數返回一個指針,不能返回auto型的局部變量地址,但可以返回static型的局部變量地址
結構體與共用體
間接定義法
struct 結構體類型名 {數據類型名 成員名 }; // 結構體的變量的定義 struct 結構類型名 變量列表名; // 可定義多個結構類型變量 struct students_info stu1, stu2; // 可定義指向結構體類型的指針變量 struct students_info *p;直接定義法
struct 結構體類型名 {數據類型名 成員名 }變量名列表;結構體類型不分配內存,結構體變量分配內存;結構體類型不能被賦值、存取和運算,結構體變量可以。
結構體變量的引用
// 非指針類型 結構體變量名.成員名 // 指針變量類型 結構體指針->成員名 (*結構體指針).成員名文件
文件的打開與關閉- fopen 發生錯誤時,函數的返回值是【0(NULL)】打開成功返回【文件結構體指針】
- fcolse正常關閉文件是,返回值是【0】,否則是【非0】。
- feof() 遇到文件尾返回【真(非零值)】,否則返回【假(0)】
- r 只讀
- w 創建新文件,只寫
- a 打開已有文件,在末尾追加,只寫(若文件不存在,創建新文件,只寫)
- r+ 打開已有文件,可讀寫
- w+ 創建新文件,可讀寫(若已有,則覆蓋)
- a+ 可讀寫,其余同a
- t 打開文本文件
- b 打開二進制文件
- 字符讀寫函數:【fget】和【fputc】。
- 字符串讀寫函數:【fgets】和【fputs】。
- 數據塊讀寫函數:【fread】和【fwrite】一般用于二進制文件的輸入和輸出
- 格式化讀寫函數【fscanf】和【fprintf】一般用于文本文件的輸入和輸出
- rewind:將指針指向文件開頭
- fseek: 將指針指向特定的位置
- SEEK_SET 0 文件開始處
- SEEK_CUR 1 文件當前處
- SEEK_END 2 文件末位處
- ftell: 將指針指向當前處
總結
以上是生活随笔為你收集整理的c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle学习数据,Oracle从入门
- 下一篇: GC算法-增量式垃圾回收