初识C语言(2)


前言

在初识C语言(1)中(链接: link)已经介绍了五节内容,接下来我将继续来分享后面的内容。还是一样,本篇只是让大家有个大概的了解,后面我会逐一细讲。若本文有什么错误之处或者您有更好的建议,希望您可以在评论,或者私信我,我会第一时间回复的。谢谢!٩(๑❛ᴗ❛๑)۶


六、选择语句

示例代码:

#include <stdio.h>
int main()
{
    
    
	int learn = 0;
	printf("你会去学习吗?(选择1 or 0):");
	scanf("%d", &learn);
	if (learn == 1)
	{
    
    
		printf("坚持,你会有好offer\n");
	}
	else
	{
    
    
		printf("放弃,回家放牛\n");
	}
	return 0;
}

代码运行结果如下:
在这里插入图片描述

七、循环语句

C语言中如何实现循环呢?
● while语句
● for语句(后期会具体介绍)
● do … while语句(后期会具体介绍)

//while循环的实例
#include <stdio.h>
int main()
{
    
    
	printf("好好学习\n");
	int line = 0;
	while (line <= 20)
	{
    
    
		line++;
		printf("我要继续努力敲代码\n");
	}
	if (line > 20)
		printf("好offer\n");
	return 0;
}

代码运行结果如下:
在这里插入图片描述

八、函数

C语言中,把一些独立的功能也能封装成一个独立的函数。
● 函数的特点就是简化代码,代码复用。

示例代码:

#include <stdio.h>
int main()
{
    
    
	int num1 = 0;
	int num2 = 0;
	int sum = 0;

	scanf("%d %d", &num1, &num2);  	//输入
	sum = num1 + num2;             //求和
	printf("sum = %d\n", sum);    //打印

    return 0;
}

//上述代码,若写成函数如下:
#include <stdio.h>
//定义函数
int Add(int x, int y)
{
    
    
	int z = x + y;  
	return z;
	
	//return (x + y);  //上面两段代码可以用这个来代替,效果是一样的
}
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;
}

代码运行结果如下:
在这里插入图片描述
函数各组成部分的名称:
在这里插入图片描述

九、数组

9.1 数组定义

什么叫数组?
数组就是:一组相同类型元素的集合。

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

char ch[5] = { ‘a’, ‘b’, ‘c’, ‘d’, ‘e’ }; //存字符 - 字符数组。
int arr[10] = { 0 }; //数组不完全初始化的形式。

9.2 数组的下标

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

比如:
在这里插入图片描述
示例代码:


#include <stdio.h>
int main()
{
    
    
	//arr就是10个元素的整型数组
	int arr[10] = {
    
     1,2,3,4,5,6,7,8,9,10 };
	//数组的下标为0 - 9
	int i = 0;
	while (i <= 9)
	{
    
    
		printf("%d ", arr[i]);  //通过下标将数组元素一一打印出来
		i += 1;
	}

	return;
}

代码运行结果如下:
在这里插入图片描述

十、操作符

C语言包含了非常丰富的操作符 本节简单介绍为主,点到为止,后面会重点讨论!

在这里插入图片描述
取模(%):
示例代码:

#include <stdio.h>
int main()
{
    
    
	// % - 取模(余数)
	int  n = 7 % 2;      //7/2 商3,余1
	printf("%d\n", n);  //所以n=1
	
	//取模操作符只能作用于整型
	int n = 7.0 % 2;  //注意,这样写是错误的!!

	return 0;
}

移位操作符:
示例代码:

//移位操作符,其实作用于一个数的二进制位的
#include <stdio.h>
int main()
{
    
    
	int a = 3;
	int b = a << 1;  //左移一位
	printf("%d\n", b);
	return 0;
}

代码运行结果如下:
在这里插入图片描述
左移操作符,实现过程如下:
在这里插入图片描述
位操作符:
示例代码:

#include <stdio.h>
int main()
{
    
    
	int a = 3;
	int b = 5;
	//这里的位指的也是二进制位
	int c = a & b;  //按位与,对应的二进制位有0,则为0,全1才为1
	int d = a | b;  //按位或,对应的二进制有1,则为1,全0才为0;
	int e = a ^ b;  //按位异或,相同为0,相异为1
	printf("c = %d\nd = %d\ne = %d\n", c, d, e);

	return 0;
}

代码运行结果如下:
在这里插入图片描述
上述位操作符实现过程:
在这里插入图片描述

在这里插入图片描述
sizeof:
示例代码:

#include <stdio.h>
int main()
{
    
    
	int a = 10;
	//sizeof 计算的是变量或者类型所创建变量占据内存的大小 - 单位是字节(byte)

	printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(int));
	return 0;
}

代码运行结果如下:
在这里插入图片描述
~操作符:
~ 按位取反,其实都是操作内存中的二进制位,是对存在内存中的补码进行取反的

#include <stdio.h>
int main()
{
    
     
	int a = -1;
	//-1是负整数
	//负整数的二进制有原码,反码,补码
	//内存中存储的是二进制的补码
	//10000000000000000000000000000001 -原码
	//11111111111111111111111111111110 -反码
	//11111111111111111111111111111111 -补码

	int b = ~a;
	printf("%d\n", b);
	return 0;
}

代码运行结果如下:
在这里插入图片描述

加加(++)
++a //前置++,先++,后使用;
a++ //后置++,先使用,后++;
减减(–)同理。

关于强制类型转换 -(类型):
在这里插入图片描述
如上图:3.14是double类型,而n是int类型,如果这样写,编译器会出现警告。因为它们两个的类型不相同,那么如何让它们的类型相同呢?这时,我们就可以使用强制类型转换的方法,如下图所示。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
条件操作符:
在这里插入图片描述
如果我们要想比较两个数字的大小,将较大者输出屏幕,我们可以用if语句,如上图;
我们还可以使用三目操作符来进行运算。它的运算过程是:如果exp1为真,则exp2的结果是整个表达式的结果,反之,若exp1为假,则exp3的结果是整个表达式的结果。
代码示例:

#include <stdio.h>
int main()
{
    
    
	//条件操作符
	// exp1 ? exp2 : exp3
	//简化if语句
	int a = 0;
	int b = 0;
	int max = 0;
	scanf("%d %d", &a, &b);  //输入
	
	//比较
	//if (a > b)
	//	max = a;
	//else
	//	max = b;

	max = (a > b ? a : b); //三目操作符

	//打印
	printf("%d\n", max);

	return 0;
}

在这里插入图片描述
逗号表达式:
逗号表达式会从左向右依次计算;整个逗号表达式的结果是最后一个表达式的结果。
代码示例如下图所示:
在这里插入图片描述
函数调用操作符:
函数调用操作符的操作数至少有一个,就是它的函数名。一般函数操作符有三个操作数,
比如:Add(3, 5);它的三个操作数分别是:Add函数名,3和5。

总结

好啦,以上就是今天要讲的内容,本文仅仅简单介绍了初识C语言的部分内容,还有一小部分内容初识C就完结啦,敬请期待。我们一起努力,互相学习,共同进步!!

Alt

猜你喜欢

转载自blog.csdn.net/m0_63289584/article/details/122637672
今日推荐