程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言入門知識 >> C語言基礎知識之綜合案例(1)

C語言基礎知識之綜合案例(1)

編輯:C語言入門知識
1,在屏幕上顯示信息。

最常見的顯示信息的方式是使用庫函數printf()和puts()。


a,轉義字符。

\


<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxwPmIs16rSxsu1w/e3+6GjPC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20140509/20140509091935234.jpg" alt="\">


printf()函數位於標准C語言庫中,它是最通用的在屏幕上顯示信息的方式。


#include
void  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);
}


運行結果
\



printf()函數接受一系列的參數,其中每個參數應於格式化字符串的一個轉換說明符。
printf()將格式化後的信息打印到標准輸出設備。使用printf()時,需包含標准輸入/輸出
頭文件stdio.h。


使用puts()顯示信息


#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");
}


運行結果

\

3,使用scanf()函數輸入數值數據。


從鍵盤讀取數值數據的最靈活的方法就是使用庫函數scanf()。
函數scanf()按指定的格式從鍵盤讀取數據,並將其賦給一個或多個變量。和printf()一樣,scanf()也
使用一個格式化字符串描述輸入的格式,改格式化字符串使用的轉換說明符與printf()函數相同。

#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");
}


運行結果



經驗:
printf()的功能強於puts(),但開銷也更大。編寫小型、高效的程序,或程序很大、資源變得非常寶貴

時,就要充分利用puts()的開銷更小這一優點。




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved