目录
1.C语言的概念
C语言是一种较早的程序设计语言,诞生于1972年的贝尔实验室。1972 年,Dennis Ritchie(下图)设计了C语言,它继承了B语言的许多思想,并加入了数据类型的概念及其他特性。 尽管C 语言是与 UNIX 操作系统一起被开发出来的,但它不只支持UNIX。 C是一种通用(广泛可用)的编程语言。
2.C语言的发展历程
3.第一个C语言
人生写的第一个C语言:
#include<stdio.h>
int main()
{
printf("Holle wold");
return 0;
}
4.main函数
main函数也叫主函数是程序的入口有且只有一个,一个项目中不管有多少个.c文件,只有一个main函数。main前面的int表示main函数执行结束的时候返回一个整型类型的值,所以main函数的最后写return 0;正好前后呼应。
5.printf和库函数
printf函数可以在屏幕上实现信息的打印例如:
#include<stdio.h>
int main()
{
printf("hello\n");
return 0;
}
由于printf函数是库函数所以要包含头文件#include<stdio.h>
库函数:
为了不再重复实现常见的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不 同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准 库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函 数其他编译器不⼀定⽀持),⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。
6.关键字介绍
上文写的int就是一个关键字,关键字不能自己创建的,C语言有32个关键字如:
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
7.字符和ASCII 编码
在键盘上敲出来的就是字符如:a,m,s,@,#,$,在C语言中字符要用单引号括起如:'a','m','@',计算机中所有的数据都是以⼆进制的形式存储的,键盘上的字符是用二进制序列来表示的,这个叫编码。C语言中的字符遵循美国国家标准学会(ANSI)的标准ASCII编码(如图)。
ASCII编码太多,不需要全背,但是要记住一些特殊的规律:
• 字符 A~Z 的ASCII码值从65~90
• 字符 a~z 的ASCII码值从97~122
• 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
• 数字字符0~9的ASCII码值从48~57
• 换⾏ \n 的ASCII值是:10
字符在C语言打印时要使用%c来指定格式如:
#include<stdio.h>
int main()
{
printf("%c\n",'a','b');
return 0;
}
8.字符串和转义字符
字符串和字符不同,字符串是一系列字符且用双引号括起来如"abncd","sienfdfd",字符串在C语言中用%s来指定格式。
#include<stdio.h>
int main()
{
printf("%s\n","abc");
return 0;
}
更有意思的是字符串末尾隐藏一个"\0"字符,这个字符是字符串的介绍标志。这里验证一下\0的作用:
#include<stdio.h>
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%s\n",arr1);
printf("%s\n",arr2);
return 0;
}
打印结果:
由上可知:字符串abc后面隐藏一个\0结束标志,而单个字符'a','b','c'没有故而一直打印下去,如果想停下来在'a','b','c'后面加个'\0'如:
转义字符:
在前面你看到\n、\0就是转义字符,转义字符的意思是改变原来的意思;例如:
这里\n就是换行的意思
在C语言中还有很多这样的转义字符如:
\? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
\' :⽤于表⽰字符常量' • \" :⽤于表⽰⼀个字符串内部的双引号
\\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
\a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
\b :退格键,光标回退⼀个字符,但不删除字符。
\f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。
\n :换⾏符。 • \r :回⻋符,光标移到同⼀⾏的开头。
\t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个4/8的倍数。
\v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。
\ddd :d d d表⽰1~3个⼋进制的数字。 如: \130 表⽰字符X
注意:八进制是由01234567数字组合
\xdd :d d表⽰2个⼗六进制数字。 如: \x30 表⽰字符0
注意:十六进制是由0123456789abcdef组合
9.语句的分类
9.1空语句
一个;号就是空语句,例如:
9.2表达式语句
在表达式后面加上分号就是表达式语句,例如:
9.3函数调用语句
在调用函数的时候,在函数后面加上分号就是函数调用语句,例如:
9.4复合语句
代码块就是复合语句,代码块就是大括号{}括起来的代码。
9.5控制语句
控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式(C语⾔⽀持三种结构:顺序结构、选 择结构、循环结构),它们由特定的语句定义符组成,C语⾔有九种控制语句。 可分成以下三类:
1. 条件判断语句也叫分⽀语句:if语句、switch语句;
2. 循环执⾏语句:do while语句、while语句、for语句;
3. 转向语句:break语句、goto语句、continue语句、return语句。
10.注释的两种分类
注释是对代码块的解释可以帮助我们更好的理解代码,好的注释习惯是一个高素质程序员的体现 。
注释有两种://和/**/,如:
我个人更推荐//,因为/**/容易混乱,例如:
/**/注释的方式是从/*开始接收到*/为止