第一篇:电脑软件编程学校
软件编程书籍清单
软件编程书籍·推荐清单
编程基础:
1、linux程序设计(第四版)
--学习linux的基本程序设计
2、数据结构(C++描述)
--相关的C++版本数据结构均可,学习基本的链表、栈、队列等基础数据结构
3、C++程序设计(谭浩强)
--学习C++程序中类的基本设计,如果有C++基础,就考虑看C++ primer
4、C++ GUI Qt4编程
--学习图形化界面程序的开发及使用QT库
网络基础:
1、计算机网络(谢希仁)
--学习应用程序如何通过网络进行相互连通,主要看运输层、网络层
Tcp/ip
建议在学习的过程中,做一些小项目以锻炼动手能力,可以考虑做一个局域网聊天室。
编程进阶:
1、C++ primer
--深入理解C++程序设计
2、设计模式
--理解如何设计可复用、易维护的代码
3、unix网络编程
--理解如何构建高性能的网络应用程序
4、深入理解计算机系统
--理解程序是如何运行的,如何构建高性能的应用程序
第二篇:软件编程规范总结
本规范的内容包括:基本原则、布局、注释、命名规则、变量常量与类型、表达式与语句、函数与过程、可靠性、可测性、断言与错误处理等。
一、基本原则
1. 2. 3. 4. 5. 6. 7. 保持代码的简明清晰,避免过分的编程技巧。 所有的代码尽量遵循ANSI C标准。
编程时首先达到正确性,其次考虑效率。 避免或少用全局变量。 尽量避免使用GOTO语句。 尽可能重用、修正老的代码。 尽量减少同样的错误出现的次数。
二、文件布局
1. 头文件必须要避免重复包含。
2. 包含标准库头文件用尖括号 <>,包含非标准库头文件用双引号 “”。 3. 遵循统一的顺序书写类的定义及实现。 类的定义(在定义文件中)按如下顺序书写:
公有属性
公有函数
保护属性
保护函数
私有属性
私有函数
类的实现(在实现文件中)按如下顺序书写:
构造函数
析构函数 公有函数 保护函数 私有函数
4. 程序中一行的代码和注释不能超过80列。 5. 定义指针类型的变量,*应放在变量前。
6. 源程序中关系较为紧密的代码应尽可能相邻。 iLength iWidth = 10;
= 5; // 矩形的长与宽关系较密切,放在一起。
StrCaption = “Test”;
7. 禁止使用TAB键,必须使用空格进行缩进。缩进为4个空格。
8. 程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。{ }之内的代码块使用缩进规则对齐。
9. if、else、else if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 { }。
if (varible1 < varible2) {
varible1 = varible2; }
10.
11. 声明类的时候,public、protected、private关键字与分界符{} 对齐,这些部分的内容要进行缩进。
12. 结构型的数组、多维的数组如果在定义时初始化,按照数组的矩阵结构分行书写。 13. 相关的赋值语句等号对齐。
14. 在switch语句中,每一个case分支和default要用{ }括起来,{ }中的内容需要缩进。
15. 不同逻辑程序块之间要使用空行分隔。 16. 一元操作符如“!”、“~”、“++”、“--”、“*”、“&”(地址运算符)等前后不加空格。“[]”、“.”、“->”这类操作符前后不加空格。
17. 多元运算符和它们的操作数之间至少需要一个空格。 18. 关键字之后要留空格。(if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。)
19. 函数名之后不要留空格。(函数名后紧跟左括号‘(’,以与关键字区别。) 20. (’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。‘,’之后要留空格。‘;’不是行结束符号时其后要留空格。
21. 长表达式(超过80列)要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐。
22. 函数声明时,类型与名称不允许分行书写。
三、注释
1. 一般情况下,源程序有效注释量必须在20%以上。 2. 注释符与注释内容之间要用一个空格进行分隔。
3. 文件头部必须进行注释,包括:.h文件、.c文件、.cpp文件、.inc文件、.def文件、编译说明文件.cfg等。
4. 函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、访问和修改的表、修改信息等。
5. 包含在{ }中代码块的结束处应加注释,便于阅读。特别是多分支、多重嵌套的条件语句或循环语句。
void Main() {
if (…) {
… while (…)
{
…
} /* end of while (…) */ …
} /* end of if (…) */ // 指明是哪条语句结束 } /* end of void main()*/
// 指明函数的结束 // 指明该条while语句结束
6. 保证代码和注释的一致性。修改代码同时修改相应的注释,不再有用的注释要删除。 7. 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。
8. 全局变量要有详细的注释,包括对其功能、取值范围、访问信息及访问时注意事项等的说明。
9. 注释与所描述内容进行同样的缩排。
10. 对分支语句(条件分支、循环语句等)必须编写注释。 11. 尽量避免在注释中使用缩写,特别是不常用缩写。
四、命名规则
1. 标识符要采用英文单词或其组合,便于记忆和阅读,切忌使用汉语拼音来命名。 严格禁止使用连续的下划线,下划线也不能出现在标识符头或结尾(预编译开关除外)。
2. 程序中不要出现仅靠大小写区分的相似的标识符。
3. 用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。
4. 宏、常量名都要使用大写字母, 用下划线 ‘_’分割单词。预编译开关的定义使用下划线 ‘_’开始。
5. 变量名长度应小于31个字符,以保持与ANSI C标准一致。不得取单个字符(如i、j、k等)作为变量名,但是局部循环变量除外。
6. 程序中局部变量不要与全局变量重名。 7. 使用一致的前缀来区分变量的作用域。
g_
:全局变量 s_
:模块内静态变量
空:局部变量不加范围前缀
8. 使用一致的小写类型指示符作为前缀来区分变量的类型。 说明:常用变量类型前缀列表如下:
i
: int
f
: float d : double c
: char uc
: unsigned char 或 BYTE l : long p
: pointer b
: BOOL h : HANDLE w
: unsigned short 或 WORD dw : DWORD或 unsigned long a
:数组,array of TYPE str
:字符串 t :结构类型
9. 完整的变量名应由前缀+变量名主体组成,变量名的主体应当使用“名词”或者“形容词+名词”,且首字母必须大写。
float g_fValue; 10. 函数名用大写字母开头的单词组合而成,且应当使用“动词”或者“动词+名词”(动宾词组)。
11. 结构名、联合名、枚举名由前缀T_ 开头。事件名由前缀EV_ 开头。 12. 标识符前最好不加项目、产品、部门的标识。
五、变量常量与类型
1. 定义全局变量时必须仔细分析,明确其含义、作用、取值范围及与其它全局变量间的关系。
2. 明确全局变量与操作此全局变量的函数或过程的关系。 3. 一个变量有且只有一个功能,不能把一个变量用作多种用途。 4. 循环语句与判断语句中,不允许对其它变量进行计算与赋值。 5. 宏定义中如果包含表达式或变量,表达式和变量必须用小括号括起来。 6. 使用宏定义多行语句时, 必须使用 { } 把这些语句括起来。
建议:
尽量构造仅有一个模块或函数可以修改、创建的全局变量,而其余有关模块或函数只能访问。
对于全局变量通过统一的函数访问。
尽量使用const说明常量数据,对于宏定义的常数,必须指出其类型。 最好不要在语句块内声明局部变量。
7. 结构和联合必须被类型化。 typedef struct {
char acName[NAME_SIZE]; WORD wScore; } T_Student;
T_Student *ptStudent;
建议:
使用严格形式定义的、可移植的数据类型,尽量不要使用与具体硬件或软件环境关系密切的变量。
结构是针对一种事务的抽象,功能要单一,不要设计面面俱到的数据结构。 不同结构间的关系要尽量简单,若两个结构间关系较复杂、密切,那么应合为一个结构。
结构中元素的个数应适中。若结构中元素个数过多可考虑依据某种原则把元素组成不同的子结构,以减少原结构中元素的个数。
仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象,对于结构中未用的位明确地给予保留。
结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。
合理地设计数据并使用自定义数据类型,尽量减少没有必要的数据类型默认转换与强制转换。
当声明数据结构时,必须考虑机器的字节顺序、使用的位域及字节对齐等问题 。
六、表达式与语句
1. 在表达式中使用括号,使表达式的运算顺序更清晰。
if (((iYear % 4 == 0) && (iYear % 100 != 0)) || (iYear % 400 == 0)) 2. 避免表达式中的附加功能,不要编写太复杂的复合表达式。 3. 不可将浮点变量用“==”或“!=”与任何数字比较。
4. 应当将指针变量用“==”或“!=”与NULL比较。
5. 在switch语句中,每一个case分支必须使用break结尾,最后一个分支必须是default分支。
6. 不可在for 循环体内修改循环变量,防止for 循环失去控制。
建议:
循环嵌套次数不大于3次。
do while语句和while语句仅使用一个条件。 当switch语句的分支比较多时,采用数据驱动方式。
如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。
for语句的循环控制变量的取值采用“半开半闭区间”写法。 在进行“==”比较时,将常量或常数放在“==”号的左边。
七、参数
1. 如果函数没有参数,则用void填充。
void SetValue(int iWidth, int iHeight); float GetValue(void); 2. 如果参数是指针,且仅作输入用,则应在类型前加const。(防止该指针在函数体内被意外修改。)
3. 当结构变量作为参数时,应传送结构的指针而不传送整个结构体,并且不得修改结构中的元素,用作输出时除外。
4. 不要省略返回值的类型,如果函数没有返回值,那么应声明为void类型。 5. 对于有返回值的函数,每一个分支都必须有返回值。(为了保证对被调用函数返回值的判断,有返回值的函数中的每一个退出点都需要有返回值)
6. 对输入参数的正确性和有效性进行检查。 7. 防止将函数的参数作为工作变量。
void SumData(int iNum, int *piData, int *piSum ) {
int iCount ;
int iSumTmp; // 存储“和”的临时变量
iSumTmp = 0;
for (iCount = 0; iCount < iNum; iCount++)
{
iSumTmp += piData[iCount]; }
*piSum = iSumTmp; } 反例:
void SumData(int iNum, int *piData, int *piSum ) {
int iCount;
*piSum = 0;
for (iCount = 0; iCount < iNum; iCount++ ) {
*piSum += piData[iCount]; // piSum成了工作变量,不好。 } }
8. 必须对所调用函数的错误返回值进行处理。(函数返回错误,往往是因为输入的参数不合法,或者此时系统已经出现了异常。如果不对错误返回值进行必要的处理,会导致错误的扩大,甚至导致系统的崩溃。)
八、可靠性
1. 在程序编制之前,必须了解编译系统的内存分配方式,特别是编译系统对不同类型的变量的内存分配规则,如局部变量在何处分配、静态变量在何处分配等。
2. 防止内存操作越界。
3. 必须对动态申请的内存做有效性检查,并进行初始化;动态内存的释放必须和分配成对以防止内存泄漏,释放后内存指针置为NULL。
4. 变量在使用前应初始化,防止未经初始化的变量被引用。 5. 指针类型变量必须初始化为NULL。 6. 指针不要进行复杂的逻辑或算术操作。
7. 如果指针类型明确不会改变,应该强制为const类型的指针,以加强编译器的检查。 8. 减少指针和数据类型的强制类型转化。 9. 移位操作一定要确定类型。
10. 对变量进行赋值时,必须对其值进行合法性检查,防止越界等现象发生。 11. 类中的属性应声明为private,用公有的函数访问。
12. 在编写派生类的赋值函数时,注意不要忘记对基类的成员变量重新赋值。 13. 构造函数应完成简单有效的功能,不应完成复杂的运算和大量的内存管理。 14. 不要在栈中分配类的实例,也不要生成全局类实例。
15. 正确处理拷贝构造函数与赋值函数。
16. 过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出之前要关闭,除非要把这个句柄传递给其它函数使用。
九、可测试性
1. 在同一项目组或产品组内,为准备集成测试和系统联调,要有一套统一的调测开关及相应信息输出函数,并且要有详细的说明。统一的调试接口和输出函数由模块设计和测试人员根据项目特性统一制订,由项目系统人员统一纳入系统设计中。
2. 在同一个项目组或产品组内,调测打印出的信息串要有统一的格式。信息串中应当包含所在的模块名(或源文件名)及行号等信息。
3. 在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码(如打印函数等)。
十、断言与错误处理
1. 整个软件系统应该采用统一的断言。如果系统不提供断言,则应该自己构造一个统一的断言供编程时使用。
2. 使用断言捕捉不应该发生的非法情况。不要混淆非法情况与错误情况之间的区别,后者是必然存在的并且是一定要作出处理的。
3. 指向指针的指针及更多级的指针必须逐级检查。 4. 对较复杂的断言加上明确的注释。
5. 用断言保证没有定义的特性或功能不被使用。
6. 用调测开关来切换软件的DEBUG版和RELEASE版,而不要同时存在RELEASE版本和DEBUG版本的不同源文件,以减少维护的难度。
7. 正式软件产品中应把断言及其它调测代码去掉(即把有关的调测开关关掉)。 8. 在软件系统中设置与取消有关测试手段,不能对软件实现的功能等产生影响。 9. 用断言来检查程序正常运行时不应发生但在调测时有可能发生的非法情况。
第三篇:三菱PLC编程软件入门
机器人学院 2018-01-04 14:17:33 福利:『指南车-ABB工业机器人操作与基础编程-杭州』1月22日开课,为期一周,共计5天,价值2000元,现免费/免费/免费,仅限20名,报名请咨询指南车工作人员。首先我们来介绍下,三菱PLC的类型:小型PLC、中型PLC、大型PLC
一、PLC的类型:
1、小型PLC一体式结构、I/O点数:256点 (384点)、多用于单机控制如:FX1S、FX1N、FX2N、FX3U、FX3G整体化PLC,注:F
1、F
2、 FX
1、FX2 、FX0N、FX0S均已停产。
2、中型系列PLC模块化结构、 I/O点数:用于较大规模控制特点:L系列PLC体积小,功能强大; 如L02CPU,L26CPU等。
3、大型系列PLC模块式结构、 I/O点数:4096点、运算速度快、网络功能强满足大型控制系统要求如: QnA系列PLC :Q3ACPU、Q4ACPU;Q系列PLC :Q00J 、Q00 Q001Q02HQ06HQ12HQ25HQ03UDQ04UD(E)HQ06UD (E) HQ13UD (E) HQ26UD (E) H
二、PLC的运行原理:PLC采用存储程序循环扫描的工作方式,一次扫描称为一个周期。1个扫描周期的组成如下:
三、GX Developer软件的使用说明
1、GX Developer的画面构成和基本操作1)菜单栏2)工具栏工具栏的内容是可以移动和装卸的,所以,显示项目和配置因不同环境而异。将使用频度较高的快捷配置为快捷按钮,对比在菜单栏中进行选择,可以直接执行相应功能。3)工程数据一览表梯形图编程窗口和参数设置画面等的“树形”显示。4)新工程的创建:5)梯形图编辑使用功能键或工具按钮编辑梯形图,功能键和梯形图符号关系显示在工具栏的按钮上,编辑梯形图时,必须先设置在“写入模式” 。6)梯形图转换7)将程序写入PLC:⑴ 电脑与PLC连接⑵GX Developer的传输设置⑶程序写入
2、添加注释和声明创建软元件注释:通过列表进行输入操作创建软元件注释:通过梯形图进行输入操作创建声明: 在菜单中选择[编辑]—[文档生成]—[声明编辑] ,或点击声明按钮
3、在线修改程序 (RUN中写入)该功能在PLC处于RUN状态时,只将更改过的梯形块写入PLC。由于该功能不对整个程序进行传送,可在短时间内完成程序的写入,很适合现场调试的场合 。选择变换菜单下的变换(运行中写入)或者Shift 键+ F4 键,出现以下对话框,点击[是](Y)按钮 。运行中写入正常完成时,将显示以下对话框,点击[确定]按钮关闭画面 。
第四篇:女孩适合学电脑编程吗?
很多人问我“女孩适合学电脑编程吗?”其实,在回答这个问题之前,我会分析一下电脑编程是什么、学习电脑编程需要什么基础、电脑编程以后的就业前景如何、女孩子学习电脑编程之后有无就业优势,等等。
首先,什么事电脑编程? 简单来说,电脑编程就是为了借助于计算机来达到某一目的或处理某个问题,而用某种语言编写程式代码,并最终得到结果的过程。其中,具有代表性的计算机语言有BASIC C、C++、VB、VF、SQL、JAVA、Android等等。
其次,学习电脑编程需要哪些基础呢?
很多从事IT行业,学习编程的朋友都有一些小纠结:“我没学历,学习编程会不会很吃力,学不好?”“我数学、英语都不好,我能学习好编程吗?”“我没什么基础,适不适合学编程?”
其实,电脑编程确实会要求学员有一定的数学基础跟英语基础,但是要求都不高,就说英语吧,也就让你会最基础的200个单词,例如top、down、right、left等等,而数学在这一块运用并不多,主要是强调一个逻辑思维的问题,而这个一般人都具备。所以,觉得自己学历低,数学、英语都不好的同学根本不用担心自己没法学习电脑编程,换句话说,学习电脑编程对学历没有要求,关键是学员自身的学习能力和动手能力,不需要什么基础。
第三,学习电脑编程以后,能否高薪就业?这一行的前景如何?
在社科院最新公布的一份中国行业调查数据中,专家指出未来10年乃至更久时期,最有前景、平均薪资最高的行业,前三名分别是IT、生物技术、现代医药。其中,后两个行业都对学历要求很高,而IT确实例外。目前,IT界内的精英多半是低学历者经过自身努力很不断地培训学习一步一步爬上金字塔顶尖的,而且行业内的中间等级的从业人员平均薪资都超过8000元/月。可以说,学好编程之后在IT界高薪就业根本不难。
有些朋友可能会说,“我不想以后在IT界工作,是不是学习编程就没用了?”当然不是!编程运用很广,除了IT界,你还可以在金融界、传媒界、广告界、时尚圈、医学界等领域从事高薪职业。比如说金融界,如果你在一家大的金融公司上班,公司肯定有一个内部系统,如果你是一位编程高手,这个系统就是你来运维。如果你刚好又是一位女性,形象气质都不错,那你说不定就是一位漂亮的高管,月薪一般都在2~3万,简直让人艳羡。
那么,女孩子能学好电脑编程吗?
当然!我身边的很多学习编程,后来在IT业、时尚圈高薪就业的朋友都是女生。就拿我的死党刘芸来说,她是中专毕业,刚毕业的时候低学历、无技术,失业大半年,一直在家啃老。后来,她家里面的人鼓励她学习一门技术,她从保安、电工、焊工、汽修、电脑维修、挖掘机驾驶员、IT软件开发等技术中,选择了就业前景好,工作环境优的IT软件开发。其实,如果女孩子学历不高,又想学习一门技术,IT软件开发无疑是一个最好的选择!现在刘芸都工作一年了,在CBD的一家韩资企业工作,负责网络运维,天天在高大上的办公室里坐着,吹着空调,喝着咖啡,月薪还9000多,不羡慕都不行。
除此之外,我还想说,女孩学习编程后就业是非常优势的。第一,女孩子天生心思缜密,而编程工作需要这么细腻的心思;第二,女生组织和沟通能力强,工作后更容易被提升到管理岗位;第三,在IT界从事编程工作的女生占少数,所以女孩在工作中更会被照顾。
(PS:此文来自北大青鸟北京广安门校区,仅供各位参考之用)
第五篇:软件编程暑期实训心得
暑期实训心得
随着新学期的正式开始,我们软件院的暑期实训已经告以段落了。虽然条件有点艰难,但是大家都克服种种困难,坚持到了最后。下面,就我在实训中所得了一些心得简略的谈一谈。
这次实训的主要目的是为了给大家一个亲自动手开发网站、软件的机会,以免我们一直在只一味的是在纸上谈兵式的上课。相信有了这次实训后,对我们今后进行软件开发的生涯会有一个很好的启发性和指导性的作用,对于以后自己建设网站的话也是一个很好的锻炼。这次实训开始时我们系统的学习了网页运行机制和开发过程,最终目标是按要求写出一个网站,从中我学到了了网页代码的语法、常见格式,还学会了JSP的简单运用。
在第二阶段里,我们跟随王科老师详细的学习了JAVA软件的开发,从中我学到了一些课本上所学不到的东西,包括专业性的编程过程、软件开发过程中的常见错误处理,并按照老师的步骤写出了一个简易的聊天软件,虽然由于个人水平有限,未能弄明白所有的问题,但相比于以前,我在软件编写方面仍有长足的进步。
通过这次实训,我较为详细的掌握的软件开发的知识体系,把上课所学的知识与解决实际问题相结合,融会贯通。培养了自己发现问题、分析问题、解决问题的能力,并为未来与社会接轨做了粗浅的铺垫。
软工096周滕
【电脑软件编程学校】相关文章:
如何学习电脑编程04-14
软件编程规范总结05-10
软件编程学习心得07-13
三菱PLC编程软件简介05-12
结对编程软件工程论文04-20
软件编程人员的求职自我介绍05-15
软件编程毕业设计论文题目05-04
JAVA编程语言软件开发论文04-30
C语言编程下计算机软件论文04-28
基于计算机软件工程的数据库编程技术09-11