小菜的C语言之路——第三课


前言

本篇内容是继上篇文章后的C语言简单认识,讲了函数、数组、和操作符。


一、函数

1.函数是什么?

数学中:映射。
C语言中:某种功能的实现。

请添加图片描述

2、函数是干什么的?

函数:将m和n通过相加得到它们的和sum。
工厂:将几种原材料通过加工得到产品。
我们发现这是非常类似的过程。

请添加图片描述

3、函数的实现

观察下面代码,虽然可实现两个整数的相加并且输出,但并不能称为函数。
因为下面代码只实现了num1和num2的相加。
若需要num3和num4的相加,还需要改变代码。

#include <stdio.h>
int main()
{    
	int num1 = 0;   
	int num2 = 0;    
	int sum = 0;    
	printf("输入两个操作数:>");    
	scanf("%d %d", &num1, &num2);    
	sum = num1 + num2;    
	printf("sum = %d\n", sum);    
	return 0;

}

上述代码写成函数形式,在此处的Add函数便实现了两个整数相加这一功能。并且被单独抽象出来。
若要实现多组相加,只需多次调用函数即可,不需要不断地创建变量。

#include <stdio.h>
int Add(int x, int y)
{   int z = x+y;   
	return z;
}
int main()
{    
	int num1 = 0;   
	int num2 = 0;   
	int sum = 0;   
    printf("输入两个操作数:>");    
    scanf("%d %d", &num1, &num2);    
    sum = Add(num1, num2);    
    printf("sum = %d\n", sum);    
    return 0;
}
4、解析函数是怎样定义的

Add函数:
功能:实现两个整数的相加,得到两数和
函数名:Add——>字面意思就是相加。
形式参数:x和y——>两个整数
参数类型:int型——>整型
函数返回类型:需要得到两数和——>整数+整数还是整数——>int型
函数体:{}内的东西——>怎样实现两数相加这一功能。

Add函数的调用:
因为Add函数有返回值且为int型,因此我们需要接收一下,将调用后得到的值存放在sum中。
int sum=Add(m,n);
此处的m和n是实际参数。也就是真实数字。
例如:m=20, n=30, sum=50.

在每次程序运行时,我们只需要键入不同的m和n,便可实现不同数字相加,也不用更改代码,重新创建新变量来。

请添加图片描述
请添加图片描述

函数的特点就是简化代码,反复使用。

二、数组

1、要存储1-10的数字,怎么存储?

C语言中给了数组的定义:一组相同类型元素的集合。
1 2 3 4 5 6 7 8 9 10
1-10 全部是整数,——满足相同类型的元素

2、数组定义:

int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素

一个简单地数组就创建好了。

3、数组的下标——[10]

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。

程序员数数是从0开始的,于此脱不了干系。

数组可以通过下标来访问的。

int arr[10] = {0};//数组有10个元素,下标的范围是0-9

请添加图片描述

4、数组的使用
#include <stdio.h>
int main()
{ 
	int i = 0; 
	int arr[10] = {1,2,3,4,5,6,7,8,9,10}; 
	for(i=0; i<10; i++) 
	{       
		printf("%d ", arr[i]); 
	} 
	printf("\n");    
	return 0;
}

运行一下:
请添加图片描述
可以看到借助数组,我们将1-10成功打印出来,且发现通过下标可以访问数组。
请添加图片描述

请添加图片描述

三、操作符

1.C语言为什么灵活?

	C语言灵活的原因之一就是因为有众多的操作符。

运算符丰富(它包括了算术运算符、赋值运算符、关系运算符、 逻辑运算符、条件运算符、强制类型转化运算符,还有特殊运算符; 这些使 C 语言的运算及其丰富,表达式类型多样);

2.操作符

算数操作符:
乘:*
取整:/ ---->5/2=2,
取余:% ---->5%2=1,两端均为整数。

+ - * / %

移位操作符:

>> <<

位操作符:

& ^ |

赋值操作符:均能实现赋值,
i+=1; ---->i=i+1;
其他类似。

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

请添加图片描述
请添加图片描述
单目操作符:只需要一个操作数

!           逻辑反操作
-           负值
+           正值
&           取地址
sizeof      操作数的类型长度(以字节为单位)
~           对一个数的二进制按位取反
--          前置、后置--
++          前置、后置++
*           间接访问操作符(解引用操作符)
(类型)       强制类型转换

关系操作符:与数学中类似;不同 != 是不等于。==是等于

>

>=
<
<=
!=   用于测试“不相等”
==   用于测试“相等”

逻辑操作符:也就是我们常说的and和or

&&     	  逻辑与
||        逻辑或

条件操作符:可以类比if语句

exp1 ? exp2 : exp3

逗号表达式:

exp1, exp2, exp3, …expN

下标引用、函数调用和结构成员
[] () . ->

[] () . ->

总结

操作符需要大家了解内涵。其内容之多,本篇文章只讲述有哪些操作符。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值