[编程] C语言变量和数据类型总结练习题详解编程语言

练习题:

 

1) 如何用 printf() 输出 shortintlong 类型的整数,请举例说明。

2) 如何用 printf() 输出 floatdouble 类型的小数,请举例说明。

3) 如何用 printf() 输出八进制、十进制和十六进制的 int 类型,请举例说明。

4) int 类型的长度到底是多少?

5) 定义两个 float 类型的变量 f1 f2,如下所示:

float f1 = 3.3;

float f2 = 3.8;

它们转换为 int 类型后的值分别是多少?

6) 下面数学运算的结果是多少?

int a = 10 + 8 – 4 * 3 + 24 / 4 * 6 + 3;

7) 下面那几个是C语言的关键字?

int    main    function    char    =

8) 一年大概有 3.156×107秒,要求输入你的年龄,然后显示该年龄合多少秒。

9) 输入一个 ASCII 码值,输出它后面的字符。

10) 下面的代码有错吗?如果有,有几个,分别是什么错误?

#include <stdio.h>

main(){

    float r, pi = 3.14;

    scanf(“%f/n”, &r);

    area = pi * r * r;

    printf(“area = %.2f/n”, area);

 

}

 

练习题超级无敌标准答案:

#include <stdio.h> 
int main(){ 
        //1) 如何用 printf() 输出 short、int、long 类型的整数,请举例说明。 
        short a=1; 
        int b=1; 
        long c=1; 
        printf("a=%d;b=%d;c=%d/n",a,b,c); 
 
        //2) 如何用 printf() 输出 float、double 类型的小数,请举例说明。 
        float d=1.1; 
        double e=1.11; 
        float f=221.19; 
        printf("d=%2.1f;e=%3.2f;f=%.1f/n",d,e,f);//小数位数不够的会进行四舍五入 
 
        //3) 如何用 printf() 输出八进制、十进制和十六进制的 int 类型,请举例说明。 
        int g=0b101; 
        int h=0171; 
        int i=11; 
        int k=0x1a; 
        printf("g=%d;h=%#o;i=%d;k=%#x;/n",g,h,i,k); 
 
        //4) int 类型的长度到底是多少? 
        //int 一般占用 4 个字节(Byte)的内存,共计 32 位(Bit)。如果不考虑正负数,当所有的位都为 1 时它的值最大 
,为 232-1 = 4,294,967,295 ≈ 43亿 
 
        /* 
        5) 定义两个 float 类型的变量 f1 和 f2,如下所示: 
        float f1 = 3.3; 
        float f2 = 3.8; 
        它们转换为 int 类型后的值分别是多少? 
        */ 
        float f1=3.3; 
        float f2=3.8; 
        printf("f1=%d;f2=%d; /n",(int)f1,(int)f2);//会把小数部分抹掉 
       /* 
        6) 下面数学运算的结果是多少? 
        int a = 10 + 8 - 4 * 3 + 24 / 4 * 6 + 3; 
        */ 
        int l = 10 + 8 - 4 * 3 + 24 / 4 * 6 + 3; 
        printf("l=%d /n",l); 
 
        /* 
        7) 下面那几个是C语言的关键字? 
        int    main    function    char    =  
        */ 
        //int(关键字) main(关键字) function(关键字) char(关键字) =(不是) 
 
        /* 
        8) 一年大概有 3.156×107秒,要求输入你的年龄,然后显示该年龄合多少秒。*/ 
        int age=21; 
        float ageSeconds=20*3.156*107; 
        printf("您的年龄%d,合计%f秒 /n",age,ageSeconds); 
 
        /*9) 输入一个 ASCII 码值,输出它后面的字符。*/ 
        char m='a'; 
        int n=98; 
        printf("%c的ASCII值是%d,%d对应的字符是%c /n",m,m,n,n); 
 
        /* 
        10) 下面的代码有错吗?如果有,有几个,分别是什么错误? 
#include <stdio.h> 
main(){ 
    float r, pi = 3.14; 
    scanf("%f/n", &r); 
    area = pi * r * r; 
    printf("area = %.2f/n", area); 
} 
        */ 
        /* 
        没有给area变量定义类型 
        test.c:5: error: ‘area’ undeclared (first use in this function) 
        test.c:5: error: (Each undeclared identifier is reported only once 
        test.c:5: error: for each function it appears in.) 
        */ 
        /* 
        修改后可用 
        #include <stdio.h> 
        main(){ 
                float r, pi = 3.14; 
                scanf("%f/n", &r); 
                float area = pi * r * r; 
                printf("area = %.2f/n", area); 
        } 
        */ 
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/12521.html

(0)
上一篇 2021年7月19日 14:43
下一篇 2021年7月19日 14:43

相关推荐

发表回复

登录后才能评论