【C语言第二回】main、printf和库函数

简介: 【C语言第二回】main、printf和库函数

一、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语⾔中有⼀批保留的名字的符号,⽐如: intifreturn ,这些符号被称为保留字或者关键

字。

关键字都有特殊的意义,是保留给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;
}

运行结果:

相关文章
|
5天前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
2天前
|
C语言
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
|
2天前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
|
2天前
|
C语言
(浙大版《C语言程序设计(第3版)》 习题6-5 使用函数验证哥德巴赫猜想 (20分)
(浙大版《C语言程序设计(第3版)》 习题6-5 使用函数验证哥德巴赫猜想 (20分)
|
4天前
|
安全 C语言
【C语言】strcpy与strncpy函数的使用和模拟实现
【C语言】strcpy与strncpy函数的使用和模拟实现
5 0
|
4天前
|
C语言
【C语言】字符分类函数与字符转换函数
【C语言】字符分类函数与字符转换函数
9 1
|
4天前
|
存储 C语言
C语言之printf浅析
C语言之printf浅析
11 0
|
4天前
|
程序员 编译器 C语言
C语言之函数与参数
C语言之函数与参数
5 0
|
5天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
5天前
|
机器学习/深度学习 C语言
函数递归深入解析(C语言)
函数递归深入解析(C语言)