一.思惟导图app
二. 语法认识函数
1.if-else3d
if(条件){ 执行语句 } else{ 执行语句 } //else与最近的if配对
遇到的问题: 条件中判断值是否相等如x==0编成x=0;执行语句最后一条忘加“ ;”。code
解决 :作pta中if-else题到下意识写完便检查的程度blog
2.switch数学
switch(表达式){ case 值1: //表达式的值和 值1匹配上了,执行代码; break; case 值2: //表达式的值和 值2匹配上了,执行代码; break; case 值3: //表达式的值和 值3匹配上了,执行代码; break; default: //若表达式的值和以上的case后面的值都没有匹配上,就执行这里的代码。 break; }
3.forit
for (表达式1;表达式2;表达式3){ //表达式1对循环变量赋值,表达式2为循环条件,表达式3为改变循环变量的值。 //表达式能够不写,for(;表达式2;)=while(表达式2) }
遇到的问题: 一开始会在表达式3后加“;”io
解决:用for时多留心,作些题来熟练for循环
4.while思维导图
while(表达式){ 循环体语句 }
5.do-while
do{ 循环体语句 } while(表达式)//会先作一次循环再判断
6.break以及continue
for (表达式1;表达式2;表达式3){ if(表达式){ break; } } for (表达式1;表达式2;表达式3){ if(表达式){ continue; } }
break直接跳出循环,再也不循环体中其余语句。continue跳事后面语句进行下一轮循环
遇到的问题:作题时有时想不到用它
解决:将书上列子对比,找出使用的条件
2.三、2.4做业:
第三章做业:
4.1做业:
思路:题目关键主要在于判断输入的数学符号为什么,根据所输进行四则运算。
当时不知用if如何判断字符,因此用switch分支。
#include <stdio.h> int main() { int value1,value2;//定义变量 char op; //定义字符 scanf("%d %c %d",&value1,&op,&value2); //输入变量 switch(op){ //判断字符 case '%':printf("%d\n",value1 % value2);break; //输出结果 case '/':printf("%d\n",value1 / value2);break; case '+': printf("%d\n", value1 + value2); break; case '-': printf("%d\n", value1 - value2); break; case '*': printf("%d\n", value1 * value2); break; default: printf("ERROR\n"); break; } return 0; }
错误:觉得输入字符跟输入数字同样用%d;没在“ ”里的末尾加\n,答案错误。
收获:懂得char的使用,熟练了switch-case
思路:求阶乘和即算出一个阶乘便相加。定义一个求阶乘的函数,问题便成为将它们加起来。
以后用for循环循环所要加次数。
#include <stdio.h> int fact (int x) { //定义求阶乘的函数 int i,sum1=1; for (i=1;i<=x;i++){ sum1=i*sum1; } return sum1; //返回阶乘值 } int main() { int number,sum2=0; scanf("%d",&number);//输入循环的次数 int i; for (i=1;i<=number;i++) { sum2=sum2+fact(i); //将阶乘相加 } printf("%d",sum2); //输出结果 return 0; }
错误:对求阶乘和无思路;函数忘记返回值,输入循环次数时漏输入&
收获:懂得调用函数,熟悉函数使用
思路:首先要有一个列表让人们选择项目,因而用printf先输出选项。输入次数有限制,因而在输入外套一个for循环,循环次数为5.
而输入次数大于5或输入0时结束输入,这即是输入0时也跳出循环,因而用if判断是否为0,是便用break跳出。
#include <stdio.h> int main() { int x,i; double price;//定义价格 printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n"); //输出选项 for (i=1;i<=5;i++){ //最多输入5次 scanf("%d",&x); //输入编号 if (x==1){ printf("price = 3.00\n"); } else if(x==2){ price = 2.50; } else if(x==3){ price = 4.10; } else if(x==4){ price = 10.20; } else if(x==0){ //输入0时跳出循环 break; } else price = 0.00; } printf("price = %.2f\n",price); //输出价格 }
错误:忘记输出精确到两位小数;不知道输入0时如何跳出循环
收获:熟练了break的使用,知道如何连续输入数