博客作业C语言回顾
一.思维导图
二.对语法的认识:
1.if else
if(条件句){ 语句1; } else{ 语句2; }
注:内嵌语句只允许是一条语句,若为多条,则应用{}组成复合语句;
2.switch
switch(表达式){ case 常量表达式1: 语句段1; break; ....... case 常量表达式n: 语句段n; break; default: 语句段n-1; break; }
注:case常量表达式不可重复;若句末没有break则会顺序向下;
3.for(语句1;语句2;语句3)
for(语句1;语句2;语句3){ 循环语句; }
注:(1).for()不加‘;’
(2).先执行语句1,对循环变量赋值,再判断语句2,若为“真”则执行循环语句,接着计算语句3。
4.while
while(表达式){ 循环语句; }
注:先判断,若为真则继续;若为假,则中止。
5.do while
do{ 循环语句; }while(表达式)
注:先执行后判断,至少执行一次循环
6.break
switch(表达式){
case 常量表达式1:语句段1;break;
case 常量表达式2:语句段2;break;
}
注:如果执行语句段1,在执行完语句段1后,有break,则会跳出switch结构,而如果没有break,则顺序向下。
三:pta分数截图
1.作业2.3-2.4
2.作业第三章
3.作业4.1
四.pta代码分析
1.
#include<stdio.h> int main(void){ int choice,i; double price; printf("[1] apple\n"); printf("[2] pear\n"); printf("[3] orange\n"); printf("[4] grape\n"); printf("[0] exit\n"); for(i=1;i<=5;i++){ scanf("%d",&choice); if(choice==0) break; switch(choice){ case 1:price=3.00;break; case 2:price=2.50;break; case 3:price=4.10;break; case 4:price=10.20;break; default:price=0.00;break; } printf("price = %.2f\n",price); } return 0; }
思路: 1. 由于题目要求:当连续查询次数超过5次时,程序应自动退出查询,所以调用for循环完成;
2.由于题目要求:用户输入0即退出,所以用if结构判断输入值是否为0;
3.由于choice情况多,所以选择使用switch多分支结构,应对各种case;
我学会了:使用for循环以及switch多分支结构,以及对break的使用。
2.
#include<stdio.h>
int main(void){
int value1,value2;
char op;
scanf("%d %c %d",&value1,&op,&value2);
if(op=='+')
printf("%d\n",value1+value2);
else if(op=='-')
printf("%d\n",value1-value2);
else if(op=='*')
printf("%d\n",value1*value2);
else if(op=='/')
printf("%d\n",value1/value2);
else if(op=='%')
printf("%d\n",value1%value2);
else
printf("ERROR\n");
return 0;
}
思路:
1.从符号入手,判断符号用if结构;
2.char字符型用%c输入;
3.通过if-else的多分支结构,输出各种运算结果;
我学会了:if-else 分支结构的使用以及字符型数的输入。
3.
#include<stdio.h> #include<math.h> int main(void){ int m,n,i; double sum,item; scanf("%d %d",&m,&n); sum=0; for(i=m;i<=n;i++){ item=1.0/m; sum=sum+pow(m,2)+item; m=m+1; } printf("sum = %.6f\n",sum); return 0; }
思路:
1.因为要求算平方和所以调用数学函数pow;
2.由于题目中递加的过程,所以用for循环实现;
我学会了:对数学函数的调用,加强了对for循环的理解。