一、main、printf和库函数
1.main函数
每个 C 语⾔程序不管有多少⾏代码,都是从 main
函数开始执⾏的, main
函数是程序的⼊⼝,
main 函数也被叫做:主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。
• main函数是程序的⼊⼝
• main函数有且仅有⼀个
• 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)
第⼀次写代码,⼀些常⻅的错误总结:
• main 被写成了mian
• main后边的()漏掉了
• 代码中不能使⽤中⽂符号,⽐如括号和分号
• ⼀条语句结束后,有分号
1.2.printf函数
在上⾯的代码中有⼀句代码如下:
printf("hello C\n"); • 1
代码中使⽤了 printf
函数,实现了在屏幕上的信息的打印。
这⾥简单的介绍⼀下 printf , printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进⾏信息的打印。上⾯的代码是使⽤ printf 函数打印字符串。只要把想要打印的⼀串字符放
在双引号中并传递给printf函数就可以打印。
printf函数也可以⽤来打印其他类型的数据,⽐如:
int n = 100; printf("%d\n", n); //printf打印整型 printf("%c\n", 'q'); //printf打印字符 printf("%lf\n", 3.14); //printf打印双精度浮点型
这⾥的 %d , %c 等是占位符,会被后边的值替换。(这里我们后面再作解释)
库函数的时候,是需要包含头⽂件的,⽐如: printf 函数需要包含的就是 stdio.h 这个头⽂件,
具体的⽅法就是:
#include <stdio.h>
1.3.那什么是库函数呢?
前面简单介绍了main函数和printf函数,那什么又是库函数呢?
为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不
同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准
库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函
数其他编译器不⼀定⽀持)。
⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。
库函数⽐较多,后期慢慢来介绍,提前了解可参考链接:https://cplusplus.com/reference/clibrary/
二、关键字、字符和ASCII编码
2.1 关键字介绍
C语⾔中有⼀批保留的名字的符号,⽐如: int
、 if
、 return
,这些符号被称为保留字或者关键
字。
关键字都有特殊的意义,是保留给C语⾔使⽤的
• 程序员⾃⼰在创建标识符的时候是不能和关键字重复的
• 关键字也是不能⾃⼰创建的。
C语⾔的32个关键字如下:
1 auto break case char const continue default do double else enum ex
2 float for goto if int long register return short signed sizeof
3 struct switch typedef union unsigned void volatile while
注:在C99标准中加⼊了 inline 、 restrict 、 _Bool 、 _Comploex 、 _Imaginary 等关
键字。
⼀些关键字⼤家可以去了解⼀下,不过使⽤最多的还是上⾯的32个关键字。
注:https://zh.cppreference.com/w/c/keyword(C语⾔关键字的全部介绍)
后面的文章的过程中,会慢慢介绍这些常⽤的关键字的。
2.2 字符
我们可以在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:‘a’,‘b’,‘@’。
我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循了( ASCII) 编码的⽅式;
2.3 字符
参考:https://zh.cppreference.com/w/cpp/language/ascii
我们不需要记住所有的ASCII码表中的数字,使⽤时查看就可以,不过我们最好能掌握⼏组特殊的数据:
• 字符A~ Z的ASCll码值从65~ 90
• 字符a~z的ASCII码值从97 ~ 122
• 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
• 数字字符0~9的ASCII码值从48 ~57
• 换⾏ \n 的ASCII值是:10
• 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察
单个字符的打印可以使⽤%c来指定格式:
#include <stdio.h> int main() { printf("%c\n", 'A'); printf("%c\n", 65);//这⾥的81是字符Q的ASCII码值,也是可以正常打印的 return 0; }
可打印字符展⽰:
#include <stdio.h> int main() { int i = 0; for (i = 32; i <= 127; i++) { printf("%c ", i); if (i % 16 == 15) printf("\n"); } return 0; }
运行结果: