C語言之數據的輸入輸出

#define _CRT_SECURE_NO_WARNINGS

//字符輸入輸出函數 getchar()  putchar()
//格式輸入輸出函數 scanf()    printf()

// %e 以指數形式輸出  %g選用寬度較小的格式輸出實數

//printf("%8d",10); //輸出數據的字段寬度,補空,不影響原來位數下
//printf("%08d",10);//輸出數據的字段寬度,補0
//printf("%-08d",10);// -左邊對齊,否則就是右邊對齊
//printf("%.4f",1.234567);	//小數點後面四捨五入,保留4位
//printf("%.5s","ABCDEFGH")	//截取字符串個數
// 對 d f c s格式均有效

//32位系統 ,%d %ld 是一樣的,嵌入式系統%d是短整型

//同樣的二進制,不同的解析方式會造成不同的結果  %d %u %o %x 不管當時聲明的是什麼類型
//%o %x 只能處理無符號的八進制和十六進制,處理有符號會出錯
//int num = 010; //前面帶0八進制  int num =0x10;帶0x爲十六進制 
//%#0 按照八進制輸出,帶0  //%#0 按照十六進制輸出,帶0x


//計算機的底層是二進制,所以數據賦值,也就是二進制賦值,解析的時候也是選中二進制數據,按照一定規則來解析

//signed short 代表有符號  %hd 打印有符號最大值32767 %hu打印無符號短整型65535  兩個字節
//32位系統下 in與long等價 %ld與%d等價 %lu與%u等價   4字節

//longlong是長整數 8個字節  %lld 打印longlong  %llu 打印unsigned long long


//%d %u 用於輸出int或long 類型的有符號和無符號類型

//在打印數據的時候,必須要在一定的範圍之內,如果不匹配就會出錯
//爲了匹配,儘量使用範圍較大的格式符 %lld


#include <stdio.h>
#include <stdlib.h>

typedef unsigned long long ULL;
//對 unsigned long long 起別名 ,

int main()
{
		printf("%8d \n", 10);//輸出數據的字段寬度,補空,不影響原來精度下
		printf("%08d \n", 10);//輸出數據的字段寬度,補0,
		printf("%-08d \n", 10);// -左邊對齊
		printf("%.4f \n", 1.234567);	//小數點後面四捨五入,保留4位
		printf("%.5s \n", "ABCDEFGH");	//截取字符串個數

	system("pause");

}

#define _CRT_SECURE_NO_WARNINGS

//字符輸入輸出函數 getchar()  putchar()
//格式輸入輸出函數 scanf()    printf()

// %e 以指數形式輸出  %g選用寬度較小的格式輸出實數

//printf("%8d",10); //輸出數據的字段寬度,補空,不影響原來位數下
//printf("%08d",10);//輸出數據的字段寬度,補0
//printf("%-08d",10);// -左邊對齊,否則就是右邊對齊
//printf("%.4f",1.234567);	//小數點後面四捨五入,保留4位
//printf("%.5s","ABCDEFGH")	//截取字符串個數
// 對 d f c s格式均有效

//32位系統 ,%d %ld 是一樣的,嵌入式系統%d是短整型

//同樣的二進制,不同的解析方式會造成不同的結果  %d %u %o %x 不管當時聲明的是什麼類型
//%o %x 只能處理無符號的八進制和十六進制,處理有符號會出錯
//int num = 010; //前面帶0八進制  int num =0x10;帶0x爲十六進制 
//%#0 按照八進制輸出,帶0  //%#0 按照十六進制輸出,帶0x


//計算機的底層是二進制,所以數據賦值,也就是二進制賦值,解析的時候也是選中二進制數據,按照一定規則來解析

//signed short 代表有符號  %hd 打印有符號最大值32767 %hu打印無符號短整型65535  兩個字節
//32位系統下 in與long等價 %ld與%d等價 %lu與%u等價   4字節

//longlong是長整數 8個字節  %lld 打印longlong  %llu 打印unsigned long long


//%d %u 用於輸出int或long 類型的有符號和無符號類型

//在打印數據的時候,必須要在一定的範圍之內,如果不匹配就會出錯
//爲了匹配,儘量使用範圍較大的格式符 %lld


#include <stdio.h>
#include <stdlib.h>

typedef unsigned long long ULL;
//對 unsigned long long 起別名 ,

int main()
{
		printf("%8d \n", 10);//輸出數據的字段寬度,補空,不影響原來精度下
		printf("%08d \n", 10);//輸出數據的字段寬度,補0,
		printf("%-08d \n", 10);// -左邊對齊
		printf("%.4f \n", 1.234567);	//小數點後面四捨五入,保留4位
		printf("%.5s \n", "ABCDEFGH");	//截取字符串個數

	system("pause");

}

#include <stdio.h>
#include <stdlib.h>

//gets();	函數輸入一個字符串
//puts();	函數可以輸出字符串,自動實現換行

//getchar();  輸入一個字符串,回車,空格,tab都會被當成字符
//putchar();  輸出一個字符或者轉義字符

//scanf() 函數,單精度浮點型讀入形式可以有%f %e %g
//對應讀入雙精度浮點型,用 %lf  %le  %lg。否則scanf不會生效

//格式符和printf類型相近,如%d %f %lf %.5f, %d %o %x %c %s %f	%e %g
//非空白符需要一併輸入 如 scanf("%d,%d",&x,&y); 輸入應爲(55,63)
//空白符在%前面會被忽略,在%結束的末尾,會要求多輸入數據,但不影響結果
//使用scanf的時候儘量不要使用空白符和非空白符

//scanf("%d",x);	必須傳入內存地址,會把變量的值當成內存地址來處理
//在用%c格式符時,空格字符和轉義字符都被當做有效字符來處理
//以回車作爲下達開始解析命令,整個輸入以回車結束,如果回車後數據不夠,則回車只當做一個空白符
//有寬度指示時,讀入相應的寬度,如 %3d 則只解析3個數字即認爲讀入這個整數完畢

//scanf 掃描字符集合,避免用戶輸入錯誤
//scanf("%[xyz]",str);		只接受xyz的輸入,有一個不匹配,就停止,即使後面還有xyz
//scanf("%[^xyz]",str);		可以讀取xyz以外的的任何字符,包括\n,遇到xyz就終止	
//scanf("%[A-Z]",str);	   只接受A-Z的輸入,有一個不匹配就停止
//		%[0-9]  只輸入數字 ,%[a-z]  只輸入小寫字母

//  %n 的作用 如 scanf("%d%n",&str,&num);  %n統計輸入了多少個字符,然後賦值給num
//  %i 有符號十進制整數的輸入輸出,與%d等價
//  %a 16進制的浮點數計數法(P計數法),p代表2爲底數   VS2013 Gcc支持
//  %後面的*格式符,用來表示在解析時,將讀入的數據忽略
//  輸入時不可以指定精度 ,指定精度後scanf無效
// %f 對double 無效

// sprintf將數據存入字符串中  sscanf 函數可以從字符串挖掘數據

int main()
{
	puts("hello zhanqinghui");


	system("pause");
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章