NDK探究之旅《二》——C语言的基本认识

若是对jni和ndk概念比较模糊,建议先阅读上一篇博文html

NDK探究之旅《一》——对jni和NDK的认识java

C语言是什么

  • C语言是一门通用计算机编程语言,应用普遍。android

  • C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少许的机器码以及不须要任何运行环境支持便能运行的编程语言编程

如何看待C语言

  • 学好C语言,你能够很好地应付任何一种编程工具。 windows

  • 必定要多敲代码,经过程式了解相关知识。几经反复方得正果。数组

  • 不要把学习C语言当成一种任务,更不要把它当作很难完成的任务。要充满自信,只要是一个智力正常的人都能学好C语言。始终保持游戏的心态,多发现其中的乐趣。当感到编程趣味无穷,那你在电脑方面将前程无量。 微信

  • 若是一个程式一时没法弄清楚最后暂时放在一边,过一段时间你可能会从其余的程式中悟出道理。 编程语言

  • C语言是一个总体,各个方面是有机联系的,要从整体上把握它,不要把它割裂成互不关联的部件。函数

  • 不要彻底相信教材,全部结论竟实践验证最好工具

C程序的构成

尽管C程序的内容变幻无穷,可是它们的构成都是一致的,一个完整的C源程序的格式能够以下表示:

  • 编译预处理

  • 主函数()

  • 函数()

C语言的基本词法

C语言的基本词法由三部分组成:

  • 符号集

    符号集就是一门语言中容许出现的字符的集合,C语言的符号集就是ASCⅡ码表中的一些字符,在键盘上不能直接获得(好比说响铃字符)

  • 关键字

    标识符就是用以标识的符号。正如现实生活中给每个人都取一个名字同样,C语言中的每个对象(如函数、变量等)都必须取一个标识符以和其它对象区别开。

  • 保留字。

    关键字实际上就是一些特殊的标识符,又称保留字,这些保留字不容许用户对它从新定义。

    头文件、数听说明、函数的开始和结束标志

  • 头文件:也称为包含文件或标题文件,通常放在一个C语言程序的开头,用#include″文件名″的格式,其中文件名是头文件名,通常用.h做为扩展名。

  • 数听说明:C语言中的数据分常量和变量两种。

  • 常量:有数值常量和符号常量两种。

  • 数值常量:能够分为整型常量、实型常量、浮点型常量和字符常量。

  • 符号常量:用一个标识符表明的一个常量,又称标识符形式的常量

  • 变量:其值能够改变的量,变量名习惯上用小写字母表示。

  • 标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。

  • 标识符的命名规则:C语言中标识符只能由字母、数字下划线三种字符组成,且第一个字符必须为字母或下划线。

    • C语言是大小写敏感语言,即对大小写字母认为是不一样的字符。
    • C语言中标识符的长度随系统不一样而字,如TURBOC中取前8个字符,8个字符后面的字符会自动取消。

C语言的基本数据类型

  • java 语言的八基本类型
    • byte 1个字节 8位
    • int 4个字节 32位
    • double 8个字节 64位
    • float 个字节 32位
    • long 8个字节 64位
    • char 2个字节 16位
    • boolean 1个字节 8位
    • char 2个字节 8位
  • C语言的基本数据类型

    • char 1个byte 8位 和java不一样
    • long 4个byte 32位 和java不一样
    • int 4个byte 32位 和java相同
    • double 8个byte 和java相同
    • float 4个字节 和java相同
    • short 2个byte 32位
    • signed
    • unsigned
    • void

    注意:

    • 在C语言中,没有boolean类型。 0假, 非0真
    • 在c语言中,没有byte类型,能够用char表示byte

eg:
%d表示的是一个int数据类型。%只是一种格式
&是取地址,&i表示为取内存中i的地址

修饰符的做用

  • unsigned 无符号---》长度为 0~2的32次方 - 1
  • unsigned 有符号的---》长度为-2的32次方~2的31次方-1

输出类型函数:
%d---> int

格式字符 意义
d% 以十进制形式输出带符号整数(正数不输出符号)-->int
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀Ox)--->int 或者是 long int short int
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
ld long int
hd 短整形 half
lf 输出 double

C语言经常使用转义字符表

ASCII码表完整版

C语言经常使用转义字符表

(来自blog.csdn.net/abc5382334/…)

  • 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。
  • 在C程序中使用转义字符\ d d d或者\ x h h能够方便灵活地表示任意字符。
  • \ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。

  • \ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。

使用转义字符时须要注意如下问题:

  • 转义字符中只能使用小写字母,每一个转义字符只能看做一个字符。

  • \v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操做。

  • 在C程序中,使用不可打印字符时,一般用转义字符表示

注:

  • '\v'垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操做。

  • \n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。

  • \t光标向前移动四格或八格,能够在编译器里设置

  • \'在字符里(即单引号里)使用。在字符串里(即双引号里)不须要,只要用'便可。

  • \?其实没必要要。只要用?就能够了(在windows VC6和tc2中验证)。

简单的踩坑:

cpp `system' undeclared (first use this function)

解决办法:
zhidao.baidu.com/question/55…

注意
打印的时候,什么样的数据,须要用什么样的占位符,不然数据打印出错

相信本身,没有作不到的,只有想不到的

若是你以为此文对您有所帮助,欢迎入群 QQ交流群 :644196190
微信公众号:终端研发部

技术+职场
技术+职场
相关文章
相关标签/搜索