c語言scanfwas
❶ 百分號在c語言中是怎樣用的
%在C語言裡面是 除余 和 格式輸出符的作用。
求余運算是求前一個整型數據除以後一個整型數據的余數。
舉例說明:
整型數據 int m=10,n=3,k;
k=m%n;那麼k就等於1;
例如:
表達式 a % b 就是計算 a 除以 b 得出的余數。
而%d,%f等表示輸出整型,浮點型數據
舉例說明:
1.我們要把一個3位數0~999輸出到3位數碼管上,假設現在有值136,需要在第1個數碼管顯示1,第二個數碼管顯示3,第三個數碼管顯示6。把136的百位,十位,個位取出來,需要用到取余符號「%」。我們用x y z分別表示百位十位和個位,m表示現在值,x=m/100; y=(m%100)/10; z=(m%100)%10。
2.我們要輸出m的值,此時int m=5;
可以這樣輸出printf("%d ",m);
拓展資料
%是百分號,它代表的含義是:把某個整體平均分為100份,其中一部分佔有的份數,即一個分數分母是100時的表示方法,也可以寫成x/100。
百分號:表示分數的分母是100的符號(%),如32%表示一百分之三十二,相當於小數的0.32。在計算機領域中:百分號表示分數的分母是100的符號(%),如32%表示一百分之三十二,相當於小數的0.32。通配符(wildcard)是一類鍵盤字元,包括星號(*)、問號 (?)和百分號(%)等,當進行網路或文件查找不知道真正字元或者不想鍵入完整單詞時,可以使用它來代替真正字元或完整的單詞。
Google使用的通配符屬於「全詞通配符」(full-word wildcard)是指代替一個單詞而不是單詞中的某個或幾個字母的鍵盤字元,google的全詞通配符是*(星號),一次檢索可以使用若干個*。
一些搜索引擎如:AltaVista、Inktomi、Northern Light、Yahoo 等支持通配符*,AOL Search、Inktomi等支持通配符?,Northern Light等支持通配符%。在這里*、?、%的確切含義是「詞間通配符」(partial-word wildcard),即只能代替單詞中的一個或幾個字母,而非整個單詞。google目前不支持詞間通配符。full-word wildcard雖不及partial-word wildcard常用,但它在實際搜索中的功能是不可忽視和替代的。
在查找歌詞、詩歌、短語等,對其中某個單詞記憶或拼寫不準時,用通配符可以快速找到原文。如對戴比·哈里(Debbie Harry)的《Heart of Glass》歌詞首句是「Once I had a lung and it was a gas」,或是
「Once I had a lunch and it was a gas」記不確切,可輸入"Once I had a * and it was a gas"搜索,可查得正確的歌詞是「Once I had a love...」
解答咨詢時,通配符是快速找到答案的捷徑。如解答"How often doesHalley's cometappear?"(哈雷彗星多少年出現一次?),用"Halley's comet appears every * years"搜索,可以輕而易舉地得到答案:Halley's comet appears every 76 years 。
C是一種通用的編程語言,廣泛用於系統軟體與應用軟體的開發。於1969年至1973年間,為了移植與開發UNIX操作系統,由丹尼斯·里奇與肯·湯普遜,以B語言為基礎,在貝爾實驗室設計、開發出來。
C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程序設計中備受青睞,成為最近25年使用最為廣泛的編程語言[2]。目前,C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言的標准。二十世紀八十年代至今的有關程序開發工具,一般都支持匹配ANSI C的語法。
C語言最早由丹尼斯·里奇(Dennis Ritchie)為了在PDP-11電腦上運行的Unix系統所設計出來的編程語言,第一次發展在1969年到1973年之間。
C源於BCPL語言,後者由馬丁·理察德(Martin Richards)於1967年左右設計實現。BCPL是一門"無類型"的編程語言:它僅能操作一種數據類型,即機器字(machine word)。1970年,肯·湯普遜為運行在PDP-7上的首個Unix系統設計了一個精簡版的BCPL,這個語言被稱為B語言,它也是無類型的。
Unix最早運行在PDP-7上,是以匯編語言寫成。在PDP-11出現後,丹尼斯·里奇與肯·湯普遜著手將Unix移植到PDP-11上,無類型的語言在PDP-11上愈發顯得合適。PDP-11提供了多種不同規格大小的基本對象:一位元組長的字元,兩位元組長的整型數以及四位元組長的浮點數。B語言無法處理這些不同規格大小的對象,也沒有提供單獨的操作符去操作它們。
C語言最初嘗試通過向B語言中增加數據類型的想法來處理那些不同類型的數據。和大多數語言一樣,在C中,每個對象都有一個類型以及一個值;類型決定了可用於值的操作的含義,以及對象佔用的存儲空間大小。
1973年,Unix操作系統的核心正式用C語言改寫,這是C語言第一次應用在操作系統的核心編寫上。
1975年C語言開始移植到其他機器上使用。史蒂芬·強生實現了一套「可移植編譯器」,這套編譯器修改起來相對容易,並且可以為不同的機器生成代碼。
從那時起,C在大多數計算機上被使用,從最小的微型計算機到與CRAY-2超級計算機。C語言很規范,即使沒有一份正式的標准,你也可以寫出C程序,這些程序無須修改就可以運行在任何支持C語言和最小運行時環境的計算機上。
C最初在小型機器上實現,並且繼承了一系列小語種編程語言的特點;與功能相比,C的設計者更傾向於簡單和優雅。此外,從一開始,C語言就是為系統級編程而設計,程序的運行效率至關重要,因此,C語言與真實機器能力的良好匹配也就不足為奇。
例如,C語言為典型硬體所直接支持的對象:字元,整數(也許有多種大小),以及浮點數(同樣可能有多種大小)提供了相應的基本數據類型。
❷ C語言的scanf語句格式
例:使用scanf函數輸入數據。
#include<stdio.h>
intmain(void)
{
inta,b,c;
printf("Givemethevalueofa,b,cseperatedwithwhitespaces: ");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d ",a,b,c);
return0;
}
&a,&b,&c中的&是定址操作符,&a表示對象a在內存中的地址[3],是一個右值。變數a,b,c的地址是在編譯階段分配的(存儲順序由編譯器決定)。
這里注意:如果scanf中%d是連著寫的如「%d%d%d」,在輸入數據時,數據之間不可以用逗號分隔。
只能用空白字元(空格或tab鍵或者回車鍵)分隔——「2 (空格)3(tab) 4」 或 「2(tab)3(回車)4」等。若是「%d,%d,%d」,則在輸入數據時需要加「,」,如「2,3,4」。
(在有一些實現中,printf函數與scanf函數在使用時可以不使用預編譯命令#include <stdio.h>。)它是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。
scanf 是 scan format 的縮寫,意思是格式化掃描,也就是從鍵盤獲得用戶輸入,和 printf 的功能正好相反。
(2)c語言scanfwas擴展閱讀:
scanf函數使用注意問題:
(1)在高版本的 Visual Studio 編譯器中,scanf 被認為是不安全的,被棄用,應當使用scanf_s代替 scanf。
(2) 對於字元串數組或字元串指針變數,由於數組名可以轉換為數組和指針變數名本身就是地址,因此使用scanf()函數時,不需要在它們前面加上"&"操作符。
(3) 可以在格式化字元串中的"%"各格式化規定符之間加入一個整數,表示任何讀操作中的最大位數。
(4) scanf函數中沒有類似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。
(5) scanf中要求給出變數地址,如給出變數名則會出錯
如 scanf("%d",a);是非法的,應改為scanf("%d",&a);才是合法的。
(6) 在輸入多個數值數據時,若格式控制串中沒有非格式字元作輸入數據之間的間隔,則可用空格,TAB或回車作間隔。
C編譯在碰到空格,TAB,回車或非法數據(如對「%d」輸入「12A」時,A即為非法數據)時即認為該數據結束。
(7) 在輸入字元數據(%c)時,若格式控制串中無非格式字元,則認為所有輸入的字元均為有效字元。
參考資料來源:網路-scanf