C语言期末考试知识点

目录

目录

一、关键字介绍

二、字符和ASCII编码

三、字符串和\0 

四、转义字符

一、关键字介绍

C语言中有一批保留的名字的符号,如:if、int、return这些符号称为保留字或关键字

· 有特殊意义,给C语言保留使用

· 在创建标识符时不能与关键字重复

· 关键字不能自己创建

有关关键字的介绍可以在这个官网了解一下https://zh.cppreference.com/w/c/keyword

#include <stdio.h>
int main()
{
int return;//这个写法是错误的,return作为关键字,不能作为标识符
return 0;
}

二、字符和ASCII编码

在键盘上,我们可以敲出各种字符,如:q、 \、@、#等,这些符号统称为字符

我们知道计算机是以二进制存储数据的,那既然这样,字符应该怎么储存呢?所以就给每个字符编一个二进制序列,叫作编码。例如 00001——a、00010——b、00100——c(这里只是简单举例一下)。如果每个人给字符定义一个二进制序列,不方便程序员之间交流,容易混乱,美国国家标准学会(ANSI)出台一个标准的ASCII编码。https://zh.cppreference.com/w/cpp/language/ascii

 

有一些人看了之后,就赶紧把表内的编码值埋头猛猛的背了一遍,可千万别这样做,我们只需要记住一些常用的编码值就够用了。

字符A~Z  ASCII码值从 65~90

字符a~z  ASCII码值从97~122

字符0~9  ASCII码值从  48~97

换行\n  ASCII码值 10

ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察

总结一下:由于字符不能在内存中存储,所以定义该数字表示符号(用来存储运算),形成ASCII编码 —— 相当于英汉字典用来查询

#include <stdio.h>
int main()
{
printf("%d\n",a);//运行结果为97
return 0;
}

#include <stdio.h>
int main()
{
printf("%c\n",97);//运行结果为a
return 0;
}

 

三、字符串和\0 

双引号括起来的一串字符称为字符串 “abc”

补充:单引号括起来的是字符 ‘a’


特殊知识:字符串的结尾隐藏一个\0字符,这个字符是字符串结束的标志。所以在使用库函数printf()和strlen()遇\0就结束运行。

#include <stdio.h>
int main()
{
char arr1[] = {"abcde"}//arr1中含有\0
char arr2[] = {'a','b','c','d','e'}//arr2中没有\0
printf("%d\n",strlen(arr))://结果为 abcde
printf("%d\n",arr1);//结果为 abcde烫烫烫烫烫烫烫烫烫烫烫包?V
return 0;
}
//arr2没有\0,所以只有当检索到\0才会停止

strlen是一个函数——求字符串的长度,统计的是\0前字符串的个数。

strlen返回值是size_t类型,应使用%zd,使用时包含头文件<string.h>

关于该函数后期会出一个该函数的详细介绍

四、转义字符

在上面代码中我们经常可以看到有\n、\0字符,这类普通字符通过结合转变为特殊字符称转义字符。

转义字符有许多种,但我们只需要记住常见的即可

/?:连续多个问号使用,防止解析为三字母词,在新的编译器已经无法验证了

在支持三字母编译器上

printf(“(are you ok??)")//结果为(are you ok]
//三字母编译器上支持   ??) ——>]      ??( ——>[

\a :警告字符,蜂鸣

\b :退格键,光标回退一个字符,但不删除字符

printf("a\bcde")//结果为cde,a被b覆盖,后面继续打印
printf(”abcde\b“)//结果为abcde,后面没有字符,光标回退后打印结束

\f :换页,光标移到下一页,在现代系统已经反映不出来了,行为类似为\V

\r :回车符,光标移到同一行的开头

\t :制表符,光标移到下一处水平制表符,通常是4或8的倍数

printf(”a\tab\tabc\tab")//a       ab      abc     ab
//打印一个a空7个字符
//再打印ab空6个字符
//再打印abc空5个字符
//最后打印ab
//按八个字符对齐,不足的空格补上

字符8或16进制表示形式

\ddd :d d d表示1~3个八进制数字  如\130表示字符X

\xdd : d d表示2个十六进制数字     如\x36表示字符0

将\后8进制数字转换为10进制的数字,这个数字作为ASCII码值表示的字符


\0 : null字符,代表没有字符,\0是\ddd转义字符的一种,用于表示字符串结束标志,其ASCII码值是0

转义字符参考:https://zh.cppreference.com/w/c/language/escape

下期内容更精彩,尽请期待下一集🥷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值