第一次C语言作业

落花浮王杯 提交于 2019-12-01 09:00:40

 一.制作思维导图

 

 

二.对以下语法的认识

 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;    

}

一开始没有定义一个函数为素数时,光靠给出条件计算素数很复杂混乱,所以我选择定义一个函数,这个方法要简便很多。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!