为啥C语言不老

C语言的这个小知识点,竟然连开发多年的老司机都了解的不完全 printf()和scanf()是 C语言中最“多才多艺”的 I、O函数 它使用的转换说明和转义字符 能使程序员恰到好处的控制 想要输入和输出的信息 但这也提高了使用它的难度 今天大雄就给大家整理了 这两个函数的常见用法 说明:这是学C语言最基本的知识点,简单的使用不难, 但是里面的一些细节和原理就值得我们好好推敲了,想要学好C语言或者编程语言的小伙伴,真的可以好好看看哦~ ... 阅读详情

在编程语言中,C语言已经快要50岁了。别的语言到了这个岁数基本上已经没人用了。比如Haskell、汇编等。但是,C语言不但没有被抛弃,反而总是保持和Java争夺第一名,这是为什么呢?我们在文章《为什么说“人生苦短,我用Python”》说了一系列Python的好处,C的不方便的地方,其实也是有情可原的。毕竟C是使用B语言开发的,语法要比较难,甚至它最开始的名字叫做new B。(你可以在下面找找B语言,早就没有了。)而Python是用C开发的,要是还是像C一样估计就要被骂了。所以Python添加了很多实用的函数。而C语言?能把C语言写出来就很伟大了。反正它的源代码是公开的,你让我改?自己改去。

首先,我们要知道,很多应用程序都是用C或者C++开发的,而C++又是基于C。所以,一旦C语言被抛弃,这些应用程序都无法维护。你可能会说“换一门语言呗”,其实大部分编程语言都是基于C的,你换谁?而且这些语言远远比不上C的速度。虽然Java速度可以和C比较,但是Java占用内存实在太大了。如果你不介意打开一个应用需要一个小时的话并且冒着你的内存溢出的危险,你可以使用Java开发的应用。(我的电脑上有一个Java的编辑器,开启差不多要十分钟。我还不如用记事本写代码嘞)换汇编?拜托,你真的知道什么是汇编吗?汇编连写个Hello World都要这样:

DSEG    SEGMENT
MESS    DB   'Hello,World!' ,0DH,0AH,24H
DSEG    ENDS
SSEG    SEGMENT PARA STACK 
        DW  256 DUP(?)
SSEG    ENDS
CSEG    SEGMENT
        ASSUME  CS:CSEG,DS:DSEG
BEGIN:  MOV AX,DSEG
        MOV DS,AX
        MOV DX,OFFSET MESS
        MOV AH,9
        INT 21H
        MOV AH,4CH
        INT 21H
CSEG    ENDS
        END  BEGIN

你能不崩溃?毕竟汇编是最开始的人们使用1010开发的,别骂人了。

其次,操作系统基本上都是使用C+汇编开发的,你要把C撤下来就别用Windows了,别用MacOS了,别用iOS了,干脆去打孔吧。

你会想,为什么非要用C开发操作系统?C++不好吗?Java不好吗?其实一方面是前面说到的速度问题,还有就是在开发操作系统的时候,你都不能直接输出字符,还需要自己写字体。这样的话,你用C++图什么?用Java图什么?还不是一样?

还有就是,C语言的小巧。

看到这里,你可能会怀疑我对小巧的定义。你看一看这段程序就知道了。这是一段HelloWorld。

C:
#include<studio.h>
int main(void){
  printf("Hello World");
  return 0;
}
或者
#include<studio.h>
int main(void){printf("Hello World");return 0;}


Java:
public class HelloWorld{
  public static void main(String[] args){
    System.out.println("Hello World");
  }
}
或者
public class HelloWorld{public static void main(String[] args){System.out.println("HelloWorld");}}

明白了吗……真的是“Java有一种与生俱来的天赋,就是将小型应用变成大型的。”

这是因为,Java的思想是每一个程序都要有一个对象,就是说这个东西是活的(当然不是真的),也就是面向对象的编程。每一个对象都会生成一个.class文件,然后再用Java执行。C就没有。C的程序从main函数开始并结束,而且C是没有类这个概念的。就是说,你想让C面向对象都不行。

你明白了吗?

C语言-不进位加法 C语言-不进位加法题目来源代码 题目来源 厦门大学在线评测系统 2018级C语言程序设计实验课1366号试题 代码 #include<stdio.h> int main() { int pow(int a,int b) { if(b!=0) { int i; int y=a; ... 阅读详情

相关推荐

CSS字体样式全攻略

🧱 让文字有空间感,适合标题或LOGO。🖋️适合插画、创意工作者的个人页面。🔥 适合标题、品牌名,视觉冲击力强。🧘‍♀️适合极简设计、文化类网站。✨适合科技类网站、博客、作品集。🚀适合游戏、AI、科技类项目。🐰 适合儿童类网站或节日氛围。📖适合时尚、生活方式类内容。🌫️ 适合神秘、梦幻主题。🌃 夜店风、科技感十足。具体效果是文字会上下跳动。

dreams_dream的博客 1806

C语言会被替代吗?

众所周知,C 是一种广泛非常使用的语言,从操作系统内核到加密算法的编写,到处都在使用 C。如今,我们是否应该用另一种语言来替换 C 呢? 尽管C 语言发布于 1972 年,但至今仍是使用最广泛的语言之一,同时按照如今的标准来看,C 语言也存在许多限制和缺陷。 有人希望用另一种语言来替换 C 的关键原因也正在于此。用 C/C++ 编写的关键性软件实在太多了,但 C/C++ 中包含大量的“潜规则”。举个例子 OpenSSL 库中的 bug 就源于此。众所周知,C 语言非常不善于处理类似于缓冲溢出的问题。C 语

李长安的博客 408

蜻蜓fm爬虫python

本文介绍了一个用于下载蜻蜓FM音频书籍的Python脚本实现。该脚本主要功能包括:1)通过账号密码登录获取认证信息;2)从目标书籍主页提取版本信息;3)获取书籍节目总数和分页信息;4)生成节目下载链接(使用HMAC-MD5加密算法生成请求签名);5)下载音频文件并保存。脚本采用多种反爬措施:设置User-Agent模拟浏览器行为、使用动态时间戳、HMAC-MD5签名验证等,有效规避简单的反爬机制。整个流程包括登录认证、获取书籍信息、生成下载链接和保存音频文件四个步骤,实现自动化批量下载功能。

野猫炫的博客 913

python会取代c语言吗_C语言,被抛弃了15年,现在被迫学习python,荒废,的,又,逼学...

print(" ********")print(" *************")print(" ####....#..")print(" #..###.....##....")print(" ###.......###### ### ...

weixin_42458021的博客 581

强化学习环境Gym库的介绍

Gym是一个用于进行强化学习实验的开源库,它提供了一个仿真环境,内置了多种仿真游戏,例如出租车游戏、悬崖游戏等,不同的游戏所用的网格、规则、奖励(reward)都不一样,适合为强化学习做测试。(1) 多种环境:Gym库内置了上百种实验环境,包括算法环境、简单文本环境、经典控制环境、Atari游戏环境、MuJoCo环境和机械控制环境等。(2) Gym提供多种环境供我们使用,这里以一个简单的CartPole-v0为例,首先导入gym库,然后创建一个CartPole-v0环境,通过调用gym.make方法实现。

ahah12345678的博客 2148

166、电流环带宽测试

本文分享了电流环带宽测试的实战经验,揭示了常见误区:误将系统其他环节(如PWM、ADC、传感器)的延迟当作电流环性能。强调带宽测试需先断开速度/位置环,采用扫频法注入正弦信号,结合伯德图分析幅值与相位响应。关键点包括:控制频率步进为对数、确保采样时序精准、避免传感器带宽限制影响结果。文中指出“假带宽”现象(如鼓包、增益超0dB)多源于非线性或机械共振,建议遵循“先开环后闭环”“带宽非越高越好”“阶跃验证”三原则,并建立出厂基准曲线以支持后期故障诊断。

2401_88858637的博客 178

C语言,永远滴神!

YYDS~

CodeSheep 2万+

10、业务任务(service task)

业务任务通常是用来调用业务系统,camunda中可以调用JAVA代码或者rest api调用。 在camunda中,业务任务实现方式有5种,本节先用一个小例子显示前三种,External 外部任务,Connector连接器后面分别讲解。假设用户预约电器公司上门维修家电,然后师傅上门维修,完成后公司回访客户对师傅服务打分,师傅查询自己的评分。使用java class 模式实现业务任务。 com.forestlake.camunda.servicetask.ReserveRepair 使用Delegate ex

leyoliu的博客 3232

c语言指针很危险,浅谈C语言中指针使用不当的危险性.doc

浅谈C语言中指针使用不当的危险性.doc第 19 卷 Vol . 19 第 2 期 No . 2 洛阳师专学报 Journal of Luoyang Teachers College 2000 年 4 月 Apr. 2000 浅 谈 C 语言中指针使用不当的危险 性 康 牧 , 赵治 国 洛阳师专 , 河南洛阳 471022 摘 要 C 语言是一种中级语言 , 它的指针具有强大的功 能 , 它的...

weixin_33314040的博客 1245

手把手教你学Simulink实例--基于Simulink的电力电子系统电池管理系统(BMS)设计与仿真实例

本文详细介绍了基于Simulink的电池管理系统(BMS)设计与仿真全过程。首先阐述了BMS在安全防护、寿命延长和性能优化方面的必要性,分析了新能源汽车、光伏储能等典型应用场景的技术指标要求。接着详细讲解了Thevenin等效电路和多电平电池模型构建方法,并给出SOC估算、故障诊断等核心算法的MATLAB实现代码。通过设计正常充放电、过充保护等多场景仿真测试,验证了系统在SOC跟踪精度(误差<1.5%)和故障响应速度(<10ms)方面的优异性能。文章还提出了参数优化方法和未来AI融合、数字孪生等发展方向,提

xiaoheshang_123的博客 379

UDF学习(四)FLUENT UDF-DEFINE_PROFILE宏

利用DEFINE_PROFLILE可以指定以下边界或计算域信息:DEFINE_PROFILE(name,t,i)//既可以用。

weixin_44386973的博客 1806

为什么C语言能够长久屹立不倒

近年来,谷歌一直致力于开发出自己的编程语言以取代当今世上最常用的C、C++和JavaScript。在系统语言方向,谷歌的Go语言能够为用户在数据中心内建立大型软件提供更多的便捷,有望取代C语言和C++的地位;而在网络开发方面,谷歌希望凭借Dart取代JavaScript。编程语言的世界里可谓是江山代有人才出,可有那么一位引领风骚达数十年之久,它就是C语言。   编程语言之间的竞争一天也没能停歇,...

雷利风行 418

若依框架二次开发——RuoYi-AI 本地部署流程

若依框架二次开发——RuoYi-AI 本地部署流程

bjzhang75的博客 1784

C语言,不老的传说

最受欢迎的歌一定是被听得最多的,那么最受欢迎的语言一定是被用得最多的。C语言现在用的多吗?在业界,一般的答案是:“如果一件事可以用X语言做,就一定不要用C语言做”。 这里的X可以代指任何语言。天啊,这好像是再说“如果可以听X的歌,就一定不要听周杰伦的歌”。这是在评价周杰伦还是曾轶可啊? 哪种编程语言是最受欢迎的?每个人都有自己的主观看法。还是用客观的数据说话吧。 根据Tiobe在2013年3...

weixin_42257806的博客 394

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

身为有着这么多年经验的老程序员,不应该仅仅只会C语言吧,理应

身为有着这么多年经验的老程序员,不应该仅仅只会C语言吧,理应

2501_93200063的博客 403

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

新手学习C语言编程,有哪些书籍可以参考?老谭那本一般不推荐

本文适合那些真正想成为一个软件工程师或者说成为一个真正的程序员的读者,因为本文并不会推荐谭浩强老师那本销量超千万的异常惊人的《C程序设计》,因为小编认为那更适合那些只是想考一个计算机等级证书的童鞋,而不适合想成为一名真正程序员同学的需求。 这里小编并不是说有抹黑谭浩强老师的意思,作为中国计算机科学界老一辈的计算机教育学家,老教授依然是值得我们尊重的德高望重的行业布道师。 文章最后有彩蛋~记得看完???? 话不多说直接进入好书分享环节 C语言书籍推荐 《C语言程序设计》 内容简介: 时至今日, C语言仍然是

pangzizzzz的博客 1409

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

c语言中输出空格怎么表示_老司机都不完全清楚的C语言小知识点,快进来学习一下吧...

printf()和scanf()是C语言中最“多才多艺”的I、O函数它使用的转换说明和转义字符能使程序员恰到好处的控制想要输入和输出的信息但这也提高了使用它的难度今天大雄就给大家整理了这两个函数的常见用法C语言说明:这是学C语言最基本的知识点,简单的使用不难, 但是里面的一些细节和原理就值得我们好好推敲了,想要学好C语言或者编程语言的小伙伴,真的可以好好看看哦~一、printf函数▲▲▲这是在st...

weixin_39690625的博客 1万+

我们不一样!老司机教你用C语言制作简单实用的撩妹神器!

你以为C语言就是提供一种编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言吗?你以为C语言就只是以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台吗?你以为C语言就是辣么高大上,辣么不接地气的吗? 你不知道的是——C语言也是会“撩妹”的 不可能是这个散 C语言实现心形表白功能的程序,许多小白觉得有意...

maomibiancheng的博客 7503

2020年1月TIOBE语言排行榜:老兵不老,再次“C位”出道

2020年1月TIOBE语言排行榜:老兵不老,再次“C位”出道 图片来源:www.youkuaiyun.com TIOBE近期公布了2020年1月编程语言排行榜,几乎每个人都认为Python将连续第二年成为TIOBE的年度编程语言。但是结果却出乎所料,编程世界的一位老兵——C语言凭借着2.4%的年增长率杀出重围,抢占C位,荣获“2019年度编程语言”称号。 是什么原因让C语言有这么大的增长趋势呢?TI...

iMotherBoard的博客 769

直接操作内存即是C语言的优势也是劣势~

正文大家好,我是bug菌~最近被老项目的一些问题折腾得不轻,同事也都吐槽要不是大客户,他们连代码都不想同步到本地。这个项目从bug菌来的时候就已经开发了好几年了,早期团队较小,估计软件上也没怎么管理,人员也是换了一批又一批,工程之大,功能之多,现在拿出来基本都是公认的”屎山”了,那块业务也没咋做了,都不想再花人力再去重构,那就只能大家有时间的修修bug加一些简单的需求了,不过C语言的有些bug可真...

最后一个bug的博客 625

关于'for' loop initial declaration used outside C99 mode的说明

老的C编译器,不允许在for循环的括号里声明i,在外面声明就行了

大AI时代,人性化的信息更加难得可贵 87

初识C语言:数据类型

.我们在编译老的用C语言的开源项目如lua源包的时候,可能因为一些老的.c文件使用了strcpy,scanf等不安全的函数,而报警告和错误,而导致无法编译通过。 解决方案: 在指定的源文件的开头定义:#define _CRT_SECURE_NO_WARNINGS (只会在该文件里起作用) #define_CRT_SECURE_NO_WARNINGS1 #include<stdio.h>打招呼:printf是别人的函数用之前需要打招呼 standard input output ...

iwkxi的博客 270

C语言 循环——《跟老吕学C》

for循环常用于已知循环次数的情况,因为它允许在初始化表达式中直接设置循环控制变量的初始值,并在每次迭代后在更新表达式中更新该变量的值。while循环和do-while循环则更适用于循环次数不确定的情况。while循环在条件表达式为假时不会执行循环体,而do-while循环则会至少执行一次循环体,无论条件表达式的真假。嵌套循环是循环结构中的一个重要概念,它允许我们在一个循环内部再嵌套另一个或多个循环。嵌套循环常用于处理多维数组、矩阵运算、图形绘制等复杂任务。

Python老吕的博客 9564

【摘抄】为什么要学C语言

前言   大家也看到题目了,这篇文章是《C语言程序设计》里面的第一章内容,苏小红,高等教育出版社。因为看到第一章后,觉得写得很好,就码下来分享给大家。可以在看之前往下面翻一下,其实看起来还挺多的。不过,内容很具有“故事”的色彩,很生动。值得一看。 游戏、黑客和C语言   1969年的美国贝尔实验室是当时科技界的梦工厂,集结这世界上最富有创造力的科学家和工程师,其中包括数位诺贝尔奖获得者。

习惯成自然 2181

C语言生成不重复的随机数数组

C语言生成不重复的随机数数组 //一个随机数数组生成算法,生成0-n不重复的随机数数组 //本例子使用的是0-99的范围,参数可改 //如果是在最后面的数组,使用完,丢弃 //如果是前面的数则用后面不可取到的数替换 #include <stdio.h> #include<stdlib.h> #include<time.h> int main() { i...

weixin_44014909的博客 1万+
上一篇: 29个常用的Linux命令
下一篇: 你家的网络真的不好吗
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值