(零基础) 第四课 C语言入门之运算符

本文详细介绍了C语言中的算术运算符,包括一元和二元运算符,并通过示例解释了它们的用法。此外,还涵盖了赋值运算符、sizeof运算符、关系运算符和逻辑运算符。通过几个例题展示了如何在实际编程中应用这些运算符,帮助读者更好地理解和掌握C语言的基本语法。
摘要由CSDN通过智能技术生成

目录

算数(数学)运算符

        一元(目)算术运算符

         二元(目)算术运算符

赋值运算符

sizeof运算符

关系运算符 

逻辑运算符

例题1

例题2

例题3


算数(数学)运算符

        一元(目)算术运算符

只需要一个操作数就可以完成语义。(++、--)


a++  a--:先使用后操作
++a  --a:先操作后使用
a++ = ++a =a = a + 1;
a++ 和++a只有参与运算才不一样
b = a++:b = a;a = a + 1;
b = ++a:a = a + 1;b = a;

++a和a++不参与运算:

#include <stdio.h>
void main() {
	int a = 1;
	int b = 1;
	a++;
	++b;
	printf("%d\n", a);
	printf("%d", b);
}

运行结果:

 

 a++和++a参与运算:

#include <stdio.h>
void main() {
	int a = 1;
	int b = 1;
	a = a++;
	b = ++b;
	printf("%d\n", a);
	printf("%d", b);
}

运行结果:

         二元(目)算术运算符

需要两个操作数才能完成语义。(+、-、*、/、%)


+:num1 + num2;
-:num1 - num2;
*:num1 * num2;
/:num1 / num2; 如果除号两边都是实型,那么最后得到的是精确计算的商;如果有一边是实型,结果还是精确计算的商(类型自动提升转换);如果两边都是整型,结果是整型的商(不能除尽,后边的不要去除)。
%:num1 % num2;

#include <stdio.h>
void main() {
	int a = 10, b = 3;
	double a1 = 10.0;
	printf("%d\n", (a / b));
	printf("%lf\n", (a1 /b));
	printf("%d", (a % b));
}

运行结果

  

赋值运算符

x += y : x = x + y;

x -= y : x = x  - y;

x *= y : x = x * y;

x /= y : x = x / y;

x %= y : x = x % y;

#include <stdio.h>
void main() {
	int a = 10, b = 2;
	printf("%d\n", a + b);
	printf("%d\n", a - b);
	printf("%d\n", a * b);
	printf("%d\n", a / b);

运行结果

sizeof运算符

使用sizeof运算符可以获得数据类型占用内存空间的大小;

其一般形式为:sizeof(type_name);

sizeof运算符的结果以字节为单位显示。

#include <stdio.h>
void main() {
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(float));
	printf("%d", sizeof(double));
}

关系运算符 

>、>=、<、<=、!=、==

关系运算符返回结果为‘真’或‘假’;
真:所有的非0(1)
假:0
两边得是兼容的运算符(字符串和很多都不能兼容);

逻辑运算符

用于连接一个或多个条件,判断这些条件是否成立。 (&&(与)、||(或)、!(非))

逻辑运算符结果只有“真”或“假”
&&:(一假即假)
0 && 0 =0;
0 && 1 =0;
1 && 0 = 1;
1 && 1 = 1;
 ||:(一真即真)
0 || 0 = 0;
0 || 1 = 1;
1 || 0 = 1;
1 || 1 = 1;
!:(反)
! 0 = 1;
! 1 = 0;

例题1

        从键盘输入一个字符,判断是否是小写字母,如果是小写字母输出是“小写字母”,如果不是小写字母输出“非法字符”。

#include <stdio.h>
void main() {
	char c;
	printf("请你从键盘输入一个字符:");
	scanf("%c", &c);
	if(c >= 'a' && c <= 'z') {
		printf("小写字母");
	} else {
		printf("非法字符");
	}
}

例题2

        接受用户输入的三种商品的价格,如果购买的三种商品中至少有一种商品的价格大于50或者三种商品的总额大于100,则折扣率为15%,否则折扣率为0,计算并显示用户应付的钱数。

#include <stdio.h>
void main() {
	int p1, p2, p3;
	double sum;
	printf("请输入三个商品的价格:");
	scanf("%d %d %d", &p1, &p2, &p3);
	sum = p1 + p2 + p3;
	if((p1 >= 50) || (p2 >= 50) || (p3 >= 50) ||(sum >= 100)) {
		sum *= 0.85;
	}
	printf("你应付的价格是:%5.2lf", sum);
}

例题3

        从键盘输入一个5位的正整数,判断它是不是一个回文数。(回文数:万位 = 个位,千位 = 十位。)

#include <stdio.h>
void main() {
	int num;
	int g, s, q, w;
	scanf("%d", &num);
	g = num % 10;
	s = (num % 100) /10;
	q = (num % 10000) / 1000;
	w = num / 10000;
	printf("%d %d %d %d\n", g, s, q, w);
	if(g == w && s == q) {
		printf("回文数");
	} else {
		printf("不是回文数");
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑大帅J

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值