首页 > 其他分享 >第二章

第二章

时间:2024-02-16 10:55:22浏览次数:22  
标签:变量 int price 运算符 printf 第二章 scanf

算找零

[!NOTE] 需要:
1.有地方放输入的数字
2.有办法输入数字
3.输入的数字能参与计算

#include <stdio.h>

int main()
{
    int price = 0;

    printf("请输入金额(元)");
    scanf("%d", &price);

    int change = 100 - price;

    printf("找您%d元\n", change);

    return 0;
}

#include <stdio.h>

int main()
{
 printf("请输入金额");

 return 0;
}

输入是以行为单位进行的,行的结束标志就是你按下了回车键。在你按下回车之前,你的程序不会读到任何东西

C语言的关键字

关键字 关键字
auto long
break register
case return
char short
const signed
comtinue sizeof
default static
da struct
double switch
else typedef
enum union
extern unsigned
float void
for volatile
goto while
if inline
int restrict

不需要背诵,因为这个之后学到就会知道,或者编译出错编译器会告诉错误。

变量

定义:变量是一个保存数据的地方
变量的一般形式:<类型名称> <变量名称>;

  • int price;
  • int amount;
  • int price, amount;
    变量的名字是一种标识符,意思是它是用来识别这个和那个的不同名字。
    标识符的构造规则:
  • 标识符只能由字母、数字和下划线组成,数字不能出现在第一个位置上
  • C语言的关键字不能做标识符

变量初始化

  • <类型名称> <变量名称> = <初始值>;
  • int amount = 100;
  • int price = 0, amount = 100;

表达式定义

变量类型

C是一种有类型的语言,所有的变量在使用之前必须定义或声明,所有的变量必须具有确定的数据类型。

变量定义


读整数

  • scanf("%d", &price);
  • f代表格式化的意思
  • 要求scanf这个函数读入下一个整数,读到的结果赋值给变量price
  • 小心price前面的&
  • 出现在scanf中的东西一定是你要输入的东西,而不是它要给你展示的东西

常量

  • int change = 100 - price;
  • 固定不变的数是常数。直接写在程序里,我们称作直接量(literal).
  • 更好的方式是定义一个常量:
  • const int AMOUNT = 100;
  • 用一个有意义的名字可以让别人理解你的数字是什么
  • 方便修改这个数值
    const
  • const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)属性。
  • 这个const属性表示这个变量的值一旦初始化就不能再修改了
  • 如果试图对常量做修改,编译器会报错
  • 对于一个const变量,我们一般习惯大写

算找零改进

# include <stdio.h>

int main()
{
    int amount = 100;
    int price = 0;

    printf("请输入金额(元):");
    scanf("%d", &price);

    printf("请输入票面:");
    scanf("%d", &amount);

    int change = amount - price;

    printf("找您%d元。\n", change);

    return 0;
}

#include <stdio.h>

int main()
{
    int a;
    int b;

    printf("请输入两个整数:");
    scanf("%d %d", &a, &b);
    printf("%d + %d = %d\n", a, b, a + b);

    return 0;
}


  • scanf("%d %d", &a, &b);
  • 连续输入中间空格可以
  • 不连续输入,中间回车也可以
  • 先回车后输入也可以
  • scanf函数一直在等输入的两个数,只要没输入就不会执行

表达式

  • 运算符(operator)是指进行运算的动作,比如加法运算符"+",减法运算符"-"。
  • 算子(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 * 60 + minute->转换为分钟为单位
  • t/60->小时部分;t%60->分钟

    求平均值
    输入两个整数,输出它们的平均值
#include <stdio.h>

int main()
{
    int a,b;

    scanf("%d %d", &a, &b);

    double c = (a+b)/2.0; //2.0是为了保留小数

    printf("%d和%d的平均值=%f\n", a, b, c);

    return 0;
}

运算符优先级

  • 单目运算符,只有一个算子,例如-a,运算符“-”只有一个算子a
  • 运算符“减-”,a-b, 运算符“-”两边有两个算子,分别是a和b
  • a-b,这个表达式先做"-b"这个运算再做a(-b)

赋值

C语言特殊的地方:赋值=,是一个运算符
赋值也是运算,也有结果
a=6的结果是a被赋予的值,也就是6
a=b=6->a=(b=6)

赋值运算的优先级比较低
不要做嵌套的结合

交换两个变量

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

断点作用:让程序停在这一行,这一行还没有执行,即将执行

#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;
}



在程序中交换变量的套路:使用一个中间变量t存放值

翁恺说:
学程序设计和学外语一样,仅仅知道一些基本的语法是不够的,我们还需要一些套路,遇到这件事人们是怎么说的,怎么做的。这些套路像学外语一样,通过阅读不断积累,遇到这件事看人们是怎么做的,慢慢地也就学会了一些套路。

复合赋值和递增递减运算符

复合赋值


递增递减运算符

  • “++"和”--“是两个特殊的运算符,它们是单目运算符,这个算子还必须是变量。
  • 这两个运算符分别叫做递增和递减运算符,它们的作用就是给这个变量+1或者-1.
  • count++;
  • count += 1;
  • count = count + 1;
    前缀和后缀
  • ++和--可以放在变量前,叫做前缀形式;也可以放在变量后,叫做后缀形式。
  • a++的值是a加1之前的值,而++a的值是加1后的值,但无论哪儿一个,a自己的值都加1了
  • a++ == a,++a == a + 1,a == 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;
}

PAT规则

在拼题啊做题

我们在拼题啊布置了做大量编程练习的习题集。要在拼题啊做题,首先要去拼题啊(https://pintia.cn/)系统注册一个账号,点你自己的用户名,进入“个人中心”,做两件重要的事情:

  1. 个人中心里面有一个“中国大学MOOC 绑定”。在另一个浏览器窗口或标签页里登录中国大学MOOC,然后在拼题啊的窗口点“绑定”,就把两个系统的账号联系起来啦~ 将两个系统的账号绑定后,在拼题啊的做题成绩就能回到中国大学MOOC了。
  2. 在个人中心的“应邀做题”那里输入邀请码:679f22bc5b5bb0da,点击“接受邀请”,就可以看到我们的补充练习题啦。

以后可以直接从拼题啊的首页点“进入题库”,在“中M23春入门练习”这个题目集中完成作业。

请注意:以下视频中的题目集和邀请码是2018春学期的,和2023春学期的不同。2018春学期的题目集已经关闭了,请使用2023春学期的邀请码。

来自: 程序设计入门——C语言_中国大学MOOC(慕课)

标签:变量,int,price,运算符,printf,第二章,scanf
From: https://www.cnblogs.com/ChangJianhui-080910T/p/18016974

相关文章

  • 第二章 语法基础
       目  录1.第一个Python程序 2.数据与数据类型 3.数据类型转换 4.标识符 5.变量 6.常量 7.Python运算符 8.表达式 9.语句 10.实例: 语法基础    任何一段计算机程序都是由一组计算机能够理解的指令构成,其中每条指令都表现为遵循......
  • Qt6.0开发 第二章 GUI程序设计基础
    第二章GUI程序设计基础窗口相关文件按照第一章所给提示创建一个新project,我们得到了下面的代码:widget.h:#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>QT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACEclassWidget:publicQWidget{......
  • 软件架构模式之第二章:架构结构和风格
        架构风格允许您利用现有且广为人知的结构,以支持特定的架构特征(也称为非功能性质量属性、系统质量属性或“-ilities”)。它们不仅提供了一个定义给定系统架构起点的框架,还促进了开发人员、架构师、质量保证测试人员、运营专家甚至在某些情况下业务相关方之间的交流。 ......
  • 《程序是怎样跑起来的》第一章,第二章读书感悟
    第一章:一、主要内容第一章主要介绍了计算机的基本构成和运行原理。作者从一台简单的计算机模型入手,逐步介绍了CPU、内存、输入输出设备等基本组件的功能和相互关系。一、读书感悟看完第一章,我对计算机的基本构成有了一定的理解。知道了计算机是由多个组件组成的,这些组件之间......
  • 《程序是怎样跑起来的》第二章观后感
    在观看了《程序是怎样跑起来的》第二章之后,我被计算机程序运行的复杂性与精妙深深吸引。这一章节详细解释了编程语言到机器语言的转换过程,以及编译器和解释器在这一过程中扮演的角色。我了解到,每一段代码背后,都隐藏着程序员的智慧和对计算机底层工作原理的深刻理解。特别是看到高......
  • 《程序是怎样跑起来的》第二章
    第二章讲述了数据是用二进制数表示的。首先通过思考问题嗯,我了解到位和字节的关系(8位=1字节)以及二进制如何转化为十进制还有关于逻辑运算的问题。第一节:用二进制表示计算机信息的原因。IC的特性,一个引角只能表示两种状态。种特性决定了计算机数据要用二进制处理。计算机处理信息的......
  • 系统科学方法概论第二章读后感
    第二章是本书的重点之一,主要介绍了系统分析的基本原则和方法。其中,开放原则强调了系统与外部环境的相互作用,让我认识到了封闭系统的局限性和开放系统的重要性。反馈原则则帮助我理解了反馈在系统中的调节和稳定作用,协同原则让我明白了系统内部各要素之间的相互协作和配合。......
  • 程序是怎么跑起来的第二章读后感
    在计算机中,数据是由二进制来表示的。我们生活在常用的是十进制,当我们把十进制数输入到计算机中当计算机执行时计算机就会把我们输入的十进制数转换成相应的二进制数进行计算,计算完成在把二进制数转换成十进制数输出在屏幕上,在程序中,不仅是十进制数是转换成二进制文字和图像等信息......
  • 读程序是怎样跑起来的第二章有感
    在上一章,我们了解程序是什么、由什么组成的以及它的运行机制,我们知道中央处理器是由控制器、寄存器、运算器、时钟等组成。在计算机中,数据是由二进制来表示的。二进制数种表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位成为符号位。符号位是0时表示正数,符号位是1......
  • 《程序是怎样跑起来的》第二章总结
    在学JAVA的时候网课上提到过左移右移,不过并没有作为重点来讲,只是大概地说了一下是什么含义。刚看第二章作者提出的六个问题就有四个难住了我。比如一串二进制数左移两位会变成原数的几倍、还有补码形式表示的八进制如何用二进制表示等等,这些问题一点都不会。不过看完答案和作者给......