初识C语言--第二弹(一)

简介: 初识C语言--第二弹(一)

🦖作者:学写代码的恐龙

🦖博客主页:学写代码的恐龙博客主页

🦖专栏:【初级c语言】

🦖语录:❀未来的你,一定会感谢现在努力奋斗的自己❀


16e4f110fe474389a6439def32baa752.jpg

八:函数

大家先看下面这段代码:

#include <stdio.h>
int main()
{
  int num1 = 1;
  int num2 = 2;
  int sum = 0;
  sum = num1 + num2;
  printf("%d\n", sum);
  return 0;
}

这段代码执行了一个简单的求和操作,首先我们定义了两个变量num1和num2,然后定义了一个变量sum用来存储num1和num2的和,最后把sum打印出来就得到了我们想要的结果了。那么大家想一下,如果我还想求变量a和b的和,是不是需要重复上面的操作,如下面这段代码:

#include <stdio.h>
int main()
{
  int num1 = 1;
  int num2 = 2;
  int sum = 0;
  sum = num1 + num2;
  printf("%d\n", sum);
  int a = 3;
  int b = 4;
  int c = 0;
  c = a + b;
  printf("%d\n", c);
  return 0;
}

可以看出来,这段代码的4-8行和9-13行的格式一模一样。那我们如果还有100组或者更多组的数字求和岂不是要把4-8行或者9-13行这段代码重复写上几百遍?这当然是非常不方便的。此时我们的函数就出现了,函数就相当于一个工厂,我们可以把各种材料零件送去工厂,通过工厂的加工我们就可以得到一个完整的产品。**函数也是这样,我们可以把多组数据送进函数,通过函数的加工我们就可以得到我们想要的结果。**下面就让我们把求和这个操作封装成一个函数:

int add(int x, int y)
{
  int sum = 0;
  sum = x + y;
  return sum;
}

这就是一个函数,其中第一行的add叫做函数名add前面的int表示该函数的返回值是int类型,这时可能会有同学会疑惑了:返回值是什么?大家回想一下,我们这个函数实现的是两个数的求和操作,既然是求和,那我们就需要在函数求完和后把这个和给交出来,因此就有了返回值这个概念。那么这个函数的返回值就是函数所求得的两数和,因为它是一个整数,所以就是int类型。add后面还有一对括号里面的x和y叫做参数,这一点就和我们数学函数里的自变量是一个意思,不过这里的参数必须得规定它的类型,我们这个函数是用来求两数和的,那我们如果把字符型数据’a’和’b’作为参数传进函数里当然是不可以的,因此这里我们限制了这里的参数必须是int型。接着大括号{}里面就是我们的函数体,通过函数体的“加工”就可以得到我们想要的结果,这里我们先定义了一个变量sum用来存储两数和让sum等于x+y,最后return sum返回sum的值。这样我们整个求和函数就搞定了。接下来只需要在主函数里调用这个求和函数就可以,具体方法看下面这段代码:

#include <stdio.h>
int main()
{
  int num1 = 1;
  int num2 = 2;
  int sum = 0;
  sum = add(num1, num2);//第七行
  printf("%d\n", sum);
  int a = 7;
  int b = 6;
  int c = 0;
  c = add(a, b);//第十二行
  printf("%d\n", c);
  return 0;
}
int add(int x, int y)
{
  int sum = 0;
  sum = x + y;
  return sum;
}

在这段代码主函数中的第七行和第十二行,我们分别调用了add函数,第七行我们把num1和num2也就是1和2传给了add函数,第十二行我们把a和c传给了add函数。因为add函数有返回值,那么我们当然就需要一个变量来存储这个返回值,代码中我们分别用sum和c来存储返回值,这也就意味着,这时的sum就是num1和num2的和,也就是1+2的结果,那么sum此时就等于3,同理此时c就等于13。有关函数就先给大家讲解到这里,后面会单独详细的再介绍函数。

九:数组

C语言中给出了数组的定义:一组相同类型元素的集合。

9.1:数组的定义

int main()
{
  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
  char ch[5] = { 'a','b','c','d','e' };
  return 0;
}

上面这段代码就是创建和初始化数组的一种方法,其中arr和ch叫做数组名,int表示arr这个数组存的是整型元素,char表示ch这个数组存的是字符型元素。[10]和[5]表示数组存储元素的个数,这里也就说明arr这个数组可以存10个元素并且每个都是整型,而ch这个数组可以存5个元素并且每个都是字符型。我们可以通过监视窗口来查看数组中存储元素的值,如下图:

4db00ccb039d45a19cfe80ee805372a2.png关于数组这里还有一个小知识点就是,如果我定义了一个可以存放10个元素的数组,但实际上只给它初始化了5个元素,那结果会是什么样的呢?实践出真知,直接上截图:


d6e7ee636d894adcb5977a243e6f25fc.png

在截图的代码中我们我们分别定义了整型数组arr和字符数组ch,他俩都可以存储10个元素,但在初始化的时候都只给了他们5个元素。通过监视窗口我们可看出,**对于整型数组没有初始化的全部默认为0,对于字符数组没有初始化的默认为’\0’。**这一点希望大家可以记住,这叫做数组的不完全初始化。

9.2:数组的使用

我们可以通过数组的下标来引用当前下标对应存储的元素,但是注意数组这里有一个小小的规定,数组的下标是从0开始的,也就意味着第一个元素对应的数组下标是0,第二个元素对应的数组下标是1,以此类推。这一点我们也可以通过上图的监视窗口看出来,最左边那一列[0],[1],[2]…就是下标,右边那一列就是同行左边下标所对应存储的元素。

5c76bbd00aff42bd8b463307cba84d80.png

上面的代码截图中我们希望打印出arr[1]的值,也就是数组中的第二个元素值(因为数组下标从0开始,数组中第一个元素对应的下标是0),此时就把2打印出来了。我们还可以用一个while循环把数组中的所有元素都给打印出来,具体代码如下:

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

十:操作符

10.1算数操作符

算数操作符
+ - * / %

需要注意的是:这里的*代表数学里的乘号,这里的/代表数学里的除号,这里的%叫做取模或者取余。重点介绍一下/和%。

10.1.1:/操作符:

#include <stdio.h>
int main()
{
  int n = 10 / 4;
  printf("%d\n", n);
  return 0;
}

大家看上面这段代码,定义了一个整型的n等于10/4,大家猜猜此时的n应该等于多少呢,这时有很多小伙伴可能就会想到,既然这个/相当于数学中的除号,那不就是10除以4,结果不就是2.5,可事实真是如此嘛?

ea74c12dbb9a44a2b3fd73e01601327b.png

通过执行结果我们可以看出来,这里的n=2,并不像我们之前想的那样n不等于2.5。这时候有许多聪明的小伙伴可能又会想到n前面不是int嘛,int不是表示整型,那结果当然得是一个整数,所以这里直接就把后面的.5给省略了呗,那我们再来看看,如果我们把int换成float浮点型,这总该可以表示出小数了吧?

c7c6f18e5026431fbeefcaebc2beb6c3.png

上图中我们已经把int改成了float(这里注意一下,float型对应的格式符为%f),但结果却是2.000000并不是我们想的得到的2.5。其实呀,如果/的两端都是整数,则执行整数除法,如果/两端至少有一个是浮点数,才执行浮点数的除法。

adce09dcc2d24c06b3d052ca5fd021fc.png

上图中我们只是在10的后面加了一个.0,这时就得到了我们想要的结果2.5。

目录
相关文章
|
6月前
|
存储 编译器 Linux
C语言易错知识点总结2
C语言易错知识点总结2
49 0
|
C语言
C语言初阶--操作符详解(上)
C语言初阶--操作符详解(上)
|
C语言
C语言初阶-函数(1)
C语言初阶-函数(1)
|
C语言
C语言初阶-函数(2)
C语言初阶-函数(2)
|
3月前
|
程序员 编译器 C语言
【C语言篇】操作符详解(上篇)
这是合法表达式,不会报错,但是通常达不到想要的结果, 即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的表达式。
247 0
|
11月前
|
存储 Java 编译器
c语言初阶 -- 初识c语言篇(上)
c语言初阶 -- 初识c语言篇(上)
92 0
|
12月前
|
存储 程序员 C语言
C语言初阶-函数(1)
C语言初阶-函数(1)
52 1
|
6月前
|
C语言
C语言--每日选择题--Day24
C语言--每日选择题--Day24
|
6月前
|
C语言
用c语言画爱心
用c语言画爱心
245 0
|
12月前
|
编译器 C语言
C语言初阶--初识C语言(1)
C语言初阶--初识C语言(1)
63 0
下一篇
无影云桌面