目标:通过面试
后期服务JNI
C语言和C++的区别
1.C是面向过程 C++面向对象
(过程)上课:小王 走进教室 拿出电脑 开始听东哥的课
找对象:谁上课 Teacher (姓名 身高 年龄 )->东哥
谁来听 Student (姓名 年龄 学号)->小王
什么课 Subject(课程编号 名称)->Android开发
哪里上 Classroom(编号 座位数)->
怎么上 Computer()->
程序从写出来->有结果的过程
1开发工具IDE:DevC++ Android Studio
2创建项目
3运行
4结果
无编译环境
1、写代码——文本编译器
#include <studio.h>
int main (){
printf("hello word");
return 0;
}
2、预编译——>编译器(制定规则)
gcc-E test.c-o test.i
展开
3、编译——>高级语言转化为 汇编代码
gcc-S test.i-o test.s
a检查语法错误
b转化为汇编代码
4、汇编——>把汇编代码转化为二进制数据
gcc-C test.s-o test.o
5、链接——>把所有的目标文件链接转为课执行的程序
gcc-o test.o test
注释的使用
// 单行注释:用于一行简单的注释,不需要换行。
/多行注释/:注释内容过多,需要换行。
include的作用
include 宏 导入头文件
<系统提供的类库>
stdio.h stdlib.h math.h string.h
"自己定义的头文件"
▪include<studio.h>
编译器首先从系统的类库里面去查找这个头文件 若没有,再到自己的文件中查找,否则报错。
▪include"studio.h"
编译器首先从自己的文件中去查找这个头文件,若没有,再到系统中查找,否则报错a检查语法错误。
main函数介绍
main函数()=代码块=完成特定功能
所有的程序的入口点都是main函数
int返回值 记录当前程序的运行状态
0: 正常结束 资源自由分配
非零:1 异常结束 没收
int char:参数个数 argument count
char*argv[]: 每个参数组成的字符串数组
int main(int argc,char *argv[]){
printf("%d\n",argc);
printf("%s\n",argv[0]);
return 0;
}
printf函数格式化输
printf 输出语句 终端 console口
printf("hello world");
scanf函数格式化输出
输入语句,用来向终端输入数据
变量
变量是程序可操作的存储区的名称;变量的类型决定了变量存储的大小;变量名称必须以字母或者下划线开头。
声明:没有分配内存空间,使用的时候才会分配。
定义:立刻为我们分配内存空间,赋初值。
使用:
int num1,num2;
scanf("%d %d",&num1,&num2);
printf("%d %d\n",num1,num2);
\n换行
\t一个缩进
基本数据类型—>只能存一个值
int整形数据
float单精度浮点数 1.4 2.3
double双精度浮点数1.4
char 字符 'a' 'f'
string 字符串'jack'
short 短整形
bool 是,成立true 不是,不成立false
//占据的内容空间不一样
printf("%d\n",sizeof(int)) ;//4
printf("%d\n",sizeof(long));//4
printf("%d\n",sizeof(double));//8
printf("%d\n",sizeof(short));//4
printf("%d\n",sizeof(char));//1
printf("%d\n",sizeof(bool));//1
运算符
1.算数运算符:+ - * / % ++ --
a++是先赋值后运算,++a是先运算后赋值。
2.逻辑运算符
&&:且,两个操作都为真,即为真。
||:或,两个操作中一个为真,即为真。
!:非,逆转逻辑状态。
3.赋值运算符:
=:c=a+b,将a+b的值赋给c
+=:c+=a即c=a+c
-=:c-=a即c=a-c
=:c=a即c=a*c
/=:c/=a即c=a/c
%=:c%=a即c=a%c