C语言学习 6 续5

    一、地址

        整型变量占4个字节,那么他的首地址+1在编译器里面认为是跳到后面的一个整型变量位置所以他会+4

        变量是表示一块内存空间,所以变量是用来存放数据的.空间是由地址组成的,所有内存中的所有变量都有自己的地址。

         总结:变量的地址进行加减操作,看是什么类型     

         int           跳 4

        char         跳  1

        short       跳 2 

二、浮点型----实型


        数据类型不同,大小不同

        定义赋值初始化: 单精度float : 4

                                      双精度double :  8

                                      长双精度 long double : 16

        输入输出格式

        float : 输入输出格式为%f

        double: 输入输出格式为%lf,(老的编译器)输出可以%为f,但是输入一定要lf --- 如果你输入的时候是用f的话编译器会把你这变量当成float去输入导致数据丢失

        long double: 输入输出为%Lf

各个类型输入输出格式统计

        编译输出浮点型数据,默认是6位精确,但是为了数据能以最大的精确长度输出,会在 %后面加上    .  多少    例如%.2f

        E表示科学计数法: 这种数据默认是浮点型,E的后面是整数,E前面也要一个数 

        2E3:表示2X10的3次方(标准写法:2E+03)

        数据在机器内存的存放形式:

        基本类型:short   int    long     long long     char 以二进制(补码)形式存放

        浮点型:涉及指数部分 

三、字符型

        字符数据=字母 + 符号 + 数字字符 +转义字符


        字符变量的定义: char data;//定义一个叫做 data 的字符变量

        字符变量的赋值: data = ',';

        字符变量的初始化: 初始化 = 定义+赋值 char char_data = '1';

·        取值范围: -2的7次方 ~ 2的7次方  -1

        对于字符,字符有对应的ascii表:设置字符数据的存放格式和表达方式。 字符编码 ascii表明,每一个字符都有自己的 字符表达+十进制表达+八进制表达+十六进制表达,所以字符类型和整形可以互相转换表示

字符和整形相互转换表达

#include <stdio.h> 

int main() 
{ 
    int int_a = 96; 
    char char_b = 'a'; 

    printf("%c\n",int_a); 
    printf("%d\n",char_b); 

    return 0; 

}

     转义字符

        \ddd 表示八进制           例如 \066

        \xhh 表示十六进制       例如 \xfff 切记不能\0x开头

        布尔类型

        使用它需要包含一个头文件 stdbool.h     其实就是让编译器编译的时候找对应的文件,那么文件里面的内容你在写代码的时候就可以写去用

        布尔变量只有两种情况,用来判断真和假 真:true表示 1 假:false表示 0

#include <stdbool.h> 

int main() 
{ 
    bool flag = false; 
    bool a = false; 

    if(a==false) 
    { 
        printf("你好!\n"); 
    } 
    else 
    { 
        printf("世界!\n"); 
    } 

    return 0; 
    
} 


//因为布尔变量起始就是0或者1,
//实际上只需要占一个位的空间,
//但是在操作系统和最小的处理基本内存单位是字节,
//故一个布尔变量是1个字节

        数据类型计算大小

        计算数据类型或者变量的大小我们可以用杂项运算符来帮我们计算:sizeof 

        关于sizeof: 他是帮我们计算数据类型的字节长度,这个长度是确定的值,这个数据值也有类型: 比较新的编译器(16.04以上):长整形 比较老的编译器(12.04以下包括12.04):整形

        int 的大小: 32和64:4个字节     16:2个字节

        long的大小: 32: 4个字节          64:8个字节

        long double: 32:12个字节        64:16个字节

        四、数据类型转换

        自动转换(隐式转换)

        char ---》 short ----》 int ---》 long ---》 double

        混合运算: 当一条式子中处在不同类型的数据进行运算的时候,会自动转成高精度的类型

int a=1; 
short b = 2;  

所以printf("%d\n",a+b-a*b+a);    //a+b-a*b+a会变为int
 

赋值运算: 等于号右边的类型会自动转成等于号左边的类型 


float b = 2.45; int a = b; 
                            //b本来是浮点型,
                            //在赋值运算的时候自动转成int型 
printf("%d\n",a);

        注意: 低精度转高精度:取值范围变大,好! 高精度转低精度:取值范围变小,数据可能会丢失,不好!

        强制转换(手动转换)

        第一种强制转换: 
        
        int a = 11; 
        printf("%ld\n",(long)a);

        第二种强制转换 “提高可读性” 
        int a = 1; 
        float b = (float)a; 

        第三种强制转换 混合运算中的强制转换 
        int a = 2; 
        long b = 1; 
        printf("%d\n",a+(int)b);

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
断点传是指在文件传输过程中,如果传输中断了,可以从中断的地方继传输而不需要重新传输整个文件。在C语言中,可以使用FTP协议实现断点传功能。通过FTP协议,可以连接到FTP服务器,进行文件的上传和下载操作。 实现断点传功能的方法有多种,其中一种方法是使用FTP的REST命令。REST命令可以指定文件传输的起始位置,这样就可以从中断的地方继传输。在C语言中,可以使用libcurl库来实现FTP操作。libcurl是一个常用的网络传输库,可以支持多种协议,包括FTP。 在使用libcurl库进行FTP操作时,可以使用curl_easy_setopt函数设置相应的选项。其中,通过设置CURLOPT_RESUME_FROM选项可以指定文件传输的起始位置,实现断点传功能。具体的代码实现可以参考引用中提供的示例代码。 除了使用libcurl库,还可以使用其他的FTP库或者自己实现FTP协议来实现断点传功能。在实现过程中,可以通过打印调试信息、设置断点、逐步执行等调试技巧来帮助定位和解决问题。可以参考引用中的示例代码和调试技巧来进行开发和调试。 综上所述,可以通过使用FTP协议和相应的库或者自己实现FTP协议来实现断点传功能。在C语言中,可以使用libcurl库来进行FTP操作,并通过设置CURLOPT_RESUME_FROM选项来实现断点传。同时,可以利用调试技巧来帮助定位和解决问题。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [C语言实现ftp断点传](https://download.csdn.net/download/mtzai/14985975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [C语言错误调试和处理学习笔记.md](https://download.csdn.net/download/weixin_52057528/88255019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值