一.制作思维导图

二.对以下语法的认识
1.if-else语句
if(条件){
语句1;}
else(条件){
语句2;}
使用方法:首先判断if后面的条件是否成立,成立则执行语句1,反之执行语句2。注意:1.if()后面不能有;否则无法判断。2.单个语句时可不加{},else跟离它最近的if使用。
2.swith语句
switch(表达式){
case 常量表达式1:语句段1;break;
case 常量表达式2:语句段2;break;
case 常量表达式3:语句段3;break;
default :语句;break;
}
使用方法:与if-else类似。注意:1.表达式和常量表达式的值一般是整型或字符型。2.default可以省略,省略时若不满足条件则什么也不执行。3.case后先空一格再写常量表达式且case后面是:而不是;
3.for语句
for(表达式1;表达式2;表达式3){
循环体语句;}
使用方法:表达式1对循环变量赋值,指定循环起点,表达式2给出循环条件,通常判断循环变量是否超出循环的终点,表达式3改变循环变量的量从而改变表达式2的结果,循环体语句只能是一条语句。注意:表达式用;分隔而不是用,
4.while语句
while(表达式){
循环体语句;
}
使用方法:表达式给出循环的条件,条件不满足则退出循环
5.do-while语句
do{
循环体语句;}
while(条件)
使用方法:先执行循环体,后判断循环条件,满足则继续循环。注意:与for和while不同,do-while至少进行一次循环
6.break continue
switch(表达式)
{
case 表达式: 语句;break;
…
case 表达式: 语句;break;
default: 语句;
}
for(表达式1; 表达式2; 表达式3)
{
语句1;
continue;
语句2;
}
区别:break强制结束循环,continue跳过后面的语句直接进入下一次循环,break除可以终止循环外还可以用于switch语句,而continue只能用于循环。
三.pta分数截图



四.pta代码分析
题目1.
思路:1.由题可知lower,upper,fahr用int,celsius用double。2.输入lower和upper。 3.判断不同输入范围对应的输出结果。4.运用for循环改变变量。

通过这题我学到了遇到条件不同输出不同时应冷静分析,列出该条件对应的输出,一步一步写。
题目2.
思路:1.输入实际车速与限速用int,输入超出范围用double。列式表达超出范围。2.按照题目要求范围输出结果。

这一题我忽略了实际车速可能比限速小,所以一直答案错误,应在实际车速减限速这里加绝对值符号。通过这一题我学会了不能只看题目条件,要结合实际生活来解决问题。
题目3.
思路:1.要知道素数是只能被1和它本身整除的正整数。2.定义一个函数表达素数。
#include<stdio.h>
#include<math.h>
int isPrime(int i);
int main()
{
int m,n,i;
int cnt=0,sum=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++){
if(isPrime(i)){
cnt++;
sum+=i;
}
}
printf("%d %d",cnt,sum);
return 0;
}
int isPrime(int i){
int flag=1,j;
if(i==1) flag=0;
for(j=2;j<=sqrt(i);j++){
if(i%j==0) flag=0;
}
return flag;
}
一开始没有定义一个函数为素数时,光靠给出条件计算素数很复杂混乱,所以我选择定义一个函数,这个方法要简便很多。