您的位置:首页 > 编程语言 > C语言/C++

C语言编程

2017-08-24 10:59 134 查看
                                                                                                               C 语言教程
C 语言是一种通用的、面向过程式的计算机程序设计语言。1972
年,为了移植与开发 UNIX
操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C
语言。
C 语言是一种广泛使用的计算机语言,它与 Java
编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。
当前最新的C语言标准为 C11
,在它之前的C语言标准为 C99。
现在开始学习 C编程!
C
在线工具

谁适合阅读本教程?

本教程是专门为需要从零开始了解 C
语言的软件程序员打造的。本教程将让您对 C
语言有足够的认识,从而提升您自己的专业知识水平。

阅读本教程前,您需要了解的知识:

在开始学习本教程之前,您需要对计算机编程术语有基本的了解。对任何一种编程语言有基本的了解将有助于您理解 C
语言编程概念,并有助于加快您的学习进度。

编译/执行 C
程序


实例
#include <stdio.h>intmain(){/* 我的第一个
C 程序 */printf("Hello,World!
\n");
return0;
}

运行实例 »
实例解析:
·       所有的 C
语言程序都需要包含 main() 函数。代码从 main() 函数开始执行。
·       /* ... */ 用于注释说明。
·       printf() 用于格式化输出到屏幕。printf() 函数在 "stdio.h" 头文件中声明。
·       stdio.h 是一个头文件 (标准输入输出头文件)
#include 是一个预处理命令,用来引入头文件。当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
·       return 0; 语句用于表示退出程序。
C
教程
C
语言教程C
简介
C
环境设置C
程序结构C
基本语法C
数据类型C
变量C
常量C
存储类C
运算符C
判断C
循环C
函数C
作用域规则C
数组C
指针C
函数指针与回调函数C
字符串C
结构体C
共用体C
位域C typedefC
输入 &
输出C
文件读写C
预处理器C
头文件C
强制类型转换C
错误处理C
递归C
可变参数C
内存管理C
命令行参数C
语言实例C
经典100例

C 标准库

C
标准库 -
参考手册C
标准库 -<assert.h>C
标准库 -<ctype.h>C
标准库 -<errno.h>C
标准库 -<float.h>C
标准库 -<limits.h>C
标准库 -<locale.h>C
标准库 -<math.h>C
标准库 -<setjmp.h>C
标准库 -<signal.h>C
标准库 -<stdarg.h>C
标准库 -<stddef.h>C
标准库 -<stdio.h>C
标准库 -<stdlib.h>C
标准库 -<string.h>C
标准库 -<time.h>

 C
语言教程
C
环境设置 

C 简介

C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX
操作系统而设计的。C
语言最开始是于 1972
年在 DEC PDP-11
计算机上被首次实现。

在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis
Ritchie)制作了 C
的第一个公开可用的描述,现在被称为 K&R
标准。

UNIX 操作系统,C编译器,和几乎所有的 UNIX
应用程序都是用 C
语言编写的。由于各种原因,C
语言现在已经成为
18c91
一种广泛使用的专业语言。

·       易于学习。
·       结构化语言。
·       它产生高效率的程序。
·       它可以处理底层的活动。
·       它可以在多种计算机平台上编译。

关于 C

·       C
语言是为了编写 UNIX
操作系统而被发明的。
·       C
语言是以 B
语言为基础的,B 语言大概是在 1970
年被引进的。
·       C
语言标准是于 1988
年由美国国家标准协会(ANSI,全称 American National Standard Institute)制定的。
·       截至 1973
年,UNIX
操作系统完全使用 C
语言编写。
·       目前,C
语言是最广泛使用的系统程序设计语言。
·       大多数先进的软件都是使用 C
语言实现的。
·       当今最流行的 Linux
操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统)
MySQL 都是使用 C
语言编写的。

为什么要使用 C?

C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C
语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C
语言作为系统开发语言。下面列举几个使用 C
的实例:

·       操作系统
·       语言编译器
·       汇编器
·       文本编辑器
·       打印机
·       网络驱动器
·       现代程序
·       数据库
·       语言解释器
·       实体工具

C 程序

一个 C 语言程序,可以是 3
行,也可以是数百万行,它可以写在一个或多个扩展名为 ".c" 的文本文件中,例如,hello.c。您可以使用 "vi""vim" 或任何其他文本编辑器来编写您的
C 语言程序。

本教程假定您已经知道如何编辑一个文本文件,以及如何在程序文件中编写源代码。

C11

C11(也被称为C1X)指ISO标准ISO/IEC
9899:2011,是当前最新的C语言标准。在它之前的C语言标准为C99。

新特性

·       对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符,aligned_alloc函数以及<stdalign.h>头文件)。

·       _Noreturn
函数标记,类似于 gcc
的 __attribute__((noreturn))。

·       _Generic
关键字。

·       多线程(Multithreading)支持,包括:

_Thread_local存储类型标识符,<threads.h>头文件,里面包含了线程的创建和管理函数。

_Atomic类型修饰符和<stdatomic.h>头文件。

·       增强的Unicode的支持。基于CUnicode技术报告ISO/IEC
TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件<uchar.h>。

·       删除了 gets()
函数,使用一个新的更安全的函数gets_s()替代。

·       增加了边界检查函数接口,定义了新的安全的函数,例如fopen_s(),strcat_s()
等等。

·       增加了更多浮点处理宏(宏)。

·       匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。

·       静态断言(Static assertions),_Static_assert(),在解释
#if 和 #error
之后被处理。

·       新的 fopen()
模式,("…x")。类似 POSIX
中的 O_CREAT|O_EXCL,在文件锁中比较常用。

·       新增 quick_exit()
函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作

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。

本教程是基于 Linux
编写的,所有给定的实例都已在 Cent OS Linux
系统上编译过。

Mac OS 上的安装

如果您使用的是 Mac OS X,最快捷的获取 GCC
的方法是从苹果的网站上下载 Xcode
开发环境,并按照安装说明进行安装。一旦安装上 Xcode,您就能使用 GNU
编译器。

Xcode 目前可从 developer.apple.com/technologies/tools/ 上下载。

Windows 上的安装

为了在 Windows
上安装 GCC,您需要安装 MinGW。为了安装 MinGW,请访问
MinGW 的主页 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
程序结构 

 笔记列表

1.            SuckMy Gun
  307***101@qq.com
   参考地址

Windows 环境下使用 GCC

MinGw 是 Minimal GNU on Windows
的缩写,允许在 GNU/Linux
和 Windows
平台生成本地的Windows
程序而不需要第三方运行时库。本文主要介绍 MinGw
的安装和使用。

(一)安装

o    1.下载 min-gw
安装程序,链接为:http://sourceforge.net/projects/mingw/files/,下载
Download mingw-get-setup.exe (86.5 kB)
o    2.运行 Downloadmingw-get-setup.exe (86.5 kB) ,点击"运行",continue等,注意记住安装的目录,如 C:\MinGw,下面修改环境变量时还会用到。
o    3.修改环境变量:
选择计算机—属性---高级系统设置---环境变量,在系统变量中找到
Path 变量,在后面加入 min-gw的安装目录,如 C:\MinGw\bin

o   4.在开始菜单中,点击"运行",输入 cmd,打开命令行:输入 mingw-get,如果弹出
MinGw installation manager 窗口,说明安装正常。此时,关闭 MinGw installation manager
窗口,否则接下来的步骤会报错
o   5.在cmd中输入命令 mingw-get
install gcc
,等待一会,gcc
就安装成功了。
如果想安装 g++,gdb,只要输入命令 mingw-getinstall g++ 和 mingw-get
install gdb


(二)使用

在 cmd 的当前工作目录写 C
程序 test.c:

# include <stdio.h>

int main()

{

        printf("%s\n","hello world");

        return 0;

}


在 cmd 中输入命令 gcc test.c

在当前目录下会生成 a.exe
的可执行文件,在 cmd
中输入 a.exe
就可以执行程序了。

如果想调试程序,可以输入 gdb a.exe

进入 gdb 的功能,使用 gdb
常用的命令就可以调试程序了。

Suck My Gun

   Suck My Gun
  307***101@qq.com
   参考地址

3个月前 (05-11)

2.           末烽丶訪
  101***7220@qq.com
Windows 环境变量的设置:

(1)将刚刚下载好的文件,解压到C盘根目录下,文件夹名称 MinGw;

(2)计算机——>(右键)属性——>高级系统设置——>环境变量——>系统变量,选中Path点击编辑,将MicGw文件下的bin目录路径复制出来,我这里是

C:\MinGW\bin,将路径复制到 Path
中,点击确定;注意点目录前后的分号,一定要有并且必须是英文半角。

(3)同上,新建一个系统变量 lib,对应 MicGw
下的lib
文件夹;新建一个系统变量include,对应 MicGw
下的 include
文件夹;

到此为止,我们就算是搭建好C语言开发的基本环境了;

末烽丶訪

   末烽丶訪
  101***7220@qq.com

2个月前 (06-14)

3.           终究被人遗忘
  221***0052@qq.com
安卓使用gcc

c4droid是款Android设备上的C/C++程序编译器,默认以tcc(tiny
c compiler)为编译器,可以选择安装gcc插件,选用gcc后,可以用sdl(简单直控媒体层库,需安装sdl
plugin for c4droid)和qt(nokia官方开发库,需安装sdl
plugin for c4droid)。也可以开发native android app(需安装sdl plugin for c4droid),就像google
ndk一样。软件支持代码高亮,编译时间随cpu主频而定,主频越高编译越快。gcc插件版本5.00提供了示列程序,包含sdl,android
native,qt和命令行测试程序等源码。

百度云链接:C4droid5.96汉化

https://pan.baidu.com/s/1kVn5x2Z

首先查看自己的手机类型

下载对应的软件

下载后

o    1.先安装C4droid和GCC、SDL开头的两个插件,注意选择汉化的版本哦
o    2、三个全部安装完成后,打开C4DROID,会有提示安装GCC插件,全选就可以
o    3.等待解压完成,打开设置切换编译器为gcc就可以

C Hello World 实例

C 程序主要包括以下部分:
·       预处理器指令
·       函数
·       变量
·       语句 &
表达式
·       注释
让我们看一段简单的代码,可以输出单词 "HelloWorld":
实例
#include <stdio.h>intmain(){/* 我的第一个
C 程序 */printf("Hello,World!
\n");
return0;
}
接下来我们讲解一下上面这段程序:
1.     程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C
编译器在实际编译之前要包含 stdio.h
文件。
2.     下一行 int main() 是主函数,程序从这里开始执行。
3.     下一行 /*...*/
将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
4.     下一行 printf(...) 是 C
中另一个可用的函数,会在屏幕上显示消息 "Hello,World!"。
5.     下一行 return 0; 终止 main()
函数,并返回值 0。

编译 &
执行 C
程序


接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它。下面是简单的步骤:
1.     打开一个文本编辑器,添加上述代码。
2.     保存文件为 hello.c。
3.     打开命令提示符,进入到保存文件所在的目录。
4.     键入 gcc hello.c,输入回车,编译代码。
5.     如果代码中没有错误,命令提示符会跳到下一行,并生成 a.out 可执行文件。
6.     现在,键入 a.out 来执行程序。
7.     您可以看到屏幕上显示 "HelloWorld"。

$ gcc hello.c
$ ./a.out
Hello,
World!

请确保您的路径中已包含 gcc
编译器,并确保在包含源文件 hello.c
的目录中运行它
C 基本语法
我们已经看过 C
程序的基本结构,这将有助于我们理解 C
语言的其他基本的构建块。

C 的令牌(Tokens)

C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C
语句包括五个令牌:

printf("Hello, World! \n");

这五个令牌分别是:

printf
(
"Hello, World! \n"
)
;

分号 ;

在 C
程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
例如,下面是两个不同的语句:

printf("Hello, World! \n");
return
0;

注释

注释就像是 C
程序中的帮助文本,它们会被编译器忽略。它们以 /*
开始,以字符 */
终止,如下所示:

/* 我的第一个 C
程序 */

您不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。

标识符

C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z
或 a-z
或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C 标识符内不允许出现标点字符,比如 @、$
和 %。C
区分大小写的编程语言。因此,在 C
中,Manpower 和 manpower是两个不同的标识符。下面列出几个有效的标识符:

mohd      zara    abc   move_name a_123
myname50  _temp   j     a23b9     retVal

关键字

下表列出了 C
中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
auto
else
long
switch
break
enum
register
typedef
case
extern
return
union
char
float
short
unsigned
const
for
signed
void
continue
goto
sizeof
volatile
default
if
static
while
do
int
struct
_Packed
double
 
 
 
C 中的空格

只包含空格的行,被称为空白行,可能带有注释,C
编译器会完全忽略它。
在 C
中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中:

int age;

在这里,int
和 age
之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中:

fruit = apples
+ oranges;  
// 获取水果的总数

fruit 和 =,或者 =
和 apples
之间的空格字符不是必需的,但是为了增强可读性,您可以根据需要适当增加一些空格。
 C
程序结构
C
数据类型 
 笔记列表
1.            终究被人遗忘
  221***0052@qq.com
C关键字:
按年份起始:
o  auto      break    case       char      const        continue  default     do 
o  double  else       enum     extern   float           for            goto        if 
o  int long register return short signedsizeof static 
o  struct   switch    typedef union    unsigned  void           volatile   while
1999年12月16日,ISO推出了C99标准,该标准新增了5个C语言关键字:
o  inline    restrict    _Bool  _Complex    _Imaginary
2011年12月8日,ISO发布C语言的新标准C11,该标准新增了7个C语言关键字:
o  _Alignas  _Alignof  _Atomic _Static_assert  _Noreturn  _Thread_local  _Generic
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: