目录
第一部分 认识C语言
1.认识C语言
- C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、开发出来。
- C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐,成为近25年使用最为广泛的编程语言。目前,C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows,Mac OS X,Linux,Unix等。C语言的设计印象了众多后来的编程语言,例如C++,Objective-C、Java、C#等。
- 20C80s,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准,20S80s至今的有关程序开发工具,一般都支持符合ANSI C的语法。
2.C语言的特色
- C语言是一个有结构化程序设计、具有变量作用域(variable scope) 以及递归功能的过程或语言。
- C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
- 不同的变数类型可以用结构体(struct)组合在一起。
- 只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
- 部分的变量类型可以转换,例如整型和字符型变量。
- 通过指针(pointer),C语言可以容易的对储存器进行低级控制。
- 编译预处理(preprocessor)让C语言的编译更具有弹性。
第二部分 基本知识
一、main函数
它是C语言程序的入口,有且只能有一个。
1.引入头文件
2.输入main函数
#include<stdio.h>
int main ()
{
return 0;
}
C语言中的return 0表示正确返回,返回非0表示异常返回。
二、注释
它是为了说明代码是什么意思。
- C的注释风格:/*注释内容*/,可以注释多行,但不能嵌套使用
- C++的注释风格://注释内容,可以嵌套使用
三、字符串
- 单个字符
- 字符串
注意:
- C里面没有字符串类型,C++里面有字符串类型。
- '\0'是字符串的结束标志,而不是内容,所以在计算字符串长度的时候不会计入长度中。
四、转义字符
三字母词 | 表示字符 |
??( | [ |
??) | ] |
??< | { |
??> | } |
转义字符 | 释义 |
\? | 在书写中连续多个问号时使用,防止它们被解析成三字母词 |
\' | 用于表示字符常量' |
\" | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止它被解析成一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个8进制的数字。如\130 |
\xddd | ddd表示3个十六进制的数字。如\x030 |
五、数据类型
char //字符数据类型 长度为1
short //短整型 长度为2
int //整型 长度为4
long //长整型 长度为4
long long //更长的整型 长度为8
float //单精度浮点数 长度为4
double //双精度浮点数 长度为8
六、常量
比如身份证号、圆周率等。
1.常量的分类
- 字面常量
- const定义的常量(在C语言中,当const是一个标识符号的时候,我们说这个标识符依然是一个变量,但是它具有常属性,不能直接被改变。)
- #define定义的标识符常量
- 枚举常量
七、变量
比如年龄、身高、体重等。
1.变量的初始化、赋值
int num =10;//创建变量a,并且给他一个初始化的值为10
num = 20;//当num已经存在,这里给他一个其他值的时候,叫做赋值
2.变量的分类
根据出现的位置可以划分为:
- 局部变量
- 全局变量
变量出现在局部范围(代码块内部)内,称为局部变量;
变量出现在 所有代码块之外,称为全局变量。
3.变量的命名规则
C语言规定,必须以字母或下划线_开头,后面可以跟若干个字母、数字、下划线,但不能有其他字符。
其实这个规则不仅适用于变量名,也适用于所有可以由程序员起名的语法元素,例如函数名、宏定义、结构体成员名等,在C语言中,这些统称为标识符。另外,表示类型的char、int、float、double等虽然符合上述规则,但也不能用作标识符。在语言中有些单词具有特殊意义,不允许用作标识符,这些单词称为关键字或保留字。
C规定的关键字有:
auto break case char const continue default do double
else enum extern float for goto if int long register return
short signed sizeof static struct switch typedef union
unsigned void volatile while