类型名称: int ,long ,double
输入输出时的格式化: %d .$ld .%lf
所表达的数的范围: char<short<int<float<double
内存中所占据的大小:1个字节到16个字节
内存中的表达式:二进制(补码)
浮点类型
类型 字长 有效数字
float 32 7
double 64 15
浮点的输入输出
类型 scanf printf
float %f %f,%e
double %;lf %f,%e
逻辑运算
运算符 | 描述 | 示例 | 结果 |
! | 逻辑非 | !a | 结果a是true结果就是false 如果a是false结果就是true |
&& | 逻辑与 | a&&b | 如果a和b都是true,结果就是true; 否则就是false |
|| | 逻辑或 | a||b | 如果a和b有一个是true,结果true; 两个都是false,结果为false |
数组
<类型>变量名称[元素数量]
int grades[100];
double weight[20];
元素数量必须是整数
水仙花数
#include<stdio.h>
int main()
{
//水仙花数是指一个N位正整数(N>=3),
//它的每一个位上的数字的N次幂之和等于它本身.
//例如:153=1*1*1+5*5*5+3*3*3.本题要求编写程序,计算所有N位水仙数.
int n;
scanf("%d", &n);
int first = 1;
int i = 1;
while (i < n)
{
first *= 10;
i++;
}
printf("first=%d\n", first);
i = first;
while (i < first * 10)
{
int t = 1;
int sum = 0;
do {
int d = t % 10;
t /= 10;
int p = d;
int j = 1;
while (j < n)
{
p *= d;
j++;
}
sum += p;
} while (t >0 );
if (sum == i) {
printf("%d\n", i);
}
i++;
}
return 0;
}