初识C语言--第二天(基础运算符)

     ---取地址符:&

            &  叫做取地址符&+变量名:可以获取变量在内存中的地址(通过%p可以打印在内存中的地址)

示例:

输出结果:

(注:Linux 64位操作系统环境下,打印出来的地址会很大,因为在64位操作系统中,地址变量在内存中占有8个字节)

---C语言的输入函数scanf

        格式:scanf(“格式控制串”,变量1的地址,变量2的地址,...)

        功能:从键盘上输入数据存放到变量1,变量2.....,变量n所表示的内存单元;

示例代码:

运行结果:

---有符号和无符号数

        在C语言中,基本数据类型都可以分为有符号(signed)无符号数(unsigned)

                

                                signed                                        unsigned
      含义        有符号数【正数、0、负数】                     无符号数【正数,0】
      写法    (signed)int、(signed)char,其中signed可省略不写                    unsigned int,unsigned char

---8bit数据的存储

        char,有符号类型,在内存中占1个字节,可以表示负数,0,正数;表示的数据范围【-128~127】

        unsigned  char,无符号类型,在内存中占1个字节,可以表示0,正数;表示的范围【0~255】

--原码、反码、补码

        无符号类型的数:原码,反码,补码都相同

例:

        10:原码:00000000 00000000 00000000 00001010

                反码:00000000 00000000 00000000 00001010

                补码:00000000 00000000 00000000 00001010

        有符号类型的负数的原码、反码和补码如下:

例:

        -10:原码:10000000 00000000 00000000 00001010        (其中第一位表示符号,1表示负数;0表示负数

                反码:11111111 11111111 11111111 11110101        (符号位不变,其他位取反

                补码:11111111 11111111 11111111 11110110        在反码的基础上+1

        --超出范围数据的计算方法

        1. 先计算整数的补码(=右边的数)
        2. 把补码赋值给变量,然后观察变量的数据类型,
         3.若是为unsinged char类型,一定为正数或0,原,反,补一样.%d输出的原码就是补码,直接转换为元素输出即可。
         4.若是为char类型,观察变量内存存储数据的最高位,1表示为负数,%d输出需要转换为原码输出.

示例代码:

输出结果:

---强制类型转换

        含义:采取某种方式将某种数据类型强制转换为我们需要的数据类型(注:强制转换知识临时强转,本身数据类型没有改变

       --显式转换

        格式:(数据类型)变量名(如 :int num = (int)pi;

        --隐式转换

        若运算符俩边的类型不匹配,并且没有进行显示指定类型;系统会默认触发隐式的强转,强转规则如下:

---算数运算符

        

                      运算符                           含义
                        +俩数相加
                        -俩数相减
                        *俩数相乘
                        /俩数相除(注:除数不能为零
                        %取模运算符(求余)要求俩边运算符必须为整数

tips:

         若俩边的操作数都为整数,默认为整除,小数舍去;

        %  要求俩边的运算数必须为整数,否则,系统提示错误;

示例代码:

输出结果:

---自增(++),自减(--)运算符

        规则:

        前置++(--),先做加(减)法运算,再赋值

        后置++(--),先进行赋值操作,再++(--)

        (注:++,--运算符是单目运算符

示例代码:

输出结果:

---关系运算符

        --常见的关系运算符

                     运算符                        含义
                        >大于
                        >=大于等于
                        <小于
                        <=小于等于
                        ==等于
                        !=不等于

说明:

<1>条件成立的时候,运算结果为真(1),不成立时,运算结果为假(0);

<2>C语言规定,关系表达式的值只有两个 0 (假)1 (真)

 <3>=和== 不同, =表示赋值操作,==表示判断是否相等;

示例代码:

输出结果:

---逻辑运算符

        --逻辑与  &&

        格式:表达式1 &&  表达式2

        规则:全真则真,有假则假

        短路特性:表达式1为假,则不会执行表达式2

        --逻辑或  ||

        格式:表达式1 ||  表达式2

        规则:全假则假,有真则真

        短路特性:表达式1为真,则不会执行表达式2

        --逻辑非  !

        规则:将假变成真,将真变成假

示例代码:

输出结果:

---位运算符

        --按位与运算符  &

        格式:表达式1  &  表达式2

        结果:1按位与1的结果为1,1按位与0的结果为0,0按位与0的结果为0(速记:全1则1,有0则0

        --按位或运算符  |

        格式:表达式1  |  表达式2

        结果:1按位或0结果为1,1按位或1的结果为1,0按位或0的结果为0(速记:有1则1,全0则0

        --按位异或运算符  ^

        格式:表达式1  ^  表达式2

        结果:相同为0,不同为1

        --按位取反运算符  ~

        格式:~表达式

        结果:1变成0,0变成1

        --左移运算符

        格式:表达式 << 位数

        结果:无论是正数还是负数,左移都是对应的二进制位向左移动高位丢弃,低位补0 左移的时候,等价于将这个数据乘以2的n(移动的位)次方

        --右移运算符

        格式:表达式  >>  位数

        结果:逻辑右移(针对无符号数据) 对应的是正数和0,逻辑右移是对应的二进制位向右移动,低位丢弃,高位补0。算术右移(针对有符号数据):若是数据为正数,算术右移是对应的二进制位向右移动,低位丢弃,高位补0。若是数据为负数,算术右移是对应的二进制位向右移动,低位丢弃,高位补1。速记:向右移动,低位丢弃,高位正数补0,负数补1

示范代码:

输出结果:

资源下载链接为: https://pan.quark.cn/s/5c50e6120579 在Android移动应用开发中,定位功能扮演着极为关键的角色,尤其是在提供导航、本地搜索等服务时,它能够帮助应用获取用户的位置信息。以“baiduGPS.rar”为例,这是一个基于百度地图API实现定位功能的示例项目,旨在展示如何在Android应用中集成百度地图的GPS定位服务。以下是对该技术的详细阐述。 百度地图API简介 百度地图API是由百度提供的一系列开放接口,开发者可以利用这些接口将百度地图的功能集成到自己的应用中,涵盖地图展示、定位、路径规划等多个方面。借助它,开发者能够开发出满足不同业务需求的定制化地图应用。 Android定位方式 Android系统支持多种定位方式,包括GPS(全球定位系统)和网络定位(通过Wi-Fi及移动网络)。开发者可以根据应用的具体需求选择合适的定位方法。在本示例中,主要采用GPS实现高精度定位。 权限声明 在Android应用中使用定位功能前,必须在Manifest.xml文件中声明相关权限。例如,添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />,以获取用户的精确位置信息。 百度地图SDK初始化 集成百度地图API时,需要在应用启动时初始化地图SDK。通常在Application类或Activity的onCreate()方法中调用BMapManager.init(),并设置回调监听器以处理初始化结果。 MapView的创建 在布局文件中添加MapView组件,它是地图显示的基础。通过设置其属性(如mapType、zoomLevel等),可以控制地图的显示效果。 定位服务的管理 使用百度地图API的LocationClient类来管理定位服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值