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

c语言的入门指南(包含visual Studio下载方式)

本文的推荐阅读人群是刚学习c语言或准备学习c语言或是想了解的人。(若是有大佬发现文中的问题,可以在评论区中指出让新人们不要被我的文章误导哦^_^)

一、c语言是什么?

C语言是由贝尔工作室开发的,用于开发unix系统(上世纪70年代)的编程语言,最初的编程语言被称为B语言,随着时代的发展,工作室推出了B语言的升级版,此版的b语言命名为“newb”,但是新的语言越来越偏离了b语言,于是被改名成c语言。

由此我们得出了c语言最初诞生时的作用,这是一个用于开发操作系统的编程语言。于是这里我们可以发现c语言的第一个特点,c语言相比较java,c++它更加的底层(由于c语言用于系统编程),他提供了大量用于内存的操作,比如对地址,字节的访问。

而且c语言出现的年代很早,在那个时代,大多数的计算机都是存储非常有限的(1969年的阿波罗制导计算机(Apollo Guidance Computer)仅有2KB的RAM运行内存和36KB的ROM(存储内存))。所以另一个特点是c语言更加适合用来编译那些存储内容小的存储器(这也是c语言用于嵌入式处理器的优点之一)

c语言的特点还在于它有着的可移植性,这得益于国际上对c语言有着国际标准(如c89,c99)。这些标准使得C语言在不同的C语言编译器上都有着相同(大致上)的特性。

C语言非常的简洁,只需要用一些单词和少量的符号就能完成一段程序,也因此导致C语言的某些代码非常的难以理解甚至反人类(这里就要求程序员提升自己读代码的能力来读懂别人的代码,同时也提升自己程序的可读性来让别人读懂)。

来赏析一下C语言混乱代码的参赛作品

代码语言:javascript

AI代码解释

#include <stdio.h> char *a; main(int t,int _,char* a){return!0<t?t<3?main(-79,-13,a+main(-87,1-_, main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13? main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t, "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/") :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1) :0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}

运行的结果是打印出一首歌的歌词(除了第一行就没有看得懂的代码了--+

二、如何编写一段c语言代码

程序的编译和连接

一段c语言的代码本质上来说只是一段文字,他可以存在于任何文本之中,比如word文档,记事本,甚至是qq空间。但是如何让计算机能够运行这些程序呢?这就需要编译器将程序编译成机器能够执行的二进制文件。

首先需要创建一个文件,这个文件的后缀名为.c。经过预处理、编译和链接(这部分是自动实现的)就变成了机器可执行的的形式。

编译器的选择

我建议使用windows系统的新手使用vs2022来学习c语言,vs2022是集成开发环境,我们可以在其中编辑,编译、链接、执行和调试程序。而且该软件安装方便,可以免费使用。这里放下载链接

下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux (microsoft.com)

如何在vs2022中创建一个.c文件

右键源文件,选择添加,选择新建项。

选择c++文件,将文件名后缀改为.c,.c文件就是C语言源程序文件。

了解c语言代码的构成

来看一个简单的c语言完整代码。

代码语言:javascript

AI代码解释

#include<stdio.h>//头文件 int main()//main函数 { printf("hello,world");//打印函数 return 0; }

在vs2022上按下f5即可执行代码

我们可以了解一个c语言最简单的结构的构成

指令

int main()

{

语句

}

首先是指令#include<stdio.h>,这段指令的意义是包含一个头文件,这个头文件是<stdio.h>。stdio是standard input&out out(标准输入&输出),头文件里头包含着各种各样的库函数,这些库函数是vs中自带的,包含头文件以后,我们就能调用头文件的函数了。比如代码中的printf()函数,这个函数的意义是打印hello,world。

main()函数,main函数,也称主函数,无论一个程序中有多少行代码,程序运行的第一步都是进入主函数。

函数,用来实现某种功能的指令(简答来说),比如printf()函数是用来在电脑上打印字符的函数。函数有自定义函数和库函数。

main()函数是一个函数,在上例中,main是一个int类型(整型,即数据的类型是数学中的整数),函数是有返回值的,类似于数学函数中的因变量(y),我们上例中main()函数的返回值为0,意思是向操作系统返回状态码0.

语句,语句是程序执行的命令。比如在上例中就使用了一个语句printf(“hello,world”);这段语句的意思是在屏幕上显示“helloworld”。这里要注意分号(;)的使用,我们需要注意编写程序用的是英文的符号,不能出现中文的符号。(字符可以,本文中一些深入的内容都会在后续的文章中进行讨论。)

完成了这几步,就可以运行程序了,该程序的运行结果为


http://www.jsqmd.com/news/807630/

相关文章:

  • 参数权重×语义分层×风格隔离,深度拆解MJ v8风格控制三重门控机制,附官方未公开beta指令表
  • AI智能体如何革新LaTeX写作:PaperDebugger深度集成Overleaf实践
  • 前后端分离人口老龄化社区服务与管理平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • VMware macOS解锁器3.0:架构深度解析与技术实现方案
  • 麦格纳收购维宁尔:协同驾驶技术如何重塑汽车智能化投资逻辑
  • 从IMU到GPS:手把手教你用ESKF实现机器人定位(附代码避坑指南)
  • 番茄小说下载器:三步搭建你的个人离线图书馆终极指南
  • Cursor编辑器自动化开发环境配置:Prettier+ESLint+Husky实战指南
  • LinkedIn命令行工具linkedin-cli:自动化人脉管理与技术实现详解
  • 不用OWL/RDF!Function 和 Action 在本体智能平台中的重要性体现
  • 基于Tauri构建跨平台桌面应用:从lencx/nofwl项目看现代工作台开发实践
  • 抖音内容备份革命:如何用开源工具3分钟搞定无水印批量下载?
  • 请解释 Shell 脚本中的管道(Pipeline)机制及其应用
  • 基于MCP与Apify的学术商业化情报引擎:AI驱动的技术侦察实践
  • LLM实战指南:从本地部署到微调,资深开发者的资源选型与避坑经验
  • KEEL框架:用文件系统解决AI编码代理的上下文遗忘问题
  • IDE集成AI事故调查:Antimetal Skills插件实战指南
  • 碧蓝航线自动化脚本如何解放你的双手?揭秘图像识别技术背后的游戏革命
  • 阴阳师自动化脚本终极指南:解放双手,轻松刷百鬼夜行
  • 开源语音识别项目优化实战:3步提升Vosk准确率与性能
  • Mediasoup Channel Notification机制详解
  • 告别繁琐!OBS多平台直播插件obs-multi-rtmp让一键同步推流成为现实
  • BCPNN与FPGA加速:生物启发神经网络的高效实现
  • 设计系统文本化:用代码思维管理UI组件与设计令牌
  • Halcon实战:用光度立体法5分钟搞定药泡包装的凹坑检测(附完整代码)
  • 基于MCP协议的AI浏览器自动化:browser-use-mcp-server实战指南
  • LaTeX2Word-Equation:3分钟快速实现LaTeX公式到Word的无缝转换
  • AI赋能Cypress测试:技能库让AI助手写出生产级前端自动化测试
  • 基于MCP协议的区块链交易广播服务:为AI Agent提供安全多链交互方案
  • AI建站工具怎么选?一份让你不踩坑的选型标准与对比指南