之前发了很多有关C/C++项目的文章。但是对于C语言的学习,需要自己亲自敲一些代码才能够学好C语言。在这里讲解一下简单的C语言程序(代码),希望自己能够在自己的电脑上敲几遍。
a与b的算术运算
描述:输出a和b的初始化值的简单算术运算。
代码:
输出结果:
分析:printf函数是将双引号中的内容输出到弹出框中,其中因为a和b的数据类型都是int型,所以运算结果都要用%d的形式输出,前3个运算都是正确的,符合现实生活中的运算。但是第四个就会有疑问了。其实在C语言中整数与整数相除的结果是整数,所以输出是1。最后是一个取余运算。
带有输入值(可改变a和b的值)的代码:
运行效果:
分析:一次将输入的三个数a,b,c进行比较。如果比较结果符合语言设定的,即符合if语句条件的,则将它们的数值进行转换。两个数值的互换一般是利用一个中间值,将某一个值赋给这个中间值,该值等于另一个值,另一个值等于这个中间值。建议在纸上一步一步的写出各个值的变换情况。
该方法虽然简单,但是一旦要求排序的数的个数多起来,难免会在写代码时造成思路的混乱。接下来介绍一种比较常用的排序算法——冒泡排序。
代码如下(以五个数的排序为例)
输出结果:
分析:该方法与之前的方法相似,都是让这些数一个一个的进行比较。其优点是代码量相对较少,而且很容易扩充。如果想对更多的数进行排序的话,可以直接修改数组的长度。但是还有一个缺点就是有重复的比较,浪费CPU的资源。可以在纸上一步一步的写出各行代码的过程,这样不仅能深刻的理会到该方法的执行过程,也能找到它的缺点。
不过还可以进行优化,优化的代码是
分析:最大的变化是里层的for循环j的初始值从0变为i。这样再进行第二次循环后,不再对序列为i之前的数与a[j]进行比较。因为在此之前就已经比较过了,即序列为i之前的数一定比a[j]的小。
最后,如果你在学习C/C++的过程中遇到了问题,可以来问小编哦~小编很热情的(●'◡'●)
声明:本文内容来源于网络,如有侵权请联系删除