⑴ 学习编程
当然首先是英语基础了,所谓易语言那些根本就是不成潮流的,碰也不要碰
其实我觉得不是专门以程序为生存手段,而是作为一种爱好或者探索性质去学的话,可以学vb,既简单又易懂,在经过一段时间的学习以后,你可以逐步做出各种不太复杂的简单的桌面应用。
那些言必称学习c语言的,不知道是受什么影响。对于业余爱好者来说,学习c语言是非常痛苦的,因为你编程基本上就是使用命令行,也就是所谓的dos界面,来来去去都是面对几个数字,输入什么然后输出什么,这是相当枯燥的,一般人不容易坚持下来。
所以,我认为,学一门简单一点的语言,例如vb更适合这些爱好者。这样容易做出各种程序,体现到编程的乐趣,兴趣才是最重要的老师。可以说,vb这些语言的学习曲线没有c语言那么陡峭,更利于学习。
如果想深入学习的话,c语言也不是唯一途径,可以学习python(国外很流行的一种脚本语言,面向对象的),java之类,但数据结构和数据库等知识是必须的,需要系统地循序渐进学习,而这些也和编程语言无关,甚至可以用伪代码来表达算法即可。
这些是我作为一个程序员的感想和看法,希望对大家有用。
⑵ 求C语言编程思想,技巧的心得,体会。
是实现比较两个数的大小吧,模块思想就是把步骤挖出来成一个函数
我不单独写结果的代码,再写个不这样做的对比下,先来一般的
#include<stdio.h>
int
main()
{
int
a=4,b=3,c;
c=a>b?a:b;
printf("大的个数是:%d",c);
getch();
}
下面是用模块思想的
#include<stdio.h>
cmp(x,y)
{
return
x>y?x:y;
}
int
main()
{
int
a=4,b=3,c;
c=cmp(a,b);
printf("大的个数是:%d",c);
getch();
}
可以把printf也放进函数里,具体要放些什么到别的模块,根据实际需求业务逻辑来决定,cmp函数你可以放到其它地方,比如放到main的后面去,但是用的时候就得先申明了
⑶ C语言的心得编程的心得,求高手讲讲
学习C语言 我个人认为还是看国外教材比较好,比如经典的:
C语言: C Primer Plus 中文版 本书是备受好评.
开发工具是: VS2008 或者 VS2010
你也网络一下, 80X86汇编小站 网站里面有篇文章是写给C/C++语言初学者的.标题是:
如何正确的入门Windows系统下C/C++学习领域.
这文章准确的说明了学习C/C++的各种细节,你也可以通过这篇文章联系作者,跟他交流更多的编程问题。
⑷ C语言实训心得
通过这次C语言实训,提高了我掌握和利用C语言进行程设计的能力, 而且进一步理解和运用结构化程设计的思想和方法。初步掌握了开发一个小型实用系统的基本方法。学会了调试一个较长程序的基本方法。学会了利用流程图或N-S图表示算法。掌握了书写程设计开发文档的能力.为以后的实训打下坚实的基础。
⑸ c语言编程 心得体会
背关建词语,明白每个词的意思,写程序时,再一套入就可以了,考试保你80分以上,我就是这么学的!!!
⑹ 学习C语言有感~
那个叫【批处理】程序,其实你上面提到的那个处理垃圾的程序不要以为真的很厉害,很神奇,当你学过dos的话,那个程序可以说是很简单的东西;
也就是将那些以.tmp,.log等为后缀的文件和回收站,cookies里边的文件del【删除】罢了,/f是不显示提示,/s是本用户;echo是显示;
不要小看C/C++,你可以学习MFC和win32编程,就会发现C++的强大之处,而且现在基本的驱动程序都是用c语言写的,还有嵌入式程序开发,c语言也是首选语言,如今全国的商业银行的柜面程序,也是用linux环境的C语言写的;
好好学习,不要以为如今学的简单,其实以后你会发现,那些大的难的程序,都可以分为一个个简单的程序。
⑺ C语言学完后的心得体会
1.编程模型
所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的.
第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言.
第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处.
2.抽象
面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性.
管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.
面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.
/* (我的理解)
*计算机是一个实体,我要输入字符,显示器显示出来,那么
*计算机(对象).输入(键盘属性).显示(显示方法)
*使用分层来引用,操作.而不用管计算机内部如何处理.
*只要有计算机对象,它就能响应我的操作,而我敲键盘,
*计算机对象就把这个消息传给屏幕,屏幕显示.
*/
计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装.
3.封装
封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.
在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例.
在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义.
由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情.
4.继承
继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性.
继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用.
5.多态
多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用.
6.封装,继承,多态的组合使用
在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车
从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置.
从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响.
从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁).
这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序
⑻ 当你们第一次编出自己的C语言程序有何感想
我第一次感觉挺傻X的 hello word
费那么大劲写进开发 环境里 还加了很多乱78遭的东西
显示出来的还没我写的多
学到后边能做出会算题的程序
我才觉得挺有成就感的
⑼ 通过你对C语言的简单程序设计的学习,谈一下你对程序设计和程序设计语言的初步认识,你觉得应该如何学好程
这方面我只有些片段,没有完整的理论。因为我的相识比较异类的,跟我的很多同学不同。我是学开发的,你是应用还是开发?
1.对数字要很灵敏。像我很多时候打字是用编码输入的,看到一个汉字我都能看到它背后那个那个代码。
2.要算无遗漏。编程步骤多的时候容易搞错细节。比如中英文的句号,小数点,标点符号和平时写文章时的些微不同意义,等等。这么多个指令合起来后有无漏洞,或者整合后有没有更强大的用途。
3.要保持“计算机程序”一样的思维。想问题的时候多换位,把自己当成电脑,用电脑的思维(角度)来想。
4.看到一些好的软件,就发挥想象和所查资料结合,将它的每个零件都剥析清楚,也就是将它的来龙去脉搞得明明白白。最好还能常常自己设计一点东西,无论实不实用,这是从“懂了”到“会运用了”的关键一步。
5.不怕辛苦,不怕错,不惜花钱。将自己不懂的问题无论国家大事、鸡毛蒜皮统统打印下来,见到老师就问,问了就记笔记——当然是计算机方面的问题。
6.每学一个知识,事前问学长学姐当年心得,事中问同学有何感受、感想,事后多总结。别人不会但你会的,你就尽心去教别人。可能你以为这个你已经很了解了,但往往在教别人时,别人问了点问题你才发现原来自己这个也不时很懂啊...
7.常和老师一起谈话,除了问不懂的问题,尽量少开口多听他讲。如果老师不健谈,那你要会引导他谈话。宗旨是多想、多问、多听、少说。
⑽ 谁能告诉我约瑟夫问题C语言写的程序的心得吗 谢谢
那你等我把这个问题想明白了再说吧
约瑟夫环:
约瑟夫环问题的一种描述是:编号为1.2.3…….n的n个人按顺时针方向围坐一圈,每人手持一个密码(正整数),开始任意选一个整数作为报数上限值,从第一个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他顺时针下一个人开始重新从1开始报数,如此下去直到所有的人全部都出列为止。试设计程序实现。
测试数据:m的值初始为20:密码3 ,1,7,2,4,8,4。
正确的结果:6,1,4,7,2,3,5。
提示:程序运行后首先要求用户指定初始报数上限。然后读取各人的密码。设
n<30。
typedef struct node
{
int num,code;
struct node *next;
}lnode;
void main()
{
int i,j,key,n; /*i,j为记数器,key为输入的密码,n为人的总个数*/
lnode *p,*s,*head;
head=(lnode *)malloc(sizeof(lnode)); /*为头结点分配空间*/
p=head;
printf("Please enter the num of the person:"); /*输入人的总个数*/
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("Person %d",i);
printf(" code: ");
scanf("%d",&key); /*输入各个人的密码*/
s=p;
p=(lnode *)malloc(sizeof(lnode)); /*创建新的结点*/
s->next=p;
p->num=i;
p->code=key;
}
p->next=head->next;
p=head;
head=head->next;
free(p);
p=head;
do
{
printf("\nPerson%d Code:%d",p->num,p->code); /*输出链表*/
p=p->next;
}while(p!=head);
printf("\nPlease enter your first key:"); /*输入第一个数*/
scanf("%d",&key);
do
{
j=1; /*j为记数数*/
p=head;
while(j<key)
{
s=p;
p=p->next;
j++;
}
i=p->num;
key=p->code;
printf("\nThe out of the num:");
printf("Person%d",i);
s->next=p->next;
head=p->next; /*重新定义head,下次循环的开始结点*/
free(p);
n--; /*每循环一次人是减1*/
}while(n>0);
getch();
}