• 10月29日实验


    #ex1
    #include<stdio.h> int main(){ int a =5,b=7,c=100,e,d,f; d=a/b*c;//d=0 其对应的数学式为d=(a/b)*c e=a*c/b;//e=71 其对应的数学式为e=(a*c)/b f=c/b*a;//f=70 其对应的数学式为f=(c/b)*a printf("d=%d,e=%d,f=%d ",d,e,f)
    /*
    * 变量d e f计算结果不同的原因是因为以上程序中的所有变量均为整形,无法取到小数点之后的数字,
    *使得答案出现大的误差
    */
    return 0;
    }


    #include<stdio.h>
    int main(){
        int x=1234;
        float f=123.456;
        double m=123.456;
        char ch='a';
        char a[]="Hello World";//定义一个数组a,数组中存放字符串常量hello,world!
        int y=3,z=4;
        printf("%d %d
    ",y,z);
        printf("y=%d,z=%d
    ",y,z);
        printf("%8d,%2d
    ",x,x);
        /*
        *由实验结果看%2d所对映的数据输出为4位,C语言的规定中
        *%mdm为指定的输出字段的宽度。如果数据的位数小于m则左端补以空格,若大于m,则按实际位数输出。
        */ 
        printf("%f,%8f,%8.1f,%0.2f,%.2e
    ",f,f,f,f,f);
        /* 
        *%f数输出的最后一位会出现一个1,这种情况是因为十进制与二进制转换时有误差。
        *%mf改数据的输出于%m同规则 
        *%m.nf输出8位小数占一位被舍去的第一位四舍五入。
        *%0.nf输出的数小数占两位被舍去的第一位四舍五入。
        *%.2e指数型小数小数点前都为1位,%m.ne m为整个数据输出后占的位数,n为该数小数点后占的位数。 
        */ 
        printf("%lf
    ",m);//取双精度型所以这里在小数点后6位输出的情况下,不会出现最后一位为1的情况 。 
        printf("%3c
    ",ch);//输出3位不够左边补齐。 
        printf("%s
    %15s
    %10.5s
    %2.5s
    %.3s
    ",a,a,a,a,a);//m.ns中n表示输出字符串前面的多少位。(剩余规则与前面一致) 
        return 0; 
    } 

    #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
    ",a1,a2,a3);
        scanf("%c%c%c",&c1,&c2,&c3);// 输入时不能有空格 
        printf("%c%c%c
    ",c1,c2,c3);
        scanf("%lf,%lf",&x,&y);//因为定义的x与y是双精度型小数,所以输入所对应的也应是双精度型 
        printf("%f,%lf
    ",x,y);
        return 0;
    } 

    #include<stdio.h>
    int main(){
     char x;
     x=getchar();
     if(x>=48&&x<=57)
     printf("%c是数字字符 ",x);
     else if((x>=65&&x<=90)||(x>=97&&x<=122))
     printf("%c是英文字符 ",x);
     else
     printf("%c是其他字符",x);
     return 0;
    }

    #include<stdio.h>
    int main(){
        char ans1,ans2;
        printf("复习了没?(复习了就输入y或Y,没有就输入n或N):");
        ans1=getchar();
        getchar();
        printf("
    动手敲代码了吗?(敲了就输入y或Y,没有就输入n或H):");
        ans2=getchar();
        if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))//因为该处为逻辑判断所以需要输入“==” 
        printf("
    罗马不是一天建成的:)
    ");
        else 
        printf("
    罗马不是一天毁灭的。。。
    ");
        return 0;
          
    }

    #include<stdio.h>
    #include<math.h>
    int main (){
        int n,a,z,c;
        c=2;
        printf("请输入n的值,n>=1且n<=10
    ");
        scanf("%d",&n);
        z=pow(c,n);
        a=1*(1-z)/(1-c);
        printf("%d",a);
        return 0;
        
    } 

    #include<stdio.h>
    int main(){
        int a,b,c,d,e,f,g,h;
        a=10,b=12,c=a,d=a,h=6;
        while(b>0&&h>0)
        {b-=2,a=b,c=a,d=a,h-=1,e=5-h,f=e,g=e;
        while (e-->0){
            printf("	");
        }
        while(a-->0){
            printf(" 0	");
        }
        printf(" 0
    ");
        while (f-->0){
            printf("	");
        }
        while(c-->0){
            printf("<H>	");
        }
        printf("<H>
    ");
        while (g-->0){
            printf("	");
        }
        while(d-->0){
            printf("I I	");
        }
        printf("I I
    
    ");
        
        }
        
        return 0;
    } 

    实验1 2 3 5的实验总结都在代码的注释里

    关于实验4有一点需要注意:65到128所对应的字符不只有英文字符,91到96所对应的字符不是英文字符,需要去掉。 

  • 相关阅读:
    Swift
    Swift
    Swift
    Swift
    Swift
    nineOldAnimation 应用
    Android 编程下 Touch 事件的分发和消费机制
    用Gradle 构建android程序
    CygWin模拟Linux环境进行Ant批量打包
    UML类图与类的关系详解
  • 原文地址:https://www.cnblogs.com/2967271912lala/p/13910617.html
Copyright © 2020-2023  润新知