C程序设计语言(K&R)第三章学习笔记

K&R学习笔记 第一章 最近上班了,利用上下班的班车时间,我在路上几乎看完了经典名著《C程序设计语言》。看完后的感觉就是:C语言不过如此!短短不到300页内容,就涵盖了C语言的方方面面,(有的内容我也是第一次才注意到)甚至穿插着讲了栈、二叉树、折半查找、快速排序、哈希表等数据结构与算法的内容。代码编写非常精炼,很适合有一定基础的人提高自己的代码水平。值得注意的是,这本书并没有在后面列参考文献或者值得推荐的读物之类的,这种 阅读详情

3.5

/**************************************
Shell 排序算法是 D.L. Shell 于1959发明
基本思想:先比较距离远的元素
**************************************/

/* shellsort: sort v[0] ... v[n-1] into increasing order */
void shellsort(int v[], int n)
{
	int gap, i, j, temp;

	for (gap = n/2; gap > 0; gap /= 2)
		for (i = gap; i < n; i++)
			for (j=i-gap; j>=0 && v[j]>v[j+gap]; j-=gap;)
			{
				temp = v[j];
				v[j] = v[j+gap];
				v[j+gap] = temp;
			}
}

       最外层的 for 语句控制两个被比较元素之间的距离。从 n/2 开始,逐步进行对折,直到距离为0。中间层的 for 循环语句用于在元素间移动位置。最内层的 for 语句用于比较各对相距 gap 个位置的元素,当这两个元素逆序时把它们互换过来。

        




C 标准简述-K&R、ANSI、C90、C99 K&R C C 语言最初由 Dennis Rithie 于 1969 年到 1973 年在 AT&T 贝尔实验室开发出来的,主要用于重新实现 Unix 操作系统。此时 C 语言叫做 K&R C(K 是 Kernighan 的首字母,R 是 Rithie 的首字母)。 K&R C 语言和后来标准化的 C 语言有很大的差异,比如 如果函数的返回值为 int,则 int 可省,并且编译器不会有任何警告 int my_function(){ } 也可以写成 my_functio 阅读详情

相关推荐

【老生谈算法】可视化通道流中瞬时涡量场的算法实现与MATLAB源码分析——瞬时涡量场

本文旨在探讨可视化通道流中瞬时涡量场的方法,并通过MATLAB编程实现这一过程。涡量场作为描述流体旋涡强度和方向的重要物理量,对于理解复杂流体运动具有重要意义。本文首先介绍了涡量场的基本概念,随后详细阐述了从测量数据收集到涡量场可视化的完整流程,并给出了相应的MATLAB源码。通过实际运行该源码,我们展示了涡量场的可视化结果,并讨论了其在流动结构识别和动力学行为理解中的应用。关键词: 涡量场;流体运动;MATLAB;可视化;PIV一、引言。

m0_53407570的博客 1125

C程序设计语言(K&R)——学习笔记

晚上开写

Kiveen.Zh的专栏 1567

用App Inventor做个蓝牙温湿度计,手机自动连Arduino,5分钟搞定硬件数据上屏

本文详细介绍了如何使用App Inventor和Arduino快速搭建一个蓝牙温湿度监测系统,实现手机自动连接并显示实时数据。通过图形化编程和硬件组装指南,零代码基础的用户也能在5分钟内完成硬件数据上屏,适用于智能家居、教学演示等多种场景。

weixin_30813225的博客 171

【C程序设计语言】第三章-笔记

控制流程序语言中用于控制各计算机操作执行的次序的语句· 语句:表达式之后加上一个分号(;)· 复合语句(程序块):花括号({ })· if-else if-else/* 折半查找函数binsearch:在v[0]<=v[1]<=···<=v[n-1]中查找x */ int binsearch(int x, int v[], int n) { int low, high, mid; lo

zqnevergiveup的博客 550

【DSP】【工程实战】从零构建C6678多核工程:CCS环境配置与启动模式详解

本文详细介绍了在CCS开发环境中从零构建TMS320C6678多核DSP工程的完整流程。内容涵盖KeyStone架构解析、工程创建、基础代码编写、链接命令文件配置、仿真器调试,并重点深入讲解了包括I2C EEPROM在内的多种一级启动模式原理与配置方法,为开发者提供了一套清晰、可复用的实战指南。

weixin_29164185的博客 418

Windows下构建ImGui.Net

工具 Visual Studio 2017 操作 下载项目 git clone https://github.com/mellinoe/ImGui.NET.git 编译 右键以下两个项目并调试: ImGui.NET.SampleProgram ImGui.NET.SampleProgram.XNA Error fix 中间遇到一些问题: SDK版本不对 去微软官网下载安装对应版本 由于设置了代理被远程服务器拒绝连接 关闭代理(也许在环境变量中) nuget源无对应资源,404 NOT FOUN

jojozym的博客 1487

C程序设计语言(K&R)笔记

在switch语句中,case的作用只是一个标号。 8.break只能跳出其所在的一级到上一级,而不是所有层次。 9. getch和ungetch 超前读并放回一个字符 #define BUFSIZE 100 char buf[BUFSIZE];//for ungetch to buffer int bufp=0;//the next spare index of buf int getch(void)

4831

深入理解鸿蒙输入子系统驱动:HDI接口、HAL层与内核驱动的协同机制

/ 扫描输入设备// 打开指定输入设备// 关闭指定输入设备// 获取指定设备信息// 获取所有设备列表鸿蒙输入子系统驱动采用分层架构设计,通过HDI接口层实现硬件抽象,HAL层提供统一的事件处理机制,用户空间驱动层负责设备管理和事件分发。整个系统支持多种输入设备类型,包括触摸屏、按键、鼠标、键盘等,并提供了完整的HID设备支持。分层架构:清晰的层次划分,便于维护和扩展事件驱动:基于epoll的高效事件处理机制设备管理:完善的设备生命周期管理HID支持。

m0_67505153的博客 212

K&R C Exercise 3-1 Solution

/* * Exercise 3-1 Write the binary search algorithm with only * one test inside the loop. * * Written by fduan on Dec. 15, 2011. */ #include /* binary search: v[0] <= v[1] <= ... <= v[n-1] */

DUAN的专栏 1067

智驾芯片新天团!NVIDIA Thor vs 高通8797 vs 蔚来神玑NX9031,2025-2026谁能称王?

应用场景推荐芯片理由高阶NOA + L4 Robotaxi千TOPS以上,满足BEV+TransformerL2+/L3级别NOAThor-U / 高通8797算力适中,功耗控制佳,生态成熟经济型城市NOAThor-Z / S性价比均衡,适合前装普及自研平台一体化NX9031华为之外最强自研整合方案📌 TOPS不再是天花板,GPU、带宽、功耗、上市时间和车企绑定都是决胜关键📌 Thor系列仍然统治高端,但国产神经元开始觉醒📌 智驾芯片的选择,从“强”走向“适合场景”

weixin_43199439的博客 2642

如何使用Github创建一个完全免费的个人网站

摘要: 本文详细介绍如何利用Github Pages免费搭建个人静态网站,适合零基础用户。首先需注册Github账号并创建特定命名的仓库(格式:用户名.github.io),然后通过网页或命令行创建index.html文件作为网站首页。完成后可通过"仓库设置- Pages"获取网站链接。文章还包含GitHub Desktop的安装使用、代码提交指南及常见问题自检方法,并说明即使Github被墙也可迁移至国内平台(如码云)。整个过程无需编程基础,仅需15分钟即可完成基础网站搭建。

安德洛夫 1514

c程序设计语言k amp r.,C程序设计语言(K&R)第三章学习笔记

3.5/**************************************Shell 排序算法是 D.L. Shell 于1959发明基本思想:先比较距离远的元素**************************************//* shellsort: sort v[0] ... v[n-1] into increasing order */void shellsort(i...

weixin_42350606的博客 117

《四》:LBE,VR 大空间系列——Pico的空间扫描方式

(这里有个选项叫高精度扫描模式,这个功能在下方详细补充)系统会根据绘制的顶点,将区域分割成若干个4X4米的小方格,我们只需要根据提示,首先进入一个方格子空间内部,然后依次凝视每个区域上下左右前后六个面的小方格组,每一面4个,直至全部消失, 消失后地面会出现一个方形行走路径,我们沿着边缘正或反走一圈即可,完成后此块区域即自动消失。不过由于pico有一个高精度扫描圈,如图加粗的圆环,这个圆环的意思是在在内部的区域扫描精度较高,越远离原点的区域误差越大,所以为了更有效的利用,建议原点设置在场地中心区域。

unitygroup的博客 2882

C程序设计语言 (K&R)

  The C Programming Language,C程序设计语言 (K&R),为C语言的设计者Dennis M. Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作,学习c语言至今,第一次读这本书,这本书适合有一定的c语言基础的深入学习。   为什么说不适合初学者,觉得这本书更像一本字典,比如在函数章节,举例代码中用到了下面章...

金色的省略号 1300

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

K&R《C程序设计语言(第2版)》习题解答项目完全解析:106个C语言练习带你从入门到精通

如果你想系统学习C语言,K&R《C程序设计语言(第2版)》习题解答项目是一份不可多得的宝藏资源。这个开源项目收录了Brian W. Kernighan与Dennis M. Ritchie合著经典教材《The C Programming Language》(即K&R)的全部课后习题答案,共106个C语言练习,覆盖8大章节,从Hello World到系统调用一应俱全。无论你是刚接触C语言的新手,还是想

gitblog_00477的博客 662

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

《C语言程序设计(第二版K&R)》学习笔记

《C语言程序设计(第二版K&R)》学习笔记 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一份《C语言程序设计(第二版K&R)》的本科各学科笔记扫描版本,方便读者学习和查阅。该资源文件为PDF格式,内容详尽,包含了对教材中关键知识点和难点的梳理与总结,有助于加深对C语言程序设计原理的理解与应用。 文件名称:笔记_C语言程序设计(第二版K&R...

gitblog_06706的博客 478

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C 语言程序设计基础——认识 C 语言

C 语言是1972年由美国贝尔实验室的Dennis Rithie(丹尼斯·里奇)和Brain Kernighan(布莱恩·克尼汉) 等人开发的。C 语言经过不断改进,逐步完善。一直到1978年,Dennis Rithie和Brain Kernighan合著了影响深远的名著,(布莱恩·克尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)两人简称K&R。) 这本书被 C语言开发者们称为K&R,很多年来被当作 C 语言的非正式的标准说明。

2401_87199769的博客 3104

用VS Code高效调试K&R《C程序设计语言(第2版)》习题解答:C/C++扩展配置与launch.json实战

K&R《C程序设计语言(第2版)》是全球无数C语言学习者的经典入门教材,而跟着书中的习题逐题敲代码、**调试**运行,是真正掌握C语言指针、结构体与位运算的关键。但很多新手卡在了第一步:代码写好了,怎么用 **VS Code** 快速编译并**调试C语言程序**?别担心,本文将带你从零配置 **C/C++扩展** 与 **launch.json**,把 VS Code 变成专属于你的 C 语言调试

gitblog_00354的博客 1127

eslint-plugin-import 的 no-mutable-exports 规则:禁止可变导出绑定,强制 `const` 导出

`import/no-mutable-exports` 是 eslint-plugin-import 提供的一条校验规则,用于禁止通过 `var` 或 `let` 声明并导出(含具名导出、默认导出与重导出)可变绑定,引导开发者统一使用 `const` 导出不可变引用。本文以 [docs/rules/no-mutable-exports.md](https://link.gitcode.com/i/

gitblog_00444的博客 660

K&R C语言程序设计 第二版

K&R C语言程序设计 源码 http://www.docin.com/p-611127875.html http://download.youkuaiyun.com/download/lincoln_2012/7747265 https://wenku.baidu.com/view/50cf34ee856a561252d36fea.html

tianzhijiaozi19的专栏 4676

C程序设计语言(第二版,中文版)K&R

C程序设计语言(第二版,中文版)K&R 【下载地址】C程序设计语言第二版中文版KR 《C程序设计语言(第二版,中文版)》是C语言设计者Brian W. Kernighan和Dennis M. Ritchie的经典著作,全面系统地介绍了标准C语言及其程序设计方法。本书深入浅出,涵盖基本概念、控制流、函数、指针、结构...

gitblog_06717的博客 905

c程序设计语言(k&r版的,C程序设计语言 (K&R)

The C Programming Language,C程序设计语言 (K&R),为C语言的设计者Dennis M. Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作,学习c语言至今,第一次读这本书,这本书适合有一定的c语言基础的深入学习。为什么说不适合初学者,觉得这本书更像一本字典,比如在函数章节,举例代码中用到了下面章节的数组,用...

weixin_39975683的博客 1042

C语言标准:从K&R到C23,全面解析C标准的演进与应用

C语言标准的每一次更新都带来了新的特性和改进,使得C语言能够适应不断变化的编程需求。从K&R C到C23,C语言经历了从非正式标准到现代化编程语言的演进过程。无论是操作系统、嵌入式系统,还是高性能计算,C语言都以其高效性、底层控制能力和广泛的应用领域,继续在计算机科学领域占据重要地位。

一只不会编码的程序猿 3475

K&R《C程序设计语言(第2版)》习题解答的Makefile与CI流水线:递归通配符编译与GitHub Actions实战

K&R《C程序设计语言(第2版)》是无数程序员的C语言入门经典,而配套的**习题解答**项目更是自学路上的得力助手。本项目用一套巧妙的**递归通配符Makefile**,就能一键编译全部8章、上百个习题的C源码;再配合**GitHub Actions CI流水线**,每次提交代码后自动完成全量编译校验。本文面向零基础新手,用通俗语言拆解这套构建系统与持续集成的实战细节,让你既能读懂源码,也能亲手跑

gitblog_00271的博客 1049

记一种神奇的C语言语法:K&R C

文章目录记一种神奇的C语言语法:K&R C ——古代C语言函数定义K&R C : identifier-list注意ANSI C : declarator 记一种神奇的C语言语法:K&R C ——古代C语言 信息来源: ANSI和K&R两种函数定义风格-wangweiming-ChinaUnix博客 ANSI和K&R两种函数定义风格_iceburg208的博客-优快云博客 函数定义 K&R C : identifier-list #include &lt

博客标题 1956
上一篇: C程序设计语言(K&R)第二章学习笔记
下一篇: C程序设计语言(K&R)第四章学习笔记
Praker
博客等级 码龄13年 12粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值