欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言自学-简单的记录

程序员文章站 2022-04-03 22:35:35
...

一、工欲善其事,必先利其器

安装C语言编译器,初学者可以先选择比较轻量级的dev c,占用空间不大,写程序什么的够用了

安装教程路径如下:

https://blog.csdn.net/qq_41594445/article/details/102941354

安装好了怎么编译运行呢?dev c 很简单,如下图:

第2步最好点击Compile & run,先编译再运行

C语言自学-简单的记录

二. C语言简单例子

学习写代码都是为了解决的问题,接下来看一个例子

https://leetcode-cn.com/problems/climbing-stairs/

C语言自学-简单的记录

简单分析,如果你现在处于第i个台阶,那么你有多少种方法跑到第i个台阶上来呢?

估计只有最近的方法也就两种吧?从i-1一次走一步上来,或者从i-2一次走两步上来。所以dp[i] = dp[i-1] + dp[i-2]) , 也就是  到达i 所需的步数(dp[i]) =  到达i 所需的步数(dp[i-1]) +  到达i 所需的步数(dp[i-2])

 所以分析过后程序就好写多了, 接下来直接写代码,代码和运行结果如下:

C语言自学-简单的记录

#include <stdio.h>
#include <stdlib.h>

/**
*定义的爬楼梯的函数,属于逻辑部分 
*/
int climbStairs(int n){
	if(n < 2) {                               //1. 如果小于2 可以直接返回
		return n;
	} else {                                  //2.大于2按照斐波拉契数列直接求和即可
		int dpi_2 = 1, dpi_1 = 2, dpi;        //2.1 初始化dp[i-2] 和 dp[i-1] 为第1和第2阶台阶
		int i = 2;
		for(;i<n;i++) {                       //2.2 循环开始求数列
			dpi = dpi_2 + dpi_1;
			dpi_2 = dpi_1;
			dpi_1 = dpi;
		}
		return dpi;                            // 返回结果
	}
}

int main() {                                               // 一 、 main主函数,一旦运行,这里将会是程序的入库  
	printf("Hello World!\n");
	int level = 5; 
	printf("爬%d楼需要%d步", level, climbStairs(5));       // 二、 调用上面的爬楼梯函数,并返回结果 dpi ,printf可以打印dpi 
	return 0;
}

 

 

 

 

dev C可能的踩坑:

1. for 中的循环编译报错问题:

C语言自学-简单的记录

for(int i=0;i<n;i++) 

-> 修改为两条语句就可以了

int i=0;

for(;i<n;i++)