第二章
第一節:資料輸出(一)
1、 使用printf和scanf函式時,要在最前面加上#include「stdio.h」
2、printf可以只有乙個引數,也可以有兩個引數。
2、 printf(「 第一部分 」,第二部分 );把第二部分的變數、表示式、常量以第一部分的形式展現出來!
4、printf(「a=%d,b=%d」,12, 34)
一定要記住是將12和34以第一部分的形式現在在終端也就是黑色的螢幕上。考試核心為:一模一樣。在黑色螢幕上面顯示為 a=12,b=34
printf(「a=%d,\n b=%d」,12, 34)那麼輸出的結果就是:a=12,
b=34
提示輸出錯誤解決辦法(整形陣列)
1printf(i==n?」%d 」:」%d\n」,a[i]);
2(i5、int x=017; 一定要弄清楚為什麼是這個結果!過程很重要
printf(「%d」, x); 15
printf(「%o」, x); 17
printf(「%#o」,x); 017
printf(「%x」, x); 11
printf(「%#x」,x); 0x11
6、int x=12,y=34; 注意這種題型
char
z=『a』;
printf(「%d 」,x,y); 乙個格式說明,兩個輸出變數,後面的y不輸出
printf(「%c」,z); 結果為:12a
printf(「%2d」,123 );
第二部分有三位,大於指定的兩位,原樣輸出123
printf(「%5d」,123 );
第二部分有三位,小於指定的五位,左邊補兩個空格 123
printf(「%10f」,1.25 ); 小數要求補足6位的,沒有六位的補0,。結果為 1.250000
printf(「%5.3f」,125 ); 小數三位,整個五位,結果為1.250(小數點算一位)
printf(「%3.1f」,1.25 );小數一位,整個三位,結果為1.3(要進行四捨五入)
輸出時間「%02d:%02d:%02d\n」
第三節 資料輸入
防止非法輸入while(~scanf()){}
多重用例
1 while(scanf()!=eof)
2 while(scanf(「」,&a),a!=-1)
1、scanf(「a=%d,b=%d」,&a,&b)
一定要記住是以第一部分的格式在終端輸入資料。
在黑色螢幕上面輸入的為
a=12,b=34才可以把12和34正確給a和b 。有一點不同也不行。
2、scanf(「%d,%d」,x,y);這種寫法絕對錯誤,scanf的第二個部分一定要是位址!
scanf(「%d,%d」,&x,&y);注意寫成這樣才可以!沒位址一開始執行就會bug
3、特別注意指標在scanf的考察
例如: int x=2;int
*p=&x;
scanf(「%d」,x); 錯誤 scanf(「%d」,p);正確
scanf(「%d」,&p);
錯誤scanf(「%d」,*p)錯誤
4、指定輸入的長度
終端輸入:1234567
scanf(「%2d%4d%d」,&x,&y,&z);x為12,y為3456,z為7
終端輸入:1 234567 由於1和2中間有空格,所以只有1位給x
scanf(「%2d%4d%d」,&x,&y,&z);x為1,y為2345,z為67
5、字元和整型是近親:
intx=97;
printf(「%d」,x); 結果為97
printf(「%c」,x); 結果為 a
6、輸入時候字元和整數的區別
scanf(「%d」,&x);這個時候輸入1,特別注意表示的是整數1
scanf(「%c」,&x);這個時候輸入1,特別注意表示的是字元『1』ascii為整數48。
補充說明:
1)scanf函式的格式考察:
注意該函式的第二個部分是&a 這樣的位址,不是a;
scanf(「%d%d%*d%d」,&a,&b,&c);跳過輸入的第三個資料。
2)putchar ,getchar 函式的考查:
char a = getchar() 是沒有引數的,從鍵盤得到你輸入的乙個字元給變數a。
putchar(『y』)把字元y輸出到螢幕中。
3)如何實現兩個變數x ,y中數值的互換
不可以把 x=y ,y=x; 要用中間變數
t=x;x=y;y=t。
位運算a=a^b;b=b^a;a=a^b;
4)如何實現保留三位小數,第四位四捨五入的程式
y=(int)(x*100+0.5)/100.0 這個保留兩位,對第三位四捨五入
y=(int)(x*1000+0.5)/1000.0 這個保留三位,對第四位四捨五入
y=(int)(x*10000+0.5)/10000.0 這個保留四位,對第五位四捨五入
這個有推廣的意義,注意 x =
(int)x 這樣是把小數部分去掉。
c語言 知識點
遞迴方法 遞迴相比迴圈時間上快些,但是 遞迴比較占用空間,如果遞迴的次數超過十萬次後會導致資源占用完畢 標準的 優化技巧 消除迴圈 函式迴圈 函式 就地擴充套件 公共子表示式消除 改進暫存器分配 省略執行時對陣列邊界的檢查 迴圈不變數 移動 操作符長度消減 把指數操作符轉變為乘法操作 把乘法操作變為...
c語言知識點
2019 3 4 typedef void voidp 等同於typedef void voidp voidp a a null 即定義了乙個可以指向任何型別的指標 typedef voidpf zallback open file func of voidpf opeaque,const char...
c語言知識點
關於 va args define debug level,format,if level g printlevel else 這裡的 va args 表示可變引數,即上面.傳遞進來的多個引數,是當傳入引數為0時,去掉前面,防止編譯出錯 的另乙個用法如 define xname n x n,那xna...