首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言常见概念、数据类型以及变量的一些重要知识点总结

C语言常见概念、数据类型以及变量的一些重要知识点总结

作者头像
艾莉丝努力练剑
发布2025-11-12 18:25:26
发布2025-11-12 18:25:26
110
举报
文章被收录于专栏:C / C++C / C++

正文

一、在VS中创建新的空项目后要修改文件名后缀

文件名后缀非常重要,C语言把 .c 为后缀的文件称为源文件,把 .h 为后缀的文件称为头文件,C++语言则把.cpp为后缀的文件称为源文件,在创建新的空项目后要修改后缀名,

如图,鼠标右键点击【解决方案资源管理器】,光标移动到【源文件】上,会出现【添加】,点击【新建项】,会出现这个界面——

这里默认的文件后缀是.cpp,即C plus plus,是C++的另一种书写形式,默认为C++的源文件,需手动修改为.c后缀,点击【添加】,即可编写代码了!

二、库函数的注意事项及printf打印的一些知识点

库函数的概念:为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了⼀组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函数其他编译器不⼀定支持)。

通俗地讲,库函数就是C语言仓库里有的、直接能用的,注意,库函数使用需要包含头文件,以printf库函数为例,printf库函数需要包含的头文件如下——

代码语言:javascript
复制
#include <stdio.h>

下图中代码中使用了 printf 函数,实现了信息在屏幕上的打印,printf 就是⼀个库函数。

代码语言:javascript
复制
printf("hello C\n")

"std"是standard(标准)的缩写,"i"即input(输入),"o" 即output(输出),".h"是头文件。

在这里我再介绍一下printf函数的一些知识点,printf即print (打印)+ format (格式),下面举几个例子——

代码语言:javascript
复制
printf("%c",'q');//%c表示打印字符
printf("%d",123);//%d表示打印整数
printf("%f",3.5);//%f表示打印小数,默认小数点后6六位

其中%c、%d、%f都是占位符,在代码中分别用q、123、3.5替换 。

三、Ascll码表的常识

1、Ascll码值:0~127 2、0~31为不可打印字符无法在屏幕上观察

3、A~Z:65~90 3、a~z:97~122 4、大写字母和小写字母的Ascll码值的差值为32

5、大写字母与小写字母的Ascll码值转换:大写字母Ascll码值+32=小写字母码值

6、\n的Ascll码值:10 7、0~9的Ascll码值:48~57

8、'0'——字符0——48;0——数字0——0

9、dec——十进制,oct——八进制,hex——十六进制,ch——字符

四、转义字符——重点总结 \0、\ddd以及\xdd字符的相关知识

1、\0字符

注意:\0是字符串结束的标志

如图所示

这时我们不禁产生了一个疑问:为什么会出现一些随机值?显然,这就是因为arr1在末尾的时候没有\0字符作为结束标志,如下图所示——

代码语言:javascript
复制
char arr1[]={'a','b','c'};

为什么arr2打印正常?这是因为双引号里的是字符串,默认有\0。

只要对arr1的代码稍作修改就能避免出现随机值,具体修改如下——

代码语言:javascript
复制
char arr1[] = { 'a','b','c','\0' };

我们在使用库函数 printf() 打印字符串或者strlen() 计算字符串长度的时候,遇到\0 的时候就自动停止了,值得留意的是,计算字符串长度时只计\0之前的字符

2、\ddd字符和\xdd字符

知识点

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

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

我们通过一个例子来加深一下印象——

问:\189 是一个\ddd型转义字符吗?——答:不是,因为8和9不在八进制的数字范围之内

在此补充拓展一个知识点,这对于理解数字符长度中很有帮助——

二进制的数字:0~1 八进制的数字:0~7 十进制的数字:0~9 十六进制的数字:0~15

五、sizeof操作符对数据类型长度的计算相关问题

我们先来了解一些概念:

1、sizeof 是⼀个关键字,也是操作符,专门是用来计算sizeof的操作符数的类型长度的,单位是字 节。

2、sizeof 操作符的操作数可以是类型,也可是变量或者表达式。

3、sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。

4、sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出大小。

5、sizeof 的计算结果是 size_t 类型的——为了程序的可移植性,C语言创造了⼀个类型别名 size_t ,用来统一表示 sizeof 的返回值类型。

举个例子,如下图所示——

代码语言:javascript
复制
#include <stdio.h>

int main()
{
 int a = 10;
 printf("%zd\n", sizeof(a));
 printf("%zd\n", sizeof a);//a是变量的名字,可以省略掉sizeof后边的() 
 printf("%zd\n", sizeof(int));
 printf("%zd\n", sizeof(3 + 3.5));
 return 0;
}

重点来了!.sizeof 中的表达式不计算!

代码语言:javascript
复制
//测试:sizeof中表达式不计算

#include <stdio.h>

int main()
{
 short s = 2;
 int b = 10;
 printf("%d\n", sizeof(s = b+1));
 printf("s = %d\n", s);
 return 0;
}

在编译期间已经将sizeof处理掉了,表达式的执行却要在程序运行期间才能执行,所以在运行期间就不会执行表达式了。

六、signed和unsigned

signed关键字:表示一个类型带有正负号

unsigned关键字:表示一个类型不带有正负号,只能表示正整数和零

注:对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int,所以说直接写int默认有符号,相当于省略了signed——

代码语言:javascript
复制
signed int a;

// 等同于int a;

int 类型也可以不带正负号,只表示非负整数,这时就必须使用关键字 unsigned 声明变量,unsigned int ⾥⾯的 int 可以省略,写成这样——

代码语言:javascript
复制
unsigned a;

但是对于char类型,C语言规定 char 类型默认是否带有正负号,由当前系统决定。这就是说,char 不等同于 signed char ,它有可能是 signed char ,也有可能是unsigned char 。

代码语言:javascript
复制
signed char c; // 范围为 -128 到 127 

unsigned char c; // 范围为 0 到 255

这⼀点与 int 不同, int 就是等同于 signed int 。

七、全局变量和局部变量同名时,局部变量优先

这里就直接开门见山啦,全局变量与局部变量同名时,局部变量优先,正应了那句俗话“强龙不压地头蛇”,代码示例如下:

代码语言:javascript
复制
#include <stdio.h>

int n = 1000;

int main()
{
 int n = 10;
 printf("%d\n" n);//打印的结果是多少呢? 
 return 0;
}

打个比方,全局变量是共享单车,局部变量就是家用自行车,家里都有自行车哩,还会去骑共享单车嘛,当然这只是个玩笑,并不严谨哈。

全局变量和局部变量在内存中存储在哪里呢?算术操作符有哪些?等等内容将会在之后的博客中更新。

结尾

结语:本篇文章就到此结束了,本文为友友们分享了C语言的一些常见概念、数据类型以及变量的一些重要知识点总结,如果友友们有补充的话欢迎在评论区留言,下一期我们将继续介绍操作符剩下的一些重要知识点,感谢友友们的关注与支持!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文
  • 一、在VS中创建新的空项目后要修改文件名后缀
  • 二、库函数的注意事项及printf打印的一些知识点
  • 三、Ascll码表的常识
  • 四、转义字符——重点总结 \0、\ddd以及\xdd字符的相关知识
    • 1、\0字符
    • 2、\ddd字符和\xdd字符
  • 五、sizeof操作符对数据类型长度的计算相关问题
  • 六、signed和unsigned
  • 七、全局变量和局部变量同名时,局部变量优先
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档