小白,想入门程序员,应该从什么开始学,顺序是什么?

小白,想入门程序员,应该从什么开始学,顺序是什么?,第1张

首先,你需要选择一门自己感兴趣的编程语言。现在常见的编程语言有:

C / C++:属于大多数情况下能接触到的相对基础的编程语言了,优势是基本掌握以后面对其他语言均可以“无压力”;坏处是学习起来非常的困难,需要系统性的了解非常多知识点,且耗时一般较长。如果你有更多的时间和精力,同时希望能够长期更好的发展成架构师,那么这可能就是你比较合适的语言选择了。

Java:应用广泛,几乎大多数开发场景都有java或者java变体的身影。学习java你可以了解到面向对象思想,了解虚拟机等的概念,面对常见的开发也能够有应对方案。同时这个语言对比C/C++能简单不少,在很多情况下是面向新手比较合适的选择了。

Go:最近一段时间流行起来的语言,在面对高并发等场景下有天然的优势。Go语言有自己独到的特性,同时也可以支持一些C语言的能力,而且也越来越在国内的互联网公司作为首选开发语言之一。

PHP / Python / JavaScript / .net / Swift / ...:这些语言大多有自己的特定应用场景,比如Python在大数据和人工智能领域比较常见,JavaScript是前端开发的必备语言等。如果你希望的工作有比较强烈的语言要求,那么选择上面的语言准没错。

                                 

其次,掌握数据结构及算法,同时能够通过程序语言实现。

比如常见的数据结构,像是数组、链表、堆、栈、队列、树、图等,尽量都有机会了解数据结构的实现原理(包括自己用代码能够简单编写),知道数据结构的优缺点,以及在什么场景下使用。算法原理上如时间空间复杂度,一些数学概念;同时一些经典的排序、与数据结构结合的实现,也应当有了解。

这些推荐你去找专业的书籍,系统性的选择;尽量减少如面试宝典等取巧的方式,深入掌握不仅仅是找工作,在后续的工作中也能更好的帮到你。

                                 

再次,了解计算机基础。

常见的计算机基础包括计算机组成原理(简称机组)、 *** 作系统、网络、编译原理等。这里需要投入比较多的精力,如果确实时间上比较紧张,可以有侧重的选择。

比如你希望从事偏底层的开发工作,那么更侧重在机组和 *** 作系统上;如果侧重在上层开发,那么可以侧重在网络上,以此类推。当然,更好的掌握以上知识能够在很多不经意的时间给到你帮助,如果有空,也建议多深入的理解。

最后,知道一些计算机知识的应用。

这里就比较多了,比如数据库、一些基本的项目设计、项目实战等等,根据你希望的工作有针对性的去了解,或许有不小的帮助。

按照上面这几个步骤进行下去,可能确实需要投入一定的时间和精力,但是一旦你选择希望成为一名程序员,就一定要坚持下去,才能取得更好的结果。

本程序通过编译,运行正确。

Code Segment

Assume CS:Code,DS:Code

VAR1 db 35h

RES1 db ?

RES2 db ?

Start: push cs

pop ds 使数据段与代码段同段

设定字节型变量VAR1的内容为35H,编写程序将VAR1的高4位与低4位分离,分别作为低4位保存在RES1和RES2中,这两个变量高4位置0。

mov al,VAR1 读入字节型变量VAR1的内容

xor ah,ah

mov cl,4 移位次数

shl ax,cl

shr al,cl 左移4位,拆分高4位与低4位

mov RES1,ah 保存原来的高4位

mov RES2,al 保存原来的低4位

Exit_Proc: mov ah,4ch 结束程序

int 21h

Code ENDS

END Start 编译到此结束

GC++编译:

Compiling: D:\temp\纠错.cpp

Linking console executable: D:\temp\纠错.exe

Process terminated with status 0 (0 minutes, 1 seconds)

0 errors, 0 warnings

Checking for existence: D:\temp\纠错.exe

Executing: H:\CodeBlocks/cb_console_runner.exe "D:\temp\纠错.exe" (in D:\temp)

Process terminated with status 1 (0 minutes, 18 seconds)

BCC++ 编译

Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland

D:\temp\反序输出.cpp:

Turbo Incremental Link 5.96 Copyright (c) 1997-2008 CodeGear

运行结果全部正确.包括输入001,012,000003等,反序后结果100,210,300.

关键是控制台输入数据时,看你的程序会把数字前面的0看成什么.

建议用些尽可能符合C++最新标准的编译器.

cout<<"请输入一个三位正整数:"

cin>>c>>b>>a //输入正三位数

cout<<"逆转后的数字为:"<<a<<b<<c<<endl

这样,会要求输入时要空格区分三个数a,b,c的,结果肯定不对.嘿嘿..

如果非要不择手段,输出正解的结果,倒是可以试下这样

char a[3]

cout<<"请输入三位正整数"

cin>>a

cout<<a[2]<<a[1]<<a[0]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12143152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存