最常見的顯示信息的方式是使用庫函數printf()和puts()。
a,轉義字符。
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxwPmIs16rSxsu1w/e3+6GjPC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20140509/20140509091935234.jpg" alt="\">
printf()函數位於標准C語言庫中,它是最通用的在屏幕上顯示信息的方式。
#includevoid main() { //在屏幕上顯示文本信息 very nice ! printf("very nice !"); //顯示變量的值 int number = 10; /* 格式化字符串 格式化字符串指定如火如荼格式輸出,由以下三部分組成: 字面文本:按輸入方式顯示。如下的字面文本為:The value of number is 轉義序列:提供特殊的格式化控制,由一個反斜槓和一個字符組成。如下轉義序列為: \n(換行符,是移到下一行的開始位置) 轉換說明符:由百分符(%)和一個字符組成。如下轉換說明符為 %d(轉換說明符 告訴printf()函數 如何解釋要打印的變量,%d是按十進制) */ printf("\n The value of number is %d",number); //格式化字符串;包含要打印的值的變量名 //printf("\a響鈴"); //振鈴 //printf("\b退格");//退格 //printf("\f換頁");//換頁 printf("------分界線----\n"); printf("\r回車");//回車 /* 為什麼加了回車上面2行的內容都不見了?因為回車是回到一行的開始,而並非移動下一行。 解決辦法:printf("------分界線----\n"); 即在分界線後面加換行。 */ printf("\t水平制表符");//水平制表符 printf("\v垂直制表符");//垂直制表符 printf("\\反斜槓"); //反斜槓 printf("\?問號");//問號 printf("\'單引號");//單引號 printf("\"雙引號");//雙引號 printf("-----結束---"); system("pause"); }
a,運行結果 1
b,運行結果 2
2,結合循環以及前面我們學過的基礎知識 寫一個案例。
#define _CRT_SECURE_NO_WARNINGS #include#include #include void choice_what();//定義原型 void goon_or_quit();//定義原型 void main() { goon_or_quit(); system("pause"); } //做出判斷和選擇 void choice_what() { int temp = 0; printf("親選擇操作:"); printf("響鈴 1\n"); printf("顯示日期 2\n"); printf("輸出你的信息 3\n"); scanf("%d", &temp); switch (temp) { case 1: printf("\a響鈴了!"); break; case 2: /* time_t rawtime;//時間類型 struct tm * timeinfo;//時間結構 time(&rawtime);//獲取時間,以秒計,從1970年1月一日起算,存於rawtime timeinfo = asctime(&rawtime); //localtime(&rawtime);轉為當地時間,tm 時間結構asctime ()-- 轉為標准ASCII時間格式:星期 月 日 時:分:秒 年 printf("\007The current date/time is: %s", asctime(timeinfo));*/ //system("date\n"); system("@echo %date% %time%"); break; default: printf("(*^__^*) 嘻嘻……,我們都是好孩子!"); } } void goon_or_quit() { int mark =1;//初始化mark變量,標記 do { choice_what(); printf("是否繼續?\n"); printf("繼續 1\n"); printf("退出 0\n"); scanf("%d", &mark); } while(mark); exit(0); }
#include/* 常用的轉換說明符 */ void main() { char a_char = 'a'; printf("%c\n", a_char); int a_int = -9; short a_short = -9; printf("%d\n", a_int); printf("%d\n", a_short); long a_long = -10000l; printf("%ld\n",a_long); float a_float = 100.65f; double a_double = 100.65; printf("%f\n", a_float); printf("%d\n", a_double); char a_chars[17] = { "我們都是好孩子!" };//注意:一個漢字為2個字節,!和“”分別為一個,則17=14+3 printf("%s\n", a_chars); unsigned int a_uint = 9; unsigned short a_ushort = 9; printf("%u\n", a_uint); printf("%u\n", a_ushort); unsigned long a_ulong = 10000; printf("%lu\n", a_ulong); printf("----------------------錯誤類型分割線---------------------------\n"); printf("錯誤的類型:"); unsigned short a_ushort_e1 = -9; printf("%u\n", a_ushort_e1); printf("錯誤的轉換說明符:"); unsigned short a_ushort_e2 = -9; printf("%u\n", a_ushort_e2); puts("------------------puts分割線-----------------"); /* 函數puts()也可用來在屏幕上顯示文本消息,但它不能顯示數值變量。puts()函數接受一個 字符串參數,顯示該參數並自動換行。 當只需要打印文本,不需要打印變量時,用puts()而不是printf() */ puts("使用puts()函數顯示信息:"); puts("使用puts()函數顯示信息:\n"); system("pause"); }
運行結果
#define _CRT_SECURE_NO_WARNINGS #include/* 使用scanf獲得鍵盤輸入的信息 */ void main() { int temp1 = 0; double temp2 = 1.09; //這裡注意轉換說明符, double 類型 要用%lf scanf("%d %lf", &temp1, &temp2); printf("%d,%f",temp1,temp2); system("pause"); }
運行結果
時,就要充分利用puts()的開銷更小這一優點。