① 学习编程的一般步骤是什么
学习编程,从何入手?x0dx0ax0dx0a1、计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。x0dx0a2、电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。x0dx0a3、计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。x0dx0a4、目前通用的编程语言有两种形式:汇编语言和高级语言。x0dx0a5、汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。x0dx0a6、高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。x0dx0a7、高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。x0dx0a8、高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:x0dx0a解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。x0dx0a9、编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。x0dx0ax0dx0a《编程语言,你选哪一个》x0dx0ax0dx0a 虽然不是每个人都会成为编程高手,但你在使用软件的时候,也许会冷不丁地冒出个问号:这些神奇的软件是怎么编出来的?而对那些将投身于此的“大虾小虾”们,接下去的可能是:我什么时候也能编出个更好的软件来?好吧,那从哪里开始呢?编程语言名录繁多,选择一个适合自己的编程语言,是你首先要迈出的一步。x0dx0a 你了解最常见的编程语言吗?你知道最流行的程序开发环境吗?x0dx0a 你知道Basic、Pascal、C、C++和Jave家族这些常见的编程语言各自都有什么优点吗?如果你对这些都不是很清楚的话,那么下面这一部分你可不能错过。x0dx0a 基础篇x0dx0a Basic:x0dx0a Basic是一种非常适合初学者学习的编程语言。它简单易懂,其命令和语句一般都是英文单词或缩写,易于理解,便于记忆。只要具有一些英语知识的人都可以很快地掌握它。扩展地Basic语言常见地有:BASICA、GWBASIC、Quick Basic、Ture Basic和Turbo Basic。其中比较好的是Turbo Basic,它是一种可编译的语言,所以它的速度更快、效率更高。Turbo Basic不仅保持了Basic语言一贯的比较容易学习的特点,还具有像PASCAL语言那样严谨的基本控制结构。x0dx0ax0dx0a Pascal:x0dx0a Pascal语言是一门结构化的语言,它具有丰富的数据类型和控制结构,简明易懂,所以特别适合与教学。Pascal语言还是一种自编译的语言,这就使它的可靠性大大提高了。在Pascal的各个版本中,尤以Turbo Pascal的功能最为强大。如今,在许多学校的计算机语言课上,学的都是Pascal语言,用的都是Turbo Pascal。x0dx0ax0dx0a C:x0dx0a C语言作为系统描述语言,既可以用来写系统软件,有可以用来写应用软件,自然受到广大用户的喜爱。C语言有许多优点,它灵活性好、效率高、实用性强,而且对硬件的控制能力很强。人们常把C语言称作中级语言,意指它是一门介于高级语言和汇编语言之间的语言。x0dx0ax0dx0a C++:x0dx0a 随着软件规模的不断扩大,人们发现,使用传统的“数据结构+算法”的结构化编程模式已经难以适应软件的发展了。这时,“面向对象+消息”的程序设计思想便逐渐被人们所注意。对于C语言,人们发现当C语言程序的规模超过5万行时,程序就变得难以调试和维护。这时,将面向对象的思想引入C语言变成了程序员的共同心愿。于是,C++语言便应运而生了,它以C语言为基础,引入了面向对象的思想,成为目前最流行的编程语言之一。x0dx0ax0dx0a Java:x0dx0a 如果要用一句话来描述Java,那就是“一种简单的、面向对象的、解释型的、健壮的、安全的、结构中立的、可移植的、高性能的、多线程的、动态的语言”。同是面向对象的语言,Java与C++相比更加安全而且具有更高的可移植性。Java程序需要在安装有Java虚拟机的平台上执行。要求在Java应用程序运行时每一步都强制执行安全措施,这必然会导致编译执行速度下降,但鱼与熊掌不可兼得,毕竟Java已经如此强大了。x0dx0ax0dx0a JavaScript & Java Applet:x0dx0a Java是一种具有独立功能得强大得语言,与网络没有必然得联系;相比之下,JavaScript和Java Applet就更适合在网页中开发和使用。JavaScript被称为Java的脚本程序,是Java程序的简化。通过编程,你可以根据需要动态地创建你的主页。JavaScript是一种解释型的语言,所以程序不需要进行预编译,只有当程序被执行时才被转化为可执行代码。x0dx0a 与前者相比,Java Applet才更像是一个程序。它是一类被嵌入到Web页中的由与Java兼容的浏览器控制执行的程序,Java Applet程序需要事先被编译成class文件,然后将它导入到网页中由浏览器控制执行。x0dx0a 如果能熟练地掌握这两种语言,你的网页一定会增色不少。x0dx0ax0dx0a SQL语言:x0dx0a SQL语言简称“结构化查询语言”,它结构简洁、功能强大、简单易学,如今无论是像Oracle、Sybace、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些微机上数据库开发系统,都支持SQL语言作为查询语言。x0dx0ax0dx0a 开发篇x0dx0a 当前在不同的程序设计领域都有各自的一些着名的软件开发工具,我们今天就先把目光投向VB、VC、Delphi、C++ Builder、PowerBuilder这些大哥大级的开发工具上吧。x0dx0ax0dx0a Visual Basic:x0dx0a VB除了有强大得数据库编程能力,还引入了面向对象得程序设计思想。它功能强大,学习简单。而且,VB还引入“控件”的概念,使得大量已经编好得VB程序可以被我们直接拿来使用,就像搭积木一样简单。如今,VB已经有了6.0版。对于初学者来说,用VB编程是一件很容易上手的事。x0dx0ax0dx0a Visual C++:x0dx0a Visual C++可以说是为专门的程序设计人员而推出的。它的功能在当前的程序设计工具中可以说是最强大的,可以说没有VC做不到的,只有你想不到的。x0dx0ax0dx0a Delphi:x0dx0a 以Object Pascle为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言,人们预测Delphi将会成为可视化编程的主流环境。x0dx0ax0dx0a C++ Builderx0dx0a CB是将C++的面向对象与可视化紧密结合起来的一个强大的、开发效率高的集成开发环境。CB的兼容性极强,它支持OWL 、VCL和MFC这三种常见的类库。在BC和VC下通过的程序几乎不用做任何修改就可以在CB下编译通过。可以说CB是VC强有力的竞争者。x0dx0ax0dx0a PowerBuilder:x0dx0a PowerBuilder是新一代数据库应用开发工具,它支持应用系统同时访问多种数据库。PowerBuilder是完全可视化的数据库开发工具,它提供了大量控件,大大加快了项目的开发速度。其编程语言叫做PowerScript,也是一种高级的、结构化的编程语言。PowerBuilder适合初学者快速学习数据库开发,是一种适用面非常广的开发工具。x0dx0ax0dx0a方案一 Basic语言 & Visual Basicx0dx0ax0dx0a优点 x0dx0a(1)Basic 简单易学,很容易上手。 x0dx0a(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。 x0dx0a(3)众多的控件让编程变得象垒积木一样简单。 x0dx0a(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。x0dx0ax0dx0a缺点 x0dx0a(1)Visual Basic 不是真正的面向对象的开发工具。 x0dx0a(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。 x0dx0a(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。x0dx0ax0dx0a结论:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB 做出自己的作品。对于那些把编程当做游戏的朋友来说,VB 是您最佳的选择。x0dx0ax0dx0a方案二 Pascal语言 & Delphix0dx0ax0dx0a优点 x0dx0a(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。 x0dx0a(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。 x0dx0a(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。 x0dx0a(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。x0dx0ax0dx0a缺点 x0dx0aDelphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。x0dx0ax0dx0a结论: 方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。x0dx0ax0dx0a方案三 C语言 & Visual C++x0dx0ax0dx0a优点 x0dx0a(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。 x0dx0a(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。 x0dx0a(3)VC是微软制作的产品,与操作系统的结合更加紧密。x0dx0a缺点 x0dx0a对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它过于专业x0dx0ax0dx0a结论: VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。x0dx0ax0dx0a方案四 C++语言 & C++ Builderx0dx0ax0dx0a优点 x0dx0a(1)C++语言的优点全部得以继承。 x0dx0a(2)完全的可是化。 x0dx0a(3)极强的兼容性,支持OWL、VCL和MFC三大类库。 x0dx0a(4)编译速度非常快。x0dx0a缺点 x0dx0a由于推出的时间太短,关于它的各种资料还不太多。x0dx0ax0dx0a结论:我认为C++ Builder 是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。x0dx0ax0dx0a方案五 SQL语言 & Power Builderx0dx0ax0dx0a对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。
② VC中如何正确使用ADO
数据库与数据库编程:
当前各种主流数据库有很多,包括Oracle, MS SQL Server, Sybase, Informix, MySQL, DB2,
Interbase / Firebird, PostgreSQL, SQLite, SAP/DB, TimesTen, MS ACCESS等等。
数据库编程是对数据库的创建、读写等一列的操作。数据库编程分为数据库客户端编程与数据库服务器端编程。数据库客户端编程主要使用ODBC API、ADO、ADO.NET、OCI、OTL等方法;数据库服务端编程主要使用OLE DB等方法。
数据库编程需要掌握一些访问数据库技术方法,还需要注意怎么设计高效的数据库、数据库管理与运行的优化、数据库语句的优化。
ADO编程的一般步骤:
创建一个Connection对象
打开数据源,建立同数据源的连接
执行一个SQL命令
使用结果集
终止连接
ADO最重要的三个对象:
连接对象(Connection)
命令对象(Command)
记录集对象(RecordSet)
在使用这三个对象的时候,需要定义与之相对应的智能指针:_ConnectionPtr、_CommandPtr、_RecordsetPtr
使用智能指针要:定义指针变量、创建其实例(实例化)、调用方法和属性。该智能指针在析构对象时,自动调用Release方法,即使用后不需要手动释放内存,代码更加简洁。
但需要调用Close方法,关闭连接Connection或者记录集RecordSet。
③ 璋佽兘鎻愪緵镣笴璇瑷镄勮瘯棰樼粰鎴戯纴链濂借兘链夌瓟妗堢殑锛岄潪甯告劅璋锛
浠ヤ笅鏄涓浜 C 璇瑷镄勮瘯棰桡纴姣忎釜璇曢橀兘闄勫甫链夌瓟妗堛傚笇链涜兘澶熷府锷╁埌浣犮
1銆佺紪鍐欎竴涓绋嫔簭锛屼粠锻戒护琛屽弬鏁颁腑璇诲彇涓や釜鏁存暟锛岃$畻瀹冧滑镄勫拰骞惰緭鍑虹粨鏋溿
绛旀堬细
#include <stdio.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s <int1> <int2>
", argv[0]);
return 1;
}
int x = atoi(argv[1]);
int y = atoi(argv[2]);
printf("%d + %d = %d
", x, y, x + y);
return 0;
}
2銆佺紪鍐欎竴涓鍑芥暟锛屾帴鍙椾袱涓鍙傛暟 a 鍜 b锛岃繑锲炲畠浠镄勬渶澶у叕绾︽暟銆
绛旀堬细
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
3銆佺紪鍐欎竴涓绋嫔簭锛屼粠镙囧嗳杈揿叆涓璇诲彇涓涓瀛楃︿覆锛屽皢鍏朵腑镄勫ぇ鍐椤瓧姣嶈浆鎹涓哄皬鍐椤瓧姣嶏纴骞惰緭鍑鸿浆鎹㈠悗镄勫瓧绗︿覆銆
绛旀堬细
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
while ((c = getchar()) != EOF) {
putchar(tolower(c));
}
return 0;
}
4銆佺紪鍐欎竴涓绋嫔簭锛屼粠镙囧嗳杈揿叆涓璇诲彇涓涓瀛楃︿覆锛屽垽鏂鍏朵腑鏄钖︽湁閲嶅岖殑瀛楃︼纴骞惰緭鍑虹粨鏋溿
绛旀堬细
#include <stdio.h>
#include <stdbool.h>
bool has_plicate_chars(const char *str) {
bool seen[256] = { false };
while (*str != '