学习内容:
2、数据类型与运算符
学习时间:
2020年10月3日19:30-20:30学习产出:
/*
数据类型与运算符
数据存储原理
-进制
定义
进制时一种计数机制,它可以使用有限的数字符号代表所有的数值
二进制
计算机底层进制
所有数据再计算机中都会以二进制形式保存
满2进1
计数:0 1 10 11 100 101 110 111
八进制
很少用
满8进1
计数:0 1 2 ... 7 10 11 ... 17 20
十进制
日常使用
满10进1
计数:0 1 2 3 ... 9 10 11 12 ... 19 20
单位数字:10个(0,9)
十六进制
满16进1
计数:0 1 2 3 ... 8 9 a b c d e f 10 11 ... 1a 1b
单位数字:16个(0-9,a-f)
计算机单位
1Byte=8Bit
1Kb=1024Byte
1Mb=1024Kb
1Gb=1024Mb
1Tb=1024Gb
-进制转换
如何进行进制转换
计算器的使用
-原码、反码、补码
原码
符号位加上真值的绝对值
反码
整数的反码是其原码,负数的反码是在其原码的基础上,符号位不变,其余各位取反
补码
正数的补码就是其原码,负数的补码是在其反码的基础上+1
-原码、反码、补码的应用
机器数转换成真值
计算1-1的值
关键字和标识符
-关键字
-标识符
命名规则
字幕、数字、下划线
不能以数字开头
不能是保留字
严格区分大小写
常量与变量
-常量的概念
整型常量
实型常量
字符常量
普通字符
转义字符
常用转义
\n 换行
\r 回车
\t 水平制表位
字符串常量
符号常量
-变量的定义
-变量的数据类型
整形变量
short int 短整型
int 基本整型
long int 长整型
实型变量
float 单精度浮点型
double 双精度浮点型
字符型变量
char
字符串赋值时需要引号('')
枚举类型变量
语法格式
enum 枚举名{标识符1=整型常量1,标识符2=整型常量2,....}
布尔类型
bool
-数据类型的转换
隐式类型转换
算术转换
赋值转换
输出转换
显式类型转换(强制转换)
语法格式
(类型名)(表达式)
运算符
-运算符与表达式
-算术运算符
用于处理四则运算
算术运算符
加减乘除
% 取余(取模)
++ 自增(前)
++ 自减(后)
-- 自减(前)
-- 自增(后)
-赋值运算符
用于将表达式的值赋给变量
赋值运算符
= 赋值
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
%= 取余等于
-关系运算符
用于表达式的比较,并返回一个真值或假值
关系运算符
== 相等
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
-逻辑运算符
用于根据表达式的值执行相应的语句
逻辑运算符
! 非
&& 与
|| 或
-三目运算符
用于更具表达式的值执行相应的语句
语法格式
表达式1?表达式2:表达式3
1?2:3 真->2 假->3
-逗号运算符
用于连接并执行若干表达式,并返回最后一个表达式的值
-位运算符
用于处理数据的位运算符
位运算符
& 按位与
| 按位或
~ 取反
^ 按位异或
<< 左移
>> 右移
-sizeof运算符
用于求字节数长度
语法规则
sizeof(数据类型名称);
sizeof(变量名称);
-运算符的优先级
记忆口诀
括号成员第一; //括号运算符[]() 成员运算符. ->
全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&
乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等
等于(与)不等排第七; //即== 和!=
位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符:|| 和 &&
十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)
条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低! //逗号运算符优先级最低
*/
//相关练习
/*
1.编写程序,要求输入一个华氏温度,输出摄氏温度。公式为C=(5/9)*(F-32),取两位小数。
运行结果为:
请输入华氏温度:212
摄氏温度为:100.0
*/
#include<stdio.h>
int main()
{
printf("请输入一个华氏温度:");
int f;
scanf("%d",&f);
double c=(5.0/9.0)*(f-32);
printf("摄氏温度为%.2f\n",c);
return 0;
}
/*
2.编写程序,要求用户输入一个美金数量,然后显示出增加5%税率后的相应金额。格式如下:
请输入美金数量:100.00
加税5%之后是:$105.00
*/
#include<stdio.h>
int main()
{
printf("请输入美金数量:");
double m;
scanf("%lf",&m);
double a=m*1.05;
printf("加税5%之后是:%.2f\n",a);
return 0;
}
/*
3.编写程序,输入一个整数,打印出它是奇数还是偶数。
*/
#include<stdio.h>
int main()
{
printf("请输入一个整数:");
int a;
scanf("%d",&a);
if(a%2==0)
printf("偶数\n");
else
printf("奇数\n");
return 0;
}
/*
4.输入两个小于5000的正整数,求它们差的绝对值,并输出结果。
*/
#include<stdio.h>
int main()
{
printf("请输入两个整数:");
int a,b,c;
scanf("%d%d",&a,&b);
if(a<5000&&b<5000)
{
c=a-b;
if(c>0)
c=c;
else
c=-c;
printf("这两个数的差的绝对值是%d\n",c);
}
else
printf("输入的数字不符合要求\n");
return 0;
}
/*
5.从键盘上输入二个整数到变量a,b,将这个两个数交换后输出。
*/
#include<stdio.h>
int main()
{
printf("请输入第一个整数:a=");
int a,c;
scanf("%d",&a);
printf("请输入第二个整数:b=");
int b,d;
scanf("%d",&b);
c=a,d=b;
a=d,b=c;
printf("交换后a=%d,b=%d\n",a,b);
return 0;
}