C語言知識點(二)

2021-09-16 14:16:44 字數 2676 閱讀 8915

第二章

第一節:資料輸出(一)

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...