C语言概论(3)

1.函数
首先对函数进行一下介绍
前面讲了int main()是程序的主函数,也是一个程序的起点,但是一个程序所要完成的任务不能全部在主函数中完成,这就需要自己创建子函数来完成任务。

在这里插入图片描述
int这部分表示函数的返回值,需要返回什么样的数据类型,用不同的关键字表示,如果没有返回值,用void来代替。
函数名可以根据自己的意愿来命名,通常用与函数所完成任务有关的字符来命名,比如图中的函数需要完成的工作是得到最大值,则函数名就用get_max来表示。
函数中的参数分为两种,在子函数中的函数,即int x,int y叫做形参,主要用于子函数中,而在主函数中使用子函数时传递的参数叫做实参,也就是实际参数。前面的int表示参数的数据类型,通常使用时传递的参数的数据类型要和定义的相同。

在这里举一个例子,在一个函数中求最大值

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int get_max(int x, int y);
int main()
{
    
    
	int a = 0;
	int b = 0;

	scanf("%d%d", &a, &b);
	int max = get_max(a, b);
	printf("max=%d\n", max);

	return 0;
}

int get_max(int x, int y)
{
    
    
	if (x > y)
	{
    
    
		return x;
	}

	else
	{
    
    
		return y;
	}
}

对于函数最重要的是其通用性,也就是说这个函数的使用场合不是单一的,可以用在其他不同的地方,这样子这个函数才是比较好的。
在这里插入图片描述
注意一个问题:就是创建函数的放置位置问题,有很多人有疑问,函数放在前面和后面有什么区别?
a.如果想把函数的具体内容放在主函数的后面,要在前面进行声明,也就是放在开头,让编译器知道你要用到这个函数。
b.如果不想声明,就把函数的具体内容放在需要用到的地方之前,使编译器知道函数的用处。

如果不声明就放在后面,编译器就会发出警告,程序运行可能不会出错,也有可能会出错,这就是弊端。
在这里插入图片描述
2.数组—一组数的集合
数组是一组相同类型元素的集合

a.数组的定义
int arr[10]={1,2,3,4,5,6,7,8,9,0};
这个是完整的初始化,也就是每一个元素在最开始都有对应的元素

int arr[10]={1,2,3,4,5};
这是不完整的初始化,只初始化了前5个元素,剩下的元素自动补0。

b.数组的使用

数组的第一个下标是从0开始的,而数组的使用正是利用下标来完成的。
比如打印数组中的每一个元素

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
    
    
	int i;
	int arr[10] = {
    
     1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
	for (i = 0; i < 10; i++)
		printf("%d ", arr[i]);
	return 0;
}

i从0开始递增一直到9,arr[i]就是对数组的使用,这样子结果可以从数组的第一个元素打印到最后一个元素。

3.算术操作符
在这里插入图片描述
这里有一个注意的问题
printf("%d",7/2);
得到的结果为3而不是3.5,这是为什么呢?
这是因为7和2都是整数,得到的还是整数

那么如果把%d改为%f呢?
结果为0.00000,这是因为7和2是整数,结果只能时整数。
解决方法:把7/2写成7.0/2或者7/2.0或者7.0/2.0,只要除数和被除数有一个为小数,则结果就是小数。

4.移位操作符
在这里插入图片描述

a>>1 把a的值向右移动一位,本质上移动的是a的二进制位
a<<1 把a的值向左移动一位,本质上移动的是a的二进制位

5.位操作符
在这里插入图片描述
& 按(二进制)位与
^ 按(二进制)位异或
| 按(二进制)位或

6.单目操作符
在这里插入图片描述
7.关系操作符
在这里插入图片描述
8.逻辑操作符
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41490958/article/details/107993432