数据类型类:
1. auto :自动——自动变量类型
局部变量都是自动创建,自动销毁的,
所有局部变量都是自动变量,为了书写方便就全部省略了。
int a;--> auto int a;//省略
2.char:字符——字符变量类型
char c1='a';
char c2='1';
cahr c3='@';
3.short :短整型
4.int :整形
5.long:长整形
区别:存放数字的长度不同,
short 长度为两个字节(16个bite位),存放2^16(2的16次方)个数字,存放数据大小为 -2^15——2^15-1
int 长度为四个字节,存放2^32个数字,存放数据大小为 -2^31——2^31-1
long 长度为四个字节,long long 长度为八个字节,与上同理。
6.signed :有符号的
7.unsigned :无符号的
short a=10000;
// 2^16=65536, short类型最大数字为2^15-1=32767,因为short放不下,所以换成int
int b=65536;
long c=10000000;
unsigned int age=10;//无符号整数,既只有正数,如现实生活中的年龄,身高等
8.float:单精度浮点类型
9.double:双精度浮点型
区别:精度(精确计算的小数位数)不同
float精确到小数点后7位 而double精确到小数点后16位
#include<stdio.h>
int main()
{
float a=12.257902012398877;
// 有的时候会见到 float a=12.5f 这种写法
// 此时a仍是12.5 加上f表示为float类型,否则默认为double类型
double b=12.257902012398877;
printf("%15f",a); // 只有6-7位有效数字,后面的就不精确
printf("%15f",b); // 有15-16位有效数字,所以完全正确
return 0;
}
分支语句:
10.if
11. else 判断语句
#include<stdio.h>
int main()
{
int a=10;
if(a>5) //如果a>5成立,输出 haha
printf("haha\n");
else //不成立则输出 hehe
printf("hehe\n");
return 0;
}
12.switch· 转换
13.case 案例,条件成立
14.default 默认值,条件都不成立
#include<stdio.h>
int main()
{
int a=10;
switch(a)
{
//如果a=1 输出 “a=1” 跳出switch语句
case 1: printf("a=1\n"); break;
case 5: printf("a=5\n"); break;
case 10: printf("a=10\n"); break;
continue: printf("不成立\n");
}
return 0;
}
循环语句
15.while(条件成立)
16.do while
#include<stdio.h>
int main()
{
int a=5;
while(a>0) //如果a>0成立,执行以下语句
{
printf("haha\n"); //会输出5次
a--; // a = a-1;
}
a=5;
do //不管条件是否成立,先执行一次
{
printf("hehe\n"); //会输出5次
a--;
}
while(a>0);
return 0;
}
17.for循环
#include<stdio.h>
int main()
{
int a=0;
// a赋值;a<10成立则进入循环;a+1
for(a=0;a<10;a++)
// 由于a在上面已经附了值,如果不做改变可以省略不写
// 既for( ;a<10;a++)
printf("haha\n");
return 0;
}
18.continue :跳出本次循环
19.break :跳出循环
#include<stdio.h>
int main()
{
int num=0;
int i,j;
// for循环嵌套
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
num++;
if(num<30)
{
num+=5;
continue;//跳出本次循环,既本次i=m,j=n往后的语句不再执行,进入i=m,j=n+1;
}
if(num>100)
{
num=0;
break;//跳出内部for循环,既本次i=m,j=n往后的语句不再执行,进入i=m+1,j=0;
}
}
return 0;
}
待续······