嵌入式初学(四)C语言实战二

C语言语法

1.判断
if语句:if(a=0)——先执行a=0;然后判断 if(a)。
以后编程写成 if(0==a)
2.循环结构
for():
while():

函数 :函数名+函数主体

void fun (int a,int b)

递归算法:使用递归算法需要有一个,明确的停止值让递归停止

 #include<stdio.h>                                                               
   int sub (int a)
  {
    
    
      int sum;
      if(a==1)//停止值
      {
    
    
          return 1;
      }
      else
      {
    
    
          return sum=a*sub(a-1);
      }
      return sum;   
  }

  int main()
  {
    
    
      int sub();
      int a,b;
      scanf("%d",&a);
      b=sub(a);
      printf("result=%d\n",b); 
}

函数的参数传递

参数传递的本质是数值的传递,并不会对变量本身有任何影响。是实参将值传递给形参 ,实现调用函数的功能。
如果想通过调用函数,实现对实参值的修改,需要通过指针来修改地址。

  1 #include<stdio.h>
  2 int main()
  3 {
    
    
  4     int ex();
  5     int a=5;
  6     int b=6;
  7     ex(&a,&b);                                                             
  8     printf("%d,%d",a,b);
  9     return 0;
 10 
 11 }
 12 
 13 int ex(int* a,int* b)
 14 {
    
    
 15     int c;
 16     c=*a;
 17     *a=*b;
 18     *b=c;
 19 }

指针:

本质是变量,但是存储的数据是地址,通过这个地址能找到我们想要的数据

常量指针
指针指向的是一个常量 const +数据类型* +指针名(地址可修改,值不行)伪常量
不可通过修改指针的方式,对值进行修改。

  In function ‘main’:
 error: assignment of read-only location ‘*ptr’
      *ptr=b;

指针常量
指针是一个常量,指向不可被修改。 数据类型* + const +指针名(地址不可修改,值可以
指针ptr不能修改,不能将其他变量的地址赋给指针常量

 In function ‘main’:
 error: assignment of read-only variable ‘ptr’
     ptr=&b;

二级指针:*(ptr1)——(&a)——a

 1 #include<stdio.h>
  2 int main()
  3 {
    
    
  4     int a=10;
  5     int* ptr=&a;
  6     int** ptr1=&ptr;                                                       
  7     printf("%d\n",*(*ptr1));
  8     return 0;
  9 }
  输出结果:10

经典题目:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?

#include "stdio.h"
int sumPeach(int day)
{
    
    
    if (day == 10)
        return 1;
    else
    return 2 * (sumPeach(day + 1) + );
}
int main()
{
    
    
    int sum;
    sum=sumPeach(1);
    printf("The first day of picking peaches number is:%d\n",sum);
}
结果
The first day of picking peaches number is:1534

猜你喜欢

转载自blog.csdn.net/weixin_45998055/article/details/113174164