设为首页 加入收藏

TOP

[ndk,1]ndk开发,C语言入门讲解(一)
2014-11-23 21:12:24 来源: 作者: 【 】 浏览:20
Tags:ndk 开发 语言 入门 讲解

一、C语言helloworld案例入门:

#include //引入头文件(引入函数库)相当于java import的操作

#include

main() //主函数,跟java类似 程序的入口函数

{

printf("Hello world !\n"); //在控制台输出

system("java cn.itcast.demo.HelloWorld");//调用执行java文件

system("pause");

}

//system("pause");是:调用cmd里面的暂停命令,让cmd窗口暂停执行以下 ,方便我们观察程序的执行结果.

二、C语言的基本数据类型:

c语言的数据类型

char, int, float, double, signed,unsigned, long, short and void

1.在c99的语法的中 是没有boolean的数据类型的,true false 非0代表真 0代表的是假.

2.c语言里面没有byte类型 ,

如何让c语言表示 java中的byte呢 可以利用char类型代替java中的byte类型

3.c语言里面没有String的字符串 , c想表示一个字符串 一般是通过char数组来表示的

sizeof(); 参数是数据类型 返回值就是这个数据类型在内存中占用多少空间

4. 注意: signed, unsigned:只能修饰整数类型的数据 不能修饰浮点型的数据。

signed表示有符号,unsigned表示无符号。

5.java中的char是两个字节 ,c语言里面 1个字节

*/

#include //引入头文件 java import的操作

main()

{ // %d 代表的是一个占位符

printf("char占用的字节为%d\n",sizeof(char)); 1个字节

printf("int占用的字节为%d\n",sizeof(int)); 4个字节

printf("float占用的字节为%d\n",sizeof(float)); 4个字节

printf("double占用的字节为%d\n",sizeof(double)); 8个字节

printf("short占用的字节为%d\n",sizeof(short)); 2个字节

printf("long占用的字节为%d\n",sizeof(long));

printf("signed int占用的字节为%d\n",sizeof(signedint));

printf("unsigned int占用的字节为%d\n",sizeof(unsignedint));

//printf("unsigneddouble占用的字节为%d\n",sizeof(unsigned double)); 该行代码会报错。

system("pause");

}

三、输入输出函数:

1、C语言中的删除操作使用占位符实现的,不同类型的数据对应不同占位符:

%d - int

%ld – long int

%c - char

%f - float

%lf – double

%x – 十六进制输出 int 或者long int 或者short int

%o - 八进制输出

%s – 字符串

%hd - short

short

2、C语言的输入函数:

Int len;

Scanf(“%d”,&len); //扫描键盘的输入函数:

参数1:输入数据的指定类型的占位符。

餐宿2:指定保存输入数值的变量地址。

例:

#include //引入头文件 java import的操作

main()

{

int i = 129024;

long l = 333L;

char c ='B';

float f = 3.1415926f;

double d = 3.1415;

short s = 257;

printf("int i =%d\n",i);

printf("int l =%ld\n",l);

printf("int c =%d\n",c);

printf("int f =%f\n",f);

printf("int d =%lf\n",d);

printf("short s=%hd\n",s);

char cc;

printf("请输入一个int类型的值\n");

//& 取地址

scanf("%c",&cc);

printf("char cc =%c\n",cc);

//接收输入的字符串:使用char数组:

//定义一个char类型的数组 叫arr 用来存放字符串

char arr[]={' ', ' ',' ','',' '};

printf("请输入一个字符串\n");

scanf("%s",arr);

printf("数组的内容%s\n",arr);

system("pause");

}

四、指针:

1、所谓指针就是一个地址,地址其实就是一个内存空间的编号.

2、每个变量在内存中都有一个地址 :通过& 符号获取变量的地址.

例:

#include

main(){

int i;

//把i变量在内存中的地址 打印出来

//打印出变量的地址,指针就是一个地址 ,

//地址为十六进制:如:0xXXXX ,#表示打印的数值前面带0x

printf("i的地址为%#x\n",&i);

//60秒的倒计时

for(i =60; i>0;){

printf("剩余时间%d\n",i);

sleep(4000);

i--;

}

printf("游戏结束\n");

system("pause");

}

3、指针和指针变量:

例:

#include

main(){

// 1. 指针就是地址, 通过一个地址可以访问到一块内存空间, 如果修改这个内存空间里面的内容

int i = 5; //定义一个int类型的变量 变量的名字 叫 i 里面存放的内容 是一个int类型的值

// 2. 指针变量 用来存放一个变量地址的变量

int* p; //定义了一个int* 类型的变量 变量的名字叫p 里面存放的内容 是一个

//int* 类型的值

//也可以定义为:int *p; 或 int * p;

p = &i; // p里面存放的就是 i变量的地址了.

printf("p的值为%#x\n",p);

// 指针和指针变量的关系

// 指针是一个地址 ..

// 指针变量是存放一个地址的变量

//其实是两个完全不同的概念,但是 世面的书籍 习惯上把指针跟指针变量没有做区别

// * 号操作符的使用:

1.使用场景,定义一个指针变量 int* double* long*

2.表示两个数据相乘 3*5 = 15;

3. 如果*号后面跟的是一个指针变量, 用*可以访问指针变量内部存放的地址 里面存储的变量

//*p; //获取p变量里面存放地址所指向的变量,就是i对应的值;

//*p 和 i 代表的是同一个变量

printf("*p的值为%d\n",*p);

system("pause");

}

五、指针的常见错误:

1、指针未经赋值不能使用: 以下代码会报错:

#include

main(){

int i = 5;

int* p ;

printf("*p的值为%d\n",*p);

system("pause");

}

2、不同的指针类型 不能进行相互的转化

#include

/**

不同的指针类型 不能进行相互的转化

每一种变量类型 在内存中占用的空间 是不相同的.

*/

main(){

s

首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Windows Sockets:背景知识 下一篇Windows Sockets:使用带存档的套..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: