hxliu 发表于 2017-7-13 14:11:51

《带你学C带你飞》S1E6学习笔记

S1E6

数据类型
(1)基本类型
   ①整数类型(short int<=int<=long int<=long long int)
   ②浮点数类型(float、double、long double)
   ③字符类型(char)
   ④布尔类型(_Bool)
   ⑤枚举类型(enum)
(2)指针类型
(3)构造类型
   ①数组类型
   ②结构类型
   ③联合类型
(4)空类型

sizeof运算符
用于获得数据类型或表达式的长度
①sizeof(type_name);//sizeof(类型);
②sizeof(object);//sizeof(对象);
③sizeof object;//sizeof 对象;

signed和unsigned这一对类型限定符用于限定char类型和任何整型变量的取值范围。
signed表示该变量是带符号位的(可表示负数)。
unsigned表示概变量是不带符号位的(只能表示正数,存储空间相应扩大一倍)。
默认所有的整型变量都是signed

八种整数类型(加上上述一对后)
short
unsigned short
int
unsigned int
long
unsigned long
long long
unsigned long long

C标准规范存储空间最小的是_Bool,只需求足够容纳0和1两个数即可。

printf()是一个用于格式化打印的函数
而sizeof()不是函数,sizeof()是一个特殊的操作符
sizeof()是一个运算符
sizeof()是一个运算符
sizeof()是一个运算符

C语言中一个字节被定义为连续比特位,具体大小由实现环境决定。通常情况下(1Byte == 8bit)。

C标准只规定char类型占一个字节空间,其他数据类型均指定相对范围,具体大小依赖实现环境。

作业(pow)
pow(x,y)求x的y词幂
x浮点型,表示底数
y浮点型,表示指数
函数原型
#include <math.h>
...
double pow(double x, double y);
例题
#include <stdio.h>
#include <math.h>

int main()
{
        int result;
        int a;
        int b;
        int c;
        int d;
        int e;
       
        a = pow(1,2);
        b = pow(2,3);
        c = pow(3,4);
        d = pow(4,5);
        e = pow(5,6);
        result = a+b+c+d+e;
        printf("a = %d\n",a);
        printf("b = %d\n",b);
        printf("c = %d\n",c);
        printf("d = %d\n",d);
        printf("e = %d\n",e);
        printf("result = %d+%d+%d+%d+%d\n",a,b,c,d,e);
        printf("result = %d\n",result);
       
        return 0;
}


作业(麦子)
转换字符
u int;无符号十进制
length(长度修饰符)
l表示将相应的参数按long long 或 unsigned long 类型输出
ll表示将相应的参数按long long或unsigned long long 类型输出

例题
#include <stdio.h>
#include <math.h>

int main()
{
        unsigned long long sum = 0;
        unsigned long long temp;
        unsigned long long weight;
        int i;
       
        for(i=0;i<64;i++)
        {
                temp = pow(2,i);
                sum = sum + temp;
               
        }
       
        weight = sum /25000;
       
        printf("舍罕王应该给予达依尔%llu粒麦子\n",sum);
        printf("如果每25000粒麦子为1kg,那么应该给%llukg麦子\n",weight);
       
        return 0;
}

页: [1]
查看完整版本: 《带你学C带你飞》S1E6学习笔记