前言:作者接触的第一门编程语言是Python。作为一门典型的动态语言,Python的一个小小安装器为我们解决了很多环境配置上潜在的麻烦,一个自带的IDLE (Integrated Development and Learning Environment)也足够简单而完整,为快速入门上手扫除了很多障碍。更多扩展性的应用,也在官方的文档中阐述得相当详尽。
但C语言看起来完全不同。作为一门老牌的静态语言,以编译器为核心的编程环境的配置,以及编译、链接、生成等诸多步骤,相较拿一个.py文件就能跑的Python,对缺少有关经验的新手来说,确是有点头疼。作者经过诸多探索,最终决定的上手方案是Visual Studio,下面详细介绍。
Visual Studio是微软(Microsoft)为以Windows为主的平台开发的一套功能全面而强大的IDE(集成开发环境),支持C#、F#、VB、C/C++等多种语言的开发。
作者个人推荐使用Visual Studio 2017的最新版本(目前版本号为15.9.34)。除非还有使用C#和VB两门语言的需求,或者电脑系统是2015年以前的版本,否则不推荐VS 2015以前的版本(因为会强制附带C#和VB的组件,且安装时会设置系统还原点速度极慢,装好的占用还要多出几GB;另外,2015以前的版本对C/C++语言标准的支持非常不完善,非常不现代)。最新的VS 2019版也不错,但新建项目的页面相较前代做了大改,容易劝退部分依赖老教程的萌新。
Visual Studio的安装
/* rudimentary calculator */
main()
{
double sum, atof(char[]);
char line[MAXLINE];
int getline(char line[], int max);
sum = 0;
while (getline(line, MAXLINE) > 0)
printf("\t%g\n", sum += atof(line));
return 0;
}
/* atof: convert string s to double */
double atof(char s[])
{
double val, power;
int i, sign;
for (i = 0; isspace(s); i++)
;
sign = (s == '-') ? -1 : 1;
if (s == '+' || s == '-')
i++;
for (val = 0.0; isdigit(s); i++)
val = 10.0 * val + (s - '0');
if (s == '.')
i++;
for (power = 1.0; isdigit(s); i++) {
val = 10.0 * val + (s - '0');
power *= 10.0;
}
return sign * val / power;
}
/* getline: get line into s, return length */
int getline(char s[], int lim)
{
int c, i;
i = 0;
while (--lim > 0 && (c = getchar()) != EOF && c != '\n')
s[i++] = c;
if (c == '\n')
s[i++] = c;
s = '\0';
return i;
}本文诸多操作可能不乏繁琐稚嫩之处,欢迎大家批评指正。如有任何疑问也欢迎在此交流。