【c语言】学习笔记1

c语言可以说是高级计算机语言之母。之前学校有开c语言课程,但是几乎没有听过。期末考也是突击两小时。写java也有一年多了,总感觉只是停在用的基础上,没有办法去深究它到底是怎么样组织数据的。所以在一直想重新来一遍C语言。这算是一个开始。

 

# include <stdio.h>

int main()
{
    float weight;
    float value;
    
    printf("Are you worth your weight in platinum? \n");
    printf("Let's check it out.\n");
    printf("Please enter your weight in pounds: ");
    
    //scanf() 方法用于读取键盘的输入, %f 表明要读取的是浮点数, &weight表示 把scanf()方法读取的浮点数赋值给 weight。 
    scanf("%f", &weight);
    
    value = 1700.0 * weight * 14.5833;
    
    //在printf() 方法中,使用 %f 来输出浮点数。%.2f 用于精确控制输出,只输出小数点后两位 
    printf("Your weight in platinum is worth $%.2f.\n", value);
    printf("You are easily worth that ! If platinum price drop,\n");
    printf("eat more to maintain your value.\n");
}

输出

【c语言】学习笔记1

 

 

C语言数据类型关键字

【c语言】学习笔记1

 

内存:   

  位:bit 最小的存储单位,可以存储0或1.位是计算机内存的基本构建块;
  字节: byte 对于几乎所有的机器,1字节均为8位,这是字节的标准定义。有2^8种组合
  字: word 设计计算机时给定的自然 存储单位,对于8位的微型计算机,1个字长只有8位。 现在个人计算机增至16位,32位,64位。计算机的字长越大,其数据转移越快,允许的内存访问也越多。

整数存储结构
  【c语言】学习笔记1

浮点数存储结构:

  【c语言】学习笔记1

 

数据类型

  1. int(整型):

  int的大小为一个字长,而字长取决于计算机的设定。我现在的计算机是64位的,所以我这里一个int的大小为64位,也就是8个byte。但是我下面用sizeof(int) = 4, sizeof(int*)=8这就很尴尬了。

//声明
int age;     //声明一个
int count, amount, plat;   //声明多个

//初始化
int age = 12;     //声明时初始化

int count;
count = 5//先声明,后进行初始化

int dogs = 23, cats = 24;  //声明多个并初始化
int dogs, cats = 55;          //正确,但不推荐。格式糟糕

/*
声明时为变量进行内存分配,初始化时为变量赋值
*/

【c语言】学习笔记1

 

#include <stdio.h>

int main()
{
    int ten = 10;
    int two = 2;
    
    printf("正确打印方式:\n");
    printf("%d 减去 %d 等于 %d\n", ten, two, ten - two);
    printf("错误方式:\n");
    printf("%d 减去 %d 等于 %d\n", ten);   //遗漏2个参数 
    
    return 0; 
     
}

输出

【c语言】学习笔记1

 

显示进制输出

#include<stdio.h>

int main()
{
    int x = 100;
    
    printf("一个整型的大小为%d\n",sizeof(int));
    printf("一个整型指针的大小为%d\n",sizeof(int*));
    printf("dec =%d; octal = %o; hex = %x\n", x, x, x);
    printf("dec =%d; octal = %#o; hex = %#x\n", x, x, x);
    return 0; 
    
} 

/*
output:
    一个整型的大小为4
    一个整型指针的大小为8
    dec =100; octal = 144; hex = 64
    dec =100; octal = 0144; hex = 0x64
*/

 

其他整型

  1. short int 或 short: 占用的空间可能比int小

  2. long int 或long : 占用的空间可能比int大

  3. long long int 或 long long : 占用的空间可能比long大,至少为64位

  4. unsigned 无符号

    5. 为什么说 short i可能比 int 小。因为只规定了short占用的空间不能大于int,int占用的空间不能大于long.。所以它们有可能是相等的

整数溢出:

#include<stdio.h>

int main()
{
    int x = 2147483647;
    unsigned int y = 4294967295; 
    
    
    printf("%d;  %d; %d\n", x, x+1, x+2);
    printf("%d;  %d; %d\n", y, y+1, y+2);
    return 0; 
    
} 

/*
output:
    2147483647;  -2147483648; -2147483647
    -1;  0; 1
*/

 

 

 

 

 

 

 

  

 

上一篇:DevOps和容器:本地or云端,如何选择?


下一篇:研发人员为什么要守纪律?