1.C语言发展史,学习C语言的必要性?
C语言最初是作为Unix系统开发工具而发明的,从1969年的B语言到C语言发明,再到Unix系统使用C重写,1988年C语言标准化,C语言开始稳定和规范化,沿用至今。
2.编译和链接是什么?过程是什么?
C语言是一门编译型语言,它的源代码都是文本文件(.c)(源文件),但是文本文件本身无法被计算机执行,通过编译器(.obj)翻译(生成目标文件)和链接器(.exe)链接(就是一个“打包”的过程 它将所有的目标文件以及系统组件组合成一个可执行文件(知乎))之后生成了二进制的可执行文件,被计算机执行。
3. 各个编译器?
- 编译器 比如msvc,clang,gcc
- 集成开发环境,也就是IDE .它是一个用于提供程序开发环境的应用程序,集成了代码编写功能,分析功能,编译功能,调试功能等一体化的软件服务套。
- VS2022集成了MSVC 也是本人现在使用的,安装简单但是真的内存大,十几GB的。运行代码快捷键:ctrl+f5
- Xcode集成clang 是苹果电脑上的开发工具
- DevC++ 小巧不过工具比较简单,一些竞赛使用
4. main函数(主函数)库函数 关键字究竟是啥?
- 每个C语言无论如何花里胡哨,都要有程序执行的入口,这个入口就是main函数;而且门太多容易走串,因此main函数只有一个。即使一个项目中有很多个.c的源文件,main函数也只能有一个哦
常见格式:
(一条语句结束后要有分号!!)
#include <stdio.h>
int main()
{
printf("hi\n");
return 0;
}
- 库函数:这是C语言规定的一组函数,为了不再重复写常见的代码,C语言把一堆函数组合在一起组成了一个函数库,叫做标准库他们都会在同一个头文件中声明,哪些可以使用,在这个基础上一些厂商可能会额外扩展提供别的函数。我们在使用库函数时就要先包含对应的头文件。比如printf这个库函数可以用来打印信息,而它就要包含stdio.h这个头文件(standard input output的缩写)
- 关键字 :有特殊含义供C语言使用。注意:创建的标识符不可以和关键字重复;不可以自己创建关键字
5. 字符?ASCII码?字符计算?
- 字符:键盘上打得出来的符号。C语言中用单引号括起来 其打印可以用 %c指定格式
- ASCII码:计算机中所有的数据都是以二进制的形式存储的。我们给字符中每个字符编一个二进制序列,叫做编码。ASCII码是编码的一种。C语言中的字符遵循美国国家标准学会出台的标准的ASCII码。
- 常见:A~Z:65~90; a~z:97~122; 0~9:48~57 ;大小写差值为32;换行\n值为10;\0的值为0
- 0~31是不可打印字符串
6. C语言的字符串?字符和字符串有何区别?
- 字符串:用双引号括起来的一串字符 其打印可以用 %s指定格式 其末尾隐藏放着一个\0字符,它是字符串的结束标志,“asdf"实际上是5个字符,故printf和strlen()计算字符串长度的时候,遇到它就会自己结束了。
- 打印信息格式化输出:%c打印字符 %d打印整型 %s打印字符串 %f打印浮点数
- 字符放在数组中和字符串不一样,前者末尾没有\0的结束标志,而字符串有。
- 故arr2打印出来就是abc,而arr1打印出来并不会在c之后自动停止,而是继续执行,直到找到了\0之后,才停止。
-
#include <stdio.h> int main() { char arr1[]={'a','b','c'}; char arr2[]="abc" printf("%s\n",arr1) printf("%s\n",arr1) return 0 }
7. 转义字符
转义字符:即字符改变了原来的意思。
常见:
\n 换行
\? 打印多个问号
\' 打印单引号
\"打印双引号
\b退格键 光标回退一个字符,但是不删除字符,如果后面还有字符,则会自动覆盖,但是统计长度的时候还是会计算上
\t 制表符 水平4/8的倍数宽度
\n换行符
\ddd ddd是八进制数字变成十进制
\xdd:dd是十六进制变成十进制
8 结语
第一天学习内容复习如上,如有错误请指出。继续加油鸭!!