C语言理解与总结(01)
1.C概述
1.#include<stdio.h>
#include<stdio.h>
是程序的第一行,该语句的作用相当于您在文件中该行所在的位置键入了文件stdio.h的完整内容,实际上,它是一种剪切和粘贴操作,这样可以方便地在多个程序间共享公用的信息。
#include
句是C预处理指令的一个例子。
stdio.h
文件作为所有C编译包的一部分提供,它包含了有关输入和输出函数的信息以供编译器使用。这个名字代表标准输入输出头文件。
2.main()
int main(void)
一个C程序总是从被称为main()
函数开始执行的。
int
指明了main()
函数的返回类型。
void
则表明没有传递任何信息给函数。
3.注释
C语言的注释风格:/* 有效的C注释 */ 可以单独放一行,也可以放多行,但是 不可以嵌套使用
C++语言的注释风格:// 只能限制在一行里,同时可以嵌套使用
4.转义字符
1.三字母词
几个字符的序列,组合起来表示另一个字符
三字母词 | ??( | ??) | ??< | ??> |
---|---|---|---|---|
字符表示 | [ | ] | { | } |
2.转义字符
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止它们被解析成三字母词 |
\` | 表示字符常量 |
\” | 用于表示一个字符串内部的双引号 |
\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示一到三个八进制的数字 |
\xddd | ddd表示三个十六进制数字 |
5.数据类型
int | short | long | unsigned | char | float | double | _Bool |
---|---|---|---|---|---|---|---|
有符号整数 | 短整型 | 长整型 | 无符号类型 | 字符型 | 单精度浮点型 | 双精度浮点型 | 布尔类型 |
-32768~32767 | 小于int | 大于int | 只用于非负值 | -128~127 | 至少能表示六位有效数字 | 至少能表示十位有效数字 | true false |
1.八进制和十六进制
前缀0(零)表示八进制,用八进制显示整数,要用%0代替%d,用说明符%#o显示0前缀
前缀0x或者0X表示十六进制,用十六进制显示整数,要用%x,用说明符%#x和%#X显示0x和0X前缀
2.打印short,long,long long,和unsigned,浮点数等类型数
数据类型 | 打印格式 |
---|---|
short | %hd,%ho(八进制数) |
long | %ld,%lx(十六进制数),%lo(八进制数) |
long long | %lld(有符号类型),%llu(无符号类型) |
unsigned | %u |
float/double | %f |
e指数计数法 | %e |
3.浮点数
浮点数将一个数分为小数部分和指数部分并分别进行存储。
6.常量
常量分类 | 释义 |
---|---|
const定义的常量 | const修饰的标量具有常量属性,其值不能被直接改变 |
字面常量 | 3.14,’\n’ |
define定义的标识符常量 | 用一个字符串替换另一个字符进行编译 |
枚举常量 | 枚举关键字:enum |
7.变量
1.变量命名规则
C 语言规定必须以字母或下划线 _ 开头,后面可以跟若干个字母、数字、下划线,但不能有其它字符。其实这个规则不仅适用于变量名,也适用于所有可以由程序员起名的语法元素,例如以后要讲的函数名、宏定义、结构体成员名等,在C语言中这些统称为标识符(Identifier)。另外要注意,表示类型的char、int、float、double等虽然符合上述规则,但也不能用作标识符。在C语言中有些单词有特殊意义,不允许用作标识符,这些单词称为关键字(Keyword )或保留字(Reserved Word)。通常用于编程的文本编辑器都会高亮显示(Highlight)这些关键字,所以只要小心一点通常不会误用作标识符。
2.C语言关键字列表
auto | enum | restrict | unsigned |
---|---|---|---|
break | extern | return | void |
case | float | short | volatile |
char | for | signed | while |
const | goto | sizeof | _Bool |
continue | if | static | _Complex |
default | inline | struct | _Imaginary |
do | int | switch | |
double | long | typedef | |
else | register | union |
3.变量的分类
局部变量 | 出现在局部范围(代码块内部)内的变量,称为局部变量 |
---|---|
全局变量 | 变量出现在所有代码块之外的变量,称为全局变量 |
8.C语言特点
通过上面对C语言程序的了解,我们发现C语言有很多的特点。
1.认识C语言
C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至
1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语
言为基础,在贝尔实验室设计、开发出来。
C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序
员中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言编译器普
遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X,Linux, Unix
等。C语言的设计影响了众多后来的编程语言,例如C++、ObjectiveC、Java、
C#等。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家
标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标
准。二十世纪八十年代至今的有关程序开发工具,一般都支持符合ANSI C的语
法。
2.C语言的特色
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功
能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer
passed by value)。
不同的变数类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部分的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
编译预处理(preprocessor)让C语言的编译更具有弹性。