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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C语言程序设计 细节总结(第1-7章)

發布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言程序设计 细节总结(第1-7章) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言細節總結

溫故而知新,許久沒看C語言,發現了一些從前沒注意的小細節,總結下來~

第1章C語言及C程序概述

1.C語言有34種運算符、32個關鍵字、9種控制語句

第2章數據類型、運算符與表達式

2.實型常量只采用十進制,表示方法:十進制小數形式、指數形式(aE±n)
3.實型常量不區分float和double型
4.轉義字符 \ddd : 1~3位8進制數ddd所對應的字符;\xhh :1~2位16進制數hh所對應的字符
5.長度為n的字符串常量,在內存中占用n+1個字節
6.浮點數在計算機中以指數形式存儲,小數部分越多,精確度越高;指數部分位數越多,表示范圍越大。
7.單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字
8.編譯器對邏輯表達式求解,只有在需要下一步計算才能確定表達式的值時,才進行下一步邏輯運算。
9.移位運算不改變原操作數的值,復合移位賦值運算改變。
10.按位右移運算>>,無符號數高位補0,有符號數正數補0,負數補1.
11.逗號表達式具有從左到右結合性,最后一個表達式的值是整個逗號表達式的值,逗號表達式優先級最低。
12.取模:余數的符號與被除數相同(-8%3=-2,15%-8=7)。
13. printf(“%d”,9.2/1.6*1.6==9.2); 結果為0,原因:9.2/1.6所得值有效位數有限。
14. i=8; printf(“%d %d”,j=i+2,- -i); //9,7
printf(“%d %d %d”,j=i+2,i,i- -); //9,7,8 原因:VC6.0中printf語句執行順序為從右至左。
15. x=2; printf(“%d”,++x * ++x); //4*4=16
16.如果程序中不使用中間變量temp,可使用復合語句實現兩數交換:{a=a+b;b=a-b;a=a-b;}

第3章算法、輸入輸出函數、順序結構

17.常用的輸入函數:scanf、getchar、gets ; 常用的輸出函數:printf、putchar、puts。
18.scanf格式:scanf(“格式字符串”,輸入項地址表);
(1)如果兩格式說明符之間不指定數據分隔符,則輸入時空格、Tab、Enter均可
如果指定或格式字符串內有任何普通字符,必須原樣輸入
(2)如果指定輸入數據寬度,系統自動截取 如scanf(“%2d%2d”,&a,&b);//輸入1234,則a=12,b=34;
(3)輸入實型數據,不能規定小數點后位數
19.printf格式:
printf(“格式字符串”[,輸出列表]);
格式說明符:%[標志][最小寬度][.精度][長度][格式字符]
(1)標志:
- : 結果左對齊,右面填空格
+ : 正數輸出(+),負數輸出(-)
# : 八進制和十六進制數顯示前導0和0x
空格: 正數輸出空格代替加號,負數輸出減號
(2)最小寬度:指定超過實際寬度,補空格;指定不超過或不指定,按實際輸出。
(3)精度:
實數:小數點后最多輸出位數,不足補0,多出部分四舍五入
整數:最少輸出位數,不足補0,多出按實際
字符串:最多輸出位數,不足補空格,多出丟棄
(4)長度:h、l

20.將整數用字符形式輸出時,系統先求該整數對256的余數,將余數作為ASCII碼值,轉換成相應字符后再輸出。

第4章選擇結構

21.條件運算符結合方向是從右向左
22.switch case語句:
(1)case語句后面只能是常量表達式;
(2)應在case分支后加break,否則會順序執行后面的case;

第5章循環結構

第6章數組

23.C語言不允許動態定義數組,數組長度必須在定義時確定。
24.數組全部初始化為0可以這樣寫:int a[5]={0};
25.冒泡排序思想:比較相鄰兩個元素,n個數要進行n-1趟比較,第i趟比較中要進行n-i次兩兩比較。
26.選擇排序思想:依次選擇第i個元素分別與其后元素作比較,n個數要進行n-1趟比較,第i趟比較中要進行n-i次兩兩比較。
27.二維數組,如果對全部元素初始化,第一維長度可以不指定,但必須指定第二維長度。
28.字符數組初始化:
char a[]={‘C’,’h’,’i’,’n’,’a’};//數組長度為5,包含5個字符
char a[]=”China”;//數組長度為6,包含5個字符和字符串結束標志’\0’
29.字符串處理函數:
(1)gets(); gets函數只以回車為輸入結束標志,而scanf函數回車和空格都為結束標志。
(2)puts();
(3)strlen();
(4)strcpy(字符串1,字符串2); 將字符串2拷貝至字符串1,包括結束符’\0’
字符數組中不能用賦值語句,如
char str1[10],str2[]=”China”;
str1=str2;//非法
str1=”China”;//非法
strcpy(str1,str2);//合法
(5)strcat();
(6)strcmp(); 兩字符串不能直接比較,只能使用函數
(7)strlwr(); strupr();
30.M*N的二維字符數組可存放M個字符串,每個字符串最大長度為N-1(一個位置放’\0’)

第7章函數

31.實參傳遞給形參值得方式:值傳遞、地址傳遞(實參和形參必須是地址常量或變量,如數組名)
32.如果定義的函數值的返回類型和return表達式值不一致,以定義的函數返回類型為準
33.用戶使用的內存區:程序存儲區、靜態存儲區、動態存儲區
34.變量存儲類別:
(1)auto(自動型):可不加auto,函數和復合語句中使用,存儲空間自動分配和釋放
(2)static(靜態型):靜態局部變量-程序運行期間不釋放;靜態全局變量-只限于本文件中的函數引用
(3)register(寄存器型):使用頻率較高的數據放在寄存器中,優化的編譯系統完成,不需要編程者制定
(4)extern(外部型):全局變量作用域從變量定義處到程序結束,如果在全局變量定義位置之前引用,應該用extern聲明;可以將在另一個文件中定義的全局變量作用域擴展到本文件。
35.外部函數extern,內部函數static,默認函數為外部函數,同時在需要調用該外部函數的文件中用extern對函數聲明。

總結

以上是生活随笔為你收集整理的C语言程序设计 细节总结(第1-7章)的全部內容,希望文章能夠幫你解決所遇到的問題。

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