c語言情況
⑴ 簡述c語言的發展
C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為系統描述語言,即可用來編寫系統軟體,也可用來編寫應用軟體。
早期的操作系統等系統軟體主要是用匯編語言編寫的(包括 UNIX操作系統在內)。由於匯編語言依賴於計算機硬體,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬體進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種情況下應運而生了。
C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL 60。 1960年出現的ALGOL 60是一種面向問題的高級語言,它離硬體比較遠,不宜用來編寫系統程序。1963年英國的劍橋大學推出了CPL(CombinedProgram- ming Language)語言。CPL語言在ALGOL 60的基礎上接近了硬體一些,但規模比較大,難以實現。1967年英國劍橋大學的Matin Richards對 CPL語言作了簡化,推出了BCPL(Basic Combined Programming Language)語言。1970年美國貝爾實驗室的 Ken Thompson以 BCPL語言為基礎,又作了進一步簡化,設計出了很簡單的而且很接近硬體的 B語言( 取 BCPL的第一個字母),並用 B語言寫第一個UNIX操作系統,在PDP-7上實現。 1971年在PDP-11/20上實現了B語言,並寫了UNIX操作系統。但B語言過於簡單,功能有限。1972年至 1973年間,貝爾實驗室的 D.M.Ritchie在B語言的基礎上設計出了C語言(取 BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練、接近硬體),又克服了它們的缺點(過於簡單、數據無類型等)。 最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。1973年,K.Thom- pson和D.M.ritchie兩人合作把UNIX的90%以上用 C改寫(UNIX第5版。原來的 UNIX操作系統是1969年由美國的貝爾實驗室的 K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的)。
後來,C語言多次作了改進,但主要還是在貝爾實驗室內部使用。直到1- 975年UNIX第6版公布後 ,C語言的突出優點才引起人們普遍注意。1977年出現了不依賴於具體機器的C語言編譯文本《可移植C語言編譯程序》,使C移植到其它機器時所做的工作大大簡化了,這也推動了UNIX操作系統迅速地在各種機器上實現。例如,VAX,AT&T等計算機系統都相繼開發了UNIX。隨著 UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發展過程中相輔相成。1978年以後,C語言已先後移植到大、中、小、微型機上,已獨立於UNIX和PDP了。現在C語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。
以1978年發表的UNIX第7版中的C編譯程序為基礎,Brian W.Kernighan和 Dennis M.Ritchie(合稱K&R)合著了影響深遠了名著《The C Programming Lan- guage》,這本書中介紹的C語言成為後來廣泛使用的C語言版本的基礎,它被稱為標准C。1983年,美國國家標准化協會(ANSI)根據C語言問世以來各種版本對C的發展和擴充 ,制定了新的標准,稱為ANSI C。ANSI C比原來的標准C有了很大的發展。K&R在1988年修改了他們的經典著作《The C Progra- mming Language》 ,按照ANSI C的標准重新寫了該書。1987年,ANSI C又公布了新標准--87 ANSI C 。目前流行的C編譯系統都是以它為基礎的
⑵ c語言什麼情況下用到return1和return0,還有這是什麼意思
答案:
在C語言中,return 1和return 0通常用於程序的返回狀態。return 0通常表示程序正常結束,而return 1或其他非零值通常表示程序遇到了某種錯誤或異常情況。
詳細解釋:
在C語言中,程序的每個函數都會返回一個值。對於主函數,這個返回值用於告訴操作系統程序的執行狀態。返回值的含義通常由程序的設計者和使用者共同約定。其中,return 0通常用來表示程序已經成功執行完畢,沒有錯誤發生。這是一種常見的約定,但並不是唯一的,有些程序可能會使用其他值來表示成功。
另一方面,return 1通常用來表示程序在執行過程中遇到了某種錯誤或異常情況。這樣的返回值可以讓調用者知道程序沒有按照預期執行。操作系統的命令行環境通常會檢查程序的返回值,如果一個程序返回非零值,那麼通常意味著程序遇到了問題。這對於腳本、批處理文件或其他依賴於程序返回值來做出決策的程序來說非常有用。
除了return 0和return 1之外,有些程序可能會使用特定的返回值來表示特定的錯誤類型或狀態。這些返回值可以根據程序的特定需求進行自定義。總的來說,return語句在C語言中用於指定函數的返回值,而在主函數中,這些返回值具有特殊的含義,用於表示程序的執行狀態和結果。通過合理設置和使用返回值,程序員可以更有效地與程序的使用者和環境進行通信。
⑶ c語言中一般運行後停止工作有哪些情況
只要編譯通過,一般情況下C語言程序停止工作,多為輸入輸出格式不對,或計算陷入死循環。
1、輸入輸出格式不對。最常見的就是&符號,該有的沒有,不該有的打了&符號。
例如:
int n;
scanf("%d",n);
n前少打了&符號。編譯能通過,執行時就會出現停止工作的情況。
2、
個別計算陷入死循環的情況,例如:
int i,k;
i賦值;
k=關於i的表達式;
計算k值陷入死循環。