c語言基礎語法知識 第二章 第
一、二節:資料輸出(一)
1、使用printf和scanf函式時,需加 #include "stdio.h" (標準輸入輸出函式標頭檔案)
2、printf函式可有多個引數,
3、printf()函式的呼叫格式為:printf("《格式化字串》", 《參量表》);
4.printf()函式也有不少技巧,比如輸出如下圖形:
****
***僅用一行printf();函式即可!
#include
intmain()
執行結果:
*******
5、int x=017(x為8進製數);
printf(「%d」, x); 15 十進位制輸出
printf(「%o」, x); 17 十六進製制輸出
printf(「%#o」,x); 017 八進位制加字首
printf(「%x」, x); f 十六進製制輸出
printf(「%#x」,x); 0xf 十六進製制加字首
6、
int x=12,y=34; 注意這種題型
char z=『a』;
printf(「%d 」,x,y); 乙個格式說明,兩個輸出變數,後面的y不輸出
printf(「%c」,z); 結果為:12a
7、一定要背誦的
舉例說明:
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) 考試注意點,需要銘記,scanf函式輸入格式和**指定格式必須保持一致,常考點。
在終端上面輸入必須為 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為12,y為2345,z為67
5、字元和整型是近親:
int x=97;
printf(「%d」,x); 結果為97
printf(「%c」,x); 結果為 a
6、輸入時候字元和整數的區別(考試常考)
scanf(「%d」,&x);這個時候輸入1,特別注意表示的是整數1
scanf(「%c」,&x);這個時候輸入1,特別注意表示的是字元『1』ascii為整數49。
補充說明:
1)scanf函式的格式考察:
注意該函式的第二個部分是&a這樣的位址,不是a;
scanf(「%d%d%*d」,&a,&b,&c);* 符捨棄輸入的第三個資料。
附加:
<1> scanf();函式有返回值(int型):
①輸入和規定格式不同時,返回0;
②該函式檢測到檔案末尾(檔案結尾end of file也可輸入ctrl+z (或者ctrl+d)(不同電腦輸入不同,輸入一次或者兩次)告訴計算機輸入結束。)或輸入錯誤時返回eof(eof是stdio.h中定義特殊類,表示-1)。
③scanf();函式返回值等於得到正確輸入的項數,遇錯就結束輸入。
④如果scanf中%d是連著寫的如「%d%d%d」,在輸入資料時,資料之間不可以用逗號分隔,只能用空白字元(空格或tab鍵或者回車鍵)分隔——「2 (空格)3(tab) 4」 或 「2(tab)3(回車)4」等。若是「%d,%d,%d」,則在輸入資料時需要加「,」,如「2,3,4」。(這裡的意思其實是規定保持**和執行時輸入格式一致。)
<2> putchar ,getchar 函式的考查:
char a = getchar(); 是沒有引數的,從鍵盤得到你輸入的乙個字元給變數a。
putchar(『y』)把字元y輸出到螢幕中。
<3> 如何實現兩個變數x ,y中數值的互換(要求背下來)
不可以把 x=y ,y=x; 要用中間變數 t=x;x=y;y=t。(原因是,直接賦值導致資料丟失,所以需要借助中間變數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 這樣是把小數部分去掉。 計算導論與C語言基礎week12期末題
前兩題簡單了.3.最大距離 簡單 描述給定一組點 x,y 求距離最遠的兩個點之間的距離。輸入第一行是點數n n大於等於2 接著每一行代表乙個點,由兩個浮點數x y組成。輸出輸出一行是最遠兩點之間的距離。使用cout fixed setprecision 4 dis endl 輸出距離值並精確到小數點...
C語言訓練 2255 期末考試之排名次
problem description 期末考試結束了,童鞋們的成績也出來的了,可是為了排名次可忙壞了老師,因為學生太多了。這時,老師把這個任務交給了你,希望你能幫老師完成。作為it人,你當然不能用笨笨的人工方法了,程式設計解決才是好辦法。共有三門課,語文 數學和英語,要求根據學生的各科成績計算出其...
C語言基礎語法2
型別轉換 1.自動轉換 運算過程中,運算子兩邊型別不相同就會自動轉成較大的型別進行運算.2.賦值轉換 賦值運算的過程中產生的轉換,號左右兩邊的型別不相同,則發生轉換.char int float double char int int char 4b 1b char型別只有乙個位元組,int有四個位...