C语言学习(第二期)

  

       上一篇文章中,我们对C语言有了初步的了解,接下来,让我们进一步去了解C语言相关基础知识,以为后续的学习打下基础,本期博客继续就C语言相关基础知识问题进行罗列和解答,若有小伙伴或者大佬觉得有所欠缺,博主诚邀各位提出建议。

  1. main函数;
  2. 库函数和printf;
  3. C语言中关键字的介绍;
  4. 字符和ASCII编码;
  5. 字符串和 \0;

     下面罗列出相关解析及其理解过程

1. 我们都知道,在C语言标准格式中,我们经常用到 int main(),int 是整形的意思,那后面的main是什么意思,具有什么意义呢?

     每个C语言代码不论多长,都是从main函数开始执行的,main函数是一个程序的入口,main函数也被叫做 “ 主函数 ” 。main 前面的 int 表示 main 函数执行完成时会返回一个整形的值,因此呢,在标准格式中的最后,会有一个 return 0,正好前后呼应,这里的不仅仅可以是 0 ,也可以是其他整形,但 0 用的多了,便也成了固定的模板。

2. 在我们写的第一个代码中,用到了这么一个语句:

    " printf " 也是一个函数,通过这个函数,我们实现了打印这一操作。

其实 printf 是一个 函数库 它的作用便是帮助我们在我们的标准输出设备(比如电脑屏幕)上进行打印,因为 hello word 是一个字符串,需要把这个字符串放在双引号中并传递给 printf 函数打印。

printf还可以打印其他类型的数据:

大家先看看,对于 %d,%c,%f 诸如类似的占位符,后面的学习进程会给大家继续讲解。

调用库函数的时候,需要包含头文件,现在所提到的 printf 函数需要包含的就是 < stdio.h > 这个头文件:

[ 补充 ]:库函数的概念

为了提升程序员的开发效率,人们将常见的代码(比如 printf 具有打印功能的代码)规定为一组一组函数,供给给程序员使用,减少了编程的繁琐重复性工作,这些函数组成一个函数库,被称为 标准库 ,这些函数也被称为库函数。

一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。

库函数的种类很多,大家可以先通过链接了解https://cplusplus.com/reference/clibrary/

3.我们前边所提到的整形 int,return 还有即将学习的 if,float等,这些符号被称为C语言中的保留字关键字 ,这些所谓的保留字,就如同家里的老本,建筑的地基一样,是动不得,随意不得的。每个保留字都有其独特的意义和用法,在编程时不能将自己创建的标识符与关键字混为一谈,当然,关键字也不是自己想创建就创建的。

C语言常用的32个关键字:

auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile

[ 补充 ] :在C99标准中加入了 inline,restrict,_Bool , _Compioex , _Imaginary等关键字。

还有一些关键字未罗列出,大家可以自己去了解

https://zh.cppreference.com/w/c/keyword(C语⾔关键字的全部介绍).

4. 我们在C语言中经常见到类似于 'p'  ,‘@’ ,‘b’ 这样的用单引号括起来的符号,这些符号被称为字符。

我们都知道计算机在储存数据时用的是二进制,那么这些字符以怎样的二进制形式储存呢?后来人们给这些字符中的每一个字符编了一个二进制序列,称之为编码,现在通用为美国国家标准学会(ANSI)出台的标准ANSII编码,C语言中的字符就遵循了ANSII的编码方式。

建议掌握的内容:

① 字符A - Z的ANSII码值从65 - 90;

②字符a - z的ANSII码值从97 - 122;

③字母大小写对应的ANSII码差值是32;

④数字0 - 9的ANSII码值从48 - 57;

⑤换行\n的ANSII码值是:10;

⑥在这些字符中ANSII码值从0 - 31 这32个字符是不可打印字符,无法打印在屏幕上观察。

更多详情请参考链接:ASCII 码表 - cppreference.com

单个字符的打印可以使用%c来指定格式:

下面打印一些字符用以展示,大家可以体会一下:

5. 上面说到字符是类似 'Q' 这种形式的数据,那么要是碰见 "asdfgh" 这种类型的数据呢?在C语言中,使用双引号括起来的一串字符被称为字符串, "asdfgh" 就是一个字符串。

字符串的打印使用%s来指定,也可以直接打印:

C语言中有一个特殊的知识,在字符串的末尾隐藏放着一个 \0 字符,这个 \0 字符是字符串结束的标志,对于上面打印的 "asdfgh" 我们看到的是6个字符:asdfgh 但实际上在末尾还隐藏着一个 \0  的转义字符,\0 是字符串结束的标志,当我们使用库函数 printf() 打印字符串或者是 strlen() 计算字符长度的时候,遇到 \0 就自动停止了。

下面验证一下 \0 的功能:

arr1 字符数组在打印的时候,打印完 a,b,c 后还打印了一些随机值,这就是因为 arr1 在末尾的地方没有 \0 字符作为结束标志,在打印的时候没有停止,但是 arr2 的打印一切正常,就是因为 arr2 数组是使用字符串常量初始化的,数组中有 \0 作为结束标志,打印可以正常停止。

若是在 arr1 数组中单独放一个 '\0' 会怎么样?

 三个打印结果均为 abc ,由此我们便可深刻理解 '\0' 的具体作用。 

本期就到这啦,下期我们继续学习!

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值