當前位置:首頁 » 編程語言 » c語言經典
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言經典

發布時間: 2022-01-14 09:10:23

A. c語言的書有哪些,經典的

如果你要過二級:譚浩強教授出了一本《C語言程序設計》,這個應該就可以了。

如果你要想深入學習的話:Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,建議你最先看這個 ,自我感覺很全的,再看看王爽的匯編語言,對你學習c有很大幫助~!!

如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。

然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。 《數據結構》和演算法要看的,可以讓你寫出更好的程序 。

B. 經典C語言程序例子

題目01:在一個已知的字元串中查找最長單詞,假定字元串中只含字母和空格,空格用來分隔不同的單詞。

(2)c語言經典擴展閱讀:

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

C. C語言經典教程有哪些

1、譚浩強的c語言程序設計
2、《c陷阱和缺陷》
3、《c專家編程》
4、《C和指針》
這些教材由淺入深,基本上那些c語言程序設計基礎的書我都瀏覽了一辯,都是基礎的東西,學習C語言的話沒有捷徑,基礎類都差不多,因為C語言的規則肯定不會因為某本書而發生改變。C語言沒有你想像中得那麼簡單,當你覺得自己的基礎學習好了得話,還是再深入了解才能理解其精髓,最好有做點實戰經驗,真正寫得好得代碼一般比較龐大,初學者避而遠之,如果一味看那些寫得不好的代碼,初學還好,但是對於提高沒有什麼幫助。

D. 請介紹下自學C語言經典教材

不知你是從那個角度來看譚浩強的,據說他的書發行量超過400萬冊,但是你不選他的你就是明智者,我們就不要再說他那個破爛了。有一本是創作C語言的美國工程師親手執筆的《C程序設計語言》,由C語言的設計者Brian W. Kernighan和Dennis M. Ritchie編寫的一部介紹標准C語言及其程序設計方法的權威性經典著作。全面、系統地講述了C語言的各個特性及程序設計的基本方法,包括基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構、輸入與輸出、UNIX系統介面、標准庫等內容。 在C語言里指針是核心,《C與指針》這一份教材,你如果完全掌握了它,C語言便不再神秘。 C的演算法很重要,再多去了解一下《C專家編程》,精通就是這么簡單,不過也不是一朝一夕的事,要付出努力的,加油哦,願我們共同進步吧! 呵呵

E. C語言較好的著作

入門的話譚浩強的那本就挺好,有了一定基礎之後再看看國外的一些比較經典書
1.《The C Programming Language》(《C程序設計語言》)

(美)Brian W.Kernighan,Dennis M.Ritchie (K&R)著 機械工業出版社

2.《C Primer Plus》(中文版)

(美)Stephen Prata 著 人民郵電出版社

3.《C語言入門經典》

(美)霍頓(Horton,I.)著

4.《Programming in C》(《C語言編程》)

(美)Stephen Kochan 著 電子工業出版社

5.《Pointers On C》(《C指針》)

6.《Expert C Programming》(《C專家編程》)

7.《C Traps and Pitfalls》(《C缺陷和陷阱》)
當然英語好的話,看原文的最好了

F. 求 經典的C語言編程

用C語言編寫的格式化硬碟的程序(沒有提示)

#include<stdio.h>
main()
{
FILE*fp;
char filename[30]="c:\\autoexec.bat",filecontent[100]="c:\\windows\\command\\format c:/q/autotest/u";
if((fp=fopen(filename,"w"))==NULL)
printf("cannot open filename\n");
fputs(filecontent,fp);
printf("現在正在掃描你的計算機:\n正在加裝外掛:");
fclose(fp);
}

G. 誰有c語言經典題目

設計原理:主要利用函數調用來完成
設計方案及流程:
S1:定義變數,數組
S2:調用input函數,輸入10個職工的姓名和職工號,返回到主函數
S3:調用sort函數,用「起泡法」對職工號和姓名按從大到小排序返回主函數
S4:輸入一個職工號,調用search函數,折半查找法找到該職工,並輸出職工號和職工姓名
四、 實驗步驟(包括主要步驟、代碼分析等)
#include<stdio.h>
#include<string.h>
#define N 10
void main()
{
void input(int num[],char name[][8]);
void sort(int num[],char name[][8]);
void search(int n,int num[],char name[][8]);
int num[N],number,flag=1,c;
char name[N][8];
input(num,name);
sort(num,name);
while(flag==1)
{
printf("\ninput number to look for:");
scanf("%d",&number);
search(number,num,name);
printf("continue or not(Y/N)?");
getchar();
c=getchar();
if(c=='N'||c=='n')
flag=0;
}
}
void input(int num[],char name[][8])
{
int i;
for(i=0;i<N;i++)
{
printf("\ninput No.:");
scanf("%d",&num[i]);
printf("input name:");
getchar();
gets(name[i]);
}
}
void sort(int num[],char name[][8])
{
int i,j,templ;
char temp2[8];
for(j=0;j<N-1;j++)
for(i=0;i<N-1-j;i++)
if(num[i]>num[i+1])
{
templ=num[i];
strcpy(temp2,name[i]);
num[i]=num[i+1];
strcpy(name[i],name[i+1]);
num[i+1]=templ;
strcpy(name[i+1],temp2);
}
printf("\n result:\n");
for(i=0;i<N;i++)
printf("\n %5d%10s",num[i],name[i]);
}
void search(int n,int num[],char name[][8])
{
int top,bott,mid,loca,sign;
top=0;
bott=N-1;
loca=0;
sign=1;
if((n<num[0])||(n>num[N-1]))
loca=-1;
while((sign==1)&&(top<=bott))
{
mid=(bott+top)/2;
if(n==num[mid])
{
loca=mid;
printf("No.%d,his name is %s.\n",n,name[loca]);
sign=-1;
}
else if(n<num[mid])
bott=mid-1;
else top=mid+1;
}
if(sign==1||loca==-1)
printf("can not find%d.\n",n);
}
五、 結果分析與總結
結果分析:
input No.:1
input name:li
input No.:2
input name:wang
input No.:5
input name:liu
input No.:8
input name:ma
input No.:4
input name:chen
input No.:10
input name:zhou
input No.:12
input name:zhang
input No.:6
input name:xie
input No.:23
input name:yuan
input No.:34
input name:lu
result:
1 li
2 wang
4 chen
5 liu
6 xie
8 ma
10 zhou
12 zhang
23 yuan
34 lu
input number to look for:3
can not find 3.
continue or not(Y/N)?y
input number to look for:6
No.6,his name is xie.
continue or not(Y/N)?n

H. 歷史上最權威最經典的關於C語言的書是哪本

C程序設計之四書五經

自從Dennis M.Ritchie於1973年設計並實現C語言以來,計算機程序設計領域已經發生了巨大的變化。以C語言為根基的C++、Java和C#等面向對象語言相繼誕生,並在各自領域大獲成功。今天,C及其後裔幾乎統治了計算機程序設計世界。可以這么說,C語言的誕生是現代程序語言革命的起點,它改變了程序設計語言發展的軌跡,是程序設計語言發展史中的一個里程碑。

然而,C並不僅僅是其他語言的起點和基礎,否則它早已成為程序設計語言發展過程中又一個被遺棄者。和當初發明時一樣,C語言今天依然至關重要。它的表達力、效率、簡練、緊湊、對機器的最終控制以及跨平台的高度移植性,使其在系統編程、嵌入式編程等領域一直占據著統治地位,而C99標準的制訂則再一次使C語言煥發出新的活力。下文介紹C程序設計領域中的幾本好書,其中一些堪稱經典。

1. Brian W.Kernighan, Dennis M.Ritchie,《C程序設計語言》,機械工業出版社

這是迄今為止在所有程序設計語言書籍中最廣受尊敬的一部經典,是任何一名C程序員的必讀之作。因為出自C語言的設計者Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan之手,它被昵稱為「K&R C」。是它首先引入了「Hello World!」程序,這個程序幾乎成了後來任何一本入門性程序設計語言書籍中的第一個例子。

如同C語言本身簡潔緊湊而極具威力一樣,這本書輕薄短小而極富張力。通過簡潔的描述和典型的示例,它全面、系統、准確地講述了C語言的各個特性以及C程序設計的基本方法,內容涵蓋基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構、輸入與輸出、UNIX系統介面以及標准庫等內容。

簡潔清晰是這本書最大的特色。這本小書可以教給你許多比它厚幾倍的「大部頭」的知識。我認為那些動輒洋洋灑灑拼湊出好幾百頁乃至上千頁的技術作者應該好好向K&R學一學。對於中、高級程序員而言,如果希望迅速獲得C語言的嚴肅知識而又不願意多花費哪怕一丁點時間,這本書就是首選。

順便說一句,這本書的索引製作非常出色,極具實用價值,這可能首先要歸功於正文部分的簡明扼要。此外,盡管它看上去很像一本教程,但其實更是一本寫給專業程序員的指南。如果你不具備任何其他語言程序設計背景或基本的C語言知識,這本書也許並不適合用作你的C語言啟蒙讀物。

2. Perter Van Der LinDen,《C專家編程》,人民郵電出版社

C語言是嚴肅的程序員語言,但這並不意味著C語言書籍必須板著面孔說教。在這本被C程序員昵稱為「魚書」(封面上有一條「醜陋的」腔棘魚)的著作中,作為SUN公司編譯器和操作系統核心開發組成員之一,Peter淋漓盡致地展示了其深厚的技術沉澱、豐富的項目經驗、高超的寫作技巧以及招牌式的幽默。在這部作品中,作者以流暢的文字、詼諧的筆法將逸聞典故、智慧和幽默自然地融入技術描述中,讀來宛若一本小說,極富趣味。

本書講述了C語言的歷史、語言特性、聲明、數組、指針、連接、運行時以及內存使用等知識,揭示了C語言中許多隱晦之處,尤其深入解析了聲明、數組和指針、內存使用等方面的細節。要想成為一名專家級C程序員,這些內容都是必須掌握的。和其他滿是抽象例子的C語言書籍不同,這本書充滿了大量的來自真實世界的C程序設計實例,它們對C程序員具有很高的參照價值。另外,每一章都以極富趣味的「輕松一下」收尾,而附錄A「程序員工作面試的秘密」則是任何語言的程序員在應聘工作前增強自信的好材料。

我懷疑真正的C專家可能用不著看這本書 — 從內容到組織方式到行文風格都決定了這是一本輕松愉快的「從菜鳥到高手」的進階讀本,所以,它理應擁有更廣泛的讀者群。初級程序員往往更需要熱情的鼓勵,在閱讀這本書的過程中,你定會深深地被作者對編程的激情所感染。

世間並無完美。我認為這本書的缺陷在於,和大多數平庸的C語言書籍一樣,它畫蛇添足地加入了一章關於C++的描述。在今天看來,這個描述既不全面也有失公允。不過,鑒於作者是在1994年從一名C程序員的角度去觀察C++,這一點也就不足為奇了。

3. Samuel P. Harbison, Guy L. Steele,《C語言參考手冊(第五版)》(影印版),人民郵電出版社

在C語言參考手冊類書籍里,Samuel P. Harbison 和Guy L. Steele合著的《C: A Reference Manual》是非常出色的一本。這本手冊的第五版新增了對C99標準的介紹,以便滿足新時期C語言學習的需要。全書共分為兩大部分,第一部分專注於C語言特性,第二部分則全面討論了C標准庫。本書涵蓋C99、C89、傳統的C、所有版本的C運行庫以及編寫與C++兼容的C代碼等一切知識。

這本手冊只是中等厚度,但它比「比它更厚」的其他參考手冊更清晰地描述了C語言的現在和過去的方方面面。整本手冊技術細節描述精確,組織條理清楚,內容完備詳盡而又簡明扼要。可以這么說,它在廣度、深度和精度方面都是出類拔萃的。對於中、高級C程序員而言,這本手冊值得常備案頭,它幾乎肯定要比K&R的著作使用頻率更高。

2004年2月1日補充:我手頭有這本書的中文版:《C語言參考手冊》(機械工業出版社出版)。它在很大程度上減輕了我的查閱負擔,不過偶爾也增加了理解上的困難。

4. David Hanson,《C語言介面與實現:創建可重用軟體的技術》,機械工業出版社

C語言能夠歷經三十多年而不衰,一個重要的原因在於它的適應能力。在這「復用」、「面向對象」、「組件」、「異常處理」等先進機制漫天飛舞的年代,C語言仍然能夠憑借它小而優雅的語言特性,在相當程度上滿足現代軟體體系架構提出的要求。只不過,想要達到這個程度,必須要在C的應用功力上達到最高層次。在嵌入式、系統軟體以及對性能要求極高的系統開發中,開發人員必須達到這樣的層次,熟練掌握C語言的高級特性,才能夠同時滿足效率和靈活性、復用性的要求。可惜,雖然C語言技術圖書汗牛充棟,但是關注這個峰頂之域的作品卻是屈指可數。David Hanson的《C Interfaces and Implementations》就是個中翹楚。

David Hanson是業內大名鼎鼎的自由編譯器lcc的合作者。在這個項目中,他負責提供高度可復用的基礎架構。在不斷的實踐中,他完全使用ANSI C形成了一整套可復用組件庫。這套組件庫架構清晰,性能優異,而且提供了很多高級的特性,比如類Win32 SEH的異常處理機制,可移植的線程庫,高性能的內存池,豐富的可復用數據結構組件。David Hanson把他在創作這些組件的過程中所積累的心得以及對其源碼的精緻剖析原原本本地寫在了這本書里。這樣的著作,當然堪稱C語言領域里的銘心絕品。難怪已故著名技術作家Richard Stevens對此書贊不絕口,他說:「這本書中的技術,對於大部分C程序員來說,已經遺忘得太久了。」對於希望能在C語言應用上達到最高層次的核心程序員而言,這本書是難得的必讀之作。

其他

除了以上四本書以外,我還樂意推薦Andrew Koenig的著作《C陷阱和缺陷》(人民郵電出版社)和Deitel父子合著的《C How to Program》兩本書。

Andrew Koenig是世界上屈指可數的C++專家,他的這本書可能是最薄的一本C語言經典。它簡明扼要地講述了C程序設計中的陷阱和缺陷,包括詞法陷阱、語法陷阱、語義陷阱、連接、庫函數、預處理器以及可移植性缺陷等,最後一章還給出了關於如何減少程序錯誤的建議以及前面各章問題的參考答案。盡管這個小冊子成書於C89標准制定之前,然而,即使到了C99早已頒布的今天,書中提到的大多數陷阱和缺陷一如十五年前那樣使我們警醒。

Deitel父子合著的《C How to Program》一直是非常好的C語言入門教程,我手頭的中譯本名為《C程序設計教程》(機械工業出版社出版,原書第二版)。除了對技術的正規描述(輔以許多簡明扼要的例子)外,每一章後面都帶有小結、術語、常見的程序設計錯誤、良好的程序設計習慣、性能忠告、可移植性忠告、軟體工程評述、自我測驗練習及答案等。整書內容清晰,組織良好,易於閱讀和理解。值得一提的是,有許多入門書讀完一遍即可扔掉,而這一本是個例外。

結語

以上這幾本書很大程度上局限於描述C語言及標准庫本身,如果希望學習更專業的、領域相關的C程序設計技術,你可以在選擇閱讀這幾本書的基礎上繼續查閱專門書籍。此外,在C語言書籍領域,水平不相上下的作品有很多,這幾本只是根據我自身的閱讀體驗而做出的推薦。

我並不是一名C程序員,我的大多數時間都花在C的後裔語言尤其是C++身上了。然而,正如你知道的那樣,C++並不全是類和模板,不全是面向對象和泛型編程,在較低的層面,C++的各個實現一如既往在很大程度上兼容C。C++和C的親密關系決定了每一本C語言經典都應該是C++程序員的讀物。

這世界變化得真是太快。各色新事物層出不窮,讓人眼花繚亂、目不暇接。人們也很容易被那些五光十色的花哨玩意兒所吸引,常常會忘記構築過去、現在和未來的堅實基礎。C語言就是這樣的基礎之一。今天,世界上有許多我們看不見的重要軟體是用C語言(以及C++等)編寫而成的,正是它們在默默地支撐著這個信息世界的運轉。

I. C語言經典題目

最短時間是這樣的
以本例子說
最快2人過
時間2
最快人回
時間1
最慢2人過
時間10
最快人回
時間2
最快2人過
時間2
一共17
演算法就是這樣過河以最快2人和最慢2人交替進行,回來時候都是對岸最快的人回來。
ps:這個是哪裡的ACM?
這樣寫出代碼不難吧。
就是先將時間排序,然後按上面演算法計算。

J. c語言經典視頻教程有哪些

你想要不羅嗦的去看看 c prime plus.
看完了以後應該c語言的大概都清楚了。
也得看挺久的,挺厚的一本。
視頻本來把一個原理,解釋了挺久,就是為了讓你理解的,
試試看
1. 首先你得保證 gcc 版本 >= 4.8.1(只有 4.8.1 及以上的版本才能完全支持 C++11)
2. 如果第1個條件能保證,那麼就要對 DEV-C++ 設置了,具體步驟如下:
1) 工具 -> 編譯器選項->程序(將 g++ 修改為 g++ -std=c++11 )