1. c語言是通過什麼和什麼來進行輸入和輸出的
C語言是通過printf()函數和scanf()函數來進行輸入和輸出的。
printf()格式化輸出函數,C語言標准庫函數,在 stdio.h 中定義。一般用於向標准輸出設備按規定格式輸出信息。printf()函數的調用格式為:printf("<格式化字元串>", <參量表>)。輸出的字元串除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
scanf()格式化輸入函數。與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include <stdio.h>。scanf()函數的調用格式為:scanf("<格式說明符>", <參量表>)。按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。
(1)c語言標准庫函數正確輸入擴展閱讀:
printf()格式化輸出函數字元串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字元串和各輸出項在數量和類型上應該一一對應。其中格式控制字元串是以%開頭的字元串,在%後面跟有各種格式控制符,以說明輸出數據的類型、寬度、精度等。
printf()格式化輸出函數根據不同的格式化字元串,函數可能需要一系列的附加參數,每個參數包含了一個要被插入的值,替換了格式化參數中指定的每個 % 標簽。參數的個數應與 % 標簽的個數相同。
2. c語言中從鍵盤輸入數據的規律和容易出錯的地方
以下為你收集的c語言輸入數據要點及注意事項
說明: (1)數據輸入是相對計算機內存
(2) 數據輸入使用標准庫函數完成
(3) 數據輸入標准庫函數的原型聲明在stdio.h頭文件中
1、函數getchar函數的功能是從鍵盤上輸入一個字元。
其一般形式為:字元變數=getchar();
getchar函數只能接受單個字元,輸入數字也按字元處理。
輸入多餘的字元存入到鍵盤的緩沖區,若有下一個getchar函數語句,直接從鍵盤的緩沖區讀取。
2、字元串輸入函數gets 格式:
gets (st)
功能:從鍵盤上輸入一個字元串,本函數得到一個函數值,即為該字元數組的首地址。
注意:gets函數並不以空格作為字元串輸入結束的標志,而只以回車作為輸入結束。這是與scanf(「%s」,…)函數不同的。
3、scanf()函數的一般形式
scanf(「格式控制字元串」,地址列表);
地址列表,用來接受數據各變數的地址。
變數的地址表示如下: & 變數名 ,別忘了取地址運算&
其格式字元串的一般形式為:
%[*][輸入數據寬度][長度]類型字元
其中有方括弧[]的項為任選項。各項的意義如下:
1) 類型字元
表示輸入數據的類型,其格式符和意義如下所示:
d 輸入十進制整數
o 輸入八進制整數
x 輸入十六進制整數
u 輸入無符號十進制整數
f或e 輸入實型數(用小數形式或指數形式)
c 輸入單個字元
s 輸入字元串
2) 「*」符
用以表示該輸入項讀入後不賦予相應的變數,跳過該輸入值。
如 scanf("%d %*d %d",&a,&b);
輸入為:1 2 3 把1賦予a,2被跳過,3賦予b。
3)寬度
用十進制整數指定輸入的寬度(即字元數)。
例如: scanf("%5d",&a);
輸入: 12345678
只把12345賦予變數a,其餘部分被截去。
又如: scanf("%4d%4d",&a,&b);
輸入:12345678將把1234賦予a,而把5678賦予b。
4)長度 長度格式符為l和h,l表示輸入長整型數據(如%ld)和雙精度浮點數(如%lf)。h表示輸入短整型數據。
例如:
main()
{ inta;
long b;
double x;
scanf(「%d%ld%lf」,&a,&b,&x);
printf(「a=%d, b= %ld,x=%lf」,a,b,x);
}
使用scanf函數還必須注意以下幾點:
(1)scanf函數中沒有精度控制。
如:scanf(「%5.2f」,&a); 是非法的。
(2)scanf中要求給出變數地址,
如: scanf(「%d」,a);是非法的。
(3)在輸入多個數值數據時,若格式控制串中沒有非格式字元作輸入數據之間的間隔則可用空格,TAB或回車作間隔。
例如:scanf(「%d%d」,&a,&b);
輸入: 12 10 回車
或 12 回車 10 回車
(4)在輸入字元數據時,若格式控制串中無非格式字元,則認為所有輸入的字元均為有效字元。
例如:
scanf("%c%c%c",&a,&b,&c);
輸入為:d e f 則把'd'賦予a, 『』'賦予b,'e'賦予c。
只有當輸入為: def時,把'd'賦於a,'e'賦予b,'f'賦予c。
如果在格式控制中加入空格作為間隔,
如 scanf ("%c %c %c",&a,&b,&c);
輸入時各數據之間可加空格。
(5)如果格式控制串中有非格式字元則輸入時也要輸入該非格式字元。
例如:
scanf("%d,%d,%d",&a,&b,&c);
其中用非格式符「,」作間隔符,故輸入時應為: 5,6,7
又如:
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
則輸入應為: a=5,b=6,c=7
(6)如輸入的數據與輸出的類型不一致時,雖然編譯能夠通過,但結果可能不正確。
void main()
{ inta;
printf("inputa number\n");
scanf("%d",&a);
printf("%ld",a);
}
以上總結比較全面,希望能幫到你。
3. c語言是通過什麼來輸入輸出的
C語言是通過printf()函數和scanf()函數來進行輸入和輸出。
printf()格式化輸出函數,C語言標准庫函數,在 stdio.h 中定義。一般用於向標准輸出設備按規定格式輸出信息。printf()函數的調用格式為:printf("<格式化字元串>", <參量表>)。輸出的字元串除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
scanf()格式化輸入函數。與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include <stdio.h>。scanf()函數的調用格式為:scanf("<格式說明符>", <參量表>)。按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。
(3)c語言標准庫函數正確輸入擴展閱讀:
printf("<格式化字元串>", <參量表>);
格式化字元串包含三種對象,分別為:
(1)字元串常量;
(2)格式控制字元串;
(3)轉義字元。
字元串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字元串和各輸出項在數量和類型上應該一一對應。其中格式控制字元串是以%開頭的字元串,在%後面跟有各種格式控制符,以說明輸出數據的類型、寬度、精度等。
4. C語言規定為了在程序中正確使用輸入法輸出函數,需要在源程序開始寫上什麼預處
輸入輸出函數在c標准中,聲明在stdio.h
所以需要加上
#include<stdio.h>
5. C語言輸入函數
c中用於將用戶從指定輸入設備輸入的各種符號儲存到指定內存以便程序讀取的函數,c的函數庫中有的輸入函數叫標准輸入函數,他放在<stdio.h>中,你也可以自己編寫。
6. C語言中的鍵盤輸入函數。。。
k=k&0xff?0x00ff:k>>8;其實就是
if(k&0xff) {
k=0x00ff;
}else {
k=k>>8;
}的簡寫。
其實0xff和0x00ff是一樣的,都表示同一個十六進制的值。
書上這么寫,沒有錯;至於為什麼,就不好說了。
可能是讓你多學點知識,也可能是現在很多書其實在編寫時並不是很認真的。畢竟盡信書不如無書!
後面的k>>8是把0xff的值右移8位,達到計算的目的(具體什麼目的要看具體內容)
7. c標准庫函數的輸入函數scanf()可輸入哪幾種類型的數據
c 字元。
s 字元序列,後面會加上空位元組
d 十進制整數
u 無符號十進制整數
i 有符號整數
a,e,f,g,A,E,F,G 有符號浮點數
o 有符號八進制整數
x,X 有符號十六進制整數。
p 一個指針值
8. 內核里怎麼使用C標准庫函數
在 C語言程序設計里,C 標准函數庫(C Standard library) 是所有符合標準的頭文件(head file)的集合,以及常用的函數庫實現程序,例如I/O 輸入輸出和字元串控制。不像 COBOL、Fortran 和 PL/I等編程語言,在 C 語言的工作任務里不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程序都是由標准函數庫的函數來創建的。
每一個函數的名稱與特性會被寫成一個電腦文件,這個文件就稱為頭文件,但是實際的函數實現是被分存到函數庫文件里。頭文件的命名和領域是很常見的,但是函數庫的組織架構也會因為不同的編譯器而有所不同。標准函數庫通常會隨附在編譯器上。因為 C 編譯器常會提供一些額外的非 ANSI C 函數功能,所以某個隨附在特定編譯器上的標准函數庫,對其他不同的編譯器來說,是不兼容的。
9. C語言什麼叫標準的輸入和輸出
標准輸入和輸出函數就是scanf和printf了,而標準的輸入和輸出設備是鍵盤和顯示器