实验二

#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;
 } 

理论分析:d=500/7,e=500/7,f=500/7.

实际编译:

 

原因:a,b,c,d,e,f都是定义的整型,所以运算结果也为整型,故a/b为零,d为零。

 

任务二:

#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("%1f\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;
}

 

理解:%d:整型;%8d:整型并且占8个字符;%f:浮点型;%8f:8字节浮点型;%8.1f:保留小数点后一位八字节浮点型;%.2e:指数形式,小数点后两位。

 

任务三:

#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,%.1f",x,y);
    return 0;
}

 

 

任务四:

#include<stdio.h>
int main()
{
    char x;
    x = getchar();
        if( x >= 0 && x <= 9)            printf("%c是数字字符\n",x);
        else if( x >= 'A' && x <= 'z')    printf("%c是英文字母\n",x);
        else                             printf("%c是其它字符\n",x);
    return 0;
}

 

 

实验五:

#include<stdio.h>
int main()
{
    char ans1,ans2;
    printf("复习了没? (输入y或Y表示复习了,输入n或N表示没复习) :");
    ans1 = getchar();
    getchar();
    printf("\n动手敲代码了没? (输入y或Y表示敲了,输入n或N表示木有敲) : ");
    ans2 = getchar();
    if( (ans1 == 'y' && ans2 =='y' ) || (ans1 == 'Y' && ans2 == 'Y'))
    printf("\n罗马不是一天建成的:)\n");
    else
    printf("\n罗马不是一天毁灭的。。。\n");
    return 0;
}

 

若去掉中间的getchar,则第一次输入的y或者n,不仅会判断第一次,也会判断第二次,第二次的判断会依据第一次输入的执行。

 

 

任务五:

#include<stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n) != EOF)
    {
        int sum=0;
        int ret=1;
        int i;
        for( i = 1;i <= n;i++)
                {
                ret *= 2;
            }
        sum = ret - 1;
        printf("n = %d时,sum = %d\n",n,sum);
        sum = 0;
        ret = 1;
    }
    return 0;
}

 

 

任务七:

 

#include<Stdio.h>
#include<stdlib.h>
#include<windows.h>
int main()
{
    int n=9; 
    int count=1;
    for( n = 9;n > 0;n-=2)
    {
        int j;
        int i;
        for( i = 1;i <= n;i++)
        {
            printf(" 0\t");
        }
        printf("\n");
        for( i = 1;i <= n;i++)
        {
            printf("<H>\t");
        }
        printf("\n");
        for( i = 1;i <= n;i++)
        {
            printf("I I\t");
        }
        printf("\n");
    }
    return 0;
}

posted @ 2020-11-01 12:30  微风间凉雨  阅读(107)  评论(2)    收藏  举报