爬虫开发(5)如何写一个CSDN热门榜爬虫小程序
笔者 綦枫Maple 的其他作品,欢迎点击查阅哦~:
📚Jmeter性能测试大全:Jmeter性能测试大全系列教程!持续更新中!
📚UI自动化测试系列: Selenium+Java自动化测试系列教程❤
📚移动端自动化测试系列:Appium自动化测试系列教程
如何写一个CSDN热门榜爬虫小程序
📚引言
在互联网时代,信息的获取已经变得越来越便捷。然而,面对海量的信息,如何高效地筛选出有价值的内容,成为了一个崭新的小挑战。为此,许多网站提供了“热门”或“推荐”功能,帮助用户快速找到最受欢迎的内容。而CSDN(China Software Developer Network)作为国内知名的开发者社区,里面的热门文章榜单是许多技术爱好者关注的重点。本文中,博主将详细介绍如何编写一个简单的CSDN热门榜爬虫小程序,帮助大家自动化地获取这些热门文章的信息。
声明:本文仅作为技术分享,请勿对任何网站进行攻击,切勿用作非法用途。
📚准备工作
🀚安装必要的Python库
在开始编写爬虫之前,我们需要确保安装了这两个重要的Python库:requests
和 BeautifulSoup
。
- requests:用于发送HTTP请求,获取网页内容。
- BeautifulSoup:用于解析HTML文档,提取所需数据。
你可以使用以下命令通过pip安装这两个库:
bash深色版本
pip install requests beautifulsoup4
🀚创建项目文件
在你的工作目录下,创建一个新的Python文件,例如 csdn_hotlist_spider.py
,并在其中编写爬虫代码。
✍编写爬虫代码
✍导入所需的模块
首先,我们需要导入 requests
和 BeautifulSoup
模块,以及其他可能用到的标准库模块:
import requests
from bs4 import BeautifulSoup
✍定义函数 get_csdn_hotlist
接下来,我们定义一个函数 get_csdn_hotlist
,则个函数将负责获取CSDN热门文章的信息
def get_csdn_hotlist():# CSDN热门文章页面URLurl = 'https://www.csdn.net/nav/ai'# 设置请求头,模拟浏览器访问headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}# 发送GET请求response = requests.get(url, headers=headers)# 解析HTMLsoup = BeautifulSoup(response.text, 'html.parser')# 找到热门文章列表hot_articles = soup.find_all('li', class_='news-list-item')# 遍历热门文章列表,提取所需信息articles = []for article in hot_articles:title = article.find('h2').text.strip()link = article.find('a')['href']summary = article.find('p', class_='summary').text.strip()# 将信息添加到列表articles.append({'title': title,'link': link,'summary': summary})return articles
✍详细解析
-
✍定义URL
url = 'https://www.csdn.net/nav/ai'
- 这里我们指定了CSDN热门文章页面的URL。
nav/ai
是CSDN的一个子页面,这里会专门展示AI相关的热门文章。
- 这里我们指定了CSDN热门文章页面的URL。
-
✍设置请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' }
User-Agent
是一个HTTP头字段,用于告诉服务器我们使用的浏览器类型。通过设置这个字段,我们可以模拟浏览器的行为,避免被服务器识别为爬虫而被拒绝访问。
-
✍发送GET请求
response = requests.get(url, headers=headers)
- 使用
requests.get
方法发送GET请求,获取指定URL的网页内容。headers
参数传递了我们之前设置的请求头。
- 使用
-
✍解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
- 使用
BeautifulSoup
解析返回的HTML内容。response.text
是服务器返回的HTML文本,'html.parser'
是解析器类型。
- 使用
-
✍找到热门文章列表
hot_articles = soup.find_all('li', class_='news-list-item')
- 使用
soup.find_all
方法查找所有符合条件的HTML元素。这里我们查找所有类名为news-list-item
的<li>
元素,这些元素通常包含热门文章的信息。
- 使用
-
✍遍历热门文章列表,提取所需信息
articles = [] for article in hot_articles:title = article.find('h2').text.strip()link = article.find('a')['href']summary = article.find('p', class_='summary').text.strip()# 将信息添加到列表articles.append({'title': title,'link': link,'summary': summary})
- 遍历每个热门文章元素,提取文章的标题、链接和简介。
title
:使用article.find('h2').text.strip()
提取文章标题,并去除首尾空格。link
:使用article.find('a')['href']
提取文章链接。summary
:使用article.find('p', class_='summary').text.strip()
提取文章简介,并去除首尾空格。- 将提取的信息以字典形式存储,并添加到
articles
列表中。
-
✍返回文章列表
return articles
- 最后,返回一下包含所有热门文章信息的列表。
✍主程序入口
在脚本的最后,我们定义主程序入口,调用 get_csdn_hotlist
函数并打印结果。
if __name__ == '__main__':# 获取热门文章列表hotlist = get_csdn_hotlist()# 打印热门文章信息for index, article in enumerate(hotlist, start=1):print(f"{index}. {article['title']}")print(f" 链接: {article['link']}")print(f" 简介: {article['summary']}\n")
✍详细解析
-
🀙主程序入口
if __name__ == '__main__':
- 这是一个常见的Python编程模式,用于判断当前脚本是否直接运行。如果是直接运行,则执行下面的代码块。
-
🀙获取热门文章列表
hotlist = get_csdn_hotlist()
- 调用
get_csdn_hotlist
函数,获取热门文章列表。
- 调用
-
🀙打印热门文章信息
for index, article in enumerate(hotlist, start=1):print(f"{index}. {article['title']}")print(f" 链接: {article['link']}")print(f" 简介: {article['summary']}\n")
- 使用
enumerate
函数遍历热门文章列表,同时获取每个文章的索引。 - 打印每篇文章的序号、标题、链接和简介。
- 使用
🀙运行程序
将上述代码保存为 csdn_hotlist_spider.py
文件,然后在命令行中运行它:
bash深色版本
python csdn_hotlist_spider.py
程序将会输出CSDN热门文章的标题、链接和简介。
🀙注意事项
🀙遵守网站规则
在爬取任何网站的数据时,请确保阅读并遵守该网站的服务条款,避免因违规操作导致法律问题或账号封禁。CSDN的使用条款通常会明确指出哪些行为是允许的,哪些是禁止的。
🀙请求频率
频繁地向同一网站发送请求可能会导致IP被封禁。建议合理设置请求间隔时间,例如每分钟请求一次,或者使用代理IP池来分散请求。
🀙错误处理
实际应用中应增加异常处理逻辑,比如网络请求失败时的重试机制等。可以使用 try-except
块来捕获和处理异常:
try:response = requests.get(url, headers=headers)response.raise_for_status() # 如果响应状态码不是200,抛出HTTPError异常
except requests.RequestException as e:print(f"请求失败: {e}")
✍结尾
🀙🀚🀛🀜🀝🀞🀟🀠🀡🀐🀑🀒🀓🀔🀕🀖🀘🀗🀏🀎🀍🀌🀋🀊🀉🀈🀇🀆🀅🀃🀂🀁🀀🀄︎🀢🀣🀥🀤🀦🀧🀨🀩🀪
📘 妹妹听后点了点头,脸上露出了满意的笑容。她轻声说道:“原来如此,谢谢你,鸽鸽。看来我不仅要多读书,还要多动手实践,提升自己才行。”
看着她那充满求知欲的眼神,我不禁感叹,学习之路虽然充满挑战,但有这样一位美丽聪慧的伙伴相伴,一切都变得格外有意义。快去和妹妹一起实践一下吧!
👨🎓作者:綦枫Maple
🚀博客:CSDN、掘金等
🚀网易云:https://y.music.163.com/m/user?id=316706413
🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。
🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系处理。
🀐其他:若有兴趣,可以加页面左侧的《Java自动化技术交流屋》探讨学习哦~
相关文章:
爬虫开发(5)如何写一个CSDN热门榜爬虫小程序
笔者 綦枫Maple 的其他作品,欢迎点击查阅哦~: 📚Jmeter性能测试大全:Jmeter性能测试大全系列教程!持续更新中! 📚UI自动化测试系列: SeleniumJava自动化测试系列教程❤ 📚…...
Rust 组织管理
Rust 组织管理 Rust 是一种系统编程语言,以其安全性、并发性和性能而闻名。随着 Rust 社区的不断壮大,有效的组织管理变得至关重要。本文将探讨 Rust 社区的组织结构、项目管理、社区参与和未来发展方向。 Rust 社区的组织结构 Rust 社区采用了一种去中心化的组织结构。核…...
谈谈微服务的常用组件
由于微服务给系统开发带来了一些问题和挑战,如服务调用的复杂性、分布式事务的处理、服务的动态管理等,为了更好地解决这些问题和挑战,各种微服务治理的组件应运而生,充当微服务架构的基石和支撑,常用组件如下表&#…...
Android11.0默认壁纸缩放
获取壁纸缩放值的代码 //in com.android.server.wm.WallpaperController private final float mMaxWallpaperScale; //construct method WallpaperController(WindowManagerService service, DisplayContent displayContent) {......mMaxWallpaperScale service.mContext.ge…...
git 本地同步远端分支
一、关联远程仓库 本地仓库关联远端仓库 git remote add origin https://github.com/user/repository.git 二、获取远程分支信息 获取远程仓库的最新分支信息 git fetch origin 三、创建或切换到本地分支以跟踪远程分支 1. 创建分支 创建分支并关联到远端分支 git bra…...
数字IC后端设计实现之分段长clock tree经典案例
最近发现很多读者问到分段长clock tree的做法,小编今天给大家分享几个SoC芯片中复杂时钟结构设计的分段长clock tree的应用案例。希望对各位的学习和工作有所助益。 数字后端设计实现之时钟树综合实践篇 数字IC后端实现专家都具备哪些技能?(…...
矩阵重新排列——rot90函数
通过 r o t 90 rot90 rot90函数可以将矩阵进行旋转 用法: r o t 90 ( a , k ) rot90(a,k) rot90(a,k)将矩阵 a a a按逆时针方向旋转 k 9 0 ∘ k\times90^\circ k90∘...
深入解析音视频流媒体SIP协议交互过程
一、引言 在音视频流媒体传输过程中,SIP(Session Initiation Protocol)协议发挥着举足轻重的作用。本文将详细全面地介绍音视频流媒体传输中的SIP协议,包括其基本概念、交互过程、关键信令以及应用场景 二、SIP协议基本概念 1.…...
【C++】深入解析 cin 和 cout:理解区分输入输出流运算符
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯cin 和 cout 简介💯cin >> 与 cout << 的流运算符💯理解流运算符方向的四种方法1. 符号方向对应数据流动的方向2. 形象比喻3. 记住公式…...
java介绍
Java是一种广泛应用的高级编程语言,具有以下特点和应用场景: 语言特性 简单易学 Java语法相对简洁,去除了一些复杂的指针操作等,使得程序员能够更专注于业务逻辑的实现。例如,Java使用自动内存管理(垃圾回…...
1-深度学习干货总结(持续更新)
机器学习核心组件 可以用来学习的数据(data); 如何转换数据的模型(model); 一个目标函数(objective function),用来量化模型的有效性; 调整模型参数以优化…...
《C++搭建神经网络基石:开启智能编程新征程》
在人工智能的璀璨星空中,神经网络无疑是最为耀眼的星座之一。而 C以其卓越的性能和高效的执行效率,成为构建神经网络模型的有力武器。今天,就让我们一同探索如何使用 C构建一个基础的神经网络模型,踏上智能编程的奇妙旅程。 一、…...
小程序 - 本地生活
小程序页面和样式练习 - 本地生活小程序开发笔记 目录 本地生活 准备工作 加载图片素材 页面开发 页面样式开发 功能实现截图 总结 本地生活 本地生活”微信小程序是一个介绍本地美食、装修、工作等信息的微信小程序,该微信小程序的首页包含轮播图区域和九宫…...
docker的joinsunsoft/docker.ui修改密码【未解决】
docker的joinsunsoft/docker.ui修改密码 前言 这个挺遗憾的,个人能力不足。想修改密码是不可能了。 因为,系统的密码加密规则不知道。 目前了解到的内容是: 地址是:https://hub.docker.com/r/joinsunsoft/docker.ui服务是用go语…...
pyspark实现基于协同过滤的电影推荐系统
最近在学一门大数据的课,课程要求很开放,任意做一个大数据相关的项目即可,不知道为什么我就想到推荐算法,一直到着手要做之前还没有新的更好的来代替,那就这个吧。 推荐算法 推荐算法的发展由来已久,但和…...
【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)
更新 0.0.1(2024/11/26): 1.解决了内建蓝牙无法识别、“steamVR 蓝牙不可用” 的解决方案 2.解决了 tracker 虽然建立了连接但是在 steamVR 界面上看不到的问题 3.解决了 VIVE 基站1.0 无法被蓝牙识别 && 无法被 steamVR 搜索到 &…...
C++11
C11 C11简介一.列表初始化{ }initializer_list 二.一些关键字三.右值引用和移动语义(重要)完美转发移动构造和移动赋值重载 四.小知识类成员变量初始化 五.可变参数模板六.lambda表达式(又称匿名函数)(重要)…...
MySQL - 表的增删查改
文章目录 1.新增1.1语法1.2单行插入1.3多行插入1.4插入后更新1.5替换 2.查找2.1语法2.2使用 3.修改3.1语法3.2使用 4.删除4.1语法4.2使用4.3截断表 5.插入查询结果5.1语法5.2使用 1.新增 1.1语法 INSERT [INTO] table_name [(column1, column2, ...)] VALUES (value1, value2…...
Vue3 调用子组件的方法和变量
1. 通过 ref 调用子组件的方法和变量 Vue 3 引入了 ref,你可以通过 ref 获取子组件实例,并调用其方法或访问其数据。 例子 子组件 (Child.vue) <template><div><p>{{ message }}</p><button click"updateMessage&qu…...
蓝桥杯嵌入式再学习(4)led的点亮
led的点亮的话先在cubemx里点一下配置 以下是对应的代码...
CentOS7安装nvm
CentOS7安装nvm 在 CentOS 7 上安装 NVM(Node Version Manager)可以通过以下步骤进行。NVM 是一个用于管理多个 Node.js 版本的工具,允许你在不同的项目中使用不同的 Node.js 版本。 步骤 1:更新系统 首先,确保你的…...
2024年工信部大数据分析师证书报考条件是怎样的?有什么用
大数据分析师,乃是这样一类专业人才,他们凭借着先进且高效的数据分析技术以及各类实用工具,对规模庞大、纷繁复杂的海量数据展开全面而细致的清洗、处理、分析以及解读工作。其工作的核心目标在于为企业的决策制定提供有力依据,推…...
天锐绿盾加密软件与Ping32联合打造企业级安全保护系统,确保敏感数据防泄密与加密管理
随着信息技术的飞速发展,企业在日常经营过程中产生和处理的大量敏感数据,面临着越来越复杂的安全威胁。尤其是在金融、医疗、法律等领域,数据泄漏不仅会造成企业巨大的经济损失,还可能破坏企业的信誉和客户信任。因此,…...
代码随想录算法训练营第六十天|Day60 图论
Bellman_ford 队列优化算法(又名SPFA) https://www.programmercarl.com/kamacoder/0094.%E5%9F%8E%E5%B8%82%E9%97%B4%E8%B4%A7%E7%89%A9%E8%BF%90%E8%BE%93I-SPFA.html 本题我们来系统讲解 Bellman_ford 队列优化算法 ,也叫SPFA算法…...
Web登录页面设计
记录第一个前端界面,暑假期间写的,用了Lottie动画和canvas标签做动画,登录和注册也连接了数据库。 图片是从网上找的,如有侵权私信我删除,谢谢啦~...
Rust标准库中集合类型用法详解
文章目录 Vec<T> 动态数组创建动态数组增加删除元素访问元素遍历Vec控制容量修改元素元素排序 HashMap<K, V>哈希表创建 HashMap插入和更新元素访问元素删除元素遍历HashMap使用默认值 HashSet<T>哈希集合创建 HashSet插入和删除元素查找元素遍历HashSet使用…...
软件测试面试之数据库部分
1.取第 4 到5 条记录 --按ID从小到大,查询第到第条数据 select top4 *from(select top5 * from qicheorder by ID asc ) as TA order by ID desc--按ID从小到大,查询第到第条数据 select top 2*from(select top 4 *from qicheorder by ID asc )as TA o…...
Gitee markdown 使用方法(持续更新)
IPKISS 获取仿真器件的名称 引言正文标题换行第一种------在行末尾手动键入两个空格第二种------额外换行一次,即两行中间留一个空行 缩进与反缩进代码块行内代码添加图片添加超链接 加粗,倾斜,加粗倾斜 引言 有些保密性的文件或者教程&…...
水库大坝安全监测之量水堰计应用
量水堰计是水库大坝安全监测系统中的一种关键设备,主要用于测量水库水位、流量等水力参数。以下是量水堰计在水库大坝安全监测中的应用及注意事项: 一、量水堰计的工作原理 量水堰计是一种专门用于测量水流流量的仪器,其工作原理主要基于水流…...
Mouser EDI 需求分析
为了提高供应链的自动化水平,贸泽电子(Mouser Electronics)使用EDI技术更好地管理与其全球合作伙伴之间的业务数据往来。对接Mouser EDI,对于企业而言,需要在本地部署EDI软件,建立与Mouser之间的EDI连接通道…...
51单片机快速入门之中断的应用 2024/11/23 串口中断
51单片机快速入门之中断的应用 基本函数: void T0(void) interrupt 1 using 1 { 这里放入中断后需要做的操作 } void T0(void): 这是一个函数声明,表明函数 T0 不接受任何参数,并且不返回任何值。 interrupt 1: 这是关键字和参…...
电脑显示器拔插DVI线后副屏不显示
问题:台式机副屏显示器插拔DVI线后副屏无法检测到,不显示 其他现象:电脑设备管理器“显示适配器”中只有独显,未显示集显。 尝试方法: 1、 重新插拔并拧紧DVI线、更换DVI线、将DVI线替换为VGA线、调换DVI线及VGA线两…...
git分支管理:release分支内容重置为master
背景:公司项目存在release和master分支,一直是release合并到master分支;由于历史总总原因导致release和master分支内容相差很大。某个夜晚,leader悄悄改了master分支的内容(不走合并流程),然后通…...
python之poetry 安装、创建项目、修改源、创建虚拟环境等操作
CentOs7.5下安装python3,修改源,创建虚拟环境 python 虚拟环境的搭建 使用pyenv 管理多个版本的python 安装 pyenv curl https://pyenv.run | bash pyenv install 3.10 pyenv local 3.10 # 当前项目激活Python3.10 pyenv global 3.10 # 当前全部激活P…...
一个高度可扩展的 Golang ORM 库【GORM】
GORM 是一个功能强大的 Golang 对象关系映射(ORM)库,它提供了简洁的接口和全面的功能,帮助开发者更方便地操作数据库。 1. 完整的 ORM 功能 • 支持常见的关系模型: • Has One(一对一) • …...
hadoop_HA高可用
秒懂HA HA概述HDFS-HA工作机制工作要点元数据同步参数配置手动故障转移自动故障转移工作机制相关命令 YARN-HA参数配置自动故障转移机制相关命令 附录Zookeeper详解 HA概述 H(high)A(avilable): 高可用,意味着必须有容错机制,不能因为集群故障…...
23种设计模式-工厂方法(Factory Method)设计模式
文章目录 一.什么是工厂方法设计模式?二. 工厂方法模式的特点三.工厂方法模式的结构四.工厂方法模式的优缺点五.工厂方法模式的 C 实现六.工厂方法模式的 Java 实现七.代码解析八.总结 类图: 工厂方法设计模式类图 一.什么是工厂方法设计模式࿱…...
论文笔记 SliceGPT: Compress Large Language Models By Deleting Rows And Columns
欲买桂花同载酒,终不似,少年游。 数学知识 秩: 矩阵中最大线性无关的行/列向量数。行秩与列秩相等。 线性无关:对于N个向量而言,如果任取一个向量 v \textbf{v} v,不能被剩下的N-1个向量通过线性组合的方式…...
构建 LLM (大型语言模型)应用程序——从入门到精通(第七部分:开源 RAG)
通过检索增强生成 (RAG) 应用程序的视角学习大型语言模型 (LLM)。 本系列博文 简介数据准备句子转换器矢量数据库搜索与检索大语言模型开源 RAG(本帖)评估服务LLM高级 RAG 1. 简介 我们之前的博客文章广泛探讨了大型语言模型 (LLM),涵盖了其…...
快速理解倒排索引在ElasticSearch中的作用
一.基础概念 定义: 倒排索引是一种数据结构,用来加速文本数据的搜索和检索,和传统的索引方式不同,倒排索引会被每个词汇项与包含该词汇项的文档关联起来,从而去实现快速的全文检索。 举例: 在传统的全文…...
彻底理解微服务配置中心的作用
常见的配置中心有SpringCloudConfig、Apollo、Nacos等,理解它的作用,无非两点,一是配置中心能做什么,不使用配置中心会出现什么问题。 作用:配置中心是用来集中管理服务的配置,它是用来提高系统配置的维护…...
基于YOLOv8深度学习的智慧农业棉花采摘状态检测与语音提醒系统(PyQt5界面+数据集+训练代码)
智慧农业在现代农业中的应用日益广泛,其核心目标是通过智能化手段实现农业生产的自动化、精准化和高效化,而精准采摘技术作为智慧农业的重要组成部分,正受到越来越多的关注。棉花作为一种经济作物,其采摘过程传统上依赖于人工劳作…...
自动控制原理——BliBli站_DR_CAN
自动控制 2 稳定性分析 极点在左半平面 输入为单位冲击,而拉普拉斯变换为1;因此,开环和闭环系统,研究其传递函数的稳定性就可以了 2.5_非零初始条件下的传递函数_含有初始条件的传递函数 如果一个系统的初始条件不为0࿰…...
使用phpStudy小皮面板模拟后端服务器,搭建H5网站运行生产环境
一.下载安装小皮 小皮面板官网下载网址:小皮面板(phpstudy) - 让天下没有难配的服务器环境! 安装说明(特别注意) 1. 安装路径不能包含“中文”或者“空格”,否则会报错(例如错误提示:Cant cha…...
vue2 pinia 安装与入门
安装 本体 npm install pinia vue2特定 npm install vue/composition-api 持久化存本地 npm install pinia-plugin-persistvue.config.js 不加的话会报错 configureWebpack: { // 在configureWebpack里加上以下modulemodule: {rules: [{test: /\.mjs$/,include: /node_mo…...
路由传参、搜索、多选框勾选、新增/编辑表单复用
前言: 记录添加运动员页面功能的具体实现 ①由赛事管理页面跳转时路由传参(携带该页面表格中莫某条数据对应的赛事id到另一个页面); ②搜索框实时搜索; ③多选框勾选搜索; ④新增表单和编辑表单复用&a…...
内网不出网上线cs
一:本地正向代理目标 如下,本地(10.211.55.2)挂好了基于 reGeorg 的 http 正向代理。代理为: Socks5 10.211.55.2 1080python2 reGeorgSocksProxy.py -l 0.0.0.0 -p 1080 -u http://10.211.55.3:8080/shiro/tunnel.jsp 二:虚拟机配置proxifer 我们是…...
防止按钮被频繁点击
在做开发的时候,不希望按钮被用户频繁点击,给后端服务器增加负担,这个时候,可以在按钮的触发函数加上如下代码: // 禁用按钮 const fetchButton document.querySelector(.btn-fetch); fetchButton.disabled true; // 延时61秒后重新启用按钮 setTimeout(() > { fetchBut…...
Zariski交换代数经典教材Commutative Algebra系列(pdf可复制版)
Zariski的名字估计学代数几何的人都耳熟能详,先是入门时期的交换代数教材,然后就是深入研究时期随处可见的Zariski拓扑。本帖我们分享的便是著名的Zariski交换代数教材。 Oscar Zariski & Pierre Samuel写的交换代数经典教材Commutative Algebra&am…...
【C++】数据类型(上)
C规定在创建一个变量或一个常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 数据类型存在意义:给变量分配合适的内存空间。 1.1 整型 整型作用:整型变量表示的整数类型的数据。 C中能够表示整型类型的有以下几种…...