C语言学习(输入输出函数/变量/数据类型)

一、基本的输入输出函数

(一)输出函数printf()

1、函数printf()的概念

  • 一般形式:printf(格式控制,输出表列)。例如:printf("%d,%d",a,b); 括号内包含两个部分:
  • 1)格式控制是用双引号括起来的一个字符串,称“转换控制字符串”,简称“格式字符串”,它包括两个信息:
  • 格式声明:格式声明由%格式字符组成,如 %d (%d 代表输出整数,%f 代表输出实数),它的作用是将输出的数据转换为指定的格式然后输出。格式声明总是由%字符开始。
  • 普通字符:普通字符即在需要输出时原样输出的字符。例如上例中的 printf("Please enter a value:");中的 Please enter a value: 即为原样输出。
  • 2)输出表列是程序需要输出的数据。
printf("I love %d and %d",x,s);
  • 第一个 %d 对应的是 x 的值,第二个 %d 对应的是 s 的值。I love and(注意这里包括空格)都是普通字符会原样输出。
    假如 x 的值是 3s 的值是 4,这条语句将会输出 I love 3 and 4
    在这里插入图片描述
    在这里插入图片描述

二、输入函数 scanf()

  • 一般形式:scanf(格式控制,地址表列)。格式控制的含义同 printf() 函数。“地址表列”是由若干地址组成的表列,可以是变量的地址。
scanf("a=%d,b=%d",&a,&b);

在格式字符串中除了有格式声明的 %d 以外,其它普通字符在赋值时需要原样输入(如“ a= ”,“ b= ”和“,”),假如给 a 和 b 分别赋值 5 和 6,将输入 a=5,b=6。 建议大家不要在格式控制中加过多的普通字符,否则会发生不可预料的 BUG。

注意:scanf() 函数中的表列是地址表列。scanf("a=%d,b=%d",&a,&b);中 a 和 b 前面的 & 不能省掉,这一点要和 printf 作区分。
printf() 函数和 scanf() 函数我们会在后续深入讲解。

三、代码输出

#include<stdio.h>
int main(){
    int a,b,c;
    printf("pleass enter a value:");
    scanf("%d",&a);
    printf("\n");
    printf("Pleass enter a value:");
    scanf("%d",&b);
    c = a + b;
    printf("%d\n",c);
    return 0;
}

四、运行结果

在这里插入图片描述

五、常量

  • 顾名思义,值不能被改变的量称为常量。如5、7、19或者0,。54、4.33这些值。

(一)、常见的常量类型

1、整型常量

  • 如0、100、-30等整数都是整型常量。

2、实型常量

  • 就是我们通常所说的小数,如 12.34, -5.45, 143.342 等,小数还可以用指数形式表现, 32.23e3(表示 32.23*10^3)-323.34e-6(表示 -323.34*10^-6),由于计算机无法表示上角和下角,所以规定以字母 e 或者 E 代表以 10 为底的指数。

注意:e 或者 E 之前必须有数字,且 e 或者 E 后面必须为整数,不能是 e3 或者 12e4.1 这种形式。

3、字符常量

  • (1)普通字符:用单引号括起来的一个字符,如 'a'、'E'、'%'、'3'。不能写成 'ab'、'12'字符常量只能是一个字符,不包括单引号
  • (2)转义字符:除了以上形式的字符常量外,C 语言还允许用一种特殊形式的字符常量,就是以字符 \ 开头的字符序列,比如我们本节课的 3-1.c 中,\n 代表的就是换行符,显示跳转到下一行。这是一种在屏幕上无法显示的“控制字符”。
  • 常用的控制字符:
转义字符含义转义字符含义
\n换行\t水平制表(右移8格)
\v垂直制表\b退格
\r回车(不换行)\f换页
\a响铃\\反斜线
\’单引号"双引号
\add3位8进制代表的字符\xhh2位6进制代表的字符

六、变量

  • 变量代表一个有名字的、具有特殊属性的存储单元。它可以用来保存数据。变量的值是可以改变的。变量在程序中定义的一般形式就是: <类型名称> <变量名称>。例如:

int a; int b; int a,b; int price; int amount; ...

  • int 代表定义的变量是整数类型。

1、标识符

  • 变量需要一个名字,变量的名字便是一种“标识符”,用来区别它和其它不同的变量。用来对变量、函数、数组等命名的字符序列统称为标识符,上面提到的 price 、amount 是标识符,函数名 printf 也是一种标识符。C 语言规定标识符只能由字母、数字和下划线构成,且第一个字符必须为字母或下划线。¥ qa,1ew,#22 这些都是非法的标识符。

2、变量的赋值与初始化

int price = 0;
  • 变量必须先定义后使用。这一行定义了一个变量,变量的名字是 price,类型是 int,初始的值是 0。

注意:和数学不同,a=b 在数学中表示关系,即 a 和 b 的值一样;而在程序设计中,a=b 表示要求计算机做一个动作:将 b 的值赋值给 a。关系是静态的,而动作是动态的。在数学中,a=b 和 b=a 是等价的,而在程序设计中,两者意思相反。

七、数据类型

在这里插入图片描述

(一)、基本数据类型

1、基本类型(int 类型)

  • 在存储单元中的存储方式是:用整数的补码形式存放。所以当 4 个字节的整数类型取值范围是 -2^31 到(2^31-1)。无符号的基本整型表示为 unsigned int,和 int 类型占有的字节数相同,取值范围是 0 到(2^32-1)

2、短类型(short 类型)

  • 短整型的类型名为 short,gcc 编译系统分配给 short 类型 2 个字节,存储方式和 int 类型一样,也是补码的形式存储,取值范围是 -2^15 到(2^15-1),无符号短整型 unsigned short 的取值范围是 0 到(2^16-1)

3、长整型(long 类型)

  • gcc 编译系统分配给 long 类型 8 个字节,存储方式和 int 类型一样,也是补码的形式存储,取值范围是 -2^63 到(2^63-1),无符号长整型 unsigned long 的取值范围是 0 到(2^64-1)

(二)、浮点型数据

  • 浮点数类型包括 float(单精度浮点型)、double(双精度浮点型)、long double(长双精度浮点型)。

1、float型(单精度浮点型)

  • gcc 编译系统为每一个 float 型变量分配 4 个字节,数值以规范化的二进制数指数形式存放在存储单元中。在存储时,系统将实型数据分成小数部分和指数部分两个部分、分别存储。如 3.14159 在内存中的存放形式如下图:
    在这里插入图片描述
#include<stdio.h>
#include<float.h>
int main(){
  printf("The size of the smallest positive non-zero value of type float is %.3e\n",FLT_MIN);
  printf("The size of the largest value of type float is %.3e\n",FLT_MAX);

  return 0;
}

2、double型(双精度浮点型)

  • 为了能扩大数字的范围,用 8 个字节(64 位)存储一个 double 型数据,可以得到 15 位有效数字,double 型的数值范围大家可以按照 4-1 案例查看,其中 double 极限值符号的下限为:DBL_MIN,上限为 DBL_MAX。double 型的存储方式和 float 的存储方式相同。
    在这里插入图片描述

在平时我们使用的浮点型数据的时候要注意这几个点哦! 超过有效位的数字被舍去,可能产生舍入误差

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值