C语言第三课-----------加油 加油 加油 1

简介: C语言第三课-----------加油 加油 加油

紧接上一课,上一篇博客我已经简单介绍了变量的作用域和生命周期,常量,字符串+转义字符+注释,选择语句,循环语句,函数这些下面我们再接着来介绍C语言其他的

插播小知识

前面可能有些小可爱对scanf()有疑问,下面我们就来插播一下这个小知识

scanf

在图中可以看出,scanf是有返回值的,返回值是实际读取到数据的个数,比如我们要输入两个数字,结果我就输入了一个数字,那scanf()的返回值就是1,当我如果一个都不输入会返回多少,我们来试试

看看,是-1哦哦不要搞错了

'\0'

数字0;0

字符0;'0'  对应的ASCII值为48

转义字符0:'\0' 对应的ASCII值为0 (十进制)    是一个8进制的如:\ddd

全局变量和局部变量名字相同的情况下局部优先

变量初始化

未初始化

#include <stdio.h>
int main()
{
  int a;
    printf("%d", a);
  return 0;
}

结果

因为你未初始化,a会是随机值,编译器不支持这样所有会报错

数组

简单的来讲就是一堆数据类型相同的数据组成的集合

数组的定义

#include <stdio.h>
int main()
{
  //数组的定义
  int arr[10];
  char arr_1[10];
  double arr_2[10];
  float arr_3[10];
  return 0;
}

  数据类型  数组名[元素个数]

数组的初始化(就是赋值的过程)

#include <stdio.h>
int main()
{
  //数组的初始化
  int arr[10] = {1,2,3,4,5,6,7,8,9,10};//完全初始化
  char arr_1[10] = {'a','b','c'};//不完全初始化
  double arr_2[10] = {0};
  float arr_3[10] = {1.0f,2.0f,3.0f};
  return 0;
}

结果:

 

初始化分为完全初始化和不完全初始化,不完全初始化剩下的元素默认为0

这里我们简单了解一下

数组的下标

注意

数组的下标是从0开始的

我们可以通过下标访问元素或者修改元素

#include <stdio.h>
int main()
{
  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
  printf("%d\n", arr[1]);
  arr[1] = 11;
  printf("%d\n", arr[1]);
  return 0;
}

注意一下,就是数组的元素要是数字(整数 ,小数......)才能直接修改,如果是字符的话就不能直接修改了

如果我们想让一一打印出来也是可以的,

代码如下:

#include <stdio.h>
int main()
{
  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
  /*printf("%d\n", arr[1]);
  arr[1] = 11;
  printf("%d\n", arr[1]);*/
  int a = 0;
  while (a < 10)
  {
    printf("arr[%d]=%d\n", a, arr[a]);
    a++;
  }
  return 0;
}

结果如下:

操作符

算术操作符

+(加)-(减)*(乘)/ (除) %(取余)

下面我简单的讲解/和%

/

代码如下:

#include <stdio.h>
int main()
{
  int a = 10;
  int b = 3;
  float c = 3.0f;
  //整数的除法
  printf("a/b=%d\n", a / b);
  //小数的除法
  printf("a/c=%lf\n", a / c);
  return 0;
}

结果:

除法有两种一种结果为小数,一种结果为整数

%

代码如下:

#include <stdio.h>
int main()
{
  int a = 10;
  int b = 3;
  printf("a除b取模的值为:%d", a % b);
  return 0;
}

结果:

记住,只有整数取余,没有小数

移位操作符(移动的是二进制)

>><<

后期会讲

位操作符(二进制操作)

&^|

后期会讲

赋值操作符

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

下面我来讲一讲 +=

代码1:

#include <stdio.h>
int main()
{
  int a = 10;
  int b = 20;
  a = a + b;
  printf("%d",a);
  return 0;
}

代码二:

#include <stdio.h>
int main()
{
  int a = 10;
  int b = 20;
  a += b;
  printf("%d",a);
  return 0;
}

上面两种写法的运行结果都是一样的

a=a+b

a+=b   ==> a=a+b

同理其他也是这个意思

相关文章
|
12月前
|
编译器 C语言
C语言第三课-----------加油 加油 加油 2
C语言第三课-----------加油 加油 加油
|
10天前
|
C语言
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
|
6天前
|
Java C语言 C++
定义C语言的int main()函数
定义C语言的int main()函数
|
10天前
|
C语言
C语言prinf函数
C语言prinf函数
11 4
|
8天前
|
存储 移动开发 C语言
技术心得记录:嵌入式开发中常用到的C语言库函数
技术心得记录:嵌入式开发中常用到的C语言库函数
|
10天前
|
编译器 程序员 Serverless
函数(C语言)
函数(C语言)
|
9天前
|
机器学习/深度学习 C语言
详细解读C语言math.h中常用函数
详细解读C语言math.h中常用函数
10 1
|
10天前
|
C语言
C语言刷题(函数)
C语言刷题(函数)
|
10天前
|
C语言
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
9 1
|
5天前
|
Java C语言 C++
定义C语言的int main()函数
定义C语言的int main()函数