当前位置: 首页 > news >正文

C语言 核心语法2

时间:2024.11.1

一、学习内容

1、计算机的存储规则

1.1存储规则 

视频是图片和声音的结合体。

在计算机中,任意数据都是以二进制的形式进行存储的。 

在计算机中,二进制可以表示万事万物。

 1.2十进制

 1.3二进制的运算过程

1.4文本存储

1.4.1数据存储

ASCII码表

 在计算机中,任意数据都是以二进制的形式进行存储的。 

1.4.2汉字在计算机中的存储

1.4.3图像存储
1.分辨率

方格的总数

举例:1920x1080

表示在显示器当中,高有1080个格子,宽有1920个格子,整个显示器是由这么多小格子构成的,这些小格子就是像素。2304000个像素。

2.像素

组成图片的每一个小方格。

3.三原色 

美学三原色(美术):红黄蓝

光学三原色(计算机里):红绿蓝RGB

在每一个像素的内部都是由红绿蓝来组成的。

很多像素拼在一起,就是一个完整的图片,在计算机中通过三种颜色的搭配,就可以组合出各种五彩缤纷的颜色,值越大表示当前的颜色越浓,取值不可以随便写,一定要在0~255之间(包含0和255)

 

总结:像素越大,方格的总数(分辨率)越大,图片就越清晰
1.4.4声音的存储

 首先通过麦克风之类的设备将声音数据收录到电脑中,此时会形成1个初步的音频波形图,然后对其进行采样(记录当前时间点的音频数据),形成采样波形图。

采样的数据越多,最终的音质就会越好

采样:

记录当前时间点的音频数据。

采样频率:

每秒采样的次数。一般44.1KHz.(44100次/秒)

音质:

音质差的,采样点少,文件大小小

2、常见的进制

2.1二进制   

二进制太长,不便于越大,可以采用八进制或十六进制

2.2常见的进制

2.3代码中怎么书写

 

2.4任意进制转十进制

2.5二进制转十进制

2.6十进制转其他进制

2.7总结 

 

3、数据类型的作用

3.1C语言中数据类型的作用

1.变量中能存储什么类型的数据
2.存储空间的大小

bit:

在计算机中,每一个0/1就占用1个比特位(bit)。

字节:

每8个bit组合在一起称为1个字节。

字节是计算机中最小的存储单元。 

 int占用4个字节,32个bit

 

4、整数类型

4.1整体分类

int、short、long、long long(c99)

4.2不同的整数类型的数据取值范围不同 

TIPS:

1、这里的取值范围不是固定的,在不同的操作系统和编译器中不同的数据类型所占用的内存大小不同 ,但是不管在什么操作系统中,它都会遵守一些原则。

2、int是整数的默认类型

4.3代码编写 

//预处理
#include <stdio.h>//程序的主入口
int main()
{//1.定义short、int、long、long long四种数据类型的变量//格式: 数据类型 变量名 =数据值;//short 短整型 windows 2个字节 (-32768-326767)short a=10;printf("%d\n", a);//int 整型 windows 4个字节 (-2147483648-2147483647)int b = 100;printf("%d\n",b );//long 长整型 windows 4个字节 (-2147483648-2147483647)//            Linux   32位  4个字节   64位   8个字节long c = 1000L;printf("%ld\n", c);//long long(c99) 超长整型 windows 8个字节 (19位数)long long d = 10000LL;printf("%lld\n", d);//2.利用sizeof测量每一种数据类型占用多少字节//sizeof(变量名或数据类型)printf("%zu\n",sizeof(a));    //等价于 printf("%zu\n",sizeof(short));printf("%zu\n", sizeof(b));   //等价于 printf("%zu\n",sizeof(int));printf("%zu\n", sizeof(c));   //等价于 printf("%zu\n",sizeof(long));printf("%zu\n", sizeof(d));   //等价于 printf("%zu\n",sizeof(long long));return 0;
}

4.4实现结果

5、整数类型的两个小扩展

5.1定义变量的完整形态

int  == int

short ==short int

long =long int 

long long =long long int

5.2有符号整数、无符号整数的定义情况

signed有符号整数:正数、负数

unsigned无符号整数  正数

  signed int e = -100;printf("%d\n", e);unsigned int f = 100;printf("%u\n", f);

 

 

6、小数类型

6.1小数分类

float、double

 

 6.2代码编写

#include<stdio.h>int main() {
//1.定义float、double、long double数据类型的变量
//float 单精度小数(精确度小数点后6位) windows占4个字节 (38位)float a = 3.14F;printf("%f\n", a);printf("%.2f\n", a);//double 双精度小数(精确度小数点后15位) windows占8个字节 (308位)double b = 1.78;printf("%lf\n", b);printf("%.2lf\n", b);//long double 高精度小数(精确度小数点后18-19位) windows占8个字节 其他(12,16)long double c = 3.1415926L;printf("%lf\n", c);printf("%.2lf\n", c);
//2.利用sizeof测量每一种数据类型占用多少字节?printf("%zu\n", sizeof(float));printf("%zu\n", sizeof(a));printf("%zu\n", sizeof(double));printf("%zu\n", sizeof(b));printf("%zu\n", sizeof(long double));printf("%zu\n", sizeof(c));return 0;
}

6.3实现结果

7、字符类型char

//定义char类型数据类型的变量
//char 字符 取值范围是ASCII表中所有的内容  windows 1个字节char m1 = 'a';printf("%c\n", m1);char m2 = '1';printf("%c\n", m2);char m3 = '.';printf("%c\n", m3);
//利用sizeof测量占用多少字节printf("%zu\n", sizeof(char));printf("%zu\n", sizeof(m1));

总结:

 

8、标识符

8.1什么是标识符

标识符:

代码中所有我们自己起的名字。比如变量名、函数名等。

8.2命名规则-硬性要求

8.3命名规则-软性建议

8.4总结

 

 

9、键盘录入的基本使用

9.1键盘录入scanf

scanf:

scanner format的缩写,是c语言提供的一个函数。

作用:

获取用户在键盘上输入的数据,并赋值给变量。

使用方式:
scanf("%d",&变量名);

 

 

10、键盘录入多个数据

二、练习

1、练习1--女朋友的名字

 


#include <stdio.h>int main()
{/*练习1:键盘录入女朋友的名字,并按照以下的格式打印出来格式:我女朋友的名字为:xxx*///字符串变量的定义方式://数据类型 变量名 =字符串;//char str[内存占用大小] =字符串/*内存占用大小的计算方式:英文:1个字母、1个标点符号、数字占用一个字节中文:在vs或vc中,默认情况下,一个中文占用两个字节结束标记:1个字节*///定义变量记录女朋友的名字char str[100];//键盘录入女朋友的名字printf("请输入你女朋友的名字:\n");scanf("%s", &str);//输出打印printf("我女朋友的名字:%s",str);
}

2、练习2--我的年龄

/*练习2:键盘录入自己的年龄,并按照以下的格式打印出来格式:我的年龄为:xx岁*/int n;printf("请输入你的年龄:\n");scanf("%d", &n);printf("我的年龄是:%d岁", n);return 0;

 

3、考试真题练习

 

 

#include<stdio.h>
int main() {double c, k, g;double A, B, C, v;scanf("%lf %lf %lf", &c, &k, &g);A = c * k;B = k * g;C = c * g;v = c * k * g;printf("%.2lf\n", A);printf("%.2lf\n", B);printf("%.2lf\n", C);printf("%.2lf", v);return 0;
}

 

三、知识点和小技巧

1、字符串变量的定义方式


数据类型 变量名 =字符串;
char str[内存占用大小] =字符串


#include <stdio.h>int main()
{/*练习1:键盘录入女朋友的名字,并按照以下的格式打印出来格式:我女朋友的名字为:xxx*///字符串变量的定义方式://数据类型 变量名 =字符串;//char str[内存占用大小] =字符串/*内存占用大小的计算方式:英文:1个字母、1个标点符号、数字占用一个字节中文:在vs或vc中,默认情况下,一个中文占用两个字节结束标记:1个字节*///1.定义变量char str[4] = "aaa";printf("%s\n", str);printf("%zu\n", sizeof(str));printf("%zu\n", sizeof("aaa"));return 0;
}


2、内存占用大小的计算方式:


英文:1个字母、1个标点符号、数字占用一个字节
中文:在vs或vc中,默认情况下,一个中文占用两个字节
结束标记:1个字节

相关文章:

C语言 核心语法2

时间&#xff1a;2024.11.1 一、学习内容 1、计算机的存储规则 1.1存储规则 视频是图片和声音的结合体。 在计算机中&#xff0c;任意数据都是以二进制的形式进行存储的。 在计算机中&#xff0c;二进制可以表示万事万物。 1.2十进制 1.3二进制的运算过程 1.4文本存储 …...

【论文阅读】Real-ESRGAN

学习资料 论文题目&#xff1a;Real-ESRGAN&#xff1a;使用纯合成数据训练真实世界的盲超分辨率&#xff08;Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data&#xff09;论文地址&#xff1a;IEEE Xplore 全文 PDF&#xff1a;代码&#…...

安达发|零部件APS车间排程系统销售预测的优点

2024制造业面临着前所未有的挑战与机遇。为了保持竞争力&#xff0c;企业必须确保其生产系统能够高效、灵活地运作。在这方面&#xff0c;采用高级计划与排程系统&#xff0c;特别是零部件APS车间排程系统的预测方法&#xff0c;已成为提升生产效率和响应能力的关键策略。这种系…...

Android 同花顺面经

Android 同花顺面经 文章目录 Android 同花顺面经一面 一面 Android组件化搭建使用接口层路由有什么缺点&#xff1f; 如果更改接口的话&#xff0c;其他的依赖的moudle都得改 说说kotlin和java的区别&#xff1f; Java是支持面向对象的编程&#xff0c;Kotlin是支持面向对象支…...

搜维尔科技:Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用

Manus数据手套在水下捕捉精确的手指动作&#xff0c; 可以在有水的条件下使用 搜维尔科技&#xff1a;Manus数据手套在水下捕捉精确的手指动作&#xff0c; 可以在有水的条件下使用...

网络:IP分片和组装

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言16位标识&#xff0c;3位标志&#xff0c;13位片偏移分片组装总结 前言 对于IP分片和组装的总结 当一个IP数据报的大小超过网络的MTU(最…...

Oracle dblink创建使用

1、首先要有创建Database Link 的权限。可通过语句查看当前用户是否有权限&#xff1a; SELECT * FROM USER_SYS_PRIVS;如果没有权限&#xff0c;使用系统管理员用户登陆后给当前用户授权&#xff1a; GRANT CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK TO user;…...

Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification

Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification Neurips 24 推荐指数&#xff1a; #paper/⭐⭐⭐#​ 摘要 我们的研究结果表明&#xff0c;由于GNN中的超参数设置次优&#xff0c;之前报道的GT的优越性可能被夸大了。值得注意的是&#xff…...

Android 字节飞书面经

Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分&#xff0c;一个线程只能属于一个进程&#xff0c;而一个进程可以有多个线程&#xff0c;但至少有一个线程。 2. 根本区别&#xff1a;进程是操作系统资源分配的基本单位&#xff0c;…...

选择好友窗口(三)

选择好友窗口&#xff08;三&#xff09; 前言 在前两集我们就完成了整个左半部分的内容了&#xff0c;那么我们这一集开始就要完成我们的选择好友窗口的右侧部分。 需求分析 我们要做出的效果如下图 可以看到我们整个布局是一个网格的布局&#xff0c;当然也可以做成一个垂…...

【含文档】基于ssm+jsp的音乐播放系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了两个…...

【C语言】动态内存开辟

写在前面 C语言中有不少开辟空间的办法&#xff0c;但是在堆上开辟的方法也就只有动态内存开辟&#xff0c;其访问特性与数组相似&#xff0c;但最大区别是数组是开辟在栈上&#xff0c;而动态内存开辟是开辟在堆上的。这篇笔记就让不才娓娓道来。 PS:本篇没有目录实在抱歉CSD…...

Redis缓存在thinkPHP/fastAdmin框架中的应用

Redis缓存在thinkPHP/fastAdmin框架中的应用 引言 在现代Web开发中&#xff0c;性能优化是一个永恒的话题。随着用户数量的增加和业务逻辑的复杂化&#xff0c;如何提高应用的响应速度和处理能力成为了开发者们必须面对的挑战。缓存技术作为提升性能的有效手段之一&#xff0…...

Ceisum无人机巡检视频投放

公司投标内容有个视频投放的功能动画&#xff0c;原本想实现这么一个效果&#xff1a; 案例效果来自别人的展示作品&#xff0c;Leader一眼就相中了这个效果&#xff0c;可惜别人的终究是别人的&#xff0c;又不会白白给你&#xff0c;终究是要自己动手尝试。 动画方面的展示…...

分享几款开源好用的图片在线编辑,适合做快速应用嵌入

图片生成器是指一种工具或软件&#xff0c;用于自动生成图片或图像内容&#xff0c;通常依据用户设定的参数或模板进行操作。这种工具能够帮助用户快速创建视觉效果丰富的图像&#xff0c;而无需具备专业的设计技能。 在数字化时代&#xff0c;图片编辑已经成为日常工作和生活的…...

闪存学习_1:Flash-Aware Computing from Jihong Kim

闪存学习_1&#xff1a;Flash-Aware Computing from Jihong Kim 前言一、Storage Media&#xff1a;NAND Flash Memory1、概念2、编程和擦除操作3、读操作4、异地更新操作&#xff08;Out-Place Update&#xff09;5、数据可靠性6、闪存控制器&#xff08;SSD主控&#xff09;7…...

如何将本地项目上传至Gitee仓库(详细教程)

前提条件 1、本地电脑安装Git客户端 2、本地已有项目 3、Gitee注册好了账户 如果没有安装Gitee 可以区菜鸟查看一下安装教程 Git教程https://www.runoob.com/git/git-tutorial.html 操作示例 前提条件已经准备好的情况下登录gitee 码云 https://gitee.com 点解右侧加号 新…...

redis详细教程(3.hash和set类型)

hash Redis中的Hash是一种数据结构&#xff0c;用于存储键值对集合。在Redis中&#xff0c;Hash非常适合表示对象&#xff0c;其中对象的每个字段都对应一个键值对。以下是关于Redis中Hash的详细讲解&#xff1a; 特点&#xff1a; 1. 键值对集合&#xff1a;Hash是一个包含…...

性能测试详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始&#xff0c;到客户端接收到最后一个字节数据为止所消耗的时间。响应时间按软件的特点…...

修改ruoyi的logo和标题

1、修改网页标签上的图标和标题 静态修改 标签页上的 图标 直接替换public/favicon.ico文件为你自己的图标文件 如果你的图标文件名不是favicon.ico&#xff0c;你还需要在public/index.html中相应地修改这一行&#xff0c;将/favicon.ico替换为你的图标文件路径。 静态修改…...

SEO_快速见效的站内SEO优化检查清单与方法

SEO:快速见效的站内SEO优化检查清单与方法 在当今竞争激烈的互联网市场中&#xff0c;快速见效的站内SEO优化尤为重要。无论你是新站点的创建者&#xff0c;还是老站点的运营者&#xff0c;站内SEO优化都能帮助提升网站的搜索引擎排名&#xff0c;吸引更多访客。本文将带你了解…...

G-Helper解决华硕笔记本风扇异常问题完全指南

G-Helper解决华硕笔记本风扇异常问题完全指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and other model…...

Godot资源解压器godotdec:从游戏资源保护到开发分析的技术实践

Godot资源解压器godotdec&#xff1a;从游戏资源保护到开发分析的技术实践 【免费下载链接】godotdec An unpacker for Godot Engine package files (.pck) 项目地址: https://gitcode.com/gh_mirrors/go/godotdec 在游戏开发与资源管理领域&#xff0c;Godot引擎的.pck…...

从WPF迁移到Avalonia:开发者必须掌握的12个关键差异与实战转换指南

1. 文件格式与样式系统的根本差异 如果你是从WPF转向Avalonia的老手&#xff0c;第一个迎面而来的变化就是文件扩展名。在WPF中我们熟悉的.xaml文件&#xff0c;在Avalonia中变成了.axaml。这个小小的"a"前缀背后&#xff0c;其实隐藏着框架设计理念的重大转变。我刚…...

从ROS1到ROS2:手把手教你移植hdl_localization激光点云定位包(含完整CMakeLists.txt修改指南)

从ROS1到ROS2&#xff1a;激光点云定位包的现代化移植实战指南 激光SLAM技术正在经历从ROS1到ROS2的范式迁移浪潮。作为核心定位算法之一&#xff0c;hdl_localization的移植不仅是构建系统的转换&#xff0c;更是一次架构思维的升级。本文将带您深入理解ament_cmake的模块化设…...

从SEED-Labs实验到实战:手把手教你编写无零字节的x86 Shellcode(附完整代码)

从SEED-Labs实验到实战&#xff1a;手把手教你编写无零字节的x86 Shellcode&#xff08;附完整代码&#xff09; 当你第一次看到"Shellcode"这个词时&#xff0c;可能会联想到某种神秘的编程黑魔法。实际上&#xff0c;它是安全研究中最具实用价值的技能之一——一段…...

如何用Dism++打造高效Windows系统维护工作流

如何用Dism打造高效Windows系统维护工作流 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism是一款功能全面的Windows系统优化与维护工具&#xff0c;通过直观…...

实战演练:基于快马平台开发结合openclaw配置模型的工业分拣模拟系统

最近在做一个工业分拣系统的模拟项目&#xff0c;尝试用openclaw配置模型来实现对不同形状物体的智能抓取。整个过程在InsCode(快马)平台上完成&#xff0c;发现这个工具特别适合快速搭建这类机器人控制原型。记录下具体实现过程&#xff1a; 场景搭建 首先用三维引擎创建了一个…...

Windows 10 PL-2303串口驱动终极修复指南:告别老旧芯片兼容性问题

Windows 10 PL-2303串口驱动终极修复指南&#xff1a;告别老旧芯片兼容性问题 【免费下载链接】pl2303-win10 Windows 10 driver for end-of-life PL-2303 chipsets. 项目地址: https://gitcode.com/gh_mirrors/pl/pl2303-win10 还在为Windows 10系统下PL-2303串口适配器…...

OpenCore Legacy Patcher免费教程:3个关键步骤让老Mac焕发新生

OpenCore Legacy Patcher免费教程&#xff1a;3个关键步骤让老Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为苹果官方不支持你的老Mac升级…...