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

你学不懂C语言,是因为不懂编写C程序的7个步骤 ...

编写一个C程序,这是一个很复杂的问题,面对复杂的问题,学会把它分解成若干个小问题,一个个小问题的解决,最后思路很清晰地解决掉这个“麻烦”。

一般情况下,我们把编写C程序分为7个步骤,懂得了后,编写程序就会有整体的思路,再也不像从前那样毫无头绪了。

1240

1.定义程序的目标

定目标。明确这个程序是实现什么样的功能,你自己想要做出什么。明白你的程序需要哪些信息,像数学的公式、数学的单位转换信息。比如判断一个数是不是素数,“素数”在数学上是怎么界定的呢?这些都是你应该想清楚、弄明白的。不要一上来,就想着怎么用计算机语言表示。要从头到尾的想清楚你该怎么干。

2.设计程序

上一步已经对这个程序要完成什么样的任务,有了大概的认识。现在你要考虑的是用程序该如何完成它。把你的想法、思路往程序实现上逼近。

-

用户看到的整个程序界面应该是怎样的?目标用户是怎样的一类人?你需要花费多长的时间来解决掉这个程序?

-

在程序中如何表示数据,用数组还是结构体呢?用什么方法处理数据?这一步也不需要想到具体的代码怎么写。


1240

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:【8.7.0+九.六.三+2.5.1】适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程



3.编写代码

这一步就是要把你设计的程序,按照你的解决逻辑翻译成C语言,一条条语句的打出来。

-

这就要求你的C语言基本语法知识要扎实了,比如一个输入函数scanf(),这种最基础的,你要能够想到关于scanf()尽可能多的用法,以及可能出错的地方。

-

C语言:scanf()函数学习攻略

4.编译

这一步是将你编写好的C程序代码翻译成机器能够运行的机器码。翻译过程会使用编译器这一工具,在c/c++开发工具里都会集合有编辑器、编译器。

-

值得注意的是,如果你使用的是Code::Blocks,默认没有编译器的,一定要下载带有mingw的。

-

理解编译后产生的错误或者警告,也是你需要掌握的一项技能。

-

选对C/C++开发工具,让编程得心应手


1240

5.运行程序

上一步,编译链接成功后,就能进行正常的运行了。可运行的程序就是可执行文件.exe。

6.测试和调试程序

运行结果与自己设计的思路是否一致。可以运行的程序,只能说是语法上没有错误,而语义上是否存在错误,就需要多次的测试。bug与debug的过程。

C语言:程序运行成功了,却还是存在错误

7.维护和修改代码

在现实的工作中,这是软件维护工程师干的事,很多bug都是在产品使用多了后才发现的,他们最大的痛苦不是改错,是要看懂别人的代码后进行改错。平时写代码,要注重程序的可读性。软件维护工程师的从业人数也是蛮多的。

相关文章:

  • iOS开发UI篇—CAlayer层的属性
  • Surrogate data 代理数据
  • 延迟
  • 网络设备
  • 马哥2016全新Linux+Python高端运维班第二周作业
  • 如何搭建配置php开发环境
  • 选择阿里云数据库HBase版十大理由
  • 使用airbnb的eslint
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 《编码的法则--C++实用经验》
  • 什么是mybatis?
  • nodejs 更新最新版本
  • Git版本控制
  • 1025 选菜
  • 极简.高性能.分布式框架,可运行于多种环境(apache/php-fpm,swoole)
  • express.js的介绍及使用
  • MySQL QA
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • 从tcpdump抓包看TCP/IP协议
  • 翻译:Hystrix - How To Use
  • 给Prometheus造假数据的方法
  • 给新手的新浪微博 SDK 集成教程【一】
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 蓝海存储开关机注意事项总结
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 说说动画卡顿的解决方案
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 组复制官方翻译九、Group Replication Technical Details
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (初研) Sentence-embedding fine-tune notebook
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (一)u-boot-nand.bin的下载
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原)本想说脏话,奈何已放下
  • (转)大型网站的系统架构
  • .bat批处理出现中文乱码的情况
  • .NET Core 2.1路线图
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net FrameWork总结
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET/C# 的字符串暂存池
  • .NET的数据绑定
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @JsonSerialize注解的使用
  • @RequestMapping 的作用是什么?
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [C#C++]类CLASS
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [CDOJ 1343] 卿学姐失恋了