一、循环三要素:循环变量的初值,循环变量的判断,循环变量的改变(如果没有易变成死循环)
1.while循环:
基本语法
while(循环条件){
循环操作;
}
2.do while循环:
基本语法
do{
循环操作;
}while(循环条件);
与while循环的区别:(1).while循环先判断循环条件,若满足则执行循环操作,否则不执行;do while循环先执行一次循环操作,再判断若满足则再次执行,否则结束循环
(2).do while循环中的循环条件后面有分号”;”,while循环的循环条件后面没有
3.for循环:
基本语法
for(初值变量;变量的判断;变量的改变){
循环操作;
}
示例:求数字1到10的和
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=10;i++){
sum=sum+i;}
printf("%d",sum);
}
4.循环嵌套:两个及两个以上的循环语句嵌套在一起,外层循环执行一次,内层循环继续执行,直至内层循环结束,外层循环执行第二次,直至外层循环结束。
示例:输出九九乘法表
#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
printf("%d*%d=%-2d ",i,j,i*j);//%d、%2d、%-2d、%.2d、%02d的区别:
}printf("\n"); //%d是普通的输出
} //%2d是将数字按宽度为2,采用右对齐的方式输出,若数字宽度不足2位,则左边补空格补齐
return 0; //%-2d是将数字按宽度为2,采用左对齐的方式输出,若数字宽度不足2位,则右边补空格补齐
} //%02d是将数字按宽度为2,若数字宽度不足2位,则左边补“0”补齐
//%.2d是保留数字的后两位数
输出结果:
5.循环的结束:
(1).break:结束循环,若在嵌套循环中,break在内层循环中,则内层循环结束,外层循环继续
(2).continue:结束循环的当前循环操作,执行循环的下一次循环操作
(3).goto:可从当前位置转移到标志处执行命令
二、C语言的变量必须在使用前定义,并确定类型
整数:char、short、int、long、long long(无特殊需求使用int)(当int前面有unsigned时表示无符号整型即不能存储负数只能存储非负数)
浮点数:float、double(双精度)、long double(无特殊需求使用double)
所表达数的范围:char<short<int<float<double
输入输出的格式化:int–%d、long–%ld、float–%f、double–%lf、sizeof–%ld、科学计数法– %e/%E、char–%c
sizeof:一个运算符,给出某个类型或变量在内存中所占据的字节数
1.各类型所占的字节数:sizeof(char)=1
sizeof(short)=2
sizeof(int)=4
sizeof(long)=4
sizeof(long long)=8
2.格式化的含义
%c:整数转成对应的ASCII字元
%d:整数转成十进位
%o:数字转成八进位
%x:数字转成小写十六进位
%X:数字转成大写十六进位
%f:数字转成浮点数
%s:整数转成字符串
%e:以科学记数法输出十进制的浮点数
%E:同上
3.浮点运算的精度:
(1).代码中的a=1.3456f中的f用来表明float身份,如果没有f,则数据类型是double;
(2).如果直接用f1==f2来判断两个浮点数是否相等可能无法判断,应该用fabs(f1-f2)<1e-12来判断(两个数之间的差值比一个很小的数更小)
4.字符类型:(1).既是整数也是字符,单引号表示的是字符,无引号表示的是整数
(2).当输入char c时,输出%d表示的是字符代表的ASCII码,输出%c则表示本身的字符
5.逃逸字符:\b回退一格、\t到下一个表格位、\n换行、\r回车、\”双引号、\’单引号、\\反斜杠本身
注
: 学习资源来自翁恺