C语言循环结构和选择结构详解:
if else的简单应用:
#include
#include
int main() {
int age;
printf("input your age\n ");
scanf_s("%d",&age);
if (age>=18){
printf("you can!");
}
else {
printf("you can not");
}
return 0;
}
小结:
不留无用空格
按照行业规范写代码
求两数的较大者:
#include
#include
int main() {
int a, b, max;
printf("input a and b:\n");
scanf_s("%d %d",&a,&b);
if (a>b)
{
max = a;
}
else
{
max = b;
}
printf("max is:%d",max);
return 0;
}
多个if else
#include
#include
int main()
{
char c;
printf("input a character:\n");
c = getchar();
if (c<32)
printf("this is a control character");
else if (c>='A'&&c<='Z')
printf("this is a capital letter");
else if (c>='a'&&c<='z')
printf("this is a small letter");
else
printf("this is other letter");
return 0;
}
小结:
else总是根与他上面最近的if对应
多层if else
#include
#include
int main() {
int a, b, max;
printf("input two number:\n");
scanf_s("%d%d",&a,&b);
if (a!=b)
{
if (a>b)
{
max = a;
printf("max is:%d\n",max);
}
else
{
max = b;
printf("max is %d\n", max);
}
}
else
{
printf("a=b");
}
}
利用e输出指数:
#include
#include
int main() {
int a = 3e+4;
printf("a=%d",a);
return 0;
}
关系运算符是双目运算符,用于判断两边的大小关系,均是左结合性。
左结合性:对于含多个关系运算符的表达式,如
kji+5,根据运算符的左结合性,先计算kj,该式不成立,其值为0,再计算0i+5,也不成立,故表达式值为0。
初学者在编程的时候要注意赋值运算符与等于运算符 ,摆脱数学的困扰。
C原因的关系运算符
大于、大于等于
小于、小于等于
不等于、等于
运算符的优先级:
算术运算符>关系运算符>赋值运算符
注:三目运算符只有一个 ?:
关系运算符的运算结果只有0或1
ASCII码表:ASCII码表
48-57对应0-9
65-90对应A-Z
97-122对应a-z
逻辑运算的与&& 或|| 非!
简单例子使用逻辑运算符
#include
#include
int main() {
int i;
float j;
printf("input two number:\n");
scanf_s("%d%f",&i,&j);
if (i>18&&j>60)
{
printf("you can");
}
else
{
printf("you can not");
}
return 0;
}
运算符的优先级:
非>算术运算符>关系运算符>逻辑与和或>赋值运算符
break专门用于跳出switch
case后面必须是整数或者结果为整数的表达式
单引号的作用于ASCII码
条件运算符是C语言唯一一个三目运算符
?:
先判断,根据判断的结果再决定执行哪一个
注:条件表达式的嵌套
注:无法判断第三个条件
非>算术运算符>关系运算符>逻辑与和逻辑或>赋值运算符
非>算术运算符>关系运算符>条件运算符>赋值运算符
C语言由3中常用的程序结构:
顺序结构:
选择结构:
循环结构:
利用while循环统计输入的字符串长度:
#include
#include
int main() {
int n = 0;
while (getchar()!='\n')
{
n++;
}
printf("n is:%d\n", n);
return 0;
}
break关键字用于跳出switch语句
break跳出while循环
两层while循环:
#include
#include
int main() {
int i=1;
while (1)
{
int j = 1;
while (1)
{
printf("%4d", i*j);
j++;
if (j > 4)
{
break;
}
}
printf("\n");
i++;
//printf("%4d", i*j);
if (i > 4)
{
break;
}
}
return 0;
}
break是结束,continue只结束当前语句。
continue语句:continue语句的作用是跳过循环体中剩余的语句强制进行下一次循环,而不是完整的结束。
continue的简单应用:
#include
#include
int main() {
char c=0;
while (c!='\n')
{
c = getchar();
if (c=='4'||c=='5')
{
continue;
}
putchar(c);
}
return 0;
}
getchar()
putchar()
5.9循环嵌套
输出99乘法表(左对齐 右对齐 占的长度)
#include
int main() {
for (int i = 1; i<= 9; i++)
{
for (int j = 1; j<=i; j++)
{
printf("%d*%d=%-4d", i, j, i*j);
}
printf("\n");
}
return 0;
}
break:跳出所有循环
continue:结束本次的小循环
C语言实现突破的实例
操作系统允许程序自己分配内存,并且可以依据实际需求进行适应,使用了需要及时释放,内存会还给计算机,如果忘记内存释放,可能会导致内存泄漏。