本篇主要简单介绍一下C语言。因为本人最近有C语言的相关考试,在漫长的复习过程,总得有点乐趣吧,就顺便总结出一些有趣的C语言经典实例。
C语言简介
C语言是面向过程的一们编程语言,属于结构化语言,与目前较流行Python、C++、Java等不同,这几种是面向对象的高级语言。
但是,由于C语言是底层语言,所以占用内存少;编译快;兼容性极强,C语言程序能在大部分平台运行;非常稳定,我们用的操作系统都是C语言写的。
另外,还是因为C语言是底层的结构化语言,所以结构性非常强,像线性链表、指针、结构体等,都是C语言的特色,它们对逻辑和结构化思维的要求是相当高的。
也正是因为如此,相对于Python、C++、Java等,C语言被一些人认为是非常难学的编程语言。
下面就是我分享复习过程中的一些C语言实例……
八层灯塔数量问题
1、题:
有一个八层灯塔,每层的灯数都是上一层的2倍,共有756盏灯,求最上层与最下层的灯数。
2、分析:
(1)这个实例需要用到穷举法,假设第一层的灯数是n,第二层的灯数就是2×n,第三层就是2×2×n,以此类推。
(2)然后我们需要使用两层循环,外层循环属于穷举法,从第一层(n=1)开始,内层循环用于计算八层灯数之和。
(3)如果八层灯数之和>756则无解;<756则进入下一轮n值的循环;==756则设的n值是正确的
3、测试代码:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
int n= 1, m, sum, i;
//n第一层的假设值,m每一层的灯数,sum所有灯数,i遍历八层楼以求得总灯数
while(1)
{
m= n;
sum= m;
for(i=1; i<8; i++) //遍历7次,求总灯数sum
{
m *= 2;
sum+= m;
}
if(sum>=765) //题中总灯数为765个
{
break;
}
n++;
}
if(sum== 765)
{
printf("第一层有%d盏灯,最后一层有%d盏灯。",n,m);
}else
{
printf("此题