初阶C语言(3)

顺序结构

1)选择结构--选择语句

主要是if else语句和switch语句,较为简单,下面用代码来实现具体操作,利用 if else语句来判断一个数据是否能被5整除:

#include 
#include 
int main()
{

   int a=0;
   scanf("%d\n",&a);

   if(a % 5==0)
     printf("Yes!\n");//若a能被5整除,则输出Yes!

   else
     printf("No!\n");//若a不能被5整除,则输出No!
   
   return 0;

}

2)循环结构--循环语句 

C语言中是如何实现循环的呢 ?

通过while语句,for语句,do......while语句来实现。下面我们来了解一下while语句:

#include 

int main()
{
   
   int line=0;
   
   while(line<30000)//注意:while语句的后面不需要加分号

   {
      
      printf("敲代码:%d\n",line);

      line++;

   }

   if(line == 3000)

   {

      printf("好offer\n");
 
   }

  return 0;

}

函数

对于函数一词,我们并不陌生。在数学中我们学了大量的函数运算,如F(x)=2x+3。

在C语言中,函数相当于一个工厂,将数据输进去,调用函数即可得到结果。如下写一个加法函数:

#include 

//定义函数

int Add(int x,int y)

{
   
   int z = x+y;
   
   return z;

}

int main()

{
   
   int num1 = 0;

   int num2 = 0;

   int sum =0;

   scanf("%d %d",&num1,&num2);

   sum = Add(num1,num2);//调用Add函数

   printf("sum = %d\n",sum);

   return 0;

}

P: Add 是我们定义的函数名,int 是函数的返回类型为整型,x和y是函数的形式参数

数组 

1)数组的定义:

数组是一组相同类型元素的集合。通过数组我们可以创建多个变量值。

下面利用代码来具体介绍数组的定义:

#include 

int main()

{

    int arr[10};//定义一个整型数组,里面最多可以放10个

    char ch[20];//定义一个字符数组,里面最多可以放20个

    //int--定义集合元素的类型
    //arr--数组名
    //[10]--数组中可以存放的元素内存大小

    int arr1[5] = {1,2,3,4,5};//完全初始化,也就是放满了

    int arr2[10] = {1,2,3,4,5};//不完全初始化,剩余的元素默认初始化的值为0

    return 0;

}

2)数组的访问: 

C语言语法规定:数组每个元素都要有一个下标,下标从0开始。数组可以通过下标来进行访问。

#include 

int main()

{

   int arr[5]={0};

   //若数组为5个元素,则下标范围是0-4
   //即:0  0  0  0  0
   //    0  1  2  3  4

   return 0;

}

3)数组的使用: 

那么我们该如何逐个访问数组内的元素呢?下面通过代码来实现:

 

初阶C语言(3)_第1张图片

操作符 

1)算术操作符:

+     -     *    \    %

2)  移位操作符:

>>             << 

3)位操作符 :

&       ^       |

4)  赋值操作符:

=     +=     -=     *=     /=     ^=     |=      >>=     <<= 

 关键字

在C语言中,它预留给自己的一些特殊符号,有特殊的意义。这些符号被称为关键字。关键字有很多,下面我们来介绍一些常见的关键字,并且给它们进行分类。

P: 强调一点,程序员不能自己创造关键字!!

初阶C语言(3)_第2张图片 

 分类:

初阶C语言(3)_第3张图片

接下来我们简单介绍两个关键字typedef和static: 

typedef 

 typedef是类型定义,这里可以理解为类型重命名。

#include 

typedef unsigned int unit:

int main()

{

    unsigned int num1 = 0;

   //此时你觉得unsigned int这个类型太长了

   //你想简化所以可以使用typedef重定义

    uint num2 = 0;

   //这时num1与num2相同

    return 0;

}

static 

在C语言中,static是用来修饰变量和函数的,静态的。

下面我们来提出几个问题并进行一一解答

1、全局变量可以跨文件访问吗?

可以

2、函数可以跨文件访问吗?

可以

 3、在具体的应用场景中,有没有可能,我们不想让全局变量或者函数跨文件访问,只在本文件内部访问?

答案是可以的

1)static修饰全局变量,该变量只在本文件内被访问,不能被外部其他文件直接访问。

2)static修饰函数,该函数只在本文件内被访问,不能被外部其他文件直接访问。

3)static修饰局部变量,更改局部变量的生命周期,作用域不变。

#define定义常量和宏

我们通过代码来详细说明:

首先需要认识 #define定义常量:

初阶C语言(3)_第4张图片

接下来了解 #define定义的宏: 

初阶C语言(3)_第5张图片

P:#define定义的宏可以有参数和替换。 

 指针

要想理解指针,需要先知道内存的含义:内存是电脑上特别重要的存储器。计算机中所有程序的运行都是在内存中进行的,所以为了有效地使用内存,就把内存划分成一个一个小的内存单元,每个单元的内存大小就是一个字节。比如:int 类型的数据占4个字节,为了有效地访问到内存的每个单元,就给内存单元进行编号。

就如同家庭住址一样,当你知道变量在哪个地址,便可以访问到它。而指针就是找到它的方法。

变量都有地址,取出变量地址如下:

int main()

{

   int num = 10;

   #//取出num的地址

   printf("%p\n",&num);//%p表示以地址的形式打印,就是找到num在内存中的位置

}

那么地址是如何存储的呢?这就需要定义指针变量来存放地址。实现代码如下: 

int main()

{
   
  int a = 10;

  int *p=&a;

//* 告诉我们p就是一个指针量

//int 说明p是指向一个整型变量的

//&a的意思是a的地址,我们把地址也称为指针

}

结构体 

当我们描述一个复杂的对象时,如想要了解一个学生,可以从他的性别、年龄、学号等来描述他,这就比较复杂,需要用到结构体。

访问结构体有两种方式:

1).为结构成员访问操作符:

printf("%d",s1.age);

2) ->操作符: 

printf("%d",ps1->age);

最后的最后,感谢大家的阅读,欢迎大家指正我的不足错误!下一篇文章再会啦~大家!!

 

 

 

 

 

 

 

 

你可能感兴趣的:(c语言,算法,开发语言)