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

【C 学习】03-你的第一个C程序

“知道做不到就是不知道”

一、基本操作

1. 点开图标,进入dev-C++界面

2. 创建一个源代码文件

即“**.c”文件。

方法

(1)点击右左上角的“文件”-“新建”-“源代码”;

(2)在当前页面,键盘上同时按住“Ctrl+N”。随后出现下图界面:

3. 进入上图界面后,一定要做的事情就是保存。否则代码无法运行。

碎碎念:建议在一切开始之前,在非C盘内,新建一个文件夹(最好不含中文),用来专门存放代码文件以及相关文件。

(1)先在页面中输入下面显示的框架一定注意全程打开英文输入法!!!】:

#include <stdio.h>int main(){return 0;
}

(2)保存方法:①点击“文件”-“另存为”-“路径”;②同时按住“Ctrl+S”-“路径”

 (3)之后就可以实现我们的第一个C程序啦!

二、“你好,世界!”

#include <stdio.h>int main(){printf("Hello,world!");return 0;
}

讲解:

执行页面如下:

编写好代码后需要编译运行,才会出现图片下方的执行文件。具体方法有三种:

(1)点击“运行”-“编译运行”(也可以只编译或者质运行);

(2)点击右上角的图标(如上图);

(3)快捷键:F9 表示“编译”,F10 表示“运行”,F11表示“编译运行”。

(1)#include 属于预处理的一种类型。

(2)<stdio.h>  头文件的一种,包括有输入输出流。根据字面上可以这样理解:std表示“stand”,是内存空间代称;i表示“in”,也就是输入;o表示“out”,也就是输出。所以简单理解的话就是,如果想要你书写的代码有输入和输出的功能,就都得要这个“库”。

对于(1)(2),新手小白简单了解即可。

(3)int main(){...} 主函数,是文件执行的起始位置,相当于“大门”。在C语言学习笔记【01】中有简单提到,所有的主函数语句都必须写在{}内

(4)printf("hello world!\n");  字符串输出。这里我在末尾加上了\n(大家可以自己尝试在自己的页面上更改看看效果怎样),其表示在需要输出的结果后面换一行。

(5)return 0;  函数执行完毕后返回值 0。

(6)一直在说“编译运行”,究竟什么是“编译运行”?简单来说,编译就是在检查错误,不同的开发环境有不同的检查标准(但大体一致),直到全部检查完达到标准,就可以运行了,也就是上图中出现的黑色窗口(当即就会在你的保存路径下出现一个“**.exe”文件),完全按照你的代码执行出现相应的语句。

如果编译发现错误,就无法运行,会在界面上出现深红色条杠(如下图)。值得注意的是:在下方“编译器”的位置会有错误提示,但不一定会提示准确,有可能是该行的上下位置

三、注意事项(新手很容易犯的错误!)

  1. 每一句属于C语言的语句最后都需要加上分号
  2. 最后的“return 0;”是编译并运行成功的标志,可以有,也可以没有。大部分代码都有的原因:main()函数是有默认返回值的,为int类型(后面会讲到,一种变量的类型),而在我们程序猿的认知里,什么都没有(bug)就是最好的,所以大都返回0;
  3. 千万不要用中文键盘(这一点熟悉之后是很好区分的,中英标点符号都是有区别的);
  4. {}表示的是代码区间,一定是成双成对的出现
  5. 打印输出是“printf”,而不是“print”;
  6. 上面提到的【1,3,4,5】发生错误都是过不了编译的哈!

写在最后:

更新C语言学习笔记

如有错误,烦请多多批评指正!

http://www.dtcms.com/a/313110.html

相关文章:

  • 上位机知识篇---脚本文件
  • Linux环境下使用Docker搭建多服务环境
  • Corrosion2靶场
  • xxljob总结
  • Obsidian结合CI/CD实现自动发布
  • 1、docker容器命令 | 生命周期管理
  • NX969NX972美光固态闪存NX975NX977
  • python 12 install jupyter时zmq.h或libzmq报错处理
  • MVCC:数据库事务隔离的 “时空魔法”
  • nvm切换本地nodejs环境
  • node中shapefile字符集判断
  • Sklearn 机器学习 数据聚类 KMeans实现聚类
  • wav音频格式中,ACM波形、A/mu-Law Wave、Windows PCM、Microsoft ADPCM的区别
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——9. 接入真实硬件:驱动USB摄像头
  • LeetCode 分类刷题:2824. 统计和小于目标的下标对数目
  • Go语言--语法基础7--函数定义与调用--自定义函数
  • Go语言实战案例:TCP服务器与客户端通信
  • HoloLens+vuforia打包后遇到的问题
  • 图像、视频、音频多模态大模型中长上下文token压缩方法综述
  • Connection refused: no further information: localhost/127.0.0.1:2375
  • Git的安装和配置
  • JavaWeb开发
  • XSS-DOM 2
  • [硬件电路-150]:数字电路 - 数字电路与模拟电路的异同
  • 洛谷 B3841:[GESP202306 二级] 自幂数判断
  • 当Windows远程桌面出现“身份验证错误。要求的函数不受支持”的问题
  • 方差 协方差矩阵是什么
  • java的隐式类型转换和强制转换类型
  • 科威特塔观测指南:412米高空俯瞰石油城变迁
  • 在AI技术快速迭代的背景下,如何通过RAG技术提升模型的实时性和准确性?从Naive RAG到Modular RAG:AI技术进化的关键路径