# C 环境设置
## 本地环境设置
如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。
## 文本编辑器
这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。
文本编辑器的名称和版本在不同的操作系统上可能会有所不同。例如,Notepad 通常用于 Windows 操作系统上,vim/vi 可用于 Windows 和 Linux/UNIX 操作系统上。
通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。C 程序的源文件通常使用扩展名 "**.c**"。
在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。
## C 编译器
写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。
C 语言编译器用于把源代码编译成最终的可执行程序。这里假设您已经对编程语言编译器有基本的了解了。
最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,如果您使用的是 HP 或 Solaris,则可以使用各自操作系统上的编译器。
以下部分将指导您如何在不同的操作系统上安装 GNU 的 C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU 的 gcc 编译器适合于 C 和 C++ 编程语言。
### UNIX/Linux 上的安装
如果您使用的是 **Linux 或 UNIX**,请在命令行使用下面的命令来检查您的系统上是否安装了 GCC:
```
$ gcc -v
```
如果您的计算机上已经安装了 GNU 编译器,则会显示如下消息:
```
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr .......
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)
```
如果未安装 GCC,那么您必须按照 [http://gcc.gnu.org/install/](//gcc.gnu.org/install/) 上的详细说明安装 GCC。
本教程是基于 Linux 编写的,所有给定的实例都已在 Cent OS Linux 系统上编译过。
### Mac OS 上的安装
如果您使用的是 Mac OS X,最快捷的获取 GCC 的方法是从苹果的网站上下载 Xcode 开发环境,并按照安装说明进行安装。一旦安装上 Xcode,您就能使用 GNU 编译器。
Xcode 目前可从 [developer.apple.com/technologies/tools/](//developer.apple.com/technologies/tools/) 上下载。
### Windows 上的安装
为了在 Windows 上安装 GCC,您需要安装 MinGW。为了安装 MinGW,请访问 MinGW 的主页 [www.mingw.org](//www.mingw.org/),进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序,命名格式为 MinGW-<version>.exe。
当安装 MinWG 时,您至少要安装 gcc-core、gcc-g++、binutils 和 MinGW runtime,但是一般情况下都会安装更多其他的项。
添加您安装的 MinGW 的 bin 子目录到您的 **PATH** 环境变量中,这样您就可以在命令行中通过简单的名称来指定这些工具。
当完成安装时,您可以从 Windows 命令行上运行 gcc、g++、ar、ranlib、dlltool 和其他一些 GNU 工具。
- C语言教程
- C 简介
- C 环境设置
- C 程序结构
- C 基本语法
- C 数据类型
- C 变量
- C 常量
- C 存储类
- C 运算符
- C 判断
- C 循环
- C 函数
- C 作用域规则
- C 数组
- C 指针
- C 字符串
- C 结构体
- C 共用体
- C 位域
- C typedef
- C 输入 & 输出
- C 文件读写
- C 预处理器
- C 头文件
- C 强制类型转换
- C 错误处理
- C 递归
- C 可变参数
- C 内存管理
- C 命令行参数
- C语言参考
- C 标准库 - <assert.h>
- C 库宏 - assert()
- C 标准库 - <ctype.h>
- C 库函数 - isalnum()
- C 库函数 - isalpha()
- C 库函数 - iscntrl()
- C 库函数 - isdigit()
- C 库函数 - isgraph()
- C 库函数 - islower()
- C 库函数 - isprint()
- C 库函数 - ispunct()
- C 库函数 - isspace()
- C 库函数 - isupper()
- C 库函数 - isxdigit()
- C 标准库 - <errno.h>
- C 库宏 - errno
- C 库宏 - EDOM
- C 库宏 - ERANGE
- C 标准库 - <float.h>
- C 标准库 - <limits.h>
- C 标准库 - <locale.h>
- C 库函数 - setlocale()
- C 库函数 - localeconv()
- C 标准库 - <math.h>
- C 库函数 - acos()
- C 库函数 - asin()
- C 库函数 - atan()
- C 库函数 - atan2()
- C 库函数 - cos()
- C 库函数 - cosh()
- C 库函数 - sin()
- C 库函数 - sinh()
- C 库函数 - tanh()
- C 库函数 - exp()
- C 库函数 - frexp()
- C 库函数 - ldexp()
- C 库函数 - log()
- C 库函数 - log10()
- C 库函数 - modf()
- C 库函数 - pow()
- C 库函数 - sqrt()
- C 库函数 - ceil()
- C 库函数 - fabs()
- C 库函数 - floor()
- C 库函数 - fmod()
- C 标准库 - <setjmp.h>
- C 库宏 - setjmp()
- C 库函数 - longjmp()
- C 标准库 - <signal.h>
- C 库函数 - signal()
- C 库函数 - raise()
- C 标准库 - <stdarg.h>
- C 库宏 - va_start()
- C 库宏 - va_arg()
- C 库宏 - va_end()
- C 标准库 - <stddef.h>
- C 库宏 - NULL
- C 库宏 - offsetof()
- C 标准库 - <stdio.h>
- C 库函数 - fclose()
- C 库函数 - clearerr()
- C 库函数 - feof()
- C 库函数 - ferror()
- C 库函数 - fflush()
- C 库函数 - fgetpos()
- C 库函数 - fopen()
- C 库函数 - fread()
- C 库函数 - freopen()
- C 库函数 - fseek()
- C 库函数 - fsetpos()
- C 库函数 - ftell()
- C 库函数 - fwrite()
- C 库函数 - remove()
- C 库函数 - rename()
- C 库函数 - rewind()
- C 库函数 - setbuf()
- C 库函数 - tmpfile()
- C 库函数 - tmpnam()
- C 库函数 - fprintf()
- C 库函数 - printf()
- C 库函数 - sprintf()
- C 库函数 - vfprintf()
- C 库函数 - vprintf()
- C 库函数 - vsprintf()
- C 库函数 - fscanf()
- C 库函数 - scanf()
- C 库函数 - sscanf()
- C 库函数 - fgetc()
- C 库函数 - fgets()
- C 库函数 - fputc()
- C 库函数 - fputs()
- C 库函数 - getc()
- C 库函数 - getchar()
- C 库函数 - gets()
- C 库函数 - putc()
- C 库函数 - putchar()
- C 库函数 - puts()
- C 库函数 - ungetc()
- C 库函数 - perror()
- C 标准库 - <stdlib.h>
- C 库函数 - atof()
- C 库函数 - atoi()
- C 库函数 - atol()
- C 库函数 - strtod()
- C 库函数 - strtol()
- C 库函数 - strtoul()
- C 库函数 - calloc()
- C 库函数 - free()
- C 库函数 - malloc()
- C 库函数 - realloc()
- C 库函数 - abort()
- C 库函数 - atexit()
- C 库函数 - exit()
- C 库函数 - getenv()
- C 库函数 - system()
- C 库函数 - bsearch()
- C 库函数 - qsort()
- C 库函数 - abs()
- C 库函数 - div()
- C 库函数 - labs()
- C 库函数 - ldiv()
- C 库函数 - rand()
- C 库函数 - srand()
- C 库函数 - mblen()
- C 库函数 - mbstowcs()
- C 库函数 - mbtowc()
- C 库函数 - wcstombs()
- C 库函数 - wctomb()
- C 标准库 - <string.h>
- C 库函数 - memchr()
- C 库函数 - memcmp()
- C 库函数 - memcpy()
- C 库函数 - memmove()
- C 库函数 - memset()
- C 库函数 - strcat()
- C 库函数 - strncat()
- C 库函数 - strchr()
- C 库函数 - strcmp()
- C 库函数 - strncmp()
- C 库函数 - strcoll()
- C 库函数 - strcpy()
- C 库函数 - strncpy()
- C 库函数 - strcspn()
- C 库函数 - strerror()
- C 库函数 - strlen()
- C 库函数 - strpbrk()
- C 库函数 - strrchr()
- C 库函数 - strspn()
- C 库函数 - strstr()
- C 库函数 - strtok()
- C 库函数 - strxfrm()
- C 标准库 - <time.h>
- C 库函数 - asctime()
- C 库函数 - clock()
- C 库函数 - ctime()
- C 库函数 - difftime()
- C 库函数 - gmtime()
- C 库函数 - localtime()
- C 库函数 - mktime()
- C 库函数 - strftime()
- C 库函数 - time()
- 免责声明