C语言——数据与运算符

1.例子

示例❶

华氏温度转化为摄氏温度
c=5/9(f-32)

#include<stdio.h>
int main()
{
float f,c;							\\定义f和c为单精度浮点型变量
f=64.0;
c=(5.0/9)*(f-32);
printf("f=%f\nc=%f\n",f,c);			\\输出c的值
return 0;
}
//运行结果
开始运行...
f=64.000000
c=17.777779
示例❷

计算在不同情况下计算存款P0=1000元能获得的利息
❶活期存款一年年利率R1,本息和为P1=P0(1+R1)
❷定期一年,利率为R2;本息和为P2=P0(1+R2)
❸两次半年定期存款,利率为R3;本息和为P3=P0(1+R3/2)(1+R3/2)

#include<stdio.h>
int main()
{ float P0=1000,R1=0.017,R2=0.019,R3=0.015,P1,P2,P3;
P1=P0*(1+R1);
P2=P0*(1+R2);
P3=P0*(1+R3/2)*(1+R3/2);
printf("P1=%f\np2=%f\np3=%f\n",P1,P2,P3);
return 0;
}
//运行结果
开始运行...
P1=1016.999939
p2=1019.000061
p3=1015.056335
运行结束。

2.数据表现形式

转义字符

通过将“\”后的字符转义,使转义后的字符不在拥有原本代表的意义,只有转义后的意义。

3.数据类型

1.整型数据

整型数据常见的存储空间和值的范围(以Visual C++为例)
unsigned表示无符号整数类型,signed表示有符号类型。

在有些情况下,有些数据只有正值,这时;可将变量定义为无符号类型。
⚠️⚠️⚠️
1.只有整型数据才可以加signed或unsigned修饰符
2.将变量定义为无符号整数类型后,不能在赋给其一个负值;否则将引发错误。输出错误的结果
3.对于无符号整数类型要使用%u输出。%u表示用无符号十进制的格式输出。

2.字符型数据

字符按其代码形式存储,是整数类型的一种。但是使用上和整数类型又有些不同。

1.字符及其代码

大多数系统都采用ASCII字符集,也就是常说的ASCII码。
各种的字符集的基本集都包含了127个字符,包括:
☉大小写英文字母
☉数字0~9
☉专门符号:29个。! ‘’ # & ’ ( ) * + , - . / : ; < = > ? [ \ ] ^ _ ` { | } ~
☉空格符:空格、tab(水平制表符)、垂直制表符、换行、换页(from feed)。
☉不能显示的字符:空字符(‘\0’),警告(‘\a’),退格(‘\b’),回车(‘\r’)
字符以整数形式存放在内存单元中。
A的ASCII码——十进制(65),二进制(1000001)
a的ASCII码——十进制(97),二进制(1100001)

2.字符变量

字符变量使用类型符“char”定义字符变量。

#include<stdio.h>
int main()
{
    char A='?';
    printf("%d %c\n",A,A);
    return 0;
}
//运行结果
开始运行...
63 ?
运行结束。
3.浮点型数据

表示具有小数点的实数

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

编译系统为每个float型变量分配四个字节,float型数据可以得到6位有效数字。

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

编译系统为每个double型变量分配八个字节,double型数据可以得到15位有效数字。

3.long double型(长双精度型)

不同的编译系统对long double型的处理方法不同。
Tuurbo C对long double型分配16个字节,有效数字为19位。Visual C++对long double型分配8个字节,有效数字为15位。

4.运算符和表达式


自增减运算符通常用于循环语句中。

1. i++和++i的不同

i++先执行i=i+1,再使用i的值。
++i先使用i的值,再执行i=i+1。

#include<stdio.h>
int main()
{
    int i,j1,j2,c1,c2;
    i=1;
    j1=i++;
    j2=(++i);
    c1=i--;
    c2=--i;
    printf("%d",j1);
    printf(" %d\n",j2);
    printf("%d %d\n",c1,c2);
    return 0;
}
//运行结果
开始运行...
1 3
3 1
运行结束。
2. 运算符的优先性和结合性

一般情况下,先乘除后加减。
在表达式中,按运算符的优先级依次执行。
一般情况下,算术运算符是自左至右的结合方向,即左结合性;赋值运算符是自右至左的结合方向,即右结合性。

3.混合运算

加减乘除运算的两个数中有一个数为float或double型,结果为double型。因为系统会将所有的float型数据转化为double型,在进行运算。
若是int型和float或double型数据进行运算,会先将int型和float型数据转化为double型;再运算。
char型数据和整型数据进行运算,就是把字符的ASCII码和整型数据进行运算。

#include<stdio.h>
int main()
{
    char c1,c2;
    c1='A';
    c2=c1+32;
    printf("%c\n",c2);
    printf("%d\n",c2);
    return 0;
}
//运行结果
开始运行...
a
97
运行结束。
4.强制转化符

例如:
(double)a (将a转化为double型)
(int)(x+y) (将x+y的值转化为int型)
(float)(5%3) (将5%3的值转化为float型)
一般形式:
(类型名)(表达式)

#include<stdio.h>
int main()
{
    double x,y,Z,V;
    x=2;
    y=3;
    Z=(int)x+y;		//将x转化为int型
    V=(int)(x+y);	//将x+y转化为int型
    printf("%f %f\n",Z,V);
    return 0;
}
//运行结果
开始运行...
5.000000 5.000000
运行结束。

虽然结果相同,但执行的程序略有不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值