NDK以及C语言基础语法(二)
一、字符串类:(属于类类型) -String (在C++中才有)
使用之前必学引入String 类型:
引入String头文件(系统的头文件): #include <string> ps:头文件不是string.h
1.定义字符串: String a="abc"; String b="abd";
2.字符串的比较:从第一个字符逐个从左至右比较;比较的是ASCII码的大小
从1来看: a==a,b==b,c>d 所以a>b;
3.字符串数组:字符串数组中的元素字符串没有‘\0’这样的结束位;
二、常量与变量
1、什么是常量:
值不能改变的量 1 1.2 固定的值
常量的类型:
(1) 数值型常量(整数、浮点数);
(2) 字符型常量(字符常量、转义字符常量、字符串常量)
(3) 符号常量(#define 符号常量名 常量值)
2、变量
(1)变量
在程序运行期间值可以改变的量成为变量;
变量的命名规则:C++规定标识符只能由字母、数字、下划线组成,且只能由字母和下划线开头,大小写敏感
不能使用关键字和保留字;
(2)常变量
加了const关键字的变量,程序运行时值不可被改变,称之为常变量
ps:常变量在定义时必须初始化,此后他的值不可被改变;
三、运算符
1、算术运算符:
+ - * / % ++ --
加 减 乘 除 整除求余 自加 自减
2、关系运算符:
> < = >= <= !=
大于 小于 等于 大于等于 小于等于 不等于
返回值为bool(c语言中返回值为0和1)
3、逻辑运算符:
&& || !
逻辑与 逻辑或 逻辑非
逻辑运算符前后两个值都是bool(c语言中必须是0和非0值);
&&:都为真才为真,只要又一个为假就为假;
|| : 只要有一个为真就为真;
!: 与当前相反;
4、位运算符:
<< >> & | ^ ~
按位左移 按位右移 按位与 按位或 按位异或 按位取反
原码 反码 补码
5、赋值运算符 =
(1)意义:将赋值运算符右边的值(包含表达式最后的运算结果)赋值给赋值运算符左边的变量;
A=1;
(2)赋值操作的右结合性,被赋值的每个操作数都具有相同的数据类型,那么C++允许将这多个赋值操作写在一个表达式里A=b=c=1;
(3)赋值操作具有低优先级 A=b+c;
左值和右值
为防止和相等操作混淆,造成逻辑错误,一般尽量在条件判断时将不可作为左值的内容放在左侧;
6、条件运算符:
条件语句 ?语句1 :语句2
当条件语句为真时,执行语句一并返回最终值,当条件语句为假的时候,执行语句二并返回最终值;
7、复合运算符
+= -= *= /= %=
<<= >>= &= ^= |=
使用复合赋值操作时,左操作数只计算里一次;而使用相似的长表达式时,该操作数则计算了两次,第一次作为右操作数,而第二次
则用做左操作数。除非考虑可能的性能价值,这个差别不是本质性的
a+=1; 直接对a的内存中的值+1
a=a+1; 先取出a中的值,然后+1,最后把得出的值放回;
8、其他运算符
逗号运算符: ,
指针运算符:*
引用运算符和取地址运算符: &
求字节数运算符:sizeof
强制类型转换运算符:(类型)或类型()
成员运算符: .
域运算符: : :
指向成员的运算符: ->
下标运算符: []
函数运算符:()
9、程序和语句:
(一)声明语句
声明常量、变量、常变量的语句
(二)执行语句
(1) 控制语句:
1)if (){....}else{......}(判断语句)
2)for(){...}(循环语句)
3)while () {......}(循环语句)
4)do{.....}while(循环语句)
5)continue; (结束本次循环语句)
6)break; (中止语句,中止switch或循环语句)
7)switch;(多分支选择语句)
8)goto (转向语句)
9)return (从函数返回语句)
(2)函数和流对象调用语句
(3)表达式语句
(三)空语句
(四)复合语句
进制:
二进制: 逢二进一
八进制: 逢八进一 0~7
十进制: (生活中常用的)0~9
十六进制:逢十六进一 0~ABCDEF
NDK以及C语言基础语法(二)的更多相关文章
- NDK以及C语言基础语法(一)
一.什么是NDK? Native Development Kit (本地开发工具包): NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so文件和java文件一起打包成apk ...
- Smali语言基础语法
1.Smali语言基础语法-数据类型与描述符 smali中有两类数据类型:基本类型和引用类型.引用类型是指数组和对象,其它都是基础类型. 基本类型以及每种类型的描述符: Java类型 类型描述符 说明 ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- Java语言基础(二)
Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不 ...
- Go语言基础(二)
Go语言基础(二) 跟着上篇,继续看Go基础 一.变量作用域 与C类似,有全局变量.局部变量.形参之分 package main import "fmt" // 全局变量 var ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- C语言基础语法
#include <stdio.h> int main() { int age; printf("input your age"); scanf("%d&qu ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
随机推荐
- solr6.6安装
1. 确保系统已经安装jdk1.8,以及Tomcat8. 注:使用Tomcat7会出现很多问题,我遇到的是直接打不开solr的index页面,看网上有网友说还会遇到各种css.js资源404..还有l ...
- 关于SSO和跨域
http://blog.csdn.net/clh604/article/details/20365967/
- mysql 更新数据
set @num= 1000;update table set a= @num:=@num+1; set @date=now();UPDATE Orders t SET t.CreateTime = ...
- 安卓全屏状态下键盘充满屏幕留不出ui控件的解决办法附edittext和键盘的属性
1.我们先看看常用和不常用的属性值(Edittext) android:inputType参数类型说明 android:inputType="none"--输入普通字符 andro ...
- TCP/IP握手协议
转自:http://www.js123.net/t/n/n/2013/4/28/n_272.shtml 这篇介绍的也很棒:http://www.cnblogs.com/rootq/articles/1 ...
- Linux下Shell脚本字符串单引号、双引号、反引号、反斜杠的作用和区别
一.单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: 单引号字串中不能出现单引号(对单引号使用转义符后也不行) ...
- js 面试的坑:变量提升
全局中的解析和执行过程 预处理:创建一个词法环境(LexicalEnvironment,在后面简写为LE),扫描JS中的用声明的方式声明的函数,用var定义的变量并将它们加到预处理阶段的词法环境中去. ...
- IOS7开发~NSAttributedString
从 NSBundle 中读取rtf文本文件的内容,然后用UITextView展示: NSURL *url = [[NSBundle mainBundle] URLForResource:@" ...
- Python操作sqlite数据库小节
学习了Python操作sqlite数据库,做一个小结,以备后用. import sqlite3import os# 进行数据库操作时,主要是参数如何传输try:# 链接数据库conn=sqlite3. ...
- sublime的markdown插件
mac安装 shift+command+p调出package control面板,搜索install调查安装软件搜索面板 搜索需要安装markdown软件 我安装了下面两个:MarkdownLiveP ...