日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)

發布時間:2024/8/23 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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輸出十六進制
int a = 123; print("a=%06dn", a); // a=000123; print("a=%+06dn", a); // a=+00123; print("a=%-06dn", a); // a=123; print("a=%6dn", a); // a=□□□123; print("a=%+6dn", a); // a=□□+123; print("a=%-6dn", a); // a=123; print("a=%6.4dn", a); // a=□□0123; print("a=%-6.5dn", a); // a=00123;浮點型
  • 實數輸出 %[-/+][#][0][寬度][.precision][l/L][f/e/E/g/G]
    • %f 表示小數點后要輸出六位,不夠補0
  • %g 不輸出無意義的0
  • %e 指數形式輸出
  • #表示必須輸出小數點
  • [.precision]輸出小數部分的位數(要四舍五入)
字符的輸入輸出
  • %.3s輸出字符串前3個字符
  • getchar:讀取鍵盤輸入一個字符,回車鍵結束,回顯
  • getc:讀入流文件一個字符,回車鍵結束,回顯
  • getche:讀取鍵盤輸入一個字符,任意鍵結束,回顯
  • getch:讀取鍵盤輸入一個字符,任意鍵結束,不回顯
  • putchar:輸出一個字符
  • putc:輸出一個字符到流文件
  • puts:輸出字符串(自動換行)
一些錯誤的用法scanf("%d5.2f",&f); //輸入浮點數不可規定精度 scanf("%d",&(a+b)); //表達式沒有地址,不能用取地址符

選擇結構

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的使用---實現兩個數組間的賦值
// 每個數據單元的值為‘a’ char str[10]; memset(str,'a',10); // 每個數據單元的值清0 int a[10]; memset(a,0,10*sizeof(int)); //[思考題]下面程序執行后數組a的各元素值是多少? short a[10]; memset(a,2,10*sizeof(short));//值為514【00000010 00000010】// memcpy的用法 memcpy(b,a,5*sizeof(int));二維數組
  • 二維數組的賦值
// 數組元素的整體賦值 int a[2][3] = {{1,2,3},{1,2,3}}; //{1,2,3,1,2,3} // 數組元素的整體賦值 int a[2][3] = {1,2,3,1,2,3}; //{1,2,3,1,2,3} // 數組元素的部分賦值 int a[2][3] = {{1},{3}; //{1,0,0,1,0,0} // 數組元素的部分賦值 int a[2][3] = {1,2,3}; //{1,2,3,0,0,0} // 數組元素的部分賦值,省略一維 int a[][3] = {{1,2},{4}} //{1,2,0,4,0,0} // 數組元素的部分賦值,省略一維 int a[][3] = {{1,2,3,4} //{1,2,3,4,0,0}

函數

填空題
  • 當函數返回值缺省時,函數的返回值類型為【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() 改變原來分配的存儲空間大小
int *p = (int*) malloc( 4 *sizeof(int)); int *p = (int*) calloc( 4, sizeof(int))int *p = (int*) malloc( 4 *sizeof(int)); p = (int*) realloc(6 *sizeof(int));指針函數---- 函數類型 *函數名(形參1,形參2,...)
  • 【注意】如果函數返回一個指針,不能返回auto型的局部變量地址,但可以返回static型的局部變量地址
函數指針---- 函數類型 (*指針變量)(形參1,形參2,...)

結構體與共用體

間接定義法

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】。
char str[] = "123456789"; fputs(str, fp); fgets(str, 8, fp);
  • 數據塊讀寫函數:【fread】和【fwrite】一般用于二進制文件的輸入和輸出
fread(指針,數據項的大小,移動的n個數據項的字節,文件指針) fread(a, sizeof(short),10, fp); // 從文件中讀10個整型數據到數組a
  • 格式化讀寫函數【fscanf】和【fprintf】一般用于文本文件的輸入和輸出
int fscanf (文件指針, 格式字符串,輸入列表); fscanf(fp, "%d,%d",&i,&t); int fprintf (文件指針, 格式字符串,輸入列表); fprintf(fp, "%d,%d",i, t);文件的定位讀寫
  • rewind:將指針指向文件開頭
  • fseek: 將指針指向特定的位置
    • SEEK_SET 0 文件開始處
  • SEEK_CUR 1 文件當前處
  • SEEK_END 2 文件末位處
int fseek(文件指針,位移量,起始點); fseek (fp, 2*sizeof(int),SEEK_SET);
  • ftell: 將指針指向當前處

總結

以上是生活随笔為你收集整理的c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。