重走c语言—摸鱼大学生的c语言基础笔记三

发布于:2022-12-20 ⋅ 阅读:(364) ⋅ 点赞:(0)

距离上一次发笔记已经是很久很久以前了(对没错我就是鸽子!),怎么说呢,这段时间发生了很多事情,再加上我这个人比较随意,就没怎么再整理了(但是为了大家我又回来了!)。

// hello大家好!这是新的自我介绍。

这里是死肥宅太阳

从某种意义上来说,能看到这里的已经是对我有稍微了解的佬了,那么我们还是老规矩,上图!

 因为某些不可告人的原因(),太阳这次使用编译器 dev-cpp 进行代码演示。

咱们今天的代码也是老规矩逐行讲解并插入知识点~

我们在第5、6、7行定义了三个int类型的变量。

第八行: c = a + b;  顾名思义,我们聪明的小伙伴们看到这一行就已经明白了他的意思。没错!就是把a的值加上b的值最后放进c里,专业名词叫——把a+b的值赋给c。那么我们就来讲讲c语言里的加减乘除

知识点1:基本运算符之赋值运算符  =

看看这两条小横线,是不是很像等于?

但是!

你要是把他念做等于,那就大错特错了。

这可是最常用的赋值运算符,他的作用是把他右边的值赋给左边,站在他左边的那玩意叫左值,左值可以是变量,可以是语句,但是不可以是数值(1=0这种事情咱想想就好)。同理,站在他右边的叫右值,右值可就不一样了,右值正常来说一定要是数值(实数,带值变量,带值语句)

 但是!*2

这是以前的标准,后来c语言又加了个关键字叫const

知识点2: 让变量变成常量的关键字const

众所周知,我们在存储空间中定义一个变量a(int a;),或定义一个带值变量(int a = 1;),在定义完成后,我们还可以使用赋值运算符再修改他的值(a = 10086;)。

但是!*3

c语言在某些商用的时候,是不允许用户修改的,但是为了使程序猿修改起来方便,就研究出了一个让变量变成常量的关键字 —— const

这玩意就跟一把锁一样,往上一加(const int a = 1;) —— 别人就不能修改了( a 无法重新赋值 )

我们回到知识点1,所以在这之后,左值的定义就做了一些修改,变成了《可修改的左值》

在这里,太阳要讲一个被老师反反复复考来考去的题

 求abcd的值

许多其他语言都会回避多重赋值,但C完全没问题(这就是c语言的魅力之一),他的赋值顺序是从右到左 =>   把1赋值给d,把d赋值给c,把c赋值给b,把b赋值给a,最后abcd全都等于1

那么话又说回来,既然 = 是赋值,那么等于是哪个呢

知识点3: 关系运算符  ==  >=  <=

怎么样,惊不惊喜意不意外? 一个等于不是等于,两个等于才是等于(狂喜)

关系运算符,顾名思义,即两个值(变量)之间的关系。一般用于条件判定,用在选择结构if 、循环结构for、while内(这些后面会讲)

知识点4 :基础运算符  + - * /

一如数学里的加减乘除,这些即c语言里的加减乘除

第九行:printf("%d\n",c);  这条语句实际上上次笔记就应该讲的,给整忘了

知识点5: 转义字符 \

所谓转义字符,就是转变了意义的字符(改变字符原本的意思),比如语句里包含的 \n 在n前面加个 \ (右杠!!!!不是左杠,左杠是除!!),就变成了换行(Enter回车)的意思,相当于在%d后面插入了一个回车键。

除此之外,常用的转义字符还有 \t tab(制表符)  \b basespace(回退)  \数字 八进制  \x数字  十六进制  \'  单引号原样输出  \"  双引号原样输出  等

第十行:printf("%d",a+b);  这里有一个小知识点,%d作为整形占位符,并不限定他为谁占位(指a+b),可以是值,可以是变量,也可以是语句、函数或者其他带值的玩意。

但是!*4

一个占位符只能给一个东西占位(俩人挤一个位置?不存在的),只要填入的那玩意最后只有唯一一个值,语句即成立

愉快(狗头)的笔记时间又要过去啦,最后还是随手敲一段小代码~

#include "stdio.h"
#include "stdlib.h"
int main()
{
    printf("******简易计算器******");
    char operator;
    printf("请输入运算符");
    scanf("%c",&operator);
    system("cls");
    double num1;
    printf("请输入第一个数字");
    scanf("%lf",&num1);
    double num2;
    printf("请输入第二个数字");
    scanf("%lf",&num2);
    system("cls");
    switch(operator)
    {
      case '+':
        printf("%lf + %lf = %lf",num1,num2,num1+num2);
            break; 
      case '-':
        printf("%lf - %lf = %lf",num1,num2,num1-num2);
            break;
 
      case '*':
        printf("%lf * %lf = %lf",num1,num2,num1*num2);
            break; 
      case '/':
        printf("%lf / %lf = %lf",num1,num2,num1/num2);
            break;
        default:
            printf("Error! operator is not correct");
    }
    return 0;
}

掰掰!


网站公告

今日签到

点亮在社区的每一天
去签到