一、main、printf和库函数
1.main函数
每个 C 语⾔程序不管有多少⾏代码,都是从 main
函数开始执⾏的, main
函数是程序的⼊⼝,
main 函数也被叫做:主函数。 main
前⾯的 int
表⽰ main
函数执⾏结束的时候返回⼀个整型类型的值。所以在 main
函数的最后写 return 0
; 正好前后呼应。
• main函数是程序的⼊⼝
• main函数有且仅有⼀个
• 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)
第⼀次写代码,⼀些常⻅的错误总结:
• main 被写成了mian
• main后边的()漏掉了
• 代码中不能使⽤中⽂符号,⽐如括号和分号
• ⼀条语句结束后,有分号
1.2.printf函数
在上⾯的代码中有⼀句代码如下:
代码语言:javascript复制printf("hello Cn");
代码中使⽤了 printf
函数,实现了在屏幕上的信息的打印。
这⾥简单的介绍⼀下 printf
, printf
是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进⾏信息的打印。上⾯的代码是使⽤ printf
函数打印字符串。只要把想要打印的⼀串字符放
在双引号中并传递给printf函数就可以打印。
printf函数也可以⽤来打印其他类型的数据,⽐如:
代码语言:javascript复制int n = 100;
printf("%dn", n); //printf打印整型
printf("%cn", 'q'); //printf打印字符
printf("%lfn", 3.14); //printf打印双精度浮点型
这⾥的 %d , %c 等是占位符,会被后边的值替换。(这里我们后面再作解释) 库函数的时候,是需要包含头⽂件的,⽐如: printf 函数需要包含的就是 stdio.h 这个头⽂件,
具体的⽅法就是:
代码语言:javascript复制#include <stdio.h>
1.3.那什么是库函数呢?
前面简单介绍了main
函数和print
f函数,那什么又是库函数呢?
为了不再重复实现常⻅的代码,让程序员提升开发效率,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来指定格式:
代码语言:javascript复制#include <stdio.h>
int main()
{
printf("%cn", 'A');
printf("%cn", 65);//这⾥的81是字符Q的ASCII码值,也是可以正常打印的
return 0;
}
可打印字符展⽰:
代码语言:javascript复制#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;
}
运行结果: