C语言 核心语法2

news2024/11/5 17:29:00

时间: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个字节

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

客户端与微服务之间的桥梁---网关

当我们创建好了N多个微服务或者微服务的实例之后&#xff0c;每个服务暴露出不同的端口地址&#xff0c;一般对于客户端请求&#xff0c;只需要请求一个端口&#xff0c;要隔离客户端和微服务的直接关系&#xff0c;保证微服务的安全性和灵活性&#xff0c;避免敏感信息的泄露。…

萤石设备视频接入平台EasyCVR私有化部署视频平台高速公路视频上云的高效解决方案

经济的迅猛发展带来了高速公路使用频率的激增&#xff0c;其封闭、立交和高速的特性变得更加显著。然而&#xff0c;传统的人工巡查方式已不足以应对当前高速公路的监控挑战&#xff0c;监控盲点和响应速度慢成为突出问题。比如&#xff0c;非法占用紧急车道的情况屡见不鲜&…

【论文速读】| APILOT:通过避开过时API陷阱,引导大语言模型生成安全代码

基本信息 原文标题&#xff1a;APILOT: Navigating Large Language Models to Generate Secure Code by Sidestepping Outdated API Pitfalls 原文作者&#xff1a;Weiheng Bai, Keyang Xuan, Pengxiang Huang, Qiushi Wu, Jianing Wen, Jingjing Wu, Kangjie Lu 作者单位&a…

泡泡玛特行至巅峰,又顷刻“瓦解”?

今年&#xff0c;在海外“一呼百应”的LABUBU与“老妈”泡泡玛特一同步入了潮玩时代的全新阶段。 先是LABUBU获授“神奇泰国体验官”&#xff0c;首个LABUBU主题店也落地曼谷。随后泡泡玛特也在发布三季度财报后迎来股价新高&#xff08;10月24日收盘价75.85元/股&#xff0c;…

如何看待长周期项目?

有一个客户&#xff0c;想找你做一个软件项目。你大体评估了一下&#xff0c;项目成本300万&#xff0c;项目收入400万&#xff0c;有大概100万左右的毛利。但项目的周期&#xff0c;会比较长&#xff0c;大概是3年。 你会做吗&#xff1f; 我从自己的经验和直觉来看&#x…

Flutter仿微信,高度还原,开源

Flutter仿微信开源项目&#xff0c;持续更新中 Flutter仿微信项目&#xff0c;已开源&#x1f680;&#x1f680;&#x1f680;说明效果预览开发进度说明未来计划项目结构说明组件封装示例最后持续更新中... Flutter仿微信项目&#xff0c;已开源&#x1f680;&#x1f680;&am…

HBA:基于分层激光雷达集束调整的一致性建图

文章目录 前言一、介绍二、相关工作三、方法A. 概述B. 自底向上的分层BA&#xff08;Bundle Adjustment&#xff09;C. 自顶向下位姿图优化 四. 实验A. 精度分析 前言 代码&#xff1a;github 原文&#xff1a;原文 摘要——重建准确且一致的大规模LiDAR点云地图对机器人应用至…

Docker — 跨平台和环境部署

Docker 是一个开源的容器化平台&#xff0c;通过将应用程序和其依赖打包在一个轻量级、独立的容器中&#xff0c;能够跨平台和环境部署。 1. Docker 基本概念 镜像 (Image)&#xff1a;Docker 镜像是一个只读模板&#xff0c;包含运行应用程序所需的代码、库、依赖和环境配置。…

消息队列-Rabbitmq(消息发送,消息接收)

将来我们开发业务功能的时候&#xff0c;肯定不会在控制台收发消息&#xff0c;而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议&#xff0c;因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息&#xff0c;都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不…

一机多控无人机集群飞行控制技术详解

一机多控无人机集群飞行控制技术是指通过单一控制端或多个协同工作的控制端&#xff0c;对多架无人机进行集群管理和控制的技术。这种技术结合了通信技术、路径规划、碰撞避免、分布式与集中式控制等多个方面&#xff0c;以实现无人机集群的协同作战或完成其他特定任务。以下是…

DEVOPS: 认证与调度

概述 不知道大家有没有意识到一个现实&#xff0c;就是大部分时候&#xff0c;我们已经不像以前一样通过命令行&#xff0c;或者可视窗口来使用一个系统了现在我们上微博、或者网购&#xff0c;操作的其实不是眼前这台设备&#xff0c;而是一个又一个集群 通常&#xff0c;这样…

【鸢尾花书籍】编程不难

&#x1f4dd;本文介绍 本文为作者拜读鸢尾花书籍《编程不难》后所做的笔记&#xff0c;整理成文章&#xff0c;以供回顾 &#x1f44b;作者简介&#xff1a;一个正在积极探索的本科生 &#x1f4f1;联系方式&#xff1a;943641266(QQ) &#x1f6aa;Github地址&#xff1a;htt…

HTML 文档规范与解析模式:DOCTYPE、<html> 标签以及结构化页面

文章目录 `<!DOCTYPE html>` 文档类型声明标准模式与怪异模式HTML5 的简化声明`<html>` 标签`<head>` 标签`<body>` 标签小结<!DOCTYPE html> 文档类型声明 在 HTML 文档中,<!DOCTYPE html> 是一个重要的文档类型声明,主要用于告知浏览…

CFA全球投资分析大赛专访:与投资人胡建平共话投资智慧

在复杂多变的金融市场中&#xff0c;每一个精准的投资决策背后&#xff0c;都隐藏着无数次的策略考量与深入分析。CFA全球投资分析大赛&#xff0c;作为业界公认的检验投资能力的舞台&#xff0c;每年都会吸引来自世界各地的顶尖投资者一展身手。今年&#xff0c;我们有幸在比赛…

Halcon 一维卡尺测量找点之模糊集测量法

模糊测量是对标准测量的一种扩展&#xff0c;并不意味着测量是“模糊的”&#xff0c;而是用模糊隶属函数来控制边缘的选择。所谓的模糊隶属函数&#xff0c;就是将边缘的特征值转换为隶属度值&#xff0c;基于这些隶属值做出是否选择边缘的决定&#xff0c;即当隶属值大于你设…

快速SEO致胜:提升网站成效的8个步骤

搜索引擎优化&#xff08;SEO&#xff09;决定您网站的可见性和整体成效。 如今&#xff0c;仅仅拥有一个网站是不够的 – 您的网站需要在搜索引擎结果中排名靠前才能吸引流量并产生参与度。 幸运的是&#xff0c;改善您的 SEO 并不总是需要技术专长或复杂的策略。 在这篇文…

Java ==> String类(字符串)

文章目录 一、认识String类1、创建String对象2、不可变的String3、字符串常量池 二、字符串常用操作1、字符串比较1.1 用“”比较1.2 用equals()方法比较1.3用compareTo()方法进行比较 2、获取字符串长度3、字符串查找4、字符串转换4.1valueOf()数值转换为字符串4.2字母大小写转…

使用Github下载YOLO v5项目教程

目录 1、首先打开Github 2、在搜索框搜索yolov5 3、找到合适的yolov5版本 4、选择版本 5、下载 1、首先打开Github 2、在搜索框搜索yolov5 3、找到合适的yolov5版本 这里以第一个为例 4、选择版本 版本的选择要根据自己python的版本以及安装的库的版本&#xff0c;在requi…

leetcode 2710 移除字符串中的尾随零

1.题目要求: 2.题目代码: class Solution { public:string removeTrailingZeros(string num) {while(num[num.size() - 1] 0){num.pop_back();}return num;} };

033_Structure_Static_In_Matlab求解结构静力学问题两套方法

结构静力学问题 静力学问现在是已经很简单的问题&#xff0c;在材料各向同性的情况下&#xff0c;对于弹性固体材料&#xff0c;很容易通过有限元求解。特别是线弹性问题&#xff0c;方程的矩阵形式可以很容易的写出&#xff08;准确得说是很容易通过有限元表达&#xff09;&a…