首页 > 其他分享 >小白初识之C语言二

小白初识之C语言二

时间:2024-07-15 20:28:50浏览次数:13  
标签:函数 递归 补码 取反 C语言 小白 初识 else 循环

重构:不增加代码功能,对代码结构的调整和优化,为了维护和拓展


1. 流程控制
- 顺序结构
- 分支结构(判断\选择)
- 循环结构


2. 分支
- if
- if else (三元运算替代)
- if else if else if else (多路分支)
- switch-case 多路分支,有限,简洁

3. 数组

- 一个标识符,存储多个值(大小是不可变)
- 字符串string是字符数组


4. 循环结构
- for: 循环次数确定
- while: 循环次数不确定,先判断在执行
- do-while: 循环次数不确定,先执行再判断

// 1 初始化
// 2 循环条件
// 3 步长
// 4 循环体

for(1; 2; 3){
    // 4 循环体
}

5. 位运算

数值转为二进制进行运算,效率更高

- & 与:两个1得1,否则得0
- | 或:只有一个1就得1,即两个0才得0
- ^ 异或:不一样(相异)得1,相同则得0
- ~ 按位取反:0变1,1变0 (按位取反操作是基于补码表示形式的。因此,在操作有符号整数时,需要了解其补码表示形式。补码的计算规则是将原码取反后加1。这是因为补码表示法可以更好地处理负数和零)
- >> 右移:除以 2^n  (放大、缩小2^n使用位移,效率高)
- << 左移:乘以 2^n

6. 函数

封装:开放闭合原则


6.1  基本概念

命名的代码块,预定义的、可复用的功能单元
函数是C程序的基本单元,C程序由若干个函数组成

函数/方法

函数的作用:
1. 封装
2. 模块化
3. 可复用

函数的大小:100行以内

6.2 定义
- 构成:函数名、参数列表、函数体、返回值类型

6.3 函数递归

一个函数调用自身

部分递归操作,可以使用循环实现(替代);代码更简洁

而部分递归无法使用循环实现:文件遍历,图,汉诺塔

标签:函数,递归,补码,取反,C语言,小白,初识,else,循环
From: https://blog.csdn.net/2301_81729384/article/details/140446359

相关文章

  • 初识PCB过孔
    PCB过孔:连接电路世界的微小桥梁在电子制造业的浩瀚星空中,PCB(PrintedCircuitBoard,印刷电路板)无疑是那颗最耀眼的星辰之一。作为电子设备的核心组成部分,PCB承载着电子元器件的互联与通信重任。而在这错综复杂的电路网络中,PCB过孔(Via)则扮演着至关重要的角色,它们如同微小的桥......
  • C语言<<左移运算符
    在C语言中,<<是位左移运算符(BitwiseLeftShiftOperator)。这个运算符用于将一个数的各二进制位全部左移若干位,由运算符右侧的数指定移动的位数,左侧操作数的位将向左移动,移动的位数由右侧操作数决定。移动过程中,左侧操作数左侧超出位数的部分将被丢弃,而在右侧增加的部分将用......
  • 初识铺铜与切铜
    铺铜和切铜是PCB(PrintedCircuitBoard,印刷电路板)设计中的两个重要步骤,它们各自具有特定的目的和操作方法。铺铜定义:铺铜是指在PCB电气层上添加整块的铜皮,用以填充没有布线的区域或闲置的空间。这些铜区也被称为灌铜或敷铜。铺铜是PCB设计中的一个重要环节,对于提高电路板......
  • Python学习 - 字典篇 新手小白也能懂
    目录一、字典的定义二、字典的声明1.用{}声明2.dict()三、字典的键与值四、字典的常见操作1.in成员运算符2.可迭代(三种遍历类型)第一种第二种第三种3.get4.添加或修改元素5.删除6.更新字典五、结语一、字典的定义在Python中,字典是一种无序的、可变的数......
  • 打造个人贴身助理-小白必备AI技能
    打造个人贴身助理-小白必备AI技能将你的公众号接入AI智能体登录后台开启开发者功能coze后台创建bot登录Coze国内官网地址:https://www.coze.cn。点击右上角【开始使用】。创建智能体点击左上角【创建Bot】配置选择模型配置人设和插件发布到自己的公众号成功发......
  • C语言指针
    指针引用与指针引用&指针*必须初始化可以不初始化不能为空可以为空不能更换目标可以更换目标初始化案例int&r;//不合法,没有初始化引用int*p;//合法,但p为野指针,使用需要小心(1)是否需要初始化由于引用不能为空,所以我们在使用引用的时候......
  • C语言的编译和链接
    翻译环境和运⾏环境在ANSIC的任何⼀种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令。第2种是执⾏环境,它⽤于实际执⾏代码。翻译环境那翻译环境是怎么将源代码转换为可执⾏的机器指令的呢?这⾥我们就得展开开讲解⼀下......
  • C语言中关键字static
    前言    在C语言中,static 是一个关键字,它可以用在不同的上下文中,赋予变量或函数不同的意义。static 关键字主要用于控制变量的存储期和可见性,以及函数的链接性。下面是 static 关键字的主要作用原理与用途:局部静态变量    当 static 修饰局部变量时(即......
  • 【JVM_01】——初识JVM运行流程
    目录1-引言:初识JVM1-1JVM是什么?(What)1-1-1概念1-1-2优点1-2为什么学习JVM?(Why)2-核心:JVM工作的原理(How)⭐2-1JVM的组成部分及工作流程2-2学习侧重点3-小结(知识点大纲):3-1JVM组成3-2类加载器3-3垃圾回收3-4JVM实践1-引言:初识JVM1-1JVM是什么?(......
  • 如何与 LLMs 有效沟通?6位数提示词工程师经验(LLMs 提示词小白必学)
    除非你活在太空里,完全脱离了现代社交媒体和新闻的关注,否则你不太可能错过大型语言模型    欢迎来到云闪世界。除非你活在太空里,完全脱离了现代社交媒体和新闻的关注,否则你不太可能错过大型语言模型(LLM)的突飞猛进带给我们生活中的革命性进步。LLM的演变。......