| |
|
开发:
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++知识库]【c语言】初识c语言总结 |
1.数据类型 char // 字符型 short // 短整型 int // 整型 long // 长整型 long long // 更长的整形 float // 单精度浮点型 double // 双精度浮点型 (如何计算各种类型的大小呢?)
2.变量和常量 生活中有些值是不变的量,即常量,如姓名、性别、身份证号等等;与此同时又有些量是变量,如年龄、成绩、薪资等等。在c语言中同样存在常量和变量之分。
? ? int num=10; ? ? float weight=70.6;
? //当局部变量和全局变量同名时,局部变量优先使用。
作用域 ? ? 作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的。而限定这个名字的可用性的代码范围就是这个名字的作用域。 ? ? 1.局部变量的作用域是变量所在的局部范围 ? ? 2.全局变量的作用域是整个工程 生命周期 ? ? 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段 ? ? 1.局部变量的生命周期:进作用域生命周期开始,出作用域生命周期结束 ? ? 2.全局变量的生命周期:整个工程的生命周期
? ? C语言中的常量和变量的定义的形式有所差异。 ? ? C语言中的常量分为以下以下几种: ? ? ? ? 字面常量 ? ? ? ? const 修饰的常变量 ? ? ? ? #define 定义的标识符常量 ? ? ? ?枚举常量
上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了 变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。 4.字符串+转义字符+注释
? ? ? “hello,world.\n” ? ? ??这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。 ? ? ? 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
? ? ? 假如我们要在屏幕上打印一个目录: c:\code\test.c ? ? ? 我们该如何写代码?
? ? ??实际上程序运行的结果是这样的: ? ? ??这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。 ? ? ? 下面看一些转义字符:
5.注释 ? ??1. 代码中有不需要的代码可以直接删除,也可以注释掉 ? ? 2. 代码中有些代码比较难懂,可以加一下注释文字 ? ??注释有两种风格: ? ? ? C语言风格的注释 /*xxxxxx*/? ?缺陷:不能嵌套注释 ? ? ? C++风格的注释 //xxxxxxxx? ? ?可以注释一行也可以注释多行 6. 选择语句 ? ? 如果你好好学习,校招时拿一个好offer,走上人生巅峰。 ? ? 如果你不学习,毕业等于失业,回家种地。 ? ? 这就是选择!
7.循环语句 ? ? 有些事必须一直做,比如老师日复一日的讲课,学生们日复一日的学习。 ? ? C语言中如何实现循环呢? ? ? while语句 ? ??for语句 ? ? do ... while语句
8.函数
? ? 函数的特点就是简化代码,代码复用。 9.数组 ? ? 要存储1-10的数字,怎么存储? ? ? C语言中给了数组的定义:一组相同类型元素的集合
? ? ??int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
? ? ? C语言规定:数组的每个元素都有一个下标,下标是从0开始的。 ? ? ? 数组可以通过下标来访问的。 比如: ? ? ? ? int arr[10] = {0}; //如果数组10个元素,下标的范围是0-9
10. 操作符 ? ? 算数操作符:+? ?-? ?*? ?/? ?% ? ? 移位操作符:>>? ?<< ? ? 位操作符:&? ?^? ?| ? ? 赋值操作符:=? ?+=? ?-=? ?*=? ?/=? ?&=? ?^=? ? |=? ? >>=?? <<= ? ? 单目操作符:! ? ? ? ? ? 逻辑反操作 ? ? ? ? ? ? ? ? ? ? ? ? ? - ? ? ? ? ? 负值 ? ? ? ? ? ? ? ? ? ? ? ? ? + ? ? ? ? ? 正值 ? ? ? ? ? ? ? ? ? ? ? ? ? & ? ? ? ? ? 取地址 ? ? ? ? ? ? ? ? ? ? ? ? ? sizeof ? ? ?操作数的类型长度(以字节为单位) ? ? ? ? ? ? ? ? ? ? ? ? ? ~ ? ? ? ? ? 对一个数的二进制按位取反 ? ? ? ? ? ? ? ? ? ? ? ? ? -- ? ? ? ? ?前置、后置-1 ? ? ? ? ? ? ? ? ? ? ? ? ? ++ ? ? ? ? ?前置、后置+1 ? ? ? ? ? ? ? ? ? ? ? ? ? * ? ? ? ? ? 间接访问操作符(解引用操作符) ? ? ? ? ? ? ? ? ? ? ? ? ? (类型) ? ? ? 强制类型转换 ? ? 关系操作符:>? >=? <? <=? != ? 用于测试“不相等” ? ? ? ? ? ? ? ? ? ? ? ? ? ==? ? ? ? ? ? ? ? ? ? ? 用于测试“相等” ? ? 逻辑操作符:&& ? ? 逻辑与 ? ? ? ? ? ? ? ? ? ? ? ? ? ||? ? ? ? 逻辑或 ? ? 条件操作符:exp1 ? exp2 : exp3 ? ? 逗号表达式:exp1, exp2, exp3, …expN ? ??下标引用、函数调用和结构成员:[]? ?()? ?.? ?-> 11.常见关键字 ? ? ?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? ? ?while (先介绍几个)
? ? ? typedef 顾名思义是类型定义,这里应该理解为类型重命名。
? ? ? 在C语言中:static是用来修饰变量和函数的 ? ? ? ? 1. 修饰局部变量-称为静态局部变量 ? ? ? ? 2. 修饰全局变量-称为静态全局变量 ? ? ? ? 3. 修饰函数-称为静态函数
? ? 对比代码1和代码2的效果理解static修饰局部变量的意义。 ? ? 结论: static修饰局部变量改变了变量的生命周期 ? ? ? ? ? ? ? ?让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。
? ? 代码1正常,代码2在编译的时候会出现连接性错误。 ? ? 结论:一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。
? ? 代码1正常,代码2在编译的时候会出现连接性错误 ? ? 结论:一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。 12. #define 定义常量和宏
13. 指针
? ? ??内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。 ? ? ? 变量是创建内存中的(在内存中分配空间的),每个内存单元都有地址,所以变量也是有地址的。 取出变量地址如下:
? ? ? ?那地址如何存储,需要定义指针变量。 ? ? ? ? ? int num = 10; ? ? ? ? ? int *p;??//p为一个整形指针变量 ? ? ? ? ? p = # ? ? ? 指针的使用实例:
? ? ? 以整形指针举例,可以推广到其他类型,如:
? ? ? 结论:指针大小在32位平台是4个字节,64位平台是8个字节。 14. 结构体 ? ? 结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。 ? ? 比如描述学生,学生包含:“名字+年龄+性别+学号”这几项信息。 ? ? 这里只能使用结构体来描述了。 ? ? 例如:
? ? 结构体的初始化:
|
|
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:59:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |