[转]学习一种新的编程语言所要做的15个练习
虽然我已经可以使用很多种编程语言进行工作,但我的工作常常会要求我快速掌握一门新的语言。我没有选择去阅读几百页的程序手册,而是快速浏览10 到15页的教程(可以在Google中搜索),并把程序语言的语法参考说明印在小卡片上(在google里搜索language to learn+reference card就能找到)。
首先,我会熟悉这种程序语言的编译器、编译选项、编辑器或集成开发环境的的快捷键和小技巧,写一个简单的“你好世界”程序,编译并运行它,再用调试器进行简单的调试,如设置断电、查看变量值、跳转到某一位置等。
为了能够快速地掌握一种新的程序语言,我会做以下几个练习。注意,有些程序对初学者来说是很困难的。
1、用无限循环语句显示一系列数字(1、2、3、4、5……),并设置当用户按下某个按钮时(如ESC键)程序就会中止;
2、斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值等;
3、让用户输入一些数字或字符串,以升序或降序进行排列;
4、雷诺数的计算公式是(D*v*rho)/mu,其中D为直径,v为速度,rho为密度,mu为黏性。编写一个程序,接收一组数据并计算雷诺数。 如果小于2100,则显示“层流”;在2100至4000之间,则显示“暂态流”;大与4000则显示“湍流”(使用分支语句if else then);
5、修改上面的程序,显示“开始新的计算?(是/否)”,如果选“是”,则重新输入一组数据;如果选“否”,则退出程序(使用循环语句)。如果mu 的值为0,程序是否会提示“除数为0”的错误?或是给出“程序崩溃”的提示?怎样处理这种情况呢?该程序语言里是否提供了这样的机制?(异常处理)
6、编写一个科学计算器,包括加、减、乘、除、平方、立方、平方根、正弦、余弦、正切、阶乘、倒数、取模等操作;
7、用不同的格式进行输出(比如四舍五入到5位数字、截取前四位数字、用0填充左边或右边、左右对齐等)(输入输出操作)
8、将一个文本文件转换成网页文件(文件输入输出操作、字符串操作)
9、时间和日期:获取系统当前时间并将其转换成不同的格式;
10、创建一个文件名中含有时间日期的文件;
12、输入一个HTML表格,将其转换为以逗号或制表符分隔的文件;
13、实现自动换行的功能(看看Windows里记事本是怎样做的)
14、在数组的开头、结尾和中间添加或删除元素;
15、该程序语言是否支持以下特性:操作符重载、虚函数、引用、指针等;是否有命名空间、包、模块等;了解一下吧。