C语言-章节 1:变量与数据类型 ——「未初始化的诅咒」

        在那神秘且广袤无垠的「比特大陆」上,阳光奋力地穿过「内存森林」中错综复杂的代码枝叶缝隙,洒下一片片斑驳陆离、如梦似幻的光影。林间的空气里,弥漫着一股浓郁的十六进制锈蚀味,仿佛在诉说着这片森林中隐藏的古老秘密。

        一位零基础的少年,满怀着对未知世界的无限好奇,不经意间失足掉入了这片充满奇幻色彩与重重危险的森林。少年环顾四周,心中既紧张又兴奋,他知道,一场奇妙的冒险即将拉开帷幕。

        “救、救命!” 一声颤抖且充满恐惧的呼喊,如同一把利刃,瞬间刺破了森林的寂静。少年的眼神瞬间变得锐利起来,他循着声音的方向狂奔而去。

        眼前的景象让少年倒吸一口凉气,只见一只半透明的蓝色精灵正被一群面目狰狞的「野怪 Null」围追堵截。这些野怪的身体完全由乱码拼凑而成,眼眶中空洞地闪烁着 0xCCCCCCCC 的幽光,仿佛来自另一个黑暗的世界。

        “抓住她!未初始化的变量是我们的粮食!” 野怪首领声嘶力竭地挥舞着锈迹斑斑的 void* 长矛,疯狂地嘶吼着。

        少年心中一紧,他深知情况危急,来不及多想,迅速抄起地上的一根树枝,在沙地上急速划出一道神秘的咒文:

int a = 10;   //赋予Inta清晰的记忆
//少年:哼,看我用这初始化的力量救你!

        刹那间,一道金光冲天而起,精灵那原本半透明的轮廓瞬间凝实起来,化作一位扎着双马尾的可爱少女,胸前悬浮着闪烁着光芒的 10

        “我叫 Inta!” 她慌乱地抹掉眼泪,眼中却依然透露出一丝迷茫,“但… 我好像忘记了自己的使命…”

        然而,命运似乎总爱捉弄人。话音未落,Inta 的身体突然开始扭曲变形,胸前的数字 10 如同被一股神秘的力量拉扯,瞬间坍缩成诡异的 -858993460。野怪们见状,发出贪婪的嚎叫:“看啊!她没完全初始化!”

        少年猛然醒悟,心中暗叫不好,他毫不犹豫地咬破手指,在代码上进行补全:

int a = 0;  //彻底清除残留数据
//少年:差点大意了,得把残留数据清除干净!

        奇迹再次发生,精灵恢复了澄澈的模样,她的掌心迸发出 sizeof(int) 剑气,如同一把利刃,瞬间逼退了野怪。

        “听着,”Inta 微微喘息道,“在内存森林,声明变量就像签订契约 ——” 说着,她展开一卷散发着神秘光芒的羊皮纸,上面浮现出金色的条款:

变量生存法则

  1. 未经初始化的变量会被「乱码幽灵」寄生(int a; ❌)
  2. 局部变量需当场赋初值(int b = 0; ✅)
  3. 全局变量默认被 编译器之神 祝福为 0(但依赖此特性是亵渎!)

        就在少年和 Inta 稍作喘息之时,地面突然裂开一道巨大的深渊,一行血红色的警告赫然浮现:

warning C4700: uninitialized local variable 'a' used

        “快跑!”Inta 眼疾手快,一把拽住少年,纵身跃入地下河。身后传来野怪坠入「未定义行为悬崖」的凄惨叫声,仿佛是对它们贪婪的惩罚。

        在地下河的漂流过程中,Inta 决定进一步给少年讲解变量与数据类型的知识。

        突然,前方出现了一片散发着奇异蓝光的水域,当他们靠近时,水中浮现出一个巨大的数字 3.14,周围还有一群闪烁着微光的小生物围绕着它。

        “这就是浮点型变量的区域。”Inta 解释道,“浮点型就像这片水域中的波浪,能够表示带有小数部分的数值。比如这个 3.14,它可能代表着某种神秘的比例。”

        说着,Inta 用手指在水面上划出代码:

float pi = 3.14;  // 定义一个浮点型变量
// Inta:看,这就是浮点型变量的初始化,它能精确地表示小数。

        随着代码的出现,那些围绕着 3.14 的小生物变得更加活跃,仿佛在庆祝代码的诞生。

        接着,他们来到了一个被五彩光芒笼罩的洞穴。洞穴的石壁上刻满了各种字符,每一个字符都散发着独特的气息。

        “这里是字符型变量的世界。”Inta 说道,“字符型变量就像这些石壁上的字符,每一个都有自己独特的意义。”

        Inta 拿起一块石头,在地上写下代码:

char letter = 'A';  // 定义一个字符型变量
// Inta:字符型变量用单引号括起来,它可以表示一个单独的字符。

        当代码写完,洞穴中的字符光芒大作,仿佛在欢迎新成员的加入。

        少年听得入神,他感觉自己对变量与数据类型有了更深刻的理解。

        漂流结束后,他们来到了一个神秘的殿堂,殿堂的墙壁上闪烁着神秘的光芒,上面浮现出一段代码:

#include <stdio.h>

int main() {
    // 整型变量
    int num = 10;
    short score = 90;
    long population = 1234567890;
    long long bigNum = 1234567890123456;

    // 浮点型变量
    float price = 9.99;
    double pi = 3.1415926535;

    // 字符型变量
    char grade = 'A';

    // 输出变量的值
    printf("num = %d\n", num);
    printf("score = %hd\n", score);
    printf("population = %ld\n", population);
    printf("bigNum = %lld\n", bigNum);
    printf("price = %.2f\n", price);
    printf("pi = %.10lf\n", pi);
    printf("grade = %c\n", grade);

    return 0;
}

        Inta 看着这段代码,对少年说:“你看,这段代码展示了我们刚刚学到的整型、浮点型和字符型变量。intshortlonglong long 这些都是不同类型的整型变量,它们能表示不同范围的整数;floatdouble 是浮点型变量,能处理小数;而 char 则用来表示单个字符。最后,通过 printf 函数,我们可以把这些变量的值输出出来,就好像是把它们展示给这个世界看一样。”

        少年仔细地看着代码,心中豁然开朗。他仿佛看到了代码中的变量们一个个鲜活起来,在自己的小世界里各司其职。

        突然,殿堂的地面开始震动,代码发出耀眼的光芒,一个声音响起:“既然你已经理解了这些变量与数据类型,那就让代码运行起来,证明你的实力吧!”

        少年深吸一口气,集中精神,仿佛与代码融为一体。随着他的意念一动,代码开始自动运行,一行行输出结果出现在殿堂的中央:

num = 10
score = 90
population = 1234567890
bigNum = 1234567890123456
price = 9.99
pi = 3.1415926535
grade = A

        光芒逐渐散去,殿堂恢复了平静。Inta 露出了欣慰的笑容,对少年说:“你成功了!你已经迈出了成为伟大程序员的第一步。”

        少年看着那些输出结果,心中充满了成就感。他知道,在这「比特大陆」上,还有更多的挑战等待着他,但他已经做好了准备,要用代码的力量去探索未知,战胜一切困难。

编程启示录

“变量如新生的婴儿,若不赋予明确的意义,混沌便会占据它的灵魂。初始化是程序员对变量的第一份承诺,永远警惕 int a; 这样的空白契约。无论是整型、浮点型还是字符型变量,都需要我们用心去初始化,用 =0memset() 为内存空间举行净化仪式,让代码世界充满秩序与光明。同时,合理运用不同类型的变量,能让我们更精准地描述和处理现实世界中的各种数据。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/970853.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Dest1ny漏洞库:用友 U8-CRM 系统 ajaxgetborrowdata.php 存在 SQL 注入漏洞

大家好&#xff0c;今天是Dest1ny漏洞库的专题&#xff01;&#xff01; 会时不时发送新的漏洞资讯&#xff01;&#xff01; 大家多多关注&#xff0c;多多点赞&#xff01;&#xff01;&#xff01; 用友U8-CRM系统ajaxgetborrowdata.php存在SQL注入漏洞&#xff0c;文件多…

全平台搭载旭日5!科沃斯GOAT智能割草机器人全新系列正式开售

要闻 近日&#xff0c;科沃斯全新发布的GOAT A Series 和 GOAT O Series割草机器人&#xff0c;将在多国市场正式上市发售。作为业界最强的割草机器人产品之一&#xff0c;GOAT致力为割草机带来基于机器人视觉的专业定位解决方案。科沃斯GOAT全新系列产品全平台搭载地瓜机器人…

HCIA综合项目之多技术的综合应用实验

十五 HCIA综合实验 15.1 IP规划 #内网分配网段192.168.1.0 24#内网包括骨干链路和两个用户网段&#xff0c;素以需要划分三个&#xff0c;借两位就够用了192.168.1.0 26--骨干192.168.1.64 26---R1下网络192.168.1.128 26---R2下网络192.168.1.192 26--备用​192.168.1.64 26--…

PbootCMS增加可允许上传文件类型,例如webp、mov等文件格式扩展

在PbootCMS日常使用过程中&#xff0c;会涉及一些非常见的文件格式上传。 这时候就需要在PbootCMS配置文件中追加一些允许上传文件扩展名。 操作步骤 1、打开/config/config.php文件&#xff0c;大约在30行&#xff0c;修改upload配置信息&#xff1a; // 上传配置upload &…

DeepSeek应用——与PyCharm的配套使用

目录 一、配置方法 二、使用方法 三、注意事项 1、插件市场无continue插件 2、无结果返回&#xff0c;且在本地模型报错 记录自己学习应用DeepSeek的过程&#xff0c;使用的是自己电脑本地部署的私有化蒸馏模型...... &#xff08;举一反三&#xff0c;这个不单单是可以用…

本地快速部署DeepSeek-R1模型以及可视化工具

这里写目录标题 安装 Ollama下载和部署DeepSeek模型可视化工具 安装 Ollama Ollama 是一个轻量级的可扩展框架&#xff0c;用于在本地计算机上构建和运行语言模型。它提供了一个用于创建、运行和管理模型的简单 API&#xff0c;以及一个可在各种应用程序中轻松使用的预构建模型…

hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况

问题描述 hive高频写入小数据&#xff0c;导致hdfs小文件过多&#xff0c;出现查询效率很低的情况分析过程 先复现现象 select count() from ads.ads_sdd_flow_managemlt_to_ids_mm;–15分钟&#xff0c;小文件10983 select max(mm) from ads.ads_sdd_flow_managemlt_to_ids…

Docker 部署 MySQL 8 详细图文教程

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

Pythong 解决Pycharm 运行太慢

Pythong 解决Pycharm 运行太慢 官方给Pycharm自身占用的最大内存设低估了限制,我的Pycharm刚开始默认是256mb。 首先找到自己的Pycharm安装目录 根据合适自己的改 保存&#xff0c;重启Pycharm

图像生成GAN和风格迁移

文章目录 摘要abstract1.生成对抗网络 GAN1.1 算法步骤 2.风格迁移2.1 损失函数2.2 论文阅读2.2.1 简介2.2.2 方法2.2.3 实验2.2.4 结论 3.总结 摘要 本周学习了生成对抗网络&#xff08;GAN&#xff09;与风格迁移技术在图像生成中的应用。首先介绍了GAN模型中生成器与判别器…

three.js+WebGL踩坑经验合集(8.1):用于解决z-fighting叠面问题的polygonOffset远没我们想象中那么简单

初八开工后&#xff0c;笔者又停了下来&#xff0c;今天总算又抽出来了一丢丢的时间继续。今天打算给大家聊聊困扰很多3D开发者的z-fighting叠面闪烁问题。 该问题从严格意义上说&#xff0c;是属于业务问题&#xff0c;因为现实中是不会有完全重叠的两个平面物体存在&#xf…

2025年-G4-Lc78--121. 买卖股票的最佳时机--(java版)

1.题目描述 2.思路 思路1: 做两轮排序&#xff0c;第一轮排序找到最小的那个数&#xff0c;然后再判断最小的那个数之后还有其他数吗&#xff0c;如果有在进行排序&#xff0c;选出最大的那个数&#xff0c;然后值相减。 问题要点&#xff1a; &#xff08;1&#xff09;你需要…

AI 编程工具—Cursor 进阶篇 数据分析

AI 编程工具—Cursor 进阶篇 数据分析 上一节课我们使用Cursor 生成了北京房产的销售数据,这一节我们使用Cursor对这些数据进行分析,也是我们尝试使用Cursor 去帮我们做数据分析,从而进一步发挥Cursor的能力,来帮助我们完成更多的事情 案例一 房产销售数据分析 @北京202…

【Python】错误异常

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Python 文章目录 1. 错误和异常的概念1.1 错误1.2 异常 2. 常见的内置异常类型2.1 ZeroDivisionError2.2 IndexError2.3 KeyError2.4 TypeError 3. 异常处理机制3.1 try-except 语句3.2 try-except-else 语句3.3 try-except-fin…

ICASSP2023 | IE-FGSM | 通过增强欧拉方法提高对抗样本的可迁移性

Boosting Transferability of Adversarial Example via an Enhanced Euler’s Method 摘要-Abstract引言-Introduction相关工作-Related Work方法-Methodology实验-Experiments结论-Conclusion 论文链接 本文 “Boosting Transferability of Adversarial Example via an Enhan…

力扣 470. 用 Rand7() 实现 Rand10() 拒绝采样 等概率随机数生成

Problem: 470. 用 Rand7() 实现 Rand10() 文章目录 &#x1f37b; k 进制诸位生成 拒绝采样&#x1f37a; 朴素版&#x1f37a; 优化版 &#x1f37b; 等概率生成任何数大法 &#x1f37b; k 进制诸位生成 拒绝采样 &#x1f469;‍&#x1f3eb; 参考题解 ⏰ 时间复杂度&a…

Jvascript网页设计案例:通过js实现一款密码强度检测,适用于等保测评整改

本文目录 前言功能预览样式特点总结&#xff1a;1. 整体视觉风格2. 密码输入框设计3. 强度指示条4. 结果文本与原因说明 功能特点总结&#xff1a;1. 密码强度检测2. 实时反馈机制3. 详细原因说明4. 视觉提示5. 交互体验优化 密码强度检测逻辑总Html代码Javascript代码 前言 能…

无人机航迹规划: 梦境优化算法(Dream Optimization Algorithm,DOA)求解无人机路径规划MATLAB

一、梦境优化算法 梦境优化算法&#xff08;Dream Optimization Algorithm&#xff0c;DOA&#xff09;是一种新型的元启发式算法&#xff0c;其灵感来源于人类的梦境行为。该算法结合了基础记忆策略、遗忘和补充策略以及梦境共享策略&#xff0c;通过模拟人类梦境中的部分记忆…

【c++】【Linux】【进程】线程终止/崩溃 会导致进程终止/崩溃 吗?

【c】【Linux】【进程】线程终止/崩溃 会导致进程终止/崩溃 吗&#xff1f; 1.线程终止会导致进程终止吗&#xff1f; 在操作系统中&#xff0c;线程是进程的基本执行单元&#xff0c;一个进程可以包含一个或多个线程。 当一个子线程终止时&#xff0c;进程并不会因此自动终…

【动手学运动规划】5.5 基于PiecewiseJerk的路径优化方法

知我者&#xff0c;谓我心忧. 不知我者&#xff0c;谓我何求。— 佚名 黍离 &#x1f3f0;代码及环境配置&#xff1a;请参考 环境配置和代码运行! PiecewiseJerkOptimizer是Apollo中planning模块生成Path/Speed曲线的优化方法. 基于Frenet坐标系, 生成平滑, 安全的目标曲线. …