第二章
第一節:數據輸出(一)(二)
1、使用printf和scanf函數時,要在最前面加上#include“stdio.h”
2、printf可以只有一個參數,也可以有兩個參數。(選擇題考過一次)
3、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
5、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
7、一定要背誦的
格式說明 |
表示內容 |
格式說明 |
表示內容 |
%d |
整型 int |
%c |
字符 char |
%ld |
長整型 long int |
%s |
字符串 |
%f |
浮點型 float |
%o |
八進制 |
%lf |
double |
%#o |
帶前導的八進制 |
%% |
輸出一個百分號 |
%x |
十六進制 |
%5d |
|
%#x |
帶前導的十六進制 |
舉例說明:
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(要進行四捨五入)
第三節 數據輸入
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);注意寫成這樣纔可以!
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。
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 這樣是把小數部分去掉。