详情联系:朱老师 18170060794 微信同号
传说人类建造通天塔触怒上帝,上帝施法使人类语言混乱彼此之间无法交流。这就是说各种各样的语言其实就是祸乱之源——只会导致交流的不便。可是看看如今的程序设计语言的数量,你会怀疑人类是否又在造“通天塔”了?真的有这么多语言的必要吗?我到底要学习多少种程序设计语言才够用呢?
为什么会有这么多种程序设计语言?
根据维基的资料,可以称得上相对“主流”(有人用、有文档)的程序设计语言至少有600种, 还有大量的商业化失败、实用性不高、语言小众(这里的“语言”指的是编码的语言,一般的程序设计语言都习惯用拉丁字母或其超集来作为的字符集,也 有用日文、俄文编程、汉语编程的,比如易语言)就难以统计了(保守估计可以上万种),尽管已经有了这么多种程序设计语言,仍然有大量的人投入了大量的时间 来研发新的语言,这难道不是重复通天塔的故事吗?dunsijiaoyu zz
VC++集成开发环境(Integrated Development Environment)集编辑、编译、调试于一身,功能非常强大。它被划分成4个主要区域:菜单和工具栏、工作区窗口、代码编辑窗口和输出窗口,如图1.4:
大家一起来学习程序设计
1>. VC++编辑环境常用窗口
工作区窗口
源代码窗口
调试输出窗口
堆栈窗口
变量观察窗口
自动变量查看窗口
内存查看窗口
寄存器查看窗口
资源编辑器窗口
汇编代码窗口
模块窗口
项目属性设置窗口。General标签、Debug标签、C/C++标签、Link标签、项目版本的设置
2>. VC++常见文件
以Hello项目为例,它的组成文件如下
.dsw文件:工作区(Develop Studio Wrokspa)文件,多个项目组成一个工作区,并用扩展名为.dsw的文件存储有关工作区的设置情况。
.dsp文件:项目(Develop Studio Project)文件,主要存储编译和连接这个项目的一些信息。
.h文件:c/c++头文件,用于定义被.cpp或.c文件使用的一些标识符号,比如变量类型说明和函数原型说明。
.c或.cpp文件:程序的实现文件,即程序的源文件。
StdAfx.h文件:标准(Standard Afx)的头文件.通常包含Windows系统头文件。
StdAfx.cpp文件:对应StdAfx.h,用于产生对StdAfx.h所包含文件的编译动作。
.rc文件:资源(Resour)描述文件
resour.h:资源头文件
.ncb文件:No Compile Browser文件,包含语法分析过程中产生的文件。智能库文件,帮助信息。
.plg文件:Build 日志(Build Log)文件,每次build,plg文件都会被新的build信息覆盖。该文件的内容实际上也出现在build窗口中。
.opt文件:工作区选项(Wrokspa Options)文件,存储用户为工作区设置的所有选项。记忆性保存。
.res文件:.rc资源文件编译后生成的二进制资源文件,用于同其他目标文件连接。
Vc60.idb:用于小重建和增量编译信息。
Vc60.pdb:数据库程序文件,用于调试信息
.pch文件:预编译头文件
.obj文件:目标文件
.lib文件:库文件
.ilk文件:增量连接信息文件(Incremental Link Information File) 。
.exe文件:终的可执行文件。
3>. 常用快捷键
Windows+m/d:小化所有窗口/复原窗口
Alt+F4:关闭当前应用程序
Ctrl+F4:关闭应用程序的当前子窗口
Alt+Tab:应用程序间的窗口切换
Ctrl+Tab:应用程序内部子窗口间切换
Ctrl+Z:撤消上一次操作
Ctrl+Y:撤消Ctrl+Z操作
Ctrl+X:剪切
Ctrl+S:保存文本。
Ctrl+A:选择所有文本
Ctrl+F:在当窗口查找文本
Ctrl+H:在当前窗口替换文本
Ctrl+G:定 位到的行
:::列出系统API函数
Ctrl+Shift+Spa:列出函数的参数信息,提示信息
Alt+0:显示Workspa工作区窗口
Alt+2:显示输出窗口
Alt+3:显示变量观察窗口
Alt+4:显示变量自动查看窗口
Alt+5:显示寄存器查看窗口
Alt+6:显示内存窗口
Alt+7:显示堆栈窗口
Alt+8:显示汇编窗口
F7:编译整个项目
Ctrl+F7:编译当前的源文件
F5:调试运行
Ctrl+F5:非调试运行,直接执行生成的EXE文件
Shift+F5:结束运行
F9:设调试断点
F10:单步调试,不进入函数体内部
F11:单步调试,进入函数体内部
Shift+F11:运行至当前函数体外部。
Home:将光标移至当前行的头部
End:将光标移动至当前行的末尾
PageUp:向上翻页
PageDown:向下翻页
Shift+箭头键:选定的文本
Shift+Home:选定光标所在行的前面部分文本
Shift+End:选定光标所在行的后面部分文本
Shift+PageUp:选定上一页文本
Shift+PageDown:选定下一页文本
Ctrl+左箭头:光标按单词向左跳走
Ctrl+右箭头:光标按单词向右跳走
Tab:将选定文本缩进
Shift+Tab:将选定文本反缩进
Alt+F8:格式化选定的文本
有n个围成一个圈,他们按顺时针编号依次为1到n。有一个整数m,现在从个开始顺时针数m个,则那个离开这个圈。从下一个继续数m个,则他也会离开这个圈。如此继续,直到后剩下的胜出。如果知道的个数n和整数m,请预测一下编号为多少的会胜出?
输入:小孩的个数和整数m
输出:后胜利的编号
算法:利用链表的形式,将表头和表尾相连,每个结点表示一个。每淘汰一个,就删除一个结点,直到只有一个结点。
存储:参照链表,使用结构类型。
小白入门编程之程序设计的三类主要问题
代码:
小白入门编程之程序设计的三类主要问题
在解决“实现功能”类的问题时,要采用合适的方法和数据存储方式,尽量用直观的方式来解决问题。
在保证结果正确的情况下,应尽量选择简洁的方法,避免复杂的方法和冗余的操作,以免影响程序的运行效率。
附代码1
#include <iostream>
using namespa std;
int main()
{
double item=1,sum=0;
for (int i=0;i<64;i++)
{
sum=sum+item;
item=item*2;
}
cout <<"这些麦子重" <<sum*0.02/1000000 <<"吨。"<<endl;
cin.get();
return 0;
}
/*output:
这些麦子重3.68935e+011吨。
*/
附代码2
#include <iostream>
using namespa std;
int main()
{
int i,j; //考虑到变量的作用域问题
char orgstr[111],substr[111];
cout <<"他写过的文字:" <<endl;
cin.getline(orgstr,111);
cout <<"查询单词:";
cin.getline(substr,111);
for (i=0;orgstr!='\0';i++)
{
for (j=0;substr[j]!='\0';j++)
{
if (orgstr[i+j]!=substr[j])
{
break;
}
}
if (substr[j]=='\0')
break;
}
cout <<"查询结果:";
if (orgstr=='\0')
{
cout <<"Peter没有写过这个单词。" <<endl;
}
else
{
cout <<i+1 <<endl; //数组下标从0开始
}
system("pause");
return 0;
}
/*运行效果:
他写过的文字:
Iamawrite,whataboutyou?
查询单词:what
查询结果:11
*/
附代码3
#include <iostream>
using namespa std;
struct child
{
int num;
child *link;
};
void init(int n); //初始化函数
void gameStart(int n,int m); //模拟函数
child *head; //链表头
child *present; //当前结点
child *pEnd; //链表尾
int main()
{
int n,m;
cout <<"请输入的个数:";
cin >>n;
cout <<"请输入正整数m:";
cin >>m;
init(n);
gameStart(n,m);
cout <<"第" <<present->num <<"个将获得胜利!" <<endl;
delete present;
system("pause");
return 0;
}
void init(int n)
{
head=new child;
head->num=1;
present=head;
for (int i=1;i<n;i++)
{
present->link=new child;
present->link->num=i+1;
present=present->link;
}
present->link=head;
pEnd =present;
present=head;
}
void gameStart(int n,int m)
{
child *pGuard= pEnd;
//指向待删除结点的前驱结点,起初应指向表尾
while (n!=1)
{
for (int j=1;j<m;j++)
{
pGuard=present;
present=present->link;
}
pGuard->link=present->link;
delete present;
present=pGuard->link;
n--;
}
}
/*运行效果:
请输入的个数:8
请输入正整数m:3
第7个将获得胜利!
*/
好 了,已经介绍完了实用目的、学术目的、商业及特殊需要,相信各位对“为什么会有这么多种程序设计语言”这个问题有了更深刻的理解,也可能有了更多的疑惑。 如果你有任何疑惑或者愿意和我交流,欢迎留言。对了,除了我说的三个目的之外还有没有别的创造新语言的原因?有,我自己设计了一种名为Grove的语言,用“树”来完成过程编程和lambda表达式,改天把解释器的发出来交流一下。我的目的呢?Just for fun…
不要想你能为做什么,想想你该为做什么!
长沙哪里可以报名计算机程序设计员就业前景是什么容易考吗
长沙其他教育培训相关信息
11月21日
11月20日
11月18日
8月26日 刷新
7月13日
6月21日 刷新
5月8日
5月7日
4月14日
3月23日