c语言笔记(翁恺2.2.1~3.1.3)

这篇博客介绍了C语言中的基本概念,包括表达式、运算符和算子的区别,以及计算时间差、求平均值的程序实现。讲解了运算符优先级,特别是复合赋值和递增递减运算符的使用。此外,还提到了在PAT系统中做题的方法。

2.2.1

表达式:一个表达式是一系列运算符和算子的组合,用来计算一个值。

运算符:(operater)指运算的动作....加减乘除等

算子:(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。

计算时间差程序(输入两个时间,每个时间每个时间分别输入小时和分钟的值,然后输出两个时间只差,也以几小时几分表示

#include <stdio.h>
int main ()
{
   int hour1,minute1;
   int hour2,minute2;
   
   scanf ("%d %d",&hour1,&minute1);
   scanf ("%d %d",&hour2,&minute2);

   int t1=hour1*60+minute1;
   int t2=hour2*60+minute2;

   int t=t2-t1;

   printf("时间差是%d小时%d分。",t/60,t%60);
return 0;
}

hour l*60+minute l--->转化为分钟为单位

t/60--->小时部分;t%62,0--->分钟部分。

2.2.2

求平均值:写一个程序,输入两个整数,输出它们的平均值

#include <stdio.h>
int main()
{
  int a,b;
  scanf ("%d %d",&a,&b);
  double c=(a+b)/2.0;
  printf("%d和%d的平均值=%f\n",a,b,c);
return 0;
}

运算符优先级

优先级运算符运算结合关系举例
1+单目不变自左向右a*+b
1-单目取负自右向左a*-b(先做-b在和a相乘)
2*自左向右a*b
2/自左向右a/b
2%取余自左向右a%b
3+自左向右a+b
3-自左向右a-b
4=(是运算符)赋值自右向左a=b

赋值运算符

赋值也算运算符,也有结果

a=6的结果是a被赋予的值,也就是6

a=b=6----->a=(b=6)自右向左

2.2.3

交换变量(两杯水怎么把水交换呢?需要三个杯子就可以啦~)

#include <stdio.h>
int main()
{
    int a=5;
    int b=6;
    int t;
    t=a;
    a=b;
    b=t;
    printf("a=%d,b=%d\n",a,b);
    return 0;
}

程序是按步骤执行的

程序表达的是顺序执行的动作,而不是关系a=b;b=a;是依次执行的,结果使得a和b都得到了b原来值。

2.2.4

复合赋值

5个算数运算符,= - * /%,可以和赋值运算符”=“结合起来,形成复合赋值运算符:

"+=","-=","*=","/=","%="

注意两个运算符中间不要有空格

total+=5就是total=total+5

total+=(sum+100)/2就是total=total+(sum+100)/2

total*=sum+12就是total=total*(sum+12)

total/=12+6就是total=total/(12+6)

递增递减运算符

”++“和”--“是两个很特殊的运算符,他们是单目运算符,这个算子还必须是变量。这两个运算符分别叫做递增和递减运算符,他们的作用就是给这个变量+1或者-1。

count++就是count+=1就是count=count+1

前缀后缀

++和--可以放在变量的前面,叫做前缀形式,也可放在变量的后面,叫做后缀形式。

a++的值是a加1以前的值,++a的值是加了1以后的值,无论哪一个a自己都加1了。

#include <stdio.h>
int main()
{
    int a;
    a=10;

    printf("a++=%d\n",a++);
    printf("a=%d\n",a);

    printf("++a=%d\n,++a);
    printf("a=%d\n",a);

    return 0;
}

2.2.5如何在PAT系统来做题目

3.1.2习题课80704ada81374fd2a0164953fabe8638.jpg

6b4107f0998840a9a8fe2e3143b36071.jpg

 6b17055dee694a4e94f32f9892d92522.jpg

fec59c5690744c2bb66552b4e97eb5e9.jpg

580b1959a79740008cff7ebda1dc49d3.jpg

6116eabac04c4508a8d35312a343fa5f.jpg

5e11a6c7c9c94604840af7c43cf284b3.jpg

d6962b81babe46f39e2a53e140a7b658.jpg

3.1.3 0的故事

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值