实验2 C语言表达式编程应用及输入输出函数

 

 

实验任务1

 

#include <stdio.h>
#include <stdlib.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);
    system("pause");

    return 0;
}

 

 

d=a/b*c=5/7*100=0*100=0

e=a*c/b=5*100/7=500/7=71

f=c/b*a=100/7*5=14*5=70

 

变量d, e, f的计算结果不同的原因是d,e,f均为int型整型,且计算顺序不同。

 

实验任务2

 

// ex2.cpp

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

 

 

格式字符 

%d 按十进制整数输出

%f 按浮点数输出

%e 按指数形式输出

%c 按字符输出

%s 按字符串输出

修饰符

m 输出数据域宽,数据长度<m,左补空格;否则按实际输出

.n 对实数, 指定小数点后位数(四舍五入),对字符串,指定实际输出位数

l 在d、o、x、u前,指定输出精度为long型;在e、f、g前

,指定输出精度为double型

 

实验任务3

 

// ex3.cpp
#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("%lf,%lf\n",x,y);
    
    return 0;
} 

 

 

实验任务4

 

// ex4.cpp
// 判断字符类型 
#include <stdio.h>
int main() {
    char x;
    
    x = getchar();
    
    if(x>=48&&x<=57) // 判断x是数字字符表达式 
        printf("%c是数字字符\n", x);
    else if(x>=65&&x<=90||x>=97&&x<=122) // 判断x是大写或小写英文字母的表达式 
        printf("%c是英文字母\n", x);
    else
        printf("%c是其它字符\n", x);
    
    
    return 0;
} 

 

 

 

 

实验任务5

 

// ex5.cpp
#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==89||ans1==121)&&(ans2==89||ans2==121))
        printf("\n罗马不是一天建成的:)\n");    
    else
        printf("\n罗马不是一天毁灭的。。。\n");

    return 0;
} 

 

 

 

 

实验任务6

 

#include <stdio.h> 
#include <math.h> 
int main()
{
    int n,sum;
    scanf("%d",&n);
    if(n<1||n>10)
    printf("invalid input");
    else
    {
    sum=pow(2,n+1)-1;
    printf("n=%d时,sum=%d",n,sum);
    }
return 0;
}

 

 

 

 

实验总结

学习了:

数据类型与运算符优先级和结合性对计算结果的影响

输入和输出的使用方法

c语言常见输出格式字符和修饰符的意义和用法

条件语句的使用

 

posted @ 2020-11-04 21:24  迷你糖ovo  阅读(210)  评论(1)    收藏  举报