C语言-第2章-基本概念(顺序结构程序设计)

  • 本章内容包括变量、变量的使用、输出、输入、常量、标识符、注释等。
  • 本章目标是语法上理解上述内容,能编写含有输入、输出的简单顺序结构程序。
  • 本章重点是变量含义、基本(顺序)程序的结构和编写、输入和输出的理解和编写、难点是输入、输出语句。

2.0 一个导入的例子

printf函数不但能显示字符,而且能显示数值

printf("出生年份是%d\n", 2000);

在这里插入图片描述
这样的形式的输出语句输出的是整数值2000,这与将2000写到双引号里面是不同的

printf("出生年份是2000\n");

比如,

printf("出生年份是%d\n", 2000 + 1);

会显示,

在这里插入图片描述

而写到双引号里面的东西是直接用来显示的字符,

printf("出生年份是2000+1\n");

会显示

在这里插入图片描述

因此,给出出生年份,算出年龄的代码可以写成如下

printf("出生年份是%d,年龄是%d\n", 2000, 2019 - 2000);

在这里插入图片描述

上述程序的一个缺陷如果要修改出生年份,要在两处修改2000。

printf("出生年份是%d,年龄是%d\n", 2001, 2019 - 2001);

那么可以声明变量保存数值,在需要这个值的地方访问这个变量即可

int birth_year = 2000;

printf("出身年份是%d的年龄是%d\n", birth_year, 2019 - birth_year);

上述程序的一个缺陷是每次要计算不同的出生年份的年龄值,还要修改源代码,使用不方便。比如,计算2001出生的年龄

int birth_year = 2001;

printf("出身年份是%d的年龄是%d\n", birth_year, 2019 - birth_year);

可以使用scanf语句将值输入到变量中。

#include <stdio.h>

int main()
{
   
   int birth_year;
   
   printf("请输入出生年份:");
   scanf("%d", &birth_year);
   
   printf("出生年份是%d,年龄是%d\n", birth_year, 2019 - birth_year);
   
   return 0;
}

程序运行后,会弹出窗口

在这里插入图片描述
输入2000,并按下回车,程序的运行结果为
在这里插入图片描述

同理,可以声明年龄变量age保存年龄,如果之后需要访问这个年龄值,访问变量age即可。

#include <stdio.h>

int main()
{
   
   int birth_year, age;
   
   printf("请输入出生年份:");
   scanf("%d", &birth_year);
   
   age = 2019 - birth_year;
   
   printf("出生年份是%d,年龄是%d\n", birth_year, age);
   
   return 0;
}

上述程序逻辑上可以分为3块,分别为输入、处理、输出

#include <stdio.h>

int main()
{
   
   int birth_year, age;
   // 1. 输入
   printf("请输入出生年份:");
   scanf("%d", &birth_year);
   // 2. 处理
   age = 2019 - birth_year;
   // 3. 输出
   printf("出生年份是%d,年龄是%d\n", birth_year, age);
   
   return 0;
}

这也是一般程序的逻辑结构。

2.2 变量的使用

2.2.1 变量的声明

程序运行过程中可能需要保存一些可以变化的值。保存这些变化的值的地方就是变量。变量可以理解成是保存值的容器。

C语言中的变量具有一定的类型,而C语言的变量在使用前需要声明其类型以及名称,语法为:

类型名 变量名;

类型名用来指明变量可以保存的值的类型,包括int,float等等。int表示整数类型(integer的缩写),float表示单精度浮点类型,即可以存储小数的类型,double表示双精度浮点类型,其表示的值的范围和精度高于float类型。

变量名称是编程人员自己决定的,一般以其存储的值的含义来命名。同时,变量命名也要符合一定的规范。声明变量有时候也称为定义变量。

下面,给出2个变量声明的例子,

  • 声明类型为整数,名称是age的整数变量:

    int age;
    
  • 声明float类型变量height:

    float height;
    
  • 声明double类型变量distance:

  • double distance;
    

如果多个变量的类型一致,可以将它们的声明放在一起,比如,

int birth_year, age;

以及

float height, weight, bmi;

注意,C语言中变量的类型一旦声明就不能改变。

在这里插入图片描述

int类型的变量可以精准的保存一个整数,缺点是整数范围有限,当前计算机中一个整数是用4个字节存储的,故整数的范围是最小值为负的2的31次方,即-2147483648(负的二十多亿),最大值为2的31次方-1,即2147483647(正的二十多亿)。float可以存储有小数的数,而且比int型整数的范围大的多,但是浮点类型的缺点是变量存储的值往往只是期望存储数值的近似值,而且浮点数运算起来比整数类型的慢。比如,如果0.1就不能精确地存储在float类型的变量中。

整型和浮点类型各有其优缺点,我们在根据程序的环境来决定把变量声明为什么类型。一般情况下,如果只需要存储整数,而且整型的范围足够容下要存储的整数或者计算出来的整数,就可以使用int类型,否则使用浮点类型。而浮点类型也有好几种,有单精度浮点类型float和双精度浮点类型double,double类型在表示范围和精度上比float还要强大,实际编程中建议直接使用double类型,本章的例子对浮点数的精度和范围没有特别高的要求,故先使用float类型做演示。

可能有同学好奇不同的类型是怎样保存数值的。实际上,整数变量里面保存1和浮点变量里面保存1.0的二进制序列是很可能一样的。反过来说相同的二进制序列在以整数值和浮点值来解释,表示的值也很可能是不一样的。这方面的知识可以参考课本第2章-信息在计算机中的表示。

后续有单独的一章介绍C语言中的类型。

2.2.2 变量的赋值

变量声明后就可以使用了。对变量常见的操作之一是向变量赋值,比如

birth_year = 1998;

或者

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值