C语言程序设计笔记(三)

1.做点计算

printf("%d", 23+46);
printf("23+46=%d", 23+46);
printf("100-23=%d", 100-23);

2.如何在程序运行的时候输入那个数字,然后计算, 输出结果?

  • 有地方放输入的数字;
  • 有办法输入数字;
  • 输入的数字能参与计算;
    上一份笔记中有个change.c
    非C99必须把变量的定义放在前面
#include <stdio.h>

int main()
{
    int price = 0;

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

    int change = 100 - price;
    //非C99必须把change放在前面定义

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

    return 0;
}

3.如何输入

  • 输入也是在终端窗口(黑乎乎的console)中
  • 输入是一行为单位进行的,行的结束标志就是你按下了回车键。在你按下回车之前,你的程序部会读到任何东西

    读整数
    scanf(“%d”, &price);
    这是一个系统库函数
    要求scanf这个函数读入下一个整数,读到的结果赋值给变量price
    注意price前面的&(取地址符)

4.变量

int price = 0;这一行,定义了一个变量,变量名是price,;类型是int,初始值是0。
变量代表计算机内存的一个存储单元。
变量具有以下特性

  • 变量名 —>“标识符(indentifier)”
  • 变量值(value)
  • 变量的数据类型
  • 变量存储的地址
  • 变量的存储属性

变量定义的一般形式
<数据类型名><变量名表>

例子:

int price;
int amount;
int price,amount;

标识符可以由字母、数据和下划线构成,且必须由字符或下划线开头,其中字母为26个字母,可以是大写或者小写。
C语言还规定,关键字(保留字)不能作为变量名

5.赋值
   和数学上不同,a=b在数学中表示关系,即a等于b,而在程序设计语言中,a=b表示要求计算机做一个动作,把b的值赋值给a。关系是静态的,动作是动态的。
变量初始化
  当赋值发生在定义变量的时候,就像int price = 0;这样,就是变量的初始化。虽然C语言没有强制要求所有的变量都在定义的地做初始化,但是所有的变量都必须在第一次被使用(出现在赋值运算符的右边或者输出)之前被初始化。
例如:<数据类型名><变量名>=<初始值>;

int price = 0;
int amount = 100;
//组合变量定义的时候,可以定义的时候,单独给单个变量赋初值
int price = 0, amount = 100;

  如果变量没有初始化,变量的值是随机。会造成你的程序出现莫名其妙的数据或者出错
6.变量类型
  C语言是强类型的语言,所有的变量在使用之前必须先定义或声明后使用,变量定义类型后不可改变其数据类型。
  
    ANSI C 变量只能在代码开头的地方定义变量
    C99 可以在代码中定义变量
    
      turbo c 的基本类型以及存储类型和数值范围

类型类型标识符长度(字节)数值范围
整型有符号整型[signed] int2-32768~32767
有符号短整型 [signed] short [int]2-32768~32767
无符号短整型unsigned short [int]20~65535
有符号整型[signed] int/signed [int]2-32768~32767
无符号整型 unsigned [int]20~65535
有符号整型 unsigned long [int]4-2147483648~2147483647
字符型有符号字符型[signed] char1-127~128
无符号字符型unsigned char10~255
浮点型单精度浮点型 float4绝对值3.4e-38~3.4e+38
双精度浮点型double81.7e-308~1.7e+308
长双精度浮点型long double103.4e-4932~3.4e+4932

具体的字节数和编译器有关,不同的编译器,字节数不一样,不过可以用sizeof()函数去获取
6.常量  
代码中 int change = 100 - price;
- 固定不变的数,是常数。直接写在程序里,我们称作直接量(literal)
- 我们把这种出现在程序中莫名其妙的数字叫做神秘数
- 更好的方式,是定义一个常量:
- const int AMOUNT = 100;(这是C99的做法)
- #define AMOUNT 100 (这是标准C的写法,微软喜欢这么干,宏定义)
例子:

 #include <stdio.h>

int main()
{
    const int AMOUNT = 100;//这是C99的做法
    int price = 0;

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

    int change = AMOUNT - price;

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

    return 0;
}
//标准C定义常量的方法。
#include <stdio.h>
#define AMOUNT 100
int main()
{
    int price = 0;

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

    int change = AMOUNT - price;

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

    return 0;
}

const是一个修饰符,加在int的前面,用来给这个变量加上一个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;
}

  使用符号常量是一种良好的编程风格
  1、一般用小写字母表示变量名,大写字母表示符号常量名,这样有利于增加程序的可读性
  2、程序便于维护,能够做到一改全改。
  2、提高可读性

8.常量的类型

  • 整型常量
      十进制整数,由0~9的数字组成,前面带+或-表示正数或者负数,如123、-345、+123
      八进制整数,以0(零)开头,由0~7的数字组成,前面带+或-表示正数或者负数,如0123(等于十进制的83)
      十六进制整数,以0x或者0X开头(0为零),由0-9和A~F(a~f)组成,A~F(a~f)表示10~15,前面带+或-表示正数或者负数。
      后缀,加上l或L表示长整型常量,加上U或者u表示无符号整型常量
      LU可以同时使用,顺序可以任意,表示无符号长整型

  • 整数在机内的存储形式
      在大多数的机器中,整数是以补码的形式存储。补码的表示法中,最高位为符号位,0代表正数,1代表负数。
      一个负数的补码可以使用按位取反加1的方法来计算

  • 浮点型常量
       1)十进制小数,由0~9、小数点和+、-号组成
       2)指数形式 由0~9、字母e或E和+、-号组成。它的形式为aEn(aen),意为a*10n.a为十进制整数或者小数,n是十进制整数
       注意:1.以指数形式表示实数的时,an都不能省略,n必须为整数
       2.以十进制小数表示实数的时,整数部分和小数部分可以省略其中一个。例如:.35(0.35),26. 。
      3.浮点型常量默认是double,如果在后面加了F(f)则类型是float
  • 字符常量
      使用单引号括起来的字符。
      使用转义字符表示方法表示的字符。如’\n’,’\0’,’\012’,’\x42’
  • 字符串常量
      字符串常量是有一对双引号括起来的字符序列,字符串可以包含任何字符。双引号不属于字符串,起界定作用。C语言中没有字符串类型,而是用字符数组来存储字符串。字符串在计算机内存储,所占的字节数等于字符串字符个数加1。增加1个‘\0’作为字符串结束标志
    9.练习
    1.plus.c
#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;
}

2.height2.c

#include <stdio.h>

int main()
{
    printf("请分别输入身高的英尺和英寸,"
        "如输入\"5 7\"表示5英尺7英寸:");

    double foot;
    double inch;

    scanf("%lf %lf", &foot, &inch);

    printf("身高是%f米。\n", 
        ((foot + inch / 12) * 0.3048));

    return 0;
}

:C语言中整数除法,如果两个数相处是浮点数,其结果是取整数部分。例如1/2=0,而浮点数除法1.0/2=0.5

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小嘉丶学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值