第一次C语言作业

 一.制作思维导图

第一次C语言作业_第1张图片

 

 

二.对以下语法的认识

 1.if-else语句

 

if(条件){

语句1;}

else(条件){

语句2;}

 

使用方法:首先判断if后面的条件是否成立,成立则执行语句1,反之执行语句2。注意:1.if()后面不能有;否则无法判断。2.单个语句时可不加{},else跟离它最近的if使用。

2.swith语句

 

switch(表达式){

case 常量表达式1:语句段1;breakcase 常量表达式2:语句段2;breakcase 常量表达式3:语句段3;breakdefault :语句;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.第一次C语言作业_第2张图片

 

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

 

#include
int main()
{
    int f, l, u;
    double c;
    scanf("%d %d",&l,&u);
    if(l<=u){
        printf("fahr celsius\n");
        for(f=l;f<=u;f+=2){
            c=5*(f-32)*1.0/9;
            printf("%d%6.1f\n",f,c);
        }
    }
     else if(l>u||u>100||l>100){
         printf("Invalid.");
     } return 0;
}

通过这题我学到了遇到条件不同输出不同时应冷静分析,列出该条件对应的输出,一步一步写。

题目2.第一次C语言作业_第3张图片

 

  思路:1.输入实际车速与限速用int,输入超出范围用double。列式表达超出范围。2.按照题目要求范围输出结果。

#include
int main()
{
    int a,b;
    double i;
    scanf("%d %d",&a,&b);
    i=fabs(a-b)/b*100.0;
    if(i<10||a<b){
        printf("OK");
    } else if(i<50){
        printf("Exceed %.0f%%. Ticket 200",i);
    } else if(i>=50){
        printf("Exceed %.0f%%. License Revoked",i);
    } return 0;
}

 这一题我忽略了实际车速可能比限速小,所以一直答案错误,应在实际车速减限速这里加绝对值符号。通过这一题我学会了不能只看题目条件,要结合实际生活来解决问题,我还学会了%的输出为%%。

题目3.第一次C语言作业_第4张图片

 

 思路:1.要知道素数是只能被1和它本身整除的正整数。2.定义一个函数表达素数。

#include
#include

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;    

}

 

 

 
 

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

 
 

 

你可能感兴趣的:(第一次C语言作业)