🔥个人主页:艾莉丝努力练剑

❄专栏传送门:《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题

🍉学习方向:C/C++方向

⭐️人生格言:为天地立心,为生民立命,为往圣继绝学,为万世开太平


前言: 我们在学习过程中会碰到很多很多问题,本系列文章不会博主不会额外再创建一个新的专栏来收录,因为这一系列文章创作的初心主要是针对回顾知识点(遵循遗忘曲线并且根据自身的实际情况可以做出一些计划,回顾知识点很重要)、缓解学习过程中的可能出现的焦虑等等。主包就不另外开一个专栏了,uu们可以把本系列的文章作为【C语言】专栏的后日谈来看。

主包学习能力很一般,学起语言、算法来和大佬们完全无法比。主包正儿八经开始学C++是从今年的4月24号开始的,主包学习能力真的很一般,C语言这个基础也不扎实,看主包文章的诸位一定是比主包要强的,但主包学习过程中碰到的麻烦、思考、和做的知识点回顾对大家还是有用的。


 


目录

正文 

三、知识点回顾

(一)认识编译器

 (二)文件后缀名

(三)C语言常见概念、数据类型以及变量的其它补充(杂谈居多) 

1、main函数写法

2、printf函数

3、占位符

4、一些术语

5、define

6、关键字(保留字)

7、ASCII码表

8、字符串

9、转义字符

(1)\0

(2)\ddd

(3)转义字符

10、其它

11、strlen函数

结尾


正文 

三、知识点回顾

书接上文,我们本文正式开始知识点的回顾。

(一)认识编译器

人机交流使用的是机器语言,

我们电脑上面可以安装一些编译器来写代码,比如说VS2022、XCode、CodeBlocks、DevC++、Clion、gcc、CMake、MSVC、Clang、VS2019、VS2013、VS2008、VS2010等编译器。有uu们可能要问,那VSCode呢?哈哈哈哈,问得好。VSCode不是编译器,VSCode是集成开发环境,简称“IDE”。我们可以在VSCode配置不同语言的开发环境,不建议新手用。

对于编译器,博主比较推荐VS2022。VS2022使用方便,上手快。

像MSVC、gcc、XCode、VS2022、DevC++、Clang,算是比较常见的编译器。

这几个编译器我们简单介绍一下:

(1)MSVC:微软开发的编译器;

(2)Clang:苹果开发的编译器;

(3)XCode:苹果电脑自带的编译器;

(4)gcc:没想到吧,这位老熟人也是编译器。

 (二)文件后缀名

.c源文件;.h头文件;

.cpp(C plus plus)。

xxx.c——C程序的源文件;

xxx.cpp——C++程序的源文件。

(三)C语言常见概念、数据类型以及变量的其它补充(杂谈居多) 

1、main函数写法

一般写法:

int main()
{return 0;
}

其他写法: 

写法(1):

void main()

1、这个是main函数的古老写法。

2、void是无(空)的意思。

写法(2):

int main(void)

 Void表示无(空),表示main函数无需参数。

写法(3):

int main(int argc,char*argv[],char*envp[])

这种写法就很复杂了。 

这里的int即整型(整数),意思就是main函数最终会返回一个整型的值。

2、printf函数

printf是库函数——仓库里有的能直接调用的函数。

单目操作符++、--的前置后置知识点总结,printf函数的一些知识点

注:库函数使用要包含头文件。

#define  _CRT_SECURE_NO_WARNINGS  1#include<stdio.h>int main()
{printf("%c\n", 'q');printf("%d\n", 123);printf("%f\n", 3.4);return 0;
}

" "括字符串,' 括一个字符。 

printf("%c\n", 'q');//%c表示打印字符

printf("%d\n", 123);//%d打印整数

printf("%f\n", 3.4);//%f打印小数,默认小数点后6位

 printf = print + format

             打印     格式

标准输入输出头文件——<stdio.h>,我们拆开来看看:

std:standard(标准);i:input(输入);o:output(输出);h:head(头文件)。

3、占位符

单目操作符++、--的前置后置知识点总结,printf函数的一些知识点

像%c、%d、%f这些就是占位符,在上面printf函数的代码中,我们分别用q、123、3.4替换它。

4、一些术语

库函数、编译器厂商、标准库,C Libarary(C语言库)。

5、define

define——预处理指令。

6、关键字(保留字)

关键字也叫保留字,常用的有32个,保留给C使用。

注意:标识符创建时不能与关键字重复——避其名讳。

打个比方,Typedef就是一个关键字,作用是重新起名

7、ASCII码表

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

我们用一个ch表示字符。

ASCII码值:0 ~ 127;其中0~31位不可打印字符,无法在屏幕上观察。

认识一下几个进制的简写表示:

dec——十进制,0~9;

oct——八进制,0~7;

hex——十六进制,0~15。

A~Z:65~90;a~z:97~122。

大小写ASCII码值转换:

记住A的ASCII码值是65,a的ASCII码值是97——

A -> a——65 + 32 -> 97。

 大小写ASCII码值差32。

大写-->小写—— +32;小写-->大写—— -32。

其他的一些ASCII码值对应符号:

\n——10;

字符0~9——ASCII码值对应为48~57;

'0'——字符0——ASCII码值为48;

0——数字0——0。

8、字符串
"abcdef"//字符串
"abc"//字符串
"a"//字符串
" "//空字符串

我们打印字符串用的占位符是%s。 

9、转义字符
(1)\0
char arr1[] = "abc";
char arr2[] = { 'a','b','c','\0' };

这里\0是字符串结束标志。 

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

\0、\n都是字符——转义字符;

我们做一个简单的区分:/——除号;\——斜杠。

(2)\ddd

\ddd:1~3个八进制数字,比如\121;

(3)转义字符

\'、\"、\?、\\、\0、\n、\t、\a、\b、\r等等都是转义字符。

\a:警报;

\b:光标回退一格;

\?:新编译器无法验;

\\:反斜杠;

\0:\0是字符串结束标志,也是转义字符;

\r:光标回到同一行行首;

\t——tab对齐(按4/8的倍数对齐)

10、其它

(1)*.exe所有.exe文件;

.gitignore忽略了不想要的文件。

(2)栈区、堆区、静态区;

(3)变量有局部变量,也有全局变量。 

11、strlen函数

sizeof计算数组元素个数、strlen函数相关的一些知识点以及两者的区别

strlen——string length——统计字符串长度

#define  _CRT_SECURE_NO_WARNINGS  1#include<stdio.h>int main()
{int len = strlen("abcdef");return 0;
}

 这里字符串长度为6,\0不统计,strlen函数只统计结束标志(\0)之前的字符。


结尾

往期回顾:

【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(一)

结语:本篇文章内容回顾到这里就结束了,希望对大家伙有所帮助。如果大家觉得文章有帮助的话,记得一键四连——点赞、收藏、关注、评论!谢谢uu们的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912687.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912687.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912687.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AD8021ARZ-REEL7【ADI】300MHz低噪声运放放大器,高频信号处理的性价比之选!

AD8021ARZ-REEL7&#xff08;ADI&#xff09;产品解析与推广文案 1. 产品概述 AD8021ARZ-REEL7 是 Analog Devices Inc.&#xff08;ADI&#xff09; 推出的一款 高速、低噪声运算放大器&#xff08;Op-Amp&#xff09;&#xff0c;属于 ADI的高性能放大器系列&#xff0c;专为…

WPF学习笔记(11)数据模板DataTemplate与数据模板选择器DataTemplateSelector

数据模板DataTemplate与数据模板选择器DataTemplateSelector 一、DataTemplate1. DataTemplate概述2. DataTemplate详解 二、DataTemplateSelector1. DataTemplateSelector概述2. DataTemplateSelector详解 总结 一、DataTemplate 1. DataTemplate概述 DataTemplate 表示数据…

【V6.0 - 听觉篇】当AI学会“听”:用声音特征捕捉视频的“情绪爽点”

系列回顾&#xff1a; 在上一篇 《AI的“火眼金睛”&#xff1a;用OpenCV和SHAP洞察“第一眼缘”》 中&#xff0c;我们成功地让AI拥有了视觉&#xff0c;它已经能像一个严苛的“质检员”一样&#xff0c;评判我视频的画质和动态感。 但我的焦虑并没有完全消除。因为我发现&a…

(5)pytest-yield操作

1. 简介 上一篇中&#xff0c;我们刚刚实现了在每个用例之前执行初始化操作&#xff0c;那么用例执行完之后如需要清除数据&#xff08;或还原&#xff09;操作&#xff0c;可以使用 yield 来实现。fixture通过scope参数控制setup级别&#xff0c;既然有setup作为用例之前前的操…

C++中的cmath库

在C编程中&#xff0c;数值计算是科学计算、工程应用及算法开发的基础。cmath库作为C标准库的重要组成部分&#xff0c;提供了丰富的数学函数和工具&#xff0c;能够高效处理各种数值计算任务。本文将全面解析cmath库的核心功能&#xff0c;并通过实战案例展示其强大威力。 一…

python包管理工具uv VS pip

在 Python 中&#xff0c;uv 和 pip 都是包管理工具&#xff0c;但它们的定位和特性有所不同。以下是主要区别&#xff1a; 1. pip&#xff08;传统工具&#xff09; 定位&#xff1a;Python 官方的包安装工具&#xff0c;是 Python 生态中最基础的包管理器。特点&#xff1a;…

OpenCv基础(C++)

1.图像读取与显示 #include<opencv2/opencv.hpp> using namespace cv;Mat src imread("C:/Users/16385/Desktop/new/photo/1.jpg");//读取图像 Mat src imread("C:/Users/16385/Desktop/new/photo/1.jpg",IMREAD_GRAYSCALE); //将读取的图像转为灰…

MySQL非阻塞创建索引的方法

文章目录 1. Online DDL (MySQL 5.6)2. pt-online-schema-change 工具3. gh-ost 工具4. 对于MySQL 8.0注意事项 在MySQL中创建大型表索引时&#xff0c;传统方式会阻塞表的写操作&#xff0c;影响生产环境使用。以下是几种非阻塞创建索引的方法&#xff1a; 1. Online DDL (My…

数字雨动画背景

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>数字雨动画背景</title><style>* {m…

分布式锁的概念与应用场景

一、分布式锁的核心概念 分布式锁是一种在分布式系统环境下&#xff0c;用于保证多个进程/节点对共享资源实现互斥访问的机制。其本质是通过某种中间件&#xff08;如Redis、ZooKeeper等&#xff09;实现跨节点的锁控制&#xff0c;确保在分布式环境中&#xff0c;同一时刻只有…

js代码09

题目 好的&#xff0c;我们继续。 在上一个练习中&#xff0c;我们深入探讨了 this 的复杂性。你会发现&#xff0c;ES6 引入的 class 语法在很大程度上就是为了简化 this 的使用&#xff0c;并为 JavaScript 提供一个更清晰、更熟悉的面向对象编程&#xff08;OOP&#xff0…

基于Airtest的App数据爬取实战:突破传统爬虫的边界

引言:App数据爬取的技术困境 在当今移动优先的时代,App已成为企业核心数据载体,然而​​传统爬虫技术​​在App数据获取上面临三大难题: ​​协议层屏障​​:加密HTTPS、SSL Pinning等技术阻断中间人攻击​​渲染层障碍​​:React Native、Flutter等跨平台框架使DOM解析…

【LeetCode 热题 100】560. 和为 K 的子数组——(解法一)前缀和+暴力

Problem: 560. 和为 K 的子数组 题目&#xff1a;给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。 【LeetCode 热题 100】560. 和为 K 的子数组——&#xff08;解法二&#xff09;前缀和…

android车载开发之HVAC

目前主要在做车载hvac的开发&#xff0c;主要的一些功能主要是hvac&#xff0c;座椅&#xff0c;香氛&#xff0c;设置等的一些模块&#xff0c;具体模块下&#xff0c;比如 1.空调 ac&#xff0c;智能模式&#xff08;极速降温&#xff0c;极速采暖&#xff0c;智能除味&…

深度学习 Diffusers 库(自留)

&#xff08;本文将围绕 安装Diffusers库及其依赖、理解Diffusers核心概念&#xff1a;Pipeline, Model, Scheduler 、使用预训练模型进行推理&#xff08;文生图、图生图等&#xff09; 、 自定义模型和调度器 、训练自己的扩散模型&#xff08;可选&#xff0c;需要大量资源&…

【VPC技术】基础理论篇

文章目录 概述相关基础核心知识软件定义网络SDNOverlay 技术 安全组概述 参考博客 &#x1f60a;点此到文末惊喜↩︎ 概述 相关基础 基本概念 虚拟私有云VPC&#xff1a;是一个隔离的网络环境&#xff0c;每个VPC拥有专属的IP地址范围&#xff08;CIDR&#xff09;、路由表、…

在 RK3588 Ubuntu 上编译 eglinfo:全流程实战 + 常见报错修复

dv1/eglinfo 是一个开源的 EGL 信息检测工具&#xff0c;广泛用于 OpenGL ES 图形栈调试、驱动验证和嵌入式平台图形支持排查。在 Rockchip RK3588 上编译该工具可以协助我们确认 EGL DRM 是否配置正确&#xff0c;尤其在无窗口系统&#xff08;如 eglfs、framebuffer&#xf…

开源推荐:基于前后端分离架构的WMS仓储管理系统

开源推荐&#xff1a;基于前后端分离架构的WMS仓储管理系统 &#x1f525; 在线演示地址&#xff1a;https://tob.toolxq.com/wms/wms.html 点击上方链接可直接体验系统功能和界面&#xff0c;无需安装部署 前言 在企业数字化转型的浪潮中&#xff0c;仓储管理系统&#xff08…

Redis中List类型常见的操作命令有哪些?

Redis中List类型是一个字符串列表&#xff0c;这里是一些常见的命令&#xff1a; 1&#xff09;lpush:将一个或多个值插入到列表头部。列表不存在&#xff0c;一个新的列表会被创建。 2&#xff09;rpush:将一个或多个值插入到列表尾部。 3&#xff09;lpop:移除并返回列表头…

mac重复文件清理,摄影师同款清理方案

摄影师小林盯着屏幕上的警告&#xff1a;“存储空间不足”&#xff0c;离截稿只剩3小时。她的MacBook如同塞满回忆的阁楼&#xff0c;128GB的“其他”空间神秘消失。翻看照片库时&#xff0c;她惊讶地发现——同一组西藏雪山照片竟有十几个副本&#xff01;这是mac重复文件问题…