C語言為什麼定義了這麼多不同的時間標準
由於所使用的計算機和編譯程序不同,你可能會發現定義了許多時間標準。儘管有多種時間標準會帶來一定的方便,但把它們都寫出來顯然要花很長的時間,並且把它們都存儲起來也會多佔硬盤空間。那麼,為什麼還要這樣呢?其中有好幾個原因,具體情況如下,更多消息請關注應屆畢業生網!
首先,C是一種可移植的語言。因此在一台計算機上編寫的C程序應該能在另一台計算機上運行。通常,當用C語言在一個新的系統上進行開發時,必須把專門在某個系統上使用的那些函數添加到C語言中。此後,當C程序需要從一個系統移植到另一個系統中時,將具體命令添加到目標系統中通常就很容易了。這樣一來,同一函數的不同版本就都彙集在C語言中了。這種情況就曾多次發生在時間函數身上。
其次,時間(和日期)可能有多種不同的用法。你可能想按秒計時,可能想從一個具體的時間和日期開始計時。此外,你還可能想按最小的時間間隔計時,以確保計時儘可能精確。對於計時,沒有一種最好的方法。當你開始編寫一個涉及到時間的程序時,你必須先把可以使用的函數分析一遍,並確定哪一種函數最適合於你的目的。如果你要用多種方法處理時間,你就可能要使用多種不同的時間格。
【拓展閲讀】
C語言中關於時間的函數的概念
在C/C++中,通過學習許多C/C++庫,你可以有很多操作、使用時間的方法。但在這之前你需要了解一些“時間”和“日期”的概念,主要有以下幾個:
1. 協調世界時,又稱為世界標準時間,也就是大家所熟知的格林威治標準時間(Greenwich Mean Time,GMT)。比如,中國內地的時間與UTC的時差為+8,也就是UTC+8。美國是UTC-5。
2. 日曆時間,是用“從一個標準時間點到此時的時間經過的.秒數”來表示的時間。這個標準時間點對不同的編譯器來説會有所不同,但對一個編譯系統來説,這個標準時間點是不變的,該編譯系統中的時間對應的日曆時間都通過該標準時間點來衡量,所以可以説日曆時間是“相對時間”,但是無論你在哪一個時區,在同一時刻對同一個標準時間點來説,日曆時間都是一樣的。
3. 時間點。時間點在標準C/C++中是一個整數,它用此時的時間和標準時間點相差的秒數(即日曆時間)來表示。
4. 時鐘計時單元(而不把它叫做時鐘滴答次數),一個時鐘計時單元的時間長短是由CPU控制的。一個clock tick不是CPU的一個時鐘週期,而是C/C++的一個基本計時單位。
我們可以使用ANSI標準庫中的time.h頭文件。這個頭文件中定義的時間和日期所使用的方法,無論是在結構定義,還是命名,都具有明顯的C語言風格。
c語言入門經典小程序
1 、 /* 輸出 9*9 口訣。共 9 行 9 列, i 控制行, j 控制列。 */
#include "stdio.h"
main()
{int i,j,result;
for (i=1;i<10;i++)
{ for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d 表示左對齊,佔 3 位 */
}
printf("n");/* 每一行後換行 */
}
}
2 、 /* 古典問題:有一對兔子,從出生後第 3 個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔
子都不死,問每個月的兔子總數為多少?
兔子的規律為數列 1,1,2,3,5,8,13,21....*/
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("n");/* 控制輸出,每行四個 */
f1=f1+f2; /* 前兩個月加起來賦值給第三個月 */
f2=f1+f2; /* 前兩個月加起來賦值給第三個月 */
}
}
-
內部排序之堆排序的實現
堆排序(HeapSort)只需要一個記錄大小的輔助空間,每個待排序的記錄僅佔有一個存儲空間。下面小編為大家整理了內部排序之堆排序的實現,希望能幫到大家!(1)基本概念a)堆:設有n個元素的序列:{k1,k2,...,kn}對所有的i=1,2,...,(int)(n/2),當滿足下面關係:ki≤k2i,ki≤k2i+1或ki...
-
C語言轉義字符和格式控制符參考
導語:字符型常量所表示的值是字符型變量所能包含的值。我們可以用ASCII表達式來表示一個字符型常量,或者用單引號內加反斜槓表示轉義字符。下面是C語言轉義字符和格式控制符參考,歡迎學習:轉義字符參考:a:蜂鳴,響鈴:回退:向後退一格f:換頁:換行,光標到下行行首:回車,光...
-
C語言if else語句彙總
對於很多情況,順序結構的代碼是遠遠不夠的,大家都接觸過C語言吧,下面是小編為大家整理的C語言ifelse語句,希望對大家有所幫助。C語言ifelse語句在C語言中,使用if和else關鍵字對條件進行判斷。請先看下面的代碼:#includeintmain(){intage;printf("請輸入你的年齡:");sc...
-
在C語言中轉換時間的基本方法
本文主要介紹了在C語言中轉換時間的基本方法,分別是mktime()函數和localtime()函數的使用,供參考學習,感興趣的小夥伴們可以參考一下!想了解更多相關信息請持續關注我們應屆畢業生考試網!C語言mktime()函數:將時間轉換成經過的秒數頭文件:#include<time.h>定義函數:t...