一、了解C语言
什么是C语言?
C语言是计算机语言中的一种,是一门面向过程的语言。计算机语言是人们用来操作计算机写程序和下达指令让计算机工作所创造出来的一种语言。
C的历史:C语言最初是作为Unix系统的开发工具而发明下的。
二、学习C语言的准备工作
编译与链接:C语言是一门编译型计算机语言,C语言的源代码都是放在以.c为后缀的文本文件,文本文件本身是无法执行的,需要通过编译器的翻译和链接器的链接这2个过程生成二进制可执行文件才能执行。
注:1.每个.C源文件经过编译器处理生成对应的目标文件即以.obj为后缀的文件
2.目标文件和库文件经过链接器的处理生成对应可执行的程序即以.exe为后缀的文件(一般一个工程都会有多个源文件组成)
编译器与选择:C语言作为一门编译型的计算机语言,需要依靠编译器将计算机语言转换成机器能够执行的机器指令。
推荐使用VS编译器:除占用空间多其余都是亮点。
三、简单的C语言程序
#include<stdio.h>
int main()
{
printf("HELLO C!");
return 0;
}
输出结果:HELLO C!
main函数:main函数是程序的入口,函数是从main函数开始执行的。一个程序只能有一个入口即只能有一个main函数。一个程序可以由多个.c的源文件,所以即使有多个.c文件但也只能拥有一个main函数。main函数也叫主函数。
main前面的int表示函数需要返回一个整型的值,与后面的return 0相呼应。
printf函数:printf是一个库函数,他的功能是打印信息。上面代码使用printf函数打印字符串,只需要把想要打印的一窜字符放在双引号中就可以打印。
printf也可以打印其他类型数据:
#include<stdio.h>
int main()
{
printf("%d\n",100);//打印整型
printf("%c\n",'q');//打印字符型
printf("%f\n",3.14);//打印单精度浮点型
printf("%lf\n",3.14);//打印双精度浮点型
return 0;
}
%d,%c,%f,%lf是占位符,会变后面的值替换。
在使用库函数时需要包含头文件。比如:printf函数所需要的头文件就是stdio.h这个头文件。
方法如下:
#include<stdio.h>
关于库函数与其头文件可参考:https://cplusplus.com/reference/clibrary/
初次写代码一些常见的错误总结:
*代码中不能使用中文符号,例如:分号和逗号......
*main被写成了mian
*main后面的()漏掉了
*每条语句结束后都得加分号
关键字:C语言中有一批保留名字的符号,例如:int、char、if,这些符号被称为保留字或关键字。
*关键字不能自己创建,自己创建的标识符也不能与关键字重复
*关键字有特殊意义,是保留给C语言使用的
C语言的32个关键字:
1 auto break case char const continue default do double else enum ex
2 float for goto if int register return short signed sizeof
3 struct switch typedef union unsigned void volatile while
关于关键字的详细信息可参考: C 关键词 - cppreference.com
四、字符和ASCLL编码
字符 :能在键盘上敲出来/有对应ascll码的字符,例如:a、q、@等这些符号被称为字符。在C语言中用单引号括起来,例如:'a'、'q'、'@'。(单个字符使用%c打印)
计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储呢?如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会( ANSI )出台了一个标准 ASCII 编码, C 语言中的字符就遵循了 ASCII 编码的方式。
字符A~Z的ASCLL码值从65~90
字符a~z的ASCLL码值从97~122
(对应的大小写字符如(a和A)的ASCLL码值的差值为32)
数字字符0~9的ASCLL码值从48~57
换行\n的ASCLL值是10
注:ASCLL码值从0~31这32个字符是不可打印的无法在屏幕上观察到。
五、字符串与\0
字符串:使用双引号括起来的一串字符被称为字符串,如“abcd”,就是一个字符串。(字符串使用%s打印)
字符串中有一个需要注意的知识:\0,每一个字符串的末尾都隐藏放着一个\0字符,\0是字符串结束的标志。
总结:字符串遇到 \0就结束,未遇到则继续往后直至遇见\0。