C语言的运算符、标识符、关键字

目录

运算符介绍

 C语言运算符的练习

算术运算符

算术运算符的练习题

关系运算符

逻辑运算符

赋值运算符

运算符优先级小结

C语言的标识符

标识符的命名规则

标识符的命名规范

关键字

运算符介绍

  • 算术运算符(+、-、/、%)
  • 赋值运算符
  • 关系运算符(比较运算符)
  • 逻辑运算符
  • 位运算符(&按位与 |按位或 ^按位异或)
  • 三元运算符(表达式?表达式1:表达式2)

 C语言运算符的练习

算术运算符

#include <stdio.h>

void main() {

	double d1 = 10 / 4;
	double d2 = 10.0 / 4;//如果希望保留小数,参与运算数必须有浮点数

	//给大家一个取模的公式
	//a % b =  a - a / b * b

	int res1 = 10 % 3; // 求10/3 的余数 1
	int res2 = -10 % 3; // = -10 - (-10) / 3 * 3 = -10- (-3) * 3 = -10 + 9 = -1
	int res3 = 10 % -3; // 10 - 10 / (-3) * (-3) =  10 - 9 = 1
	int res4 = -10 % -3; // ? -1


	printf("d1 = %f", d1);//2.000000
	printf("\nd2 = %f", d2);//2.500000

	//++ 的使用

	int i = 10;
	int j = i++; // 运算规则等价是 int j = i; i = i + 1; ==> j = 10, i=11
	int k = ++i; // 运算规则等价  i = i + 1; int k = i; ===> i=12, k =12

	printf("\n i=%d j=%d", i, j); //i=12   j=10
	printf("\n i=%d k=%d", i ,k );// i = 12 k = 12
	printf("\nd1=%f d2=%f res1=%d res2=%d res3=%d res4=%d", d1, d2, res1, res2, res3, res4); //
	
	//++ 或者 -- 还可以独立使用, 就相当于自增
	//k++ 等价于  k = k +1
	//++k 等价于 k= k +1
	//如果独立使用  ++k 和 k++ 完全等价
	k++; // k = 13
	++k;// k = 14
	printf("\nk=%d", k); //k = 14

	getchar();
}

算术运算符的练习题

#include <stdio.h>

void main() {

	//假如还有97天放假,问:xx个星期零xx天

	int days = 97;
	int week = days / 7; 
	int leftDays = days % 7;

	/*
	定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:
	5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度

	double huaShi = 146.7;
	double sheShi =  5.0/9*(huaShi-100);

	printf("华氏温度 %.2f 对应的摄氏温度是 %.2f", huaShi, sheShi);
	printf("\n\n有 %d个星期零%d天 放假", week, leftDays);
	getchar();
}

关系运算符

#include <stdio.h>

void main() {
	int a = 8;
	int b = 7;
	printf("\na>b=%d", a > b); // 1
	printf("\na>=b=%d", a >= b); // 1
	printf("\na<b=%d", a < b); //0
	printf("\na<=b=%d", a <= b);//0
	printf("\na==b=%d", a == b);//0
	printf("\na!=b=%d", a != b);//1

	
	getchar();
}

逻辑运算符

  • 在进行 && 操作时, 如果第一个条件为false ,则后面的条件不在判断
  • 在进行逻辑或时,如果第一个条件为真,则不再执行后面的条件,整个结果为真
#include <stdio.h>
void main() {
	
	double score = 70;//成绩
	if(score>=60 && score<=80){
		printf("ok1");
	} else {
		printf("ok2");
	}

	int a = 10, b = 99;
	//说明:
	//1. 在进行 && 操作时, 如果第一个条件为false ,则后面的条件不在判断
	//2. 该现象称为 短路现象,所以 逻辑与 也称为 短路逻辑与
	if(a < 2 && ++b>99) {  
		printf("ok100");
	}
	printf("b=%d\n", b); //b=99
	getchar();


	int a = 10, b = 99;
	//说明
	//1. 在进行逻辑与时,如果第一个条件为真,则不再执行后面的条件,整个结果为真
	//2. 该现象称为 逻辑或短路现象,因此 逻辑或也称为 短路逻辑或
	if(a > 5 || b++>100) { // 
		printf("ok100");
	}
	printf("b=%d\n", b); // b= 99
	getchar();

	//int score = 100;
	//int res = score > 199;   // res = 0
	//if(res) {
	//	printf("hello, tom\n");
	//}
	//if(!res) { //T
	//	printf("hello,jack\n");
	//}

	getchar();

}

赋值运算符

  • 运算顺序从右往左
  • 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值

运算符优先级小结

  • 所有的双目运算符中只有赋值运算符的结合方向是从右向左
  • 另外两个从右向左的结合运算符,一个是单目运算,还有一个是三目运算
  • 逗号的运算符优先级最低
  • 运算符的大概顺序:

        算术运算符 > 关系运算符 > 逻辑运算符(逻辑 非! 除外) > 赋值运算符 > 逗号运算符

C语言的标识符

标识符的命名规则

  • 由26个英文字母大小写,0-9,_或$组成
  • 数字不可以开头
  • 不可以使用关键字和保留字,但能包含关键字和保留字
  • C语言中严格区分大小写,长度无限制
  • 标识符不能包含空格

标识符的命名规范

  • 程序中不得出现仅靠大小写区分的相似的标识符
  • 所有宏定义、枚举常数、常量(只读变量)全用大写字母命名,用下划线分割单词
  • 定义变量别忘了初始化,定义变量时编译器并不一定清空了这块内存,它的价值可能是无效的数据,运行程序,会异常退出

关键字

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值