实验2

开门见山


 

实验任务1

#include <stdio.h>
int main() {

int a=5, b=7, c=100, d, e, f;

d = a/b*c;
e = a*c/b;
f = c/b*a;
    
printf("d=%d, e=%d, f=%d\n",d,e,f);
return 0;
}

Line6-8所对应的表达式:

d = a/b*c 对应<!--a除以b,取整后再乘以c-->

e = a*c/b 对应;<!--a乘以c,再除以b,取整-->

f = c/b*a; 对应<!--c除以b,取整后再乘以a-->

d,e,f计算结果不同的原因:在c语言中,int数据与int数据相除的结果会被自动取整。


实验任务2

#include<stdio.h>
int main(){
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="Hello,World!";
    int y=3,z=4;
    
    printf("%d %d\n",y,z);
    printf("y=%d,z=%d\n",y,z);
    printf("%8d,%2d\n",x,x);
    printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);
    printf("%lf\n",m);
    printf("%3c\n",ch);
    printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);
    
    
    return 0;
}

用法

<!--输出格式字符-->

c:按字符输出

d:按浮点数输出

e:按指数形式输出

f:按单精度浮点型型输出

lf:按双精度浮点型输出

s:按字符串输出

  

<!--修饰符-->

m:输出宽度若不足m,则左边腾出空格直到宽度=m

.n:规定小数点后位数


实验任务3

#include <stdio.h>
int main() {
double x,y;
char c1,c2,c3;
int a1,a2,a3;
    

scanf("%d%d%d",&a1,&a2,&a3);
printf("%d,%d,%d\n",a1,a2,a3);
scanf("%c%c%c",&c1,&c2,&c3);
printf("%c%c%c\n",c1,c2,c3);
scanf("%lf,%lf",&x,&y);
printf("%.1f,%.1lf\n",x,y);

return 0;
}


实验任务4

#include <stdio.h>

int main() {
    
    char c;
    scanf("%c",&c);
    
    if(c>47&&c<58)
    printf("%c是数字字符\n",c);
    
    else if(c>64&&c<91||c>96&&c<123)
    printf("%c是英文字母\n",c);
    
    else
    printf("%c是其他字符\n",c);
    
    return 0;
}


实验任务5

#include <stdio.h>
int main() {
char ans1, ans2;

printf("复习了没? (输入y或Y表示复习了,输入n或N表示没复习) : ");
ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1

getchar(); // 思考这里为什么要加这一行。试着去掉这一行,看看对运行有没有影响。

printf("\n动手敲代码了没? (输入y或Y表示敲了,输入n或N表示木有敲) : ");
ans2 = getchar();

if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))//待补足,判断用户回答ans1和ans2都是小写y或大写Y
printf("\n罗马不是一天建成的:)\n");

else
printf("\n罗马不是一天毁灭的。。。\n");

return 0;

}


#include <stdio.h>

int mama(int x);
int main() {
    int n,sum=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++){       //循环:从i=0开始,求2^0+2^1+···+2^(n-1)
        sum+=mama(i);
    }
    
    printf("n = %d时,sum = %d\n",n,sum);
    return 0;
}

int mama(int x){        //mama函数是:输入x,得到2的x次方
    int sum=1;
    for(int i=0;i<x;i++)sum*=2;
    if (x==0)sum=1;
    return sum;
}


***

实验任务7

***

#include <stdio.h>

int main(int argc, const char * argv[]) {

    
    for(int i=0;i<5;i++){
        
        for(int j=0;j<i;j++){       //打空格
            printf("\t\t");
        }
        
        for(int j=0;j<9-2*i;j++){   //这个for打一行O
            printf(" O \t\t");
        }printf("\n");
        
        for(int j=0;j<i;j++){       //打空格
            printf("\t\t");
        }
        
        for(int j=0;j<9-2*i;j++){   //这个for打一行<H>
            printf("<H>\t\t");
        }printf("\n");
        
        for(int j=0;j<i;j++){       //打空格
            printf("\t\t");
        }
        
        for(int j=0;j<9-2*i;j++){   //这个for打一行I I
            printf("I I\t\t");
        }printf("\n\n");
       
    }
    
    return 0;
}


实验总结

编程软件大同小异,龙生九子各有不同

%lf是个好东西

要快乐地编程,要编程的快乐

修饰符,这个东西要动点脑筋去记,里面概念比较多,要动手敲代码才能吃透

 

Xcode似乎无法修改黑框里的代码颜色,或者说,要修改需要配置相关环境。

 

👴对本次实验😊,👴学到了很多,本次实验真是让👴醍醐灌顶🦷

 

 

 

 

posted @ 2020-10-29 23:58  是逸仙呀  阅读(135)  评论(4)    收藏  举报