C程序设计

作者&投稿:尉迟兔 (若有异议请与网页底部的电邮联系)
求谭浩强C程序设计第四版pdf或txt电子书~

希望对你有所帮助,另外我还有配套的学习辅导和课后习题答案,你要不要?若要请追问,一次只能传一个文件

刚接触编程谁都是满头雾水的,尤其是那些曾经根本就没用过电脑的人,这简直就是比登天还难!!但是他既然能制造出来,难道还有学不会的道理。。。下面是我学学中的一些技巧,洗完对你有帮助: 一。 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个大学生,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢? 第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。 第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。 第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。 那么究竟怎样学习C语言呢? 1:工欲善其事,必先利其器 这里介绍几个学习C语言必备的东东: 一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。 一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。 除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。 2:葵花宝典 学习计算机语言最好的方法是什么?答曰:读程序。 没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。 3:登峰造极 写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。 是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。[编辑:赵晋军] 二,语言学习方法 谈谈偶的学习方法,抛砖引玉! 学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。 什么才是学习C语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了,比如《C语言之四书五经》中介绍的4本。(虽然这些书很多已经绝版了,但我相信电子版也是很有益处。况且,如果你真的想看,我相信你一定有办法搞的到。)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟性。之后要看那些书呢?我不妨再列几本。Bjarne Stroustrup的《C++程序设计语言》(The C++ Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《C++语言的设计与演化》(The Design and Evolution of C++)和David R.Hanson 的《C语言接口与实现 创建可重用软件的技术》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。 看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the ***ing source code;候捷也在其文中提到“源码之前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。可以说高手的经验大都是源自代码。源码和书一样,也是要看好的,不要看差的。在此,我推荐看Linux kernel source code 和 Linux tcp/ip source code。这两套代码都是开源的,垂手可得。此外,还可以配合着Andrew S.Tanenbaum的《操作系统的设计与实现》(Operating Systems:Design and Implementation)、毛德操 胡希明的《Linux内核 源代码情景分析》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《Linux设备驱动程序》(Linux Device Driver,3e)、W.Richard Stevens《TCP/IP详解(3部)》 (TCP/IP Illustracted )、W.Richard Stevens《UNIX环境高级编程》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的内容)等书来看,方便的很当然程序不是看出来的,是写出来的。我高中的时候每天坚持写6个小时程序,《数据结构》和排列组合、图论方面的习题反复做了N遍。到现在虽然已经时隔二年,很多内容早已淡忘掉,但却培养了我很强的编码能力和调试能力,直到现在还对我的工作有很大的帮助。 学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。 C是编程语言的基础,建议大家从C开始!还有就是我听说大部分黑客是C语言的铁杆Fans,当时我听了这个,所以对C学了下去!是这个信念让我坚持学会,学通,学精!希望大家学编程语言时,心中有一个信念! !

简化判断条件花了我不少时间,结果出来后发现题给的条件不够,估计是”丙“少一个条件,所以得出两个结果,经验证都满足你的说明。
定义了12个变量,但是每个值只取1或者0,所以执行速度很快。本题关键是如何确定变量,这里选定四个人每句话中的每个部分为一个条件,比如设a="洞庭湖最大",那么a=1表示“洞庭湖最大”为真,否则a=0表示“洞庭湖最大”为假。b="洪泽湖最小",c="鄱阳湖第三",其余类推。这样程序就很简洁明了。
至于判断条件如何简化是这样:
四个人四句话得四个条件:(a+b+c==1)&&(d+e+f+g==1)&&(h+i==1)&&(i+j+k+l==1)
对最大的湖的描述得:a+d+j<2
对最小的湖的描述得:b+e+h+k==1
对第二大湖的描述得:f+l<2
对第三大的湖的描述得:c+g+i<2
再对每个湖而言
对洞庭湖:a+e+i<2
对洪泽湖:b+d+l<2
对鄱阳湖:c+f+h+j==1
对太湖:g+k<2
条件判断很重要,要不程序执行后得出很多结果,其中很多都是错的。我开始写的判断条件要复杂得多,最后简化成这样。这花了不少时间。不要认为我定义的变量多,而是因为你的题给条件很多而且都要利用。建议你看看<<C语言趣味程序百例精解>> ,上面有很多逻辑问题,很精彩。
至于你说的图形界面,最多也就是个字符界面,真正的图形化界面没人给你写的,太要时间,效果未必好看。程序有什么不足密我(晚上12点以后)。

程序在win-tc和Dev-c++下运行通过,经验证正确。(你给的条件不够)
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int a,b,c,d,e,f,g,h,i,j,k,l;
char ch;
for(a=1;a>=0;a--)
for(b=1;b>=0;b--)
for(c=1;c>=0;c--)
for(d=1;d>=0;d--)
for(e=1;e>=0;e--)
for(f=1;f>=0;f--)
for(g=1;g>=0;g--)
for(h=1;h>=0;h--)
for(i=1;i>=0;i--)
for(j=1;j>=0;j--)
for(k=1;k>=0;k--)
for(l=1;l>=0;l--)
if((a+b+c==1)&&(d+e+f+g==1)&&(h+i==1)&&(i+j+k+l==1)&&(a+d+j<2)&&(b+e+h+k==1)&&(f+l<2)&&(c+f+h+j==1)&&(c+g+i<2)&&(a+e+i<2)&&(b+d+l<2)&&(g+k<2))
{if(a)
printf("Dongting is biggest.\n");
if(b)
printf("Hongze is smallest.\n");
if(c)
printf("Poyang is the third.\n");
if(d)
printf("Hongze is biggest.\n");
if(e)
printf("Dongting is smallest.\n");
if(f)
printf("Poyang is the second.\n");
if(g)
printf("Tai is the third.\n");
if(h)
printf("Poyang is smallest.\n");
if(i)
printf("Dongting is the third.\n");
if(j)
printf("Poyang is biggest.\n");
if(k)
printf("Tai is smallest.\n");
if(l)
printf("Hongze is the second.\n");
printf("\n\n");
}
/* for(ch='a';ch<='l';ch++) */
system("pause");
return 0;
}


什么是程序设计?
程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的...

什么是程序设计?
程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。 某种意义上,程序设计的出现甚至早于电子计算机的出...

什么是程序设计?
程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。定义 程序设计=数据结构+算法 程序设计(Programming)是...

程序设计的一般过程
程序设计的一般过程是:1、分析需求,了解清楚程序应有的功能。2、设计算法,根据所需的功能,理清思路,排出完成功能的具体步骤,其中每一步都应当是简单的、确定的,这一步也被称为“逻辑编程”。3、编写程序,根据前一步设计的算法,编写符合C加加语言规则的程序文本。4、输入与编辑程序,将程序文本...

程序设计语言有哪些
常见的程序设计语言有C、C++、Java、Python、JavaScript、Ruby、Go、PHP、Swift。1、C语言 特点:C语言是一种通用的高级编程语言,具有高效性、灵活性和强大的底层控制能力。应用场景:广泛应用于嵌入式系统、操作系统、游戏开发等领域。2、C++语言 特点:C++是在C语言基础上扩展而来的,支持面向对象编程,...

程序设计的三种基本结构分别是什么
程序设计的三种基本结构分别是:顺序结构、选择结构、循环结构。1、顺序结构:这是程序设计的最基本结构,它按照代码的先后顺序,从上到下依次执行。顺序结构的特点是简单明了,易于理解,但效率较低。在大多数情况下,程序设计的顺序结构都是从前往后依次执行的。2、选择结构:选择结构是一种程序控制结构,...

程序设计分为几个步骤?
程序设计方法包括三个基本步骤::第一步: 分析问题。第二步: 画出程序的基本轮廓。第三步: 实现该程序。源程序的输入、编译和运行:C语言是一种中级语言, 用户用C语言编写的程序称为源程序, 存放用C 语言所写源程序文件名字最后的两个字符一般必须为".c"。计算机硬件不能直接执行源程序, 必须将...

什么是计算机程序设计?
计算机程序设计是指通过编写、组织和调试一系列指令和算法来实现特定功能的过程。它是计算机科学的重要组成部分,旨在解决问题并自动化任务。程序设计需要考虑问题的分析与抽象、算法设计、编程语言的选择与使用、代码的实现和调试等方面。在程序设计中,首先需要对问题进行分析和理解,确定问题的输入、输出和所...

什么是计算机程序设计?
计算机程序设计是指通过编写一系列指令或代码,以实现特定功能或解决问题的过程。它是计算机科学的重要分支,涉及到算法设计、数据结构、编程语言等方面的知识。在计算机程序设计中,首先需要明确问题的需求和目标,然后进行算法设计,即确定解决问题的步骤和方法。接下来,选择合适的编程语言,并使用语言的语法...

结构化程序设计:解锁软件开发的秘密武器!
让我们揭开结构化程序设计的神秘面纱,探索其背后的奥秘!结构化程序设计,简称SP,是软件开发的黄金法则!自1965年E:W:Dijkstra提出这一概念以来,它已成为软件发展的重要里程碑。自顶向下、逐步求精SP的核心思想:自顶向下、逐步求精。这意味着从大局出发,逐步细化每个细节,确保程序的完美呈现。三种基本控制结构...

阿拉善盟15689616237: c程序设计 - 搜狗百科
隆宏卡尼: C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围广泛.主要有以...

阿拉善盟15689616237: C语言程序设计 -
隆宏卡尼: #include <stdio.h> void input(int *arr) {for(int i=0;i<10;i++)scanf("%d",&arr[i]); } void output(int *arr) {for(int i=0;i<10;i++)printf("%d ",arr[i]);printf("\n"); } void pro(int *arr) {int m,n,max=arr[0],min=arr[0],tmp;for(int i=0;i<10;i++){if(arr[i]>...

阿拉善盟15689616237: C语言程序设计 -
隆宏卡尼: 1 # include 2 void print(int n); 3 int increment(int n); 4 int main(void) 5 { 6 int n=3; 7 increment (n); 8 print(n); 9 n = increment(n); 10 print (n); 11 print (...

阿拉善盟15689616237: C程序设计 -
隆宏卡尼: #include#include void main(){float a,n,p,c,l;printf("请输入本金:");scanf("%f",printf("请输入存款年数:");scanf("%f",&n)...

阿拉善盟15689616237: 什么是c语言程序设计 -
隆宏卡尼: C语言简介 C语言是目前世界上流行、使用最广泛的高级程序设计语言. C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的. C语言具有绘图能力强,可...

阿拉善盟15689616237: c语言程序设计
隆宏卡尼:void main() {float a,b,c;scanf("%f%f%f",&a,&b,&c);if(a+b>c){if(a==b&&b==c){printf("dengbian");}else if(a==b&&b!=c||b==c&&c!=a||a==c&&c!=b){printf("dengyao");}elseprintf("yiban");}elseprintf("bushisanjiaoxing"); getch(); }

阿拉善盟15689616237: C语言程序设计
隆宏卡尼: .学C语言重要的是你的逻辑思维和坚持学习的恒心,学编程特别是语言就要多看,多思考,多练,也就是多敲代码. 2.就C语言来说,是编程者应该好好学的一门语言,因为它是你日后要学的其他一些更高级的面向对象的编程语言的基础,学好了...

阿拉善盟15689616237: c语言程序设计
隆宏卡尼: #include<stdio.h>int chengji(){float cj[9];char xh[9];printf("请输入10位学生成绩:");for(int i=0;i<10;i++) { scanf("%f",cj[i]); } for(int j=0;i<10;j++) { scanf("%c",a[j]); } return 0;}int paixu(float a[9]){float temp;for(i=0;i<10;i++) { for(j=0;j<10-1-i;j++)...

阿拉善盟15689616237: C语言程序设计
隆宏卡尼: #include<stdio.h> #define N 50 //根据班上人数可自由定 struct student { int num; char name[10]; int grade[4]; }stu[N]; void print(struct student *p) { int b; for(;p<stu+N;p++) { int average=0,score=0; for(b=0;b<4;b++) average+=p->grade[b]; score=...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网