C语言程序设计现代方法1,2,3章
1:浮點型(float)運算比int慢,并且可能存在舍入誤差
如float存儲0.1,以后使用可能會變成0.099999999987
2:宏定義只用大寫,這是大多數(shù)C程序猿遵循的規(guī)范!
C語言區(qū)分大小寫,,基本遵循在標(biāo)識符中只使用小寫字母的規(guī)范
如:symbolTable,currentPage表示,有時也可這樣SymbolTable, CurrentPage
3:GCC有多個命令行選項來控制程序檢查的徹底程度
-Wall ? ?使編譯器在檢查到可能的錯誤時生成警告消息。與-o結(jié)合使用
-W ? ? ? 除了-Wall生成的警告消息外,還需要針對具體情況的額外警告消息
-pedantic ?根據(jù)C標(biāo)準(zhǔn)的要求生產(chǎn)警告信息,可避免在程序中使用非標(biāo)準(zhǔn)特性
-ansi ? ?禁用GCC的非標(biāo)準(zhǔn)特性,并啟用一些不太常用的標(biāo)準(zhǔn)特性
-std=c89或-std=c99 ?指明使用哪個版本的C編譯器來檢查程序
4:根據(jù)C標(biāo)準(zhǔn),編譯器必須用一個空格字符替換每條注釋語句
如:a/**/b=0;
可能會變成a b=0的錯誤
5:
#include <stdio.h> int main(void) {int i;float x;i=40;x=839.21f;printf("|%d|%5d|%-5d|%5.3d|\n",i,i,i,i);printf("|%10.3f|%10.3e|%-10g|\n",x,x,x);return 0;//注意空行的留取處 }輸出這些東西,負(fù)號左對齊,正號右對齊
6:轉(zhuǎn)義字符
\n 換行
\t 制表
\b 退格
\r 回車
\\ 表示反斜杠“\”
\' 表示單引號
\" 表示雙引號
\ddd 1到3位八進制所代表的字符
\xhh 1到2位十六進制所代表的字符
printf("\"Hello!\"");輸出“Hello!”
?
?
+++++++++++++++++++++++++++++++++++++++++
7:scanf
對于以下語句:scanf("%d%d%f%f",&i,&j,&x,&y);
假設(shè)用戶錄入3行
1
-20 ? ?.3
? -4.0e3
scanf會把他們當(dāng)做一個連續(xù)的數(shù)據(jù)流:
? 1 -20 ?.3 ? ?-4.0e3
因為scanf會在尋找每個數(shù)的起始位置時跳過空白字符,所以可以成功讀取
當(dāng)輸入這一串便一樣的時候是否可以正常讀取呢?
1-20.3-4.0e3
答案是可以
下面列出了如何讀取的:
a:轉(zhuǎn)換說明符%d,第一個非空的輸入字符是1;因為整數(shù)可以從1開始,所有scanf函數(shù)接著讀取下一個字符,即 ?- ,scanf函數(shù)識別出 -?
不能出現(xiàn)在整數(shù)內(nèi),所以把1存入變量 i 中,而把字符 - 放回原處
b:轉(zhuǎn)換說明符%d,隨后,scanf函數(shù)讀取字符 - ,2、0和 . 。因為整數(shù)不能包含小數(shù)點,所以scanf把-20存入變量 j 中,而把字符 . 放回原處
c:轉(zhuǎn)換說明符%f,接下來scanf讀取 . 3 和 - 。因為浮點數(shù)不能在數(shù)字后邊有負(fù)號,所以scanf函數(shù)把0.3 存入變量x中,而把字符 - 放回原處
d:轉(zhuǎn)換說明符%f,最后,scanf函數(shù)讀取字符 - 4 . 0 e 3 和換行。因為浮點數(shù)不能包含換行符,所以,scanf函數(shù)把-4.0X10^3存入變量y中,而把換行符放回原處
…………………………
讀完了
轉(zhuǎn)載于:https://www.cnblogs.com/ccccnzb/p/3976105.html
總結(jié)
以上是生活随笔為你收集整理的C语言程序设计现代方法1,2,3章的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java位运算(转)
- 下一篇: mac os 显示文件列表命令 ls -