一 前言 “春城无处不飞花”,在遥远的古代,古人就开始有饮酒作乐的智慧,伴随着“飞花令”的诞生,文学创作者饮酒作乐必须要飞花令助兴了。 bot: 好的,我们可以玩飞花令游戏。 you: 这是飞花令游戏 bot: 对不起,我误解了你的意思。让我们继续玩飞花令游戏吧!请说出下一个含有“月”字的词语或诗句: 回答:“但愿人长久”。 接下去的飞花令你来定吧。 you: 说一个 以鸟为关键词的飞花令游戏 bot: 好的,让我们来一场以鸟为关键词的飞花令游戏。 接下去的飞花令你来定吧。 you: exit 我们可能需要进一步训练这个工具才能让他成为一个飞花令高手。
include <stdio.h> int main() { // 完整初始化所有数组元素 int arr1[3] = { 1, 2, 3 }; int arr2[4] = { 11
“山在雾中若隐若现,水在光里缓缓流淌。 我撑一叶小舟,不问归期, 只想听这天地的一声叹息。”
• type 指定的是数组中存放数据的类型,可以是: char、short、int、float 等,也可以自定义的类型。 • arr_name 指的是数组名的名字,这个名字根据实际情况,起的有意义就⾏。 • [] 中的常量值是⽤来指定数组的⼤⼩的,这个数组的⼤⼩是根据实际的需求指定就行。
本章讨论的是数据⽂件 在以前各章所处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上。 其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件
人与人交流的是自然语言,如:汉语、英语、日语 那人与计算机交流就得用计算机语言 C语言就是众多编程语言中的一种,是一种底层语言
10 光标移动到下一行行首 \r 回车(Carriage Return) 13 光标回到行首 \t 水平制表(Tab) 9 通常相当于 4 或 8 个空格 \v 垂直制表(Vertical Tab) 11
我们前⾯内容中学到的 printf 、 scanf 都是库函数,库函数也是函数,不过这些函数已经是现成的,我们只要学会就能直接使⽤了。有了库函数,⼀些常⻅的功能就不需要程序员⾃⼰实现了,⼀定程度提升了效率;同时库函数的质量和执⾏效率上都更有保证。
在C语言中,变量是程序中最基本的存储单元,用于存储和操作数据。下面我将全面讲解C语言中定义变量的方法。
前言 上一篇文章收集飞花令碎片——C语言分支与循环结构(上)已经跟大家全面讲解了分支与循环的基础知识,这一张会通过几个程序设计项目来锻炼逻辑思维能力,难度从难到易,大家可以根据自己的需求去练习 练习一 项交替倒数阶乘和为: %.15f\n", terms, sum); 示例计算过程(terms=4): i=0: sum = 0 + 1*(1/1) = 1.0, sign变为-1 i=1: fac=11
#mermaid-svg-Yy7US978e1SNa71U {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Yy7US978e1SNa71U .error-icon{fill:#552222;}#mermaid-svg-Yy7US978e1SNa71U .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Yy7US978e1SNa71U .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-Yy7US978e1SNa71U .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Yy7US978e1SNa71U .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Yy7US978e1SNa71U .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Yy7US978e1SNa71U .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Yy7US978e1SNa71U .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Yy7US978e1SNa71U .marker.cross{stroke:#333333;}#mermaid-svg-Yy7US978e1SNa71U svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Yy7US978e1SNa71U .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Yy7US978e1SNa71U .cluster-label text{fill:#333;}#mermaid-svg-Yy7US978e1SNa71U .cluster-label span{color:#333;}#mermaid-svg-Yy7US978e1SNa71U .label text,#mermaid-svg-Yy7US978e1SNa71U span{fill:#333;color:#333;}#mermaid-svg-Yy7US978e1SNa71U .node rect,#mermaid-svg-Yy7US978e1SNa71U .node circle,#mermaid-svg-Yy7US978e1SNa71U .node ellipse,#mermaid-svg-Yy7US978e1SNa71U .node polygon,#mermaid-svg-Yy7US978e1SNa71U .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Yy7US978e1SNa71U .node .label{text-align:center;}#mermaid-svg-Yy7US978e1SNa71U .node.clickable{cursor:pointer;}#mermaid-svg-Yy7US978e1SNa71U .arrowheadPath{fill:#333333;}#mermaid-svg-Yy7US978e1SNa71U .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Yy7US978e1SNa71U .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Yy7US978e1SNa71U .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-Yy7US978e1SNa71U .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-Yy7US978e1SNa71U .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Yy7US978e1SNa71U .clust
比如我们有数组指针类型 int(*)[5] ,需要重命名为 parr_t,那可以这样写:
scanf 是C语言标准库中的一个输入函数,用于从标准输入(通常是键盘)读取格式化数据。
写在前面 在2018年下半年的某一天,偶然观看了《中国诗词大会》节目的飞花令环节。 实现语音版飞花令仅作为兴趣爱好,之前本来是用 Django 完成的,在朋友的安利之下改用 Sanic 重写。 飞花令 整体架构如图所示 ? 架构如上图所示,接下来分享部分技术细节。 最后 以上是关于飞花令应用的总结,总的来说还是挺满意这次实践。 有希望继续改进的同学可以在 github 上 fork 飞花令代码库进行二次开发。
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
1 1 16^1 = 16 0xE 14 * 16 2 16^2 = 256 0xD 13 * 256 3 16^3 = 4096 0xC 12 * 4096 4 16^4 = 65536 0xB 11
fseek(file, 0, SEEK_END); // 移动到文件末尾 11. ftell() 获取当前文件指针的位置。
3.4)访问越界 “租了10平米的仓库,却往里塞了11平米的东西。” 你 malloc(10 * sizeof(int)),只申请了10个整数的空间,但你却试图访问 my_array[10](这是第11个元素) 二、数据存储的内存结构 计算机内存中的“数据存储”是什么?
这里 next 的类型是 struct Node, 但我们现在正在定义 struct Node 本身。 它还没定义完!编译器就被问: “请告诉我struct Node的大小是多少。” 编译器就懵了: “我还在定义它呢,我也不知道多大啊!” 😵 于是编译器报错。
当我们了解了整数在内存中存储后,我们调试看⼀个细节: 我们可以看到在a中的 0x11223344 这个数字是按照字节为单位,倒着存储的 这我们就得提到数据存储的大小端问题了 大端序 内存地址从低到高排列为:11 小端序 内存地址从低到高排列为:44 33 22 11 即低位字节在低地址。