200723学习日报

一、知识点

表达式

用运算符和括号将操作数连接起来的、符合C语言语法规则的式子,称为表达式。运算符和操作数的有效组合。

表达式的分类

  1. 算术表达式:加减乘除求余
  2. 关系表达式:大于小于等于
  3. 逻辑表达式:与或非
  4. 函数表达式

运算符的分类

赋值运算符

所有赋值运算符的优先级相同,始终从右向左进行计算。形式:变量名=表达式。‘=’左边不能是表达式
在这里插入图片描述

算术运算符
  1. ++i,++在前,先自加,后参与运算。i++,++在后,先参与运算,后自加。
  2. 除号/的两侧如果是整数,结果也是整数,例如:22/5=4.
  3. %两侧的操作数只能是整数
  4. 幂函数pow(double,double),pow(2.0,3.0)结果为8.0
    在这里插入图片描述
int a=10;
int i=5;
printf("a=%d\n",a++); //++在后,先参与运算,后自加
printf("a=%d\n",++a); //++在前,先自加,后参与运
printf("%.3lf\n",8/3.0); // 除号/的两侧如果是整数,结果也是整数
printf("%d\n",5%3); // %两侧的操作数只能是整数
printf("%d\n",++i%7); //先++再求余
printf("%d\n",i); //6
printf("%d\n",(i++)+(i++)); // 先6+6=12,后i=6+1=7,i=7+1=8
printf("%d\n",i); //8
关系运算符

在这里插入图片描述

逻辑运算符
  1. ! 逻辑非,运算量为真时,运算结果为假,运算量为假时,运算结果为真。
  2. && 逻辑与,当且仅当两个运算量为真时,运算结果为真,否则为假。
  3. || 逻辑或,当且仅当两个运算量都为假时,运算结果为假,否则为真。
  4. 逻辑与和逻辑或的短路情况:
    逻辑与:左边的表达式结果为假时,右边的表达式不运算,逻辑表达式结果直接为假。
    逻辑或:左边的表达式结果为真时,右边的表达式不运算,逻辑表达式结果直接为真。
位运算符
运算符描述
位与(x&y)如果两个操作数的相应位都为1,则该位结果为1
位或(x l y)如果两个操作数的相应位有一个为1,则该位结果为1
位取反(~x)操作数按位取反
位异或(x^y)如果两个操作数的相应位同号,结果为0,异号结果为1
运算符优先级

在这里插入图片描述
在这里插入图片描述

类型转换

在赋值表达式中,自动将赋值运算符右边表达式的值的类型转换成左边变量的类型
低级别:char > short > int(long) >unsigned int > float > double(long double) 高级别
在这里插入图片描述
强制类型转换:(type)cast

float x,f
f=3.14159;
x=(int)f;
//运算后x=3.000  f本身的值不变

(double) 8/3;结果为2.6667

控制语句

if语句

//单分子,表达式结果为1,则执行语句,否则跳过执行下一条
if(表达式) //也可以是变量
{
   语句;
}
//双分子,若表达式结果为1,执行语句1,否则执行语句2
if(表达式)
{
    语句1}
else
{
   语句2}
//多分子,else与距离他最近的if语句嵌套
if(表达式)
{
    语句1}
else if
{
   语句2}
else
{
   语句3}

switch语句

将表达式的值与case的值比较,与常量匹配,则执行相应的语句;不匹配则执行default后的语句。break可以省略,但语句会一直运行,直到遇到break时结束switch语句

switch(表达式) //表达式只能是整数或者字符常量
{
case 常量1:
     语句集;
     break;
case 常量2:
     语句集;
     break;
case 常量3:
     语句集;
     break;
.....
default:
     语句集;
     break;
}

二、没有听懂或者没有理解的地方

三、当天学习的收获

  1. 编程时需要考虑特殊情况
  2. 随机数生成函数
#include<time.h>
int com()
{
	int res=0;
	srand(time(NULL));
	res=rand()%3+1+48;
	return res;
}

四、作业的思路、不会的地方及原因

石头剪刀布游戏:用字符‘1’‘2’‘3’分别表示石头剪刀布,然后将玩家的选择与电脑随机产生的数和字符‘1’‘2’‘3’一一匹配,将两者的字符相减,观察结果并与输赢一一对应。

五、其他需要反馈的问题

六、心得体会

运算符的优先级和类型转换还不熟悉,要多看多记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值