C语言编程入门之--第六章C语言控制语句

导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用。 6.1 什么是控制语句 翻回第一章,当时为了讲解计算机程序,举了一个打酱油的例子: 第一种做法:首先要准备好100块钱, ... »

空间换时间,查表法的经典例子

前言 上一篇分享了:C语言精华知识:表驱动法编程实践 这一篇再分享一个查表法经典的例子。 我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待。本篇笔记我们先不考虑代码可读性、规范性、可移植性那些角度。 在我们嵌入式中,我们需要根据实际资源的情况来设计我们的代码。比如当我们能用的存储器空 ... »

浅谈链接器

链接器是一个将编译器产生的**目标文件打包**成可执行文件或者库文件或者目标文件的程序。 链接器的作用有点类似于我们经常使用的压缩软WinRAR(Linux下是tar),压缩软件将一堆文件打包压缩成一个压缩文件,而链接器和压缩软件的区别在于链接器是将多个目标文件打包成一个文件而不进行压缩。 ... »

快速复习C语言 - 1变量与运算符

本篇为快速复习C语言系列之第一篇:变量与运算符。由于是复习用,所以并非针对完全零基础的同学。当然,有其他编程底子的同学是可以的。 本篇着重讲述运算符,特别是位运算。对于十分基础的变量定义只是一笔带过。 ... »

2020年你最需要掌握的11种编程语言

编程语言是程序员们的老朋友,据统计,世界上一共有600多种编程语言,那么最常用的,我们最应该掌握的都有哪些?根据openPR上发表的《编程语言全球市场调研报告及2018-2023预测》,推荐程序员掌握的编程语言有以下11种(按字母顺序排列)。 C/C++ 根据 TIOBE 2020年5月的报告,C语 ... »

排序算法之冒泡排序

冒泡排序 前置知识 确定数组需要传入两个参数: 数组的首地址和数组元素的个数 冒泡规则,假设一个 int a[5] 的数组,升序规则如下 ​ 第一次排序 : 1. a[0]与a[1]比较,大的值放在a[1],小的值放在a[0]; 2. a[1]与a[2]比较,大的值放在a[2],小的值放在a[1]; ... »

15分钟让你了解如何实现并发中的Barrier

说到Barrier,很多语言中已经是标准库中自带的概念,一般情况下,只需要直接使用就行了。而最近一些机缘巧合的机会,我需要在c++中使用这么个玩意儿。但是c++标准库里还没有这个概念,只有boost里面有这样现成的东西,而我又不想为了这么一个小东西引入个boost。所以,我借着这个机会研究了下,发现 ... »

c语言指针汇总

1.指向单个变量的指针; 2.数组的指针 (1)一维数组的指针 (2)二维数组的指针 (1)列指针 (2)行指针 (指向数组的指针) 3.指向函数的指针 4.指向指针的指针(有时候在想前面的*是不是可以无限写下去……) 5.指针数组 6.返回指针值的函数 7.文件指针 FILE *fp; 这里用词不 ... »

C语言编程入门之--第四章C语言基本数据类型

导读:C语言程序中经常涉及一些数学计算,所以要熟悉其基本的数据类型。数据类型学习起来比较枯燥,不过结合之前的内存概念,以及本节的字节概念,相信数据类型也就不难理解了。本章从二进制的基本概念开始,然后介绍机器语言通用的计算单位字节,最后再介绍C语言中基本的数据类型及其基本概念。 4.1 二进制、字节 ... »

C语言编程入门之--第三章编写第一个C语言程序

第三章 编写第一个C语言程序 导读:一般学一门计算机语言的第一堂上机课(“上机”顾名思义,上了计算机),就是往屏幕输出“hello world”,本章也不例外。 1.1 Hello,World! 这一节和读者一起来编写第一段C语言程序,过程详细到令人发指。 1.1.1 创建C语言源码文件 打开 De ... »

C语言编程入门之--第二章编译环境搭建

第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关键的桥接作用。本章主要先从C语言编译的全过程开始分析,然后介绍常用的编译器工具,最后介绍本系列博客使 ... »

C语言编程入门之--第一章初识程序

第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言程序进行比较,说明作为一个C语言程序员需要具备的基本理论知识,本章末端简单的描述windows中一个 ... »

置顶:关于本博客(尤其是文章版权)

目录 一、我的C语言答疑课程二、文章版权说明三、本专栏文章合集四、内容合作事宜五、我的C语言答疑平台信息六、我的C语言教学理念 一、我的C语言答疑课程 1、“C语言就是这么简单”课程系列 1. C语言入门课程名:你可以这样学习C语言学习地址:今日头条专栏: 你可以这样学习C语言 2. C语言指针课程 ... »

15分钟带你了解虚拟内存

前言 这篇文章主要是想尽量直观的介绍虚拟内存的知识,而虚拟内存的知识不管作为在校学生的基础知识,面试的问题以及计算机程序本身性能的优化都有着重要的意义。而起意写这篇文章主要还是因为在python,人工智能的大浪潮下,我发现好多人对这方面真的无限趋近于不知道。我不是说懂这些基础知识比懂人工智能水平就是 ... »

用一个宏实现求两个数中的最大数

在面试或者笔试中,经常会碰到“用一个宏实现求两个数中的最大数”这个题目,大家看到这个问题,觉得很容易实现,认为这有什么难度呢,随手就能写出一个,但是这写出来的宏定义有多少含金量呢,待考察。 ... »

【C语言项目】贪吃蛇游戏(上)

00. 目录 [TOC] 01. 开发背景 ​ 贪吃蛇起源于西方,来自于蛇骗夏娃和亚当偷吃禁果的神话。人们为了说明蛇的一个“贪”字,开发出了贪吃蛇游戏。本公开课使用 C语言 开发一个贪吃蛇游戏。 ​ 贪吃蛇最初为人们所知的是诺基亚手机附带的一个小游戏,它伴随着诺基亚手机走向世界。现在的贪吃蛇出现了许 ... »

nginx中使用 md5

core/ngx_md5.h 头文件 调用步骤 例子 cpp static int calculate_md5(ngx_str_t str) { ngx_md5_t md5; int i; char md5_buf[16], md5_buf2[32], buf[1234]; if (str len ... »