最新要闻
- 环球今热点:真正油电同价!比亚迪投放“深水炸弹”:13.4万买宋Pro DM-i超级混动
- 环球通讯!立春来首场寒潮横扫我国大部:多地将遭遇滑梯式降温 最高降20℃
- 【新要闻】活久见!女生家中发现神奇圆柱形手机:登QQ、手电筒、拍照 功能多到炸
- 最便宜竖折叠继任者!摩托罗拉Razr 2023真机图出炉:首次拼色后壳
- 当前快报:汽车价格战新进展:南北大众同日入局 丰田买一辆送一辆
- 【时快讯】《满江红》中国影史票房榜第6:力压《唐人街探案3》 票房突破45.23亿
- 环球即时:2023开门红!长四丙成功发射“一箭双星”
- 环球消息!第一批PCIe 5.0 SSD都是残血!14GB/s满血版还早呢
- 世界快资讯丨有了ChatGPT 动动嘴就能使唤Excel:我的童年梦想实现了
- 每日热门:8岁男孩单手打破汉诺塔世界纪录:4.305秒搞定4层
- 当前头条:海绵宝宝卡通图片线条图_海绵宝宝卡通图片
- 天生要完美电视剧28集完整版_天生要完美电视剧
- 孙海洋夫妇餐饮公司被列经营异常:本人回应
- 今日报丨香港男子深圳上班每天通勤4小时:月薪3万 每天通勤费用80元
- 当前观察:大获成功!《最后生还者》成史上收视率最高的游戏改编剧
- 爆款椰子鞋停售后:阿迪在中国凉凉了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
观热点:01-C语言概述
C语言概述
1.什么是C语言
C语言就是人和计算机交流的一种语言语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与,这是语言最重要的功能:
- 说的一方传递信息,听的一方接收信息;
- 说的一方下达指令,听的一方遵循命令做事情。
语言是人和人交流,C语言是人和机器交流。只是,人可以不听另外一个人,但是,计算机是无条件服从。语言有独特的语法规则和定义,双方必须遵循这些规则和定义才能实现真正的交流。最早的时候使用的是机器语言(01001),后面发展为汇编语言,汇编语言相对于机器语言易懂一些,汇编语言依赖于寄存器,不同的机器可能没有寄存器。之后出现了高级语言编译:将高级语言转换为计算机能够识别的二进制指令。
2.C语言特点
2.1优点
- 代码量小
- 执行速度快
- 功能强大
- 编程自由
2.2缺点
- 写代码实现周期长
- 可移植性差
- 过于自由,经验不足易出错
- 对平台库依赖较多
2.3C语言应用领域
C语言的应用极其广泛,从网站后台,到底层操作系统,从多媒体应用到大型网络游戏,均可使用C语言来开发:
(资料图)
- C语言可以写网站后台程序
- C语言可以专门针对某个主题写出功能强大的程序库
- C语言可以写出大型游戏的引擎
- C语言可以写出另一个语言来
- C语言可以写操作系统和驱动程序,并且只能用C语言编写
- 任何设备只要配置了微处理器,就都支持C语言。从微波炉到手机,都是由C语言技术来推动的
2.4C语言简洁
C语言仅有32个关键字,9种控制语句,34种运算符,却能完成无数的功能:
3.书写第一个C语言程序
3.1 Visual Studio基础使用
- 使用Visual studio 2019集成开发环境,先创建项目,选择代码文件夹
- 解决方案资源管理器管理代码
- 创建的代码放在项目中,在解决方案资源管理器中的源文件中创建.C文件,源文件右击-->添加-->新建项-->选择C++-->更改文件后缀-->添加书写第一个代码
// 预处理指令,在预编译时处理// #include 包含stdio.h头文件// stdio.h头文件包含了一些函数// 两个//表示注释// 符号与()结合,代表一个函数// main() main函数也称作是主函数,整个程序中有且仅有一个main函数,程序从main函数开始执行// int代表main函数结束之后的返回值类型,C语言中可以不写返回值,在C++中必须要写// return代表结束这个函数,返回值,返回值的类型和函数定义时的返回值类型一致// {}里面的是函数体,所有需要执行的代码必须写在{}中// 每一条代码必须以分号(;)结尾// printf是一个库函数,printf()就是函数调用#include int main(){printf("Hello world\n");//打印到终端printf("Evan zhang");return 0;}
- 执行代码,ctrl+F5
3.2 使用文本编辑器编写代码
- C代码先编译后执行,首先将C代码保存,windows命令行界面下,默认是没有gcc编译器,我们需要配置一下环境。由于我们安装了Qt,Qt是一个集成开发环境,内部集成gcc编译器,配置一下环境变量即可使用gcc。
- 编译代码,安装Qt之后,在Qt安装目录(D:\Qt\Tools\mingw1120_64\bin)下,有gcc.exe是进行编译代码的
- wind+R-->cmd-->打开终端,使用gcc -v查看gcc是否可用,如果找不到就说明没有配置环境变量
- 如果想让计算机能够执行gcc,比如让计算机能够找到gcc--就是配置环境变量(配置环境变量之后要重启终端)windows中的几个命令
- cls 清屏
- dir 查看当前文件夹下有哪些文件
编译代码
gcc 文件绝对路径 -o 目标文件
上述方法要写路径,比较麻烦,可以在源代码文件夹下打开cmd,cmd直接切换到该目录下,这样就不用添加路径了
gcc 源文件 -o 编译文件名
- 直接使用编译后的文件进行执行代码
4.c语言编译步骤
C代码编译成可执行程序经过4步:1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法2)编译:检查语法,将预处理后文件编译生成汇编文件3)汇编:将汇编文件生成目标文件(二进制文件)4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
4.1分步编译
预处理:gcc -E hello.c -o hello.i编 译:gcc -S hello.i -o hello.s汇 编:gcc -c hello.s -o hello.o链 接:gcc hello.o -o hello
选项 | 含义 |
---|---|
-E | 只进行预处理 |
-S(大写) | 只进行预处理和编译 |
-c(小写) | 只进行预处理、编译和汇编 |
-o file | 指定生成的输出文件名为 file |
文件后缀 | 含义 |
---|---|
.c | C 语言文件 |
.i | 预处理后的 C 语言文件 |
.s | 编译后的汇编文件 |
.o | 编译后的目标文件 |
1. 预处理
- include可以包含任何文件,可以是.h文件,也可以包含.c文件;.h文件是头文件
#include #include
- 注释在编译完之后被删除,注释有两种方法,单行注释//,多行注释/**/
- 预处理时会将宏替换,将宏用后面的表达式进行替换
- c语言每条语句都有分号,如果缺失分号,是可以进行预处理的,预处理的时候是不会检查语法错误的
#include #define PI 3.14 // #define表示定义一个宏int main(){printf("Hello world %lf\n",PI);//打印到终端printf("Evan zhang");return 0;}
- 条件编译,可以用来注释,在编译的时候选择性的编译
#include #define PI 3.14 // #define表示定义一个宏int main(){#if 0 // 不成立,中间内容不进行编译,#if 1进行编译printf("Hello world %lf\n",PI);//打印到终端printf("Evan zhang");#endifreturn 0;}
2. 编译将预处理文件编译成汇编文件(.s文件),编译会检查语法错误
gcc -S hello.i -o hello.s
3. 汇编将汇编文件转换为二进制文件(.o)
gcc -c hello.s -o hello.o
4. 链接二进制文件是执行不了的,需要进行链接,链接需要设置运行的环境比如堆和栈的空间,还有一些库文件
gcc hello.o -o hello
5.system库函数
作用:在程序中启动另外一个程序参数:待启动程序的路径名(有些程序在环境变量中能找到,不用加路径)
#include #include int main(){//system启动程序,如果这个程序系统在环境变量中能找到,不用加路径//如果环境变量中找不到,需要加路径//windows路径以\\或/进行分割//c语言中\表示转义字符,代表特殊含义system("D:\\LXmusic_install\\lx-music-desktop\\lx-music-desktop.exe");printf("Hello world\n");//打印到终端printf("Evan zhang"); system("pause"); // pause程序的作用是等待用户输入任意按键return 0;}
6.CPU内部结构与寄存器(了解)
6.1 64位和32位系统区别
- 寄存器是CPU内部最基本的存储单元
- CPU对外是通过总线(地址、控制、数据)来和外部设备交互的,总线的宽度是8位,同时CPU的寄存器也是8位,那么这个CPU就叫8位CPU
- 如果总线是32位,寄存器也是32位的,那么这个CPU就是32位CPU
- 有一种CPU内部的寄存器是32位的,但总线是16位,准32为CPU
- 所有的64位CPU兼容32位的指令,32位要兼容16位的指令,所以在64位的CPU上是可以识别32位的指令
- 在64位的CPU构架上运行了64位的软件操作系统,那么这个系统是64位
- 在64位的CPU构架上,运行了32位的软件操作系统,那么这个系统就是32位
- 64位的软件不能运行在32位的CPU之上
- GPU主要用于运算浮点型数字运算
- 64位的总线也不会访问到2^64次方的地址
- 寄存器就是存cpu运算所需要的数据
6.2寄存器名称
8位 | 16位 | 32位 | 64位 |
---|---|---|---|
A | AX | EAX | RAX |
B | BX | EBX | RBX |
C | CX | ECX | RCX |
D | DX | EDX | RDX |
6.3寄存器\缓存\内存之间的关系
按与CPU远近来分,离得最近的是寄存器,然后缓存(CPU缓存),最后内存。
CPU计算时,先预先把要用的数据从硬盘读到内存,然后再把即将要用的数据读到寄存器。于是 CPU<--->寄存器<--->内存,这就是它们之间的信息交换。
那为什么有缓存呢?因为如果经常操作内存中的同一址地的数据,就会影响速度。于是就在寄存器与内存之间设置一个缓存。
因为从缓存提取的速度远高于内存。当然缓存的价格肯定远远高于内存,不然的话,机器里就没有内存的存在。
由此可以看出,从远近来看:CPU〈---〉寄存器〈---> 缓存 <---> 内存。
关键词:
观热点:01-C语言概述
环球今热点:真正油电同价!比亚迪投放“深水炸弹”:13.4万买宋Pro DM-i超级混动
环球通讯!立春来首场寒潮横扫我国大部:多地将遭遇滑梯式降温 最高降20℃
【新要闻】活久见!女生家中发现神奇圆柱形手机:登QQ、手电筒、拍照 功能多到炸
读Java性能权威指南(第2版)笔记13_堆内存下
最便宜竖折叠继任者!摩托罗拉Razr 2023真机图出炉:首次拼色后壳
当前快报:汽车价格战新进展:南北大众同日入局 丰田买一辆送一辆
世界速递!day05-功能实现04
Vue————Vue v2.7.14 入口文件【二】
【时快讯】《满江红》中国影史票房榜第6:力压《唐人街探案3》 票房突破45.23亿
环球即时:2023开门红!长四丙成功发射“一箭双星”
环球消息!第一批PCIe 5.0 SSD都是残血!14GB/s满血版还早呢
世界快资讯丨有了ChatGPT 动动嘴就能使唤Excel:我的童年梦想实现了
每日热门:8岁男孩单手打破汉诺塔世界纪录:4.305秒搞定4层
当前头条:海绵宝宝卡通图片线条图_海绵宝宝卡通图片
天生要完美电视剧28集完整版_天生要完美电视剧
对C++做爬虫的代码进行简单分析
世界热推荐:2.HelloSpring
孙海洋夫妇餐饮公司被列经营异常:本人回应
今日报丨香港男子深圳上班每天通勤4小时:月薪3万 每天通勤费用80元
【全球独家】63.C++类型转换
世界今亮点!python可变长参数
当前观察:大获成功!《最后生还者》成史上收视率最高的游戏改编剧
爆款椰子鞋停售后:阿迪在中国凉凉了
1.3kg下颜值、性能、屏幕全给你!华硕灵耀14 2023评测:续航惊人
观热点:长城汽车发布Hi4全新新能源技术:4驱享受 2驱能耗
全球关注:杠上比亚迪秦PLUS DM-i 新款日产轩逸上市:9.98万起
8GB、16GB显存的性能差多少?实测多达172%!
明解数据库------数据库存储演变史
AMD最强核显跑分上来了!但是还打不过GTX 1650 Ti
全球最新:买丰田bZ4X电动车 送一辆威驰轿车?4S店回应:活动属实
RTX 30公版显卡突然集体消失!刚刚降价40%
微头条丨公司规定不接董事长电话1次罚10000元 员工:试岗1天就走了
【全球快播报】校友承诺捐赠1100万元却不兑现被告 学校:他具备履约能力
紧跟微信步伐:支付宝掌纹支付设备外观专利获授权
【天天快播报】搅局中端市场!一加Ace2V评测:将16G满血内存进行到底
通讯!破壁机虚标功率后 疯狂小杨哥带货又翻车:面霜因虚假宣传被罚
《王者荣耀》出海“首战告捷”:登顶巴西免费游戏榜
环球报道:记录--vue3+setup+ts 知识总结
【世界速看料】程序员养发神器:拒绝加班熬夜,告别秃头!
【世界聚看点】【希尔排序ShellSort算法详解】Java/Go/Python/JS/C不同语言实现
环球微头条丨【分享贴】项目中为啥总是项目经理一人干着急?
使用PostgreSQL而不是MySQL存储中型数据有什么好处?
3000块多品牌SSD质量大PK:整体比机械硬盘可靠
玩家购入二手Switch主机:可是被卖家坑惨了
航班晚点1小时 机长提速提前20分钟到达帮助乘客换机?山航回应
每人1600元!北京发放首批“京彩·绿色”消费券:买手机PC都能用
当前热文:涉及121万辆!我国2022年新能源汽车召回量创历史新高:电池、电机缺陷多
环球最资讯丨暴风的恋人百度云_暴风的恋人
有监督学习——线性回归
禁用XXE处理漫谈
腾讯-广点通转化归因
来真的!贾跃亭:3月30日生产FF91 百万豪车来了
【天天新视野】30个汽车品牌降价 成都发放消费券:满40万可减8000元
【世界独家】华硕发布TUF Gaming M3 Gen II鼠标:仅重59g、IP56防尘防水
全球今亮点!过期1天的食物还能吃吗?
日系中的另类!国产马自达CX-50内饰发布:原汁原味引入海外版
加速资源整合,星纪魅族围绕手机、XR、前瞻技术拓展智能生态
Prompt-Engineering-Guide 学习摘要2
今日关注:电动汽车综合检测
观焦点:这几个群,程序员可千万不要进!
每日快讯!12万元买宝马“3系”?宝马中国回应降价传闻:指导价没变
当前快讯:玩家不满《魔戒:咕噜》新宣传片:他没有主角光环!
环球热讯:小米搞出“新花样”:可层叠摄像模组专利获授权
焦点快报!没有秘密了!AI或能够读取大脑重现梦境
今日快看!新老代表接力提建议将牡丹定为国花:100多个国家都有国花了
【天天报资讯】山西李家大院哪些人可以享受半价票优惠
环球新资讯:【机器学习】1. 广义线性模型
【世界新视野】密码学报如何正确Latex投稿?
环球今亮点!快 40 岁,刚被裁。。
金三银四每天一个.NET基础知识巩固(一)
今日要闻!从“13 天”到“0 天”延时,揭秘火山引擎 DataLeap SLA 保障最佳实践
世界热消息:谷歌报复性砸出5620亿参数大模型:比ChatGPT更恐怖 学术圈已刷屏
【环球播资讯】2月国产游戏出海成绩出炉:《原神》获收入和增长双料冠军
Nginx http 文件服务器 中文名称文件乱码以及不能访问下载问题 (解决全过程)
有关马的歇后语有哪些?有关马的古诗有哪些?
工科理科化现象亟待扭转!曹德旺等科学家企业喊话让学生去工厂一线真问题
【世界时快讯】委员喊话农村淘汰、封杀老头乐 网友吵翻:揭秘观点背后让人唏嘘?
隐婚男女的结局是什么?隐婚男女演员介绍
小学二年级班主任工作计划有哪些?小学二年级家长会发言稿
消防逃生的注意事项有哪些?消防逃生演练总结
旅游可持续发展的实质是什么?旅游可持续发展论文模板
英语六级考试时间安排分配是什么?英语六级考试题型简介
世界热头条丨虼蚤的读音是什么_虼蚤
描写景色的词语集锦有哪些?描写景色的段落摘抄
梁祯元为什么叫南韩贾宝玉?梁祯元为什么是队长?
中国相术十二宫都有哪些?相术十二宫实用顺口溜
田宅宫在脸上的什么位置?田宅宫代表什么?
Linux 上的开源视频字幕应用–Live Captions
全球信息:Win10专业版激活方法
【环球播资讯】kafka常用指令
剑指Notion:微软协作平台Loop即将进入公开预览阶段
当前滚动:又来一个“保时捷” 江汽EV3申报:国内首搭载46系列大圆柱电芯
160g超满足:嘉兴特产蛋黄大肉粽2.9元/只大促
环球播报:从“看不起”到“跟不上”:200多名理想汽车车主分享用车体验
热头条丨《街霸6》新解说员宣传片:日本少女冠军人美声甜!
新消息丨国内“投教第一股”九方财富登陆港股,业绩亮眼,市值逼近80亿
面向状态机编程:复杂业务逻辑应对之道
多光源渲染方案 - Many Lights Sampling
世界微动态丨在java中String类为什么要设计成final?Java面试常见问题