1. 数据类型的分类
2.语言中的基本数据类型
类型 | 字节数 | 类型 | 字节数 |
longlong | 8 | ||
long | 8(4)32位 | double | 8 |
int | 4 | float | 4 |
short | 2 | ||
char | 1 |
3. 数据类型转换
0、整数的默认类型是int ,小数的默认类型是double
1、自动类型转换:由字节低的数据类型转换为字节高的数据类型时,系统会自动转换
char -> short ->int ->float ->double
2、强制类型转换:由高字节的数据类型,转换为低字节的数据类型时,需要程序员手动强转
转换格式:(要转换成的类型)要转换的数据
例如:(int)5.9---5
此时可能会涉及数据的丢失或者是真
4. 常量
在程序中不可更改的量称为常量
5. 变量
在程序运行中,能够更改的量被称为变量,不同类型定义出来的变量,所占内存空间大小不同
变量的本质,就是内存的存储空间,是一个能够存储数据的容器
6. 输出格式化的控制符
%[-][m][.n] f
-:表示输出的数据左对齐 没有-时默认右对齐
m:输出数据的最小宽度
.n:表示输出保留小数点的个数
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc,const char *argv[])
{int num = 520;printf("%d\n",num);//520printf("%5d\n",num);//整个格式输出占5个单位的宽度右对齐printf("%-5d\n",num);//整个格式输出占5个单位的宽度 左对齐printf("%05d\n",num);//00520整个格式输出占5个单位的宽度 宽度不够的前面补0}
7. c 语言中运算符
7.1 运算符
✳ 注意 : 字节大小运算符sizeof ()
7.2 运算符优先级
练习题:
作业:将123的第三位取反 并打印取反后的值 0111 1011
拓展作业:将123的第三、四、五位取反 并打印取反后的值
//作业1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{int num=123;int num1,num2,num3,a,b,c;num= 0b1111011;num1=0b0001000;num2=0b0010000;num3=0b0100000;a=num^num1;b=num^num2;c=num^num3;printf("%d %d %d\n",a,b,c); //结果:115 107 91 return 0;
}
作业3:定义一个整形变量:int num = 123; 将该数据组成倒序数据即:num = 321,然后输出结果
/作业3
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{int num=123;int rnum=0;while(num>0){rnum=rnum*10+num%10;num=num/10;}printf("倒序为:%d",rnum); //结果321return 0;
}
作业4:定义一个变量存储年份:int year = 2023; 通过程序判断该年份是否为闰年,如果是闰年,则输出“闰年”,否则输出"平年";
//作业4
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{int year;printf("输入年份:");scanf("%d",&year);if ((year%4==0&&year%100!=0)||(year%400==0)){printf("是闰年");}else{printf("平年");}return 0;
}