c语言进修问题【牛人入】

作者&投稿:赫屈 (若有异议请与网页底部的电邮联系)
跪求牛人指点——C语言问题:为什么我输入的字符序列,在输出时总会少了一个呢? 子程序 代码如下, 并附~

这啥啊都是,如果输入个数不确定的话,首先要获取n,然后输入n个数。你先输入所有arr,然后n=i,那n永远是9了

①、对于你能写这么长的问题描述,说明你很认真。

②、你的目的性较强,但是你也想有更加明确的目标,我可以给你讲一下怎么自己去寻找目标和路线以及怎样学习。

③、计算机专业领域一共有几个大方向,十几个分支方向,而每个分支方向又有几十个小方向,每一个方向的深入学习与熟练到一定火候都不是一朝一夕,互相之间也不是完全没联系的,但是你现在就应该选择一个大方向并在其中的一个小方向内深入(为什么要这么早就选择具体的分支方向?后面说)。

④、这里列出计算机的几个大方向(非编程开发类的我就不说了):
基本方向:
1、单片机、嵌入式方向
2、网络编程:涉及到服务器程序、客户端开发、脚本设计等。
3、系统编程:基础API开发、桌面开发、系统程序开发、服务程序
4、图形学:3D、2D、图像识别、人脸识别
5、音频:语音识别、音频解码、音频软件
6、编译原理:编译器设计、脚本解释器、虚拟机、非自然语言翻译系统
7、应用层开发:利用高层语言去开发表层应用
8、安全:反工程、病毒、反病毒、木马、反木马、软件破解、软件加壳
附加方向:
8、人工智能:遗传算法、神经网络、灰色系统等等
9、游戏设计:各种游戏引擎设计以及业务逻辑设计等

⑤、基本方向是你一定要选的,附加方向只是基于基本方向的一些锦上添花,但是不管你怎么选,最开始某些东西一定要深入而不是只是懂就够(当然你对自己要求似乎不会很低),我把这个列出来:

数据结构:下面其他理论的基础。
操作系统原理:理解操作系统的架构和细节,你才能对以后关于多线程、文件管理、内存管理、指令优先级等有一个正确理解和运用。
编译原理:能够升华你对计算机编程语言的理解,对以后出现的各种编译、解释、兼容、移植、优化、并发与并行算法等有一个深入理解。
数据库系统原理:这个是进入公司都要会的,也是大型软件开发的基础。
软件工程:这个是你能够在经验不足还能保证大项目正常完成的理论基础。
网络技术:这个是必须学的,因为目前几乎没有一款装几率很高的软件或者平台跟网络无关。

数学的话,主要是:离散数学、线性代数、高等数学、计算机图形学、概率论


以上几个基础就是你成为一个融汇各个主要分支牛人必须学的(当然不是指理论,而是理论+实践编码能力)

⑥以上都是大的基础,要一一攻破并深入学习,虽然网络时代计算机专业知识爆炸式的增长,但是以上几个基础掌握后,会发现,以后的什么新的理论和技术都是基于这些大基础,你就很容易理解了。

⑦我为什么开头不讲你要具体学什么怎么顺序学呢?因为那些技术你要掌握的话,根本可以自己解决,但是如果你由于兴趣,沉迷于一些自己可见的小范围技术的话,那么毕业后虽然也能找到不错的工作,薪水也可能高,但是不能成为一个大牛。

现在才开始讲学习顺序,虽然你说不要推荐书,不过我还是要用书来做顺序。
C语言是可以写很多核心和高级的东西,而不只是小东西,但是从你代码来看,居然用到了 goto,我不是说你那些程序用到GOTO有什么不好,而是一定要避免用GOTO,goto是错误之源,如果你有什么内容非要用到goto才能写到,说明你的编码技巧还有不少提高空间。

你的学习顺序应该是:
C:做一个超级马里奥出来,并能够读取文本脚本来更新关卡。
C++:写一个2D图形引擎,封装掉细节,实现面向对象设计和可复用设计,并且用到《设计模式》中提到的一些设计模式,这样才能算对C++有一个很好的掌握。
MFC:MFC技术虽然近期已经冷下来了,但是你能熟练掌握它,才能证明你的C++OO技术够纯熟,严格证明你掌握了MFC很简单,你只要用MFC做出一个杀毒引擎就差不多了。推荐的书有《深入浅出MFC》。
《Windows程序设计》:和MFC不同的是,用的是windows核心SDK,也就是API,这本书学完后,你才能从操作系统层面上算掌握了win32 平台下的机理(其实win64和win32大部分机理类似)。
C#:C#里集合了当代和前沿计算机科学里最先进的一些语法(虽然执行效率一直被人质疑),但是你学完C#并深入后,至少能够算是对计算机语言有一个更加深刻的理解了。如何证明你C#学的不错了?也很简单,再次写一个随便什么游戏,比如俄罗斯方块。如果更加证明自己呢?用它写一个P2P网络对战游戏。

(如果你注意的话,会发现我说的学习顺序都是沿着语言和某些技术的,为什么呢?因为这些语言和技术涉及到特定的领域技术和计算机理论思想,比如【真正】学完了C#的话,就不单指学完了C#,而是把多种语言范式都学习了一遍,以及现代的程序开发思维(因为里面用到了很多让你一劳永逸的技术))

以上5个步骤都是基础大步骤,要解决的话要没1-2年应该不够。
与此同时,要尽快选出文中你感兴趣的方向作为3-5年的长期方向,不要担心过早选择分支方向会有什么损失,因为计算机很多分支是相通的,只有你把分支方向深入进去,才能真正理解很多理论的实践意义。并且一旦你在某个分支领域形成了较强的优势(比如,到公司里只有你这方面最强),那么你就是稀缺人才。

关于大方向的步骤就不说了,你主要就是要把我说的这几个基础步骤先解决,同时平时要注重大方向理论结合实际去编码和开发。

条件改成while(scanf("%d%d",&a,&b)!=EOF){
。。。
}即可。在需要结束的时候按ctrl+z,然后回车即可退出
我这种方式不正是ACM标准给出的吗?


万丈高楼平地起,先不要心急
你要搞清楚编程和设计应用程序的关系。编程是基本功,这个和你编的程序在dos命令行或者某个窗口下运行没有关系,平台这种东西现在很多,比如mfc,.Net,QT。为了提高产出效率,它们都是把很多基本的模块包装起来,然后程序员按照规则搭建起来就可以了,用很多年前课本里面的话来说,c/c++好比低级语言,而这些平台或者框架则是高级语言。举个例子,c语言的基本就是砖块,mfc的基本就是砖块砌起来的各种形状的墙。如果你纯粹想修房子(做个应用程序,比如word),那么建议选择搭建好的墙,也不用知道太多细节(c语言的细节,比如内存管理),如果你想学习,想提高,那么还是从如何砌砖(c/c++)开始学习积累。

所谓深,有两种情况。
一是非常熟悉某种框架,比如mfc,每当设计一个窗口的时候,不用看文档就知道如何做,当然这是很低级的,很容易就学会。再深一点就是搞清楚应用程序的创建到销毁,如何响应事件,多线程,还有就是对操作系统要有一定了解。
第二就是是对语言了解非常透彻,比如随便一看就知道代码的来龙去脉,内存会不会泄漏,哪里有效率问题,如何从编译器角度优化代码,等等,这里面还有一个是指设计上的,比如对面向对象的理解,设计模式,如何把现实的东西抽象成对象,因为大型系统出问题往往是设计上的,比如扩展性不够好,模块不够清晰。

我的经验是,先把基础搞好,学好c或者c++,然后各种框架和平台自然很容易上手。注意一点,对语言语法或者工具的熟练不算是学好了,要学会思考,多看多写,很多东西都需要从别人那里吸收消化,积累成自己的经验。越容易的东西很多人都会,找工作自然竞争激烈。

以上有感而发,有问题留下联系方式,欢迎来交流


c语言进修问题【牛人入】
条件改成while(scanf("%d%d",&a,&b)!=EOF){ 。。。}即可。在需要结束的时候按ctrl+z,然后回车即可退出 我这种方式不正是ACM标准给出的吗?

c语言进修问题【牛人入】
我的经验是,先把基础搞好,学好c或者c++,然后各种框架和平台自然很容易上手。注意一点,对语言语法或者工具的熟练不算是学好了,要学会思考,多看多写,很多东西都需要从别人那里吸收消化,积累成自己的经验。越容易的东西很多人都会,找工作自然竞争激烈。以上有感而发,有问题留下联系方式,欢迎来交流...

...因此听网上介绍要学习编程语言,c语言c++,ja
评语 : 第1本 《C程序设计语言》 Brian W. Kernighan \/ Dennis M. Ritchie 这本书又称为 R&K C,还有谁能比C语言之父对C语言更有发言权的呢?推荐看英文版。你会惊讶于在短短不到200页的篇幅内,这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻 2009-10-19 07:...

去国外读语言和国内有区别么?
此外,在国外进修外语的成本相当高,一般学生出国后还要学习10~20周的语言培训,一周的培训费大概相当于国内学习一个月的学习费。“更重要的是,由于在国外是外国老师全英文授课,他们对学生的语法要点、语言习惯等教学没有国内老师对学生那么了解,所以效果不如在国内学习语言。”因此学生还是在国内打好语...

73年属牛人2009年运势
本月运势对牛人的身体不利,是今年身体最差的一个月份,要多注意脾胃,皮肤,血液等问题。事业发展方面也不太顺利,有小人从中作祟,搅乱工作的正常进展,要防止“祸从口出”,注意在人际交往中的语言表达,避免导致“煮熟的鸭子飞了”。农历四月:天干:己土 地支:巳火 阳历:4月25日至5月23日 本...

属牛的五行缺什么
在今年的最后关头,要多多留意身边发生的异常现象。身体有不舒适之感要立即去医院检查和处理,不可隐瞒病情。尤其是1961年和1973年出生的牛人,要格外注意。运势相比上月有所好转,最适合学习进修或编写文字工作。感情方面有“劫煞”再现,多注意自己的另一半的异常行动,遇事多协商和谦让,经常沟通和感情...

大耗凶星来临是什么意思
详情请查看视频回答

高人请帮忙算上一卦 1985年3月28日下午3点半至4点半出生的男生_百度知 ...
属牛人在今年不适合做大的投资和决策,应先自保再拓展事业,工作方面不合适做大的调动。 开运吉祥物:贺岁草 恭岁钱 开运吉祥物贺岁草 开运吉祥物恭岁钱 农历正月: 天干:丙火 地支:寅木 阳历:1月26日至2月24日 属牛的人在2009年的正月,步入了本命年的头一个月,属牛人在这一个月内有70%的人遇事都不太...

职场新人怎样快速成为职场达人?
参考市面上的各种进修培训课程,比如人际交往培训,语言表达培训(演讲),写作能力培训,PPT教程,PS课程等等,这些工作上用得到的技能,即使没有证书,也有必要学起来,提升自己的职业水平。其次,提升心理上的自我价值感。意识到“自我”的重要性,而不是盲目地屈从于他人的意志。其实从某种角度上来说,...

属兔人在牛年的运气,牛年属兔运势2021年运势
尤其是年和年出生的牛人,要格外注意。运势相比上月有所好转,最适合学习进修或编写文字工作。感情方面有“劫煞”再现,多注意自己的另一半的异常行动,遇事多协商和谦让,经常沟通和感情。 以上就是与牛年属兔运势年运势相关内容,是关于牛年属兔运势2021年运势的分享。看完属兔人在牛年的运气后,希望这对大家有所帮助...

衡阳县17131735612: c语言问题,高手进 -
养妍司他: 1. 机器不知道,编译器告诉他怎么做,他就怎么做.2. 编译器告诉他的,但是你可以非法访问,int* p = 244,*p = 0,会发生内存错误,操作系统有保护,但是有些是可以访问的,如堆栈溢出攻击.3. offer=3的话没区别,做的都是加法.4. 位数组?一个整数就可以看成一个长度为32的位数组,你可以设置或者清除其中的任意一位,bitvalue = (integer >> index) & 1(取),integer = integer & ~(1 integer = integer | (1 所以用int数组很容积就能实现位数组.

衡阳县17131735612: C语言问题?牛人来看看
养妍司他: 问题一: #include<stdio.h> int main() { int a,b; printf("请输入A和B:\n"); scanf("%d%d",&a,&b); while(b==0) { printf("除数不能为0,请再次输入A,B\n"); scanf("%d%d",&a,&b); } printf("余数为%d\n",a%b); return 0; } 问题二: ...

衡阳县17131735612: 菜鸟问题C语言高手进 -
养妍司他: 应该是___-1.00 前面有3个空格8的意思是输出的这个数占8列.2的意思是保留小数点后两位

衡阳县17131735612: C语言问题 高手进 -
养妍司他: auto 和register这两个是使用才分配内存的 第二题是返回EOF,这个符号是字符串的结束符

衡阳县17131735612: C语言程序问题,C语言高手进 -
养妍司他: 自己写的,希望帮到你:#include/* 人的判断思路:先判断B,D的说法,结果必然是一个正确,一个错误.只有一个专家 是正确的,所以A,C的说法必然都是错误的,而C说3号车不是最好的,他说错了,由此可知3号车是最好的.计算机的思路:...

衡阳县17131735612: c语言问题高手进
养妍司他: int s=1; for(int i=1;i<100;i+=2) { s=s*i*(i+1)*(i+2); } s就是你要的结果

衡阳县17131735612: C语言问题 高手进来
养妍司他: 题目打错了吧,b[2]存的应该是80到89的人数,50到59是属于60以下的. #include <stdio.h> int main() { int i, a[10], b[6] = {0}; for(i = 0; i < 10; i++) { printf("输入第%d个人员的考试成绩:", i + 1); scanf("%d", &a[i]); if(a[i] < 60) b[5]++; else ...

衡阳县17131735612: C语言问题,高手进
养妍司他:#include <stdio.h> int main(void) { int a,b,c; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) if(100*a+10*b+c==a*a*a+b*b*b+c*c*c) printf("%d%d%d\n",a,b,c); return 0; }

衡阳县17131735612: C语言问题 高手进! -
养妍司他: 1.首先return字符应该是单引号,不应该是双引号,否则表示的是字符串2.grade=scoresToGrade(roundScores); 数组名是不可以用作左值的,scoresToGrade返回的是char型,所以你可以直接定义一个char型变量就可以了,可以把char grade[2]; 改为char grade;3.看你的意思是想输出字符,所以在前面改动的基础上把printf("%s",grade);改为printf("%c",grade);就行了

衡阳县17131735612: C语言学习问题. -
养妍司他: 首先大家应该知道:学习是个长期的过程,不可能一蹴而就. 第二、学习要不断的总结经验.大家一开始可能自己无法独自完成题目,这没关系,如果大家一开始就能上手那就不是C语言了,在这种情况下,我建议大家应该多看书,多上机....

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