當前位置:首頁 » 編程語言 » c語言怎麼轉ns
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼轉ns

發布時間: 2022-08-16 10:51:08

c語言轉換格式符大全

int printf(const char *format,[argument]);
format 參數輸出的格式,定義格式為:
%[flags][width][.perc] [F|N|h|l]type
規定數據輸出方式,具體如下:
1.type 含義如下:
d 有符號10進制整數
i 有符號10進制整數
o 有符號8進制整數
u 無符號10進制整數
x 無符號的16進制數字,並以小寫abcdef表示
X 無符號的16進制數字,並以大寫ABCDEF表示
F/f 浮點數
E/e 用科學表示格式的浮點數
g 使用%f和%e表示中的總的位數表示最短的來表示浮點數 G 同g格式,但表示為指數
c 單個字元
s 字元串
% 顯示百分號本身
p 顯示一個指針,near指針表示為:XXXX
far 指針表示為:XXXX:YYYY
n 相連參量應是一個指針,其中存放已寫字元的個數
2.flags 規定輸出格式,取值和含義如下:
無 右對齊,左邊填充0和空格
- 左對齊,右邊填充空格
+ 在數字前增加符號 + 或 -
一個空格 只對負數顯示符號
# 當type=c,s,d,i,u時沒有影響
type=o,x,X時,分別在數值前增加'0',"0x","0X"
type=e,E,f時,總是使用小數點
type=g,G時,除了數值為0外總是顯示小數點 3.width 用於控制顯示數值的寬度,取值和含義如下n(n=1,2,3...) 寬度至少為n位,不夠以空格填充
0n(n=1,2,3...) 寬度至少為n位,不夠左邊以0填充 * 格
式列表中,下一個參數還是width 4.prec 用於控制小數點後面的位數,取值和含義如下:
無 按預設精度顯示
0 當type=d,i,o,u,x時,沒有影響
type=e,E,f時,不顯示小數點
n(n=1,2,3...) 當type=e,E,f時表示的最大小數位數
type=其他,表示顯示的最大寬度 .*
格式列表中,下一個參數還是width
5.F|N|h|l 表示指針是否是遠指針或整數是否是長整數
F 遠指針
n 近指針
h短整數或單精度浮點數
l 長整數或雙精度浮點數
1.一般格式
printf(格式控制,輸出表列)
例如:printf("i=%d,ch=%c\n",i,ch);
說明:
(1)「格式控制」是用雙撇號括起來的字元串,也稱「轉換控制字元串」,它包括兩種信息:
①格式說明:由「%」和格式字元組成,它的作用是將輸出的數據轉換為指定的格式輸出。
②普通字元,即需要原樣輸出的字元。
(2)「輸出表列」是需要輸出的一些數據,可以是表達式
(3)printf函數的一般形式可以表示為
printf(參數1,參數2,……,參數n)
功能是將參數2~參數n按參數1給定的格式輸出
2.格式字元(9種)
(1)d(或i)格式符。用來輸出十進制整數,有以下幾種用法:
①%d,按整型數據的實際長度輸出。
②%md,m為指定的輸出欄位的寬度。如果數據的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。
③%ld(%mld 也可),輸出長整型數據。
例如:long a=123456;
printf("%ld",a);
(2)o格式符,以八進制數形式輸出整數。格式:%o,%mo,%lo,%mlo都可。
(3)x(或X)格式符,以十六進制數形式輸出整數。格式:%x,%mx,%lx,%mlx都可。
(4)u格式符,用來輸出unsigned型數據,即無符號數,以十進制數形式輸出。格式:%u,%mu,%lu都可。
參見:li4-3.c/*無符號數據的輸出*/
(5)c格式符,用來輸出一個字元。格式:%c,%mc都可。
(6)s格式符,用來輸出一個字元串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。
參見:li4-5.c /*字元串的輸出*/
(7)f格式符,用來輸出實數(包括單、雙精度),以小數形式輸出。格式:%f,%m.nf,%-m.nf都可。
注意:單精度實數的有效位數一般為7位,雙精度為16位。
參見:li4-6.c/*輸出單精度實數時的有效位數*/
li4-7.c/*輸出雙精度實數時的有效位數*/
li4-8.c/*輸出實數時指定小數位數*/
(8)e(或E)格式符,以指數形式輸出實數。格式:%e,%m.ne,%-m.ne都可。
(9)g(或G)格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時占寬度較小的一種)。
3.說明
(1)除了X、E、G(用大寫字母表示)外,其他格式字元必須用小寫字母;
(2)「格式控制」字元串內可以包含轉義字元;
(3)如果想輸出字元「%」,則應該在「格式控制」字元串中用連續兩個%表示,如:
printf("%f%%",1.0/3);
(4)格式字元表參見下表
表4.1 printf格式字元
格式字元 說 明
d,i 以帶符號的十進制形式輸出整數(正數不輸出符號)
o 以八進制無符號形式輸出整數(不輸出前導符0)
x,X 以十六進制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進制數的a~f時以小寫形式輸出,用X時,則以大寫字母輸出
u 以無符號十進制形式輸出整數
c 以字元形式輸出,只輸出一個字元
s 輸出字元串
f 以小數形式輸出單、雙精度數,隱含輸出6位小數
e,E 以指數形式輸出實數
g,G 選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0
表4.2 printf的附加格式說明字元
字元
說明
字母l
用於長整型整數,可加在格式符d、o、x、u前面
m(代表一個正整數)
數據最小寬度
n(代表一個正整數)
對實數,表示輸出n位小數;對字元串,表示截取的字元個數
-
輸出的數字或字元在域內向左靠

⑵ 急!!!!c語言NS流程圖

額 畫了也發不上來啊?

⑶ C語言中用switch函數轉換一個字元串數據怎麼用

1、switch函數只能對整數類型的變數進行枚舉,而字元串類型不屬於整型變數。因此,必須對字元串進行轉化。根據不同的字元串比較結果,執行不同的操作。
2、常式:
假如有這幾個固定的字元串"string1","string2",..."stringn",可以做這種變換:
char str[100]="..."//假設已經賦值了
int i=0;
char str1[]="string1",str2[]="string2",str3[]="string3";//可以任意設
if(strcmp(str,str1)==0)//比較,如果str數組中存的剛好是字元串string1,下面同理,
i=1;
else if(strcmp(str,str2)==0)
i=2;
else if(strcmp(str,str3)==0)
i=3;
else
i=4;
//這樣就映射出來了,用i的值,來映射不同的str
switch(i)
{
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
case 4:
...
break;
dafault:
....
break;
}

⑷ 關於C語言的問題,下面的程序怎麼轉換成switch語句

讓switch的括弧里為一個比較表達式, case後面為0或1, 因為表達式只會返回真假兩個值, 即0或1。 這就相當於if else了。 建議不一定每道題都要用各種語法去表達, 之所以有if else 和 switch, 就是因為他們適合處理不同類型的問題。

⑸ C語言字元串數據輸出%m.ns什麼意思求給一個完整程序講解下、謝謝了!

%m.ns:輸出佔m列,但只取字元串中左端n個字元。這n個字元輸出在m列的右側,左補空格。

%s:例如:printf("%s", "CHINA")輸出"CHINA"字元串(不包括雙引號)。

%ms:輸出的字元串佔m列,如字元串本身長度大於m,則突破獲m的限制,將字元串全部輸出。若串長小於m,則左補空格。

%-ms:如果串長小於m,則在m列范圍內,字元串向左靠,右補空格。

%-m.ns:其中m、n含義同上,n個字元輸出在m列范圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字元正常輸出。

(5)c語言怎麼轉ns擴展閱讀:

在C語言中,有兩個函數可以讓用戶從鍵盤上輸入字元串,它們分別是:

scanf():通過格式控制符%s輸入字元串。除了字元串,scanf() 還能輸入其他類型的數據。

gets():直接輸入字元串,並且只能輸入字元串。

但是,scanf() 和 gets() 是有區別的:

scanf() 讀取字元串時以空格為分隔,遇到空格就認為當前字元串結束了,所以無法讀取含有空格的字元串。

gets() 認為空格也是字元串的一部分,只有遇到回車鍵時才認為字元串輸入結束,所以,不管輸入了多少個空格,只要不按下回車鍵,對 gets() 來說就是一個完整的字元串。換句話說,gets() 用來讀取一整行字元串。

⑹ 如何用C語言寫ns級的延時程序

單片機的晶振頻率為12Mhz,機器周期就是1us,定時器用的時鍾周期就是1MHz,怎麼可能實現100ns的延時?
換單片機吧,換用1T的51單片機,速度是普通51的12倍,如果用12M的晶振,機器周期是83ns,也很勉強!
或者就用CPLD、邏輯電路自己搭吧
我很好奇,你做什麼需要ns級的延時?

⑺ 將C語言轉化成NS圖

簡單

⑻ C語言NS流程圖