目录:
1.C语言是什么?
2.C语言的历史
3.第一个简单的C语言程序
4.main函数
5,库函数和printf函数
6.关键字介绍
7.字符和ASCLL编码
8.字符串和\0
C语言是什么
在生活中,我们与朋友,家人交流都是使用汉语,而我们如果以后出国与外国人交流就会使用英语。那人与计算机是如何交流的呢?计算机语言。
目前已有上千种计算机语言,人们是通过计算机语言与计算机交流,发布命令,让计算机工作。其中C语言就是计算机语言的一种,当让一些常见的计算机语言还有c++/JaVa/Go/Python
C语言的历史
C语言最初是作为Unix系统的开发工具而发明的。
https://www.tiobe.com/tiobe-index/
此链接可以查看各类计算机语言的使用频率排名
第一个C语言程序
对于开头的int main()在不同的书中可能有多种写法
main函数
C语言不管有多少代码,都是从main函数开始执行的,main函数相当于程序的入口。main函数也叫做主函数,main函数前面的int表示main函数执行结束的时候返回一个整型类型的值。所以在main函数的最后写return 0; 正好相呼应。
main函数的位置可以在任意位置,但是如果在主函数中调用了哪些函数,必须在main函数前对其所调用函数进行声明或包含其被调用函数的头文件
注:main函数有且只有一个
库函数和printf函数
什么是库函数?
为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。在这个基础上一些编译器厂商可能会额外扩展提供部分函数(这些函数其他编译器不一定支持)。
一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。
可参考链接:https://cplusplus.com/reference/clibrary/
用库函数的时候是需要有头文件的。
例如:在C语言的标准中,约定一组函数,规定它们的功能,参数,返回值
scanf 功能..... 参数..... 返回值.....
printf函数
上面代码:printf("hello");
代码使用了printf函数,实现了屏幕上的信息打印,即输出。
printf函数就是库函数的一种,它的功能就是在标准输出设备(一般指屏幕)上进行信息打印。上面的代码就是使用printf函数打印字符串。
printf也可打印其他类型的数据,比如:
其中的%d,%c等都是占位符,以后会有单独介绍
关键字介绍
关键字又称作保留字,关键字都是有特殊意义的,是保留给C语言使用,程序员在自己标识符的时候,不能和关键字重复,关键字也不能自己创建。
(给大家说一下我做题犯的一个错误,算小小的提醒吧,define并不是C语言内容,是用来定义宏的预处理指令,是由编译器实现的。)
https://zh.cppreference.com/w/c/keyword (C语言关键字的全部介绍)
注:C语言关键字不必全部背诵,在后期的使用过程中会逐步熟练
字符和ASCLL编码
什么是字符?字符是在键盘上可以敲出的各种符号,例如:@ # ¥% a q等,C语言中字符是用单引号括起来的‘a’ ‘¥’
在计算机中所有的数据都是以二进制的形式存储的,如果我们每个人都给这些字符编一个二进制序列,这个叫做编码,为了大家相互通信,美国国家标准学会出台了一个标准ASCLL编码,C语言的字符就遵循了ASCLL编码的方式。
ASCII 码表 - cppreference.com 大家可以打开链接看一下ASCLL编码
大家也不要太紧张,这张表我们并不需要全部背诵,使用时查看即可,不过我们可以掌握一下这个表格的特殊规律:
1.字符A~Z的ASCLL码值是从65~90
2.字符a~z的ASCLL码值是从97~122
3.对应的大小写字符(a和A)的ASCLL码值的差是32
4.数字字符0~9的ASCLL码值是48~57
5.换行\n的ASCLL码值是10
6.这些字符中ASCLL码值从0~31这32个字符是不可打印字符,无法打印在屏幕观察
单个字符的打印用占位符%c来指定格式
可打印字符展示:(初学者目前无需了解代码是如何敲出来的,先直观感受一下可打印字符)
字符串和\0
使用双引号括起来的一串字符就是字符串,如:"abcdef”就是字符串。
字符串的格式可以用%s来打印:
C语言字符串中有一个特殊知识,就是字符串的末尾隐藏着一个\0的字符,而这个\0就是字符串的结束标志。
对于字符串“abcdef”,我们实际上看到了六个字符;a,b,c,d,e,但实际上在末尾还隐藏着一个\0的转义字符,\0是字符串结束的标志。
C语言中也可以把一个字符串放在一个字符数组中
我们可以看到arr1字符数组在打印的时候,打印了a,b,c后打印了一些随机值,这就是因为arr1在末尾的地方没有\0字符作为结束标志,在打印的时候没有停止
但是arr2的打印就完全正常,因为arr2数组是使用字符串常量初始化,数组中\0作为技术标志,打印可以完全停止。
如果我们在arr1数组中单独放一个\0,会怎样呢?
由此看出\0的作用及其重要性了