|
|
发表于 2026-4-14 17:20:32
|
显示全部楼层
练习题
0.使用long long int
1._Bool。因为它只存了两个值(真/假)
2.并不是,sizeof()是一种运算符
3.一字节等于八比特位
4.char?
5.E F
E是因为 在使用sizeof()获取数据类型大小时,语法为sizeof(type_name),缺了括号
F是因为单纯的写错了sizeof,把它拆开了。
6.unsigned int ,因为其无负数,导致其可存储的正数会比[short]int大一倍
7.如果从课程里面来说的话,意思是指程序的执行只可能有两种结果,是/否,不会出现模棱两可的情况。
动动手
0.
#include <stdio.h>
#include <math.h>
int main ()
{
int result = pow(1,2) + pow(2,3) + pow(3,4) + pow(4,5) + pow(5,6);
printf("1**2+2**3+3**4+4**5+5**6的值是%d\n",result);
return 0;
}
1.(这里的输出不论怎么改都是和图片不一样,虽然想到了问题大概率出在printf和变量的数据类型声明有误,但最后也没解决QAQ)
#include <stdio.h>
#include <math.h>
int main()
{
long double sum = 0;
short int temp,i;
double weight;
for (i=0; i < 64; i++)
{
temp = pow(2,i);
sum = sum + temp;
}
weight = sum / 25000;
printf("舍罕王应该给予达依尔%u粒麦子!\n",sum);
printf("如果每25000粒麦子为1kg,那么应该给%u公斤麦子!\n",weight);
return 0;
} |
|