1.学习笔记
1. 运算符
-
算数运算符
-
关系运算符
-
逻辑运算符
-
赋值运算符
-
优先级别
由于打出来的符号间距较小, 不容易区分,我以图片的形式呈现,以下是总结:
这里强调一下赋值运算符,举个例子:
a + = 3 即a = a+3
a / = 3 即a = a/3
-
自增自减
int main()
{
int i,j ,k,m;
i=j=3;
k=++i;
m=j++;
printf("i=%d,j=%d,k=%d,m=%d",i,j,k,m);
return 0;
}
2.流程控制(非常重要!!!)
-
流程控制的含义:程序代码执行的顺序
-
流程控制的顺序:
顺序执行
选择执行
循环执行
1.选择. if的最简单用法(基础)
# include
int main(void)
{
if (3)
printf("AAAA\n");
if (0)
printf("BBBB\n");
if (0 == 0)
printf("CCCC\n");
return 0;
}
运行实操:
2.if的范围问题(重点)
- 总结:由此可见,if只能控制一个语句的执行或不执行,如果想控制多个语句的执行或不执行,就必须把这些语句用{}括起来。
3.选择. if ...else 的用法
# include
int main(void)
{
if (2>1)
printf("AAAA\n");
else
printf("BBBB\n");
printf("CCCC/n");
return 0;
}
代码实操:
-
详解:以上图中代码为例,if(2>1)为条件,若满足这个条件,则输出为AAAA,反之,若不满足这个条件,则输出为BBBB。
-
注意:printf("CCCC/n")为第二个语句,不属于if管辖范围,因此无论是否满足2>1这个条件,都会输出CCCC。
4.循环 .for语句的用法
# include
int main(void)
{
int i;
int sum = 5;
for (i = 1; i < 10; i+=2);
{
sum = sum + i;
printf ("hahahahaha\n");
}
return 0;
}
代码实操:
注意:图中printf()是为了检验代码运行是否成功
5.while的语句用法
# include
int main(void)
{
int i;
int sum = 0;
i = 1;
while (i < 101)
{
sum = sum + i;
++i;
}
printf("sum = %d\n", sum);
return 0;
}
代码实操:
- 注意:for 和while 通常情况下是可以相互转换的,只不过for 用的情况更多且不容易出错。
6.一元二次方程用do...while语句
# include
# include
int main(void)
{
double a,b,c;
double delta;
double x1,x2;
char ch;
do
{
printf("请输入一元二次方程的三个系数:\n");
printf("a = 1");
scanf("%lf",&a);
printf("b = 2");
scanf("%lf",&b);
printf("c = 3");
scanf("%lf",&c);
delta = b*b - 4*a*c;
if(delta > 0)
{
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
printf("有两个解! x1 = %lf,x2 = %lf\n",x1,x2);
}
else if(delta == 0)
{
x1 = x2 = (-b)/2*a;
printf("有一个唯一解!x1 = x2 =%lf\n",x1,x2);
}
else
{
printf("无实数解!\n");
}
printf("您想继续吗?(Y/N):");
scanf(" %c",&ch);
}
while('Y'==ch || 'y'==ch);
return 0;
}
代码实操:
7.break的语句用法:
- break用于循环是终止循环
- break用于switch是为了终止
- break是不能直接用于if的,除非if属于循环内部的一个语句
#include
int main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:
switch(y)
{
case 0:
a++;
break;
case 1:
b++;
break;
}
break;
case 2:
a++;
b++;
break;
}
return 0;
}
代码实操:
8.continue的用法
- 本次循环的结束语,用于判断下次循环是否继续。
2.课本笔记:
5.10第七题
输出结果为:sos 44.00
5.10第十三题
代码如下所示:
int main()
{
int a,b,c;
printf("请输入天数:");
scanf("%d",&a);
b=a/7;
c=a%7;
printf("%d周%d天",b,c);
return 0;
}
5.11第三题
#include
int main()
{
int a, b, c;
do
{
printf("请输入天数:");
scanf("%d",&a);
b = a%7;
c = a/7;
printf("%d days are %d weeks, %d days\n",a, c, b);
}while (a > 0);
return 0;
}
代码实操:
5.11 第八题
#include
int main()
{
int a, b, c, d;
printf("请输入第一个整数:");
scanf ("%d",&a);
do
{
printf("请再次输入一个整数:");
scanf ("%d",&b);
c = b%a;
printf("%d\n",c);
}while (b > 0);
return 0;
}
代码实操:
6.16
第五题和第十二题都不太会嘿嘿嘿。
7.11第二题
a. number >= 90 && number <100;
b. ch!='q' && ch!='k';
c. number >= 1 && number <= 9 && number != 5;
d. number < 1 || number >9
7.11第十题
int main(void)
{
char ch;
while((ch=getchar())!='#')
{
if(ch!='\n')
;//执行空语句
printf("Step 1\n");
if(ch!='c')
;//执行空语句
else if(ch=='b')
break;
else if(ch=='h')
printf("Step 3\n");
printf("Step 2\n");
}
printf("Done\n");
return 0;
}