第四章キーボード入力や画面出力
エスケープ文字
\ nは | ラップは、次のラインの開始位置にカーソルを移動します |
\ rを | キャリッジリターン(ラップされていない)、現在の行の先頭にカーソルを移動 |
\ 0 | ヌル文字 |
\トン | 水平タブ |
\ V | 垂直タブ |
\ B | バックスペース |
\ F | 給紙 |
\ A | アラーム音を鳴らします |
\」 | 二重引用符 |
\」 | 単一引用符 |
\\ | バックスラッシュ |
\? | 疑問符 |
\ DDD | 1-3進ASCII値は、によって表される文字 |
\社会 | 1-2文字の16進ASCII値で表さ |
各文字が整数それに対応する値と同等であり、整数値は、文字のASCIIコードであります
この意味からは、char型はint型の特殊なタイプとみなすことができます
情報を返さないデータ型への変換のCharとintデータ型が失われます
標準化のためのUnicode--国際機関より強力なコーディングを開発します
// L4-1
する#include <stdio.hの>
メイン()
{
チャー CH;
のprintf( "押しA、次にEnterキーを押します。" );
CH = GETCHAR(); / *キーボード、プレスからの文字入力キーの入力端に入力し、 *文字は変数CH /に格納されている CH 2 CH 2 + = 32; / *大文字小文字* / のputchar(CH); / *表示変数CHの文字* /画面上のputchar(「\ nを「); / *出力復帰改行制御文字* / }
//営業成績
を押してA、次にEnterキーを押します:Bの
B
関数getchar関数()とのputchar()は、C標準ライブラリ専用の文字入力/出力の関数であります
関数getchar関数()引数なし
printf(フォーマット制御文字列、パラメータテーブルの出力値)
書式制御文字列であって、必要に応じてフォーマット変換仕様、通常の文字が出力されます
// L4-2
する#include <stdio.hの>
メイン()
{
チャー CH;
のprintf( "押しA、次いでプレスキー入力:" );
CH = GETCHAR(); CH = CH + 32 ; のprintf(「%C、%D \ N- 」、CH、CH); / * 出力文字と可変CH *のASCII値/ }
//実行結果の
B:プレスして、Enterキーを押してA
、B、98を
printf()形式変更
- L:ロング
- L:ダブルロング
- 時間:短いです
- m個(mは整数)フィールド幅(出力項目出力によって占有列数)を指定
- .N(nは正の整数である):表示精度
// L4-3
する#include <stdio.hの>
メイン()
{
CONSTダブルPI = 3.14159 ;
ダブルR&LT、circum、エリア;
のprintf( "R&LT入力:" ); scanfの( "%のLF"、&R&LT); circum = 2 * PI * R&LT;面積= PI * R&LT *のR&LT;のprintf( "printfの幅又は高精度仕様なし:\ N-" );のprintf( "円周=%F、面積=%F \ N-" 、circum、エリア);のprintf(「のprintf高精度仕様幅とWITH:\ N-」);のprintf( "%の7.2f =円周、面積=%7.2f \ N-"、circum、エリア); / *使用し、高精度指定子フィールド幅、フィールド幅は、データによって占有されています2の図7に示すように、表示精度* / }
//業績
R Intput:6
のprintf幅または精度指定なし:
円周= 37.699111、113.097334面積=
printfの幅や高精度仕様:
円周= 37.70、面積= 113.10 //注意、また、小数点文字位置を占め
scanf関数(制御文字列形式、パラメータアドレステーブル)
scanf()の入力数値データを使用するときは、次のような状況は、データ入力を終了することに同意するものとします遭遇します
- スペース、キャリッジリターン、タブの場合
- 入力フィールド幅に達しました
- 不正な文字入力の場合
文字列中に存在するフォーマット指定以外の関数のscanf()は、フォーマット制御文字、文字がキーボードからユーザが入力しなければならない場合は、入力データ
// L4-4
する#include <stdio.hの>
メイン()
{
int型 、B。
scanf関数( "%D%dの"、&、&B)。
printf( "A =%のD、B =%d個の\ n"は、A、B)。 }
結果//ラン
12が34であることである
= 12、= 34 Bがされています
scanf関数( "%d個の%* Cは%のD"、&、&B)は、任意の区切り文字として入力されたデータをユーザに可能にします
scanf関数は、()関数を表すデータ項目の指定された数の成功と呼ばれる戻ったとき
scanf関数は、()を返した場合EOFの値は失敗関数が呼び出されていることを示し
// L4-5
する#include <stdio.hの>
メイン()
{
int型 DATA1、DATA2。
文字 OP;
printf( "表現DATA1 + DATA2 \ nを入力してください" ); scanf関数( "%d個の%Cの%のD"、&DATA1、&OP、およびDATA2)。 printf( "%dの%Cは%D =%d個の\ n"、DATA1、OP、DATA2、DATA1 + DATA2)。}
//実行結果は、
DATAL +式を入力してくださいDATA2
12です。3 +
12です。3 + 15 =
// L4-6
する#include <stdio.hの>
メイン()
{
int型 、
char型 B;
フロート C; のprintf( "入力を整数てください" ); scanfの( "%のD"、&A )のprintf(「整数:%D \ N- "a); のprintf("を入力してください文字: " ); scanfの(" %のC」、&B)、読み取りバッファキャリッジに格納されている空間Cの前方の/ *%、* / printf( "文字:%C \のN-" 、B);のprintf( "浮動小数点数Aを入力してください:" ); scanfの( "%F"、&C);のprintf( "フロート:%F \のN-" 、C) ;}
//运行结果
を入力してください整数:12
整数:12
を入力してください文字:
文字:
入力してくださいフロート数:3.5
フロート:3.500000