| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C语言入门必备知识【上】 -> 正文阅读 |
|
[C++知识库]C语言入门必备知识【上】 |
目录 1.用“hello world”打开新世界的大门相信很多小伙伴在学习编程语言的过程中,不管是什么语言,接触到的第一个代码一定会是“hello world”,在C语言的学习过程中也不例外。下面我们来看看这个代码:
?#include <stdiio.h> 的目的是为了让我们可以访问标准I/O库中的函数(例如scanf和printf),这组函数用于执行输入和输出。 2.基本数据类型在C语言中,仅有4种基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等)。 整型和浮点型如下:
我们可以通过关键字 sizeof 来计算各种数据类型的大小: ps:关键字 sizeof是计算变量所占空间大小的关键字,单位是字节。 看到这里可能有人就要问了:为什么 long 和 int 计算出来的大小一样啊?那是因为C语言中规定长整型的大小至少应该和整型一样,在不同的编译器中long的大小可能不同。 ?正因为C语言中有这么多的数据类型并且各种类型的大小不同,更加丰富地表达了生活中的各种值。 3.变量与常量3.1变量变量分为全局变量和局部变量 下面我们来看一下全局变量和局部变量的区别:
?3.2变量的使用
?3.3变量的作用域和生命周期3.3.1作用域
1.局部变量的作用域就是变量所在的局部范围。当出了这个范围后,再次使用就会报错(未定义的标识符) ?2.全局变量的作用域为整个工程(不管是否在同一个源文件,当定义的全局变量不在同一个源文件时,只需要加上extern这个关键字就能使用该全局变量)。 ?3.3.2生命周期
3.4常量C语言中的常量分为以下以下几种:
3.4.1字面常量
3.4.2 const修饰的常变量当一个变量被const修饰后,他就具有了常属性。不能直接修改他的值。 但如果仍想要修改,可以通过指针来进行修改。 ?尽管当变量被const修饰后具有了常属性,但他的本质还是一个变量!! ?如图,在定义数组时,[ ]内的值必须是一个常量,尽管p具有了常属性,但他仍然时一个变量。 ?3.4.3?#define 定义的标识符常量?通过arr数组的定义我们就可以发现,MAX实际上是一个常量。define关键字定义的常量会在预处理阶段将所有的MAX替换为1000。 ?3.4.4 枚举常量枚举类型是指他的值为符号常量而不是字面值的类型。它们以下面这种形式声明:
此时male为0,female为1,secret为2。 如果将female赋值为20,那么male为0,secret为21。 4.字符串4.1 字符串
这种由双引号引起来的一串字符称为字符串字面值或者简称字符串。
?arr1中有6个字符,所以在计算出的长度为6,一个字符所占的空间为一个字节,而arr1计算出的为7个字节,刚好印证了上面所说的 \0 也要占用空间。 arr2中只有3个字符,但是没有包含 \0 ,所以求出来的字符串是一个随机值。 4.2 常量字符串在字符串常量的储存形式中,所有的字符和 '\0' 都储存于内存的某个位置。 字符串常量一般和指针放在一起讨论,因为在程序中使用字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所储存的地址,而不是这些字符本身。因此,可以把字符串常量赋值给一个“指向字符的指针”,后者指向这些字符所储存的地址。但是,不能将字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。
这条语句把message声明为一个指向字符的指针,并用字符串常量中第一个字符的地址对该指针进行初始化。? 5.转义字符当我们要在屏幕上打印一个目录为? ?"c:\code\test.c\n"? 时, 我们应该怎样写代码?下面这个代码对吗? ?我们可以看到,打印出来的结果与我们想要的结果似乎有点出入。那是为什么呢? 原来,这时因为C语言中存在转义字符的原因。下面我们就来看看C语言中有哪些转义字符:
6.注释
总结
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 12:48:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |