于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述Android JNI编程——C语言的基本数据类型,输出函数,输入函数相关的知识,希望能为你提供帮助。
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/。
目录(?)[+]
在学习C语言数据类型之前,我们先来回顾一下java中的基本数据类型和其特点
一:基本数据类型
1.在Java中有八大基本数据类型和一个引用数据(String)类型如下:
byte1字节
char2字节
short2字节
int4字节
float4字节
long8字节
double8字节
boolean
2.那在C语言中又有哪些类型呢?我们可以来看一下
int4字节
char1字节
float4字节
double8字节
long4字节
short2字节
signed4字节
unsigned4字节
void1字节
3.C语言为我们提供了一个函数可以直接用来计算类型的长度,这样想知道一个类型的长度就非常方便了
//计算类型的长度:sizeof(类型)返回一个长度为int型
main() {
//计算类型所占的长度
printf("int类型所占的字节:%d\n",sizeof(int));
printf("char类型所占的字节:%d\n",sizeof(char));
printf("float类型所占的字节:%d\n",sizeof(float));
printf("double类型所占的字节:%d\n",sizeof(double));
printf("long类型所占的字节:%d\n",sizeof(long));
printf("short类型所占的字节:%d\n",sizeof(short));
printf("signed类型所占的字节:%d\n",sizeof(signed));
printf("unsigned类型所占的字节:%d\n",sizeof(unsigned));
printf("void类型所占的字节:%d\n",sizeof(void));
}
4.细心的你可能会发现怎么少了个boolean类型呢?那该要怎么做判断呢!原来C语言使用的是非零和0来表示true和false。
//C语言中boolean类型,0表示为false,非零表示true
if(0) {
printf("false\n");
} else {
printf("true\n");
}
5.Java基本数据类型和C语言的一些区别:
- java中char类型的长度为2个字节,C语言中的长度为1个字节
- java中long类型的长度为8个字节,C语言中的长度为4个字节(C99(99年制定的表准)标准规定:long类型的规定,不小于整形)
- C语言中没有byte
- C语言中boolean类型,0表示为false,非零表示true
- singed:有符号范围:-128 ~ 127–> (-2^7 ~ 2^7-1)
- unsinged:无符号范围:0 ~ 255 –> (0 ~ 2^8-1)
- void:无类型,代表任意类型
- C语言中没有String类型,但是可以用char数组来表示
System.out.println()
还要少几个代码printf("内容");
//如果需要换行我们只需要添加换行符就行了
printf("\n","内容");
2.写一个简单的输出语句
main() {
char c = ‘a‘;
printf("c==\n",c);
//使docs窗口停留
system("pause");
}
【Android JNI编程——C语言的基本数据类型,输出函数,输入函数】
文章图片
为什么没有输出我们的a呢?原来C语言中对输出内容需要使用到占位符,那我们加个占位符来试下
main() {
char c = ‘a‘;
printf("c==%c\n",c);
//使docs窗口停留
system("pause");
}
文章图片
现在终于可以输出来了,那接下来就说一说占位符这个鬼东西。
- int–> %d
- long int–> %ld
- char–> %c
- float–> %f
- 短整形(short)–> %hd
- double–> %lf
- 十六进制输出–> %#x
- 无符号(unsigned)–> %u
- 字符串–> %s
- 八进制–> %o
3.现在我们来定义一些变量并对其输出
main() {
char c = ‘a‘;
int i = 12345678;
long l = 526247678;
float f = 3.1415;
double d = 3.1415926535;
//后面分析,为什么要这样写
char* str="我是一个字符串";
printf("c==%c\n",c);
printf("i==%d\n",i);
printf("l==%ld\n",l);
printf("f==%f\n",f);
printf("d==%lf\n",d);
printf("str==%s\n",str);
//使docs窗口停留
system("pause");
}
文章图片
咦~,输出的 f 后面怎么多了两个0呢?在C语言中默认保留小数点后六位,要想保留对应的位数,就需要在%后边加上” .保留位数”如下代码:
printf("f==%.4f\n",f);
//效果就是f==3.1415,图就不贴了
三:输入函数 1.输入函数介绍
scanf("占位符",内存地址);
2.写一个简单的输入函数,从控制台输入一个数字并将其打印在控制台上
int i;
printf("亲!请输入一个数字:\n");
//&
i,就是取i的地址,也就是把从控制台接收到的数据赋值给i。
scanf("%d",&
i);
printf("输入的数字为:%d\n",i);
文章图片
3.使用数组来表示我们的字符串、使用for循环打印数组内容
//定义一个数组[]必需在数组名右边
char arr[]= {‘H‘,‘e‘,‘l‘,‘l‘,‘o‘};
//for循环需要将变量在外面,不能像java一样定义在里面
int j;
for(j=0;
j<
5;
j++) {
printf("arr[%d]=%c\n",j,arr[j]);
}
//C语言中没有String类型,但是可以用char数组来表示
//直接将数组输出
printf("arr:%s\n",arr);
文章图片
4.我们还可以从控制台输入一个字符串
printf("请输World:\n");
//声明数组和数组长度
char arr2[5];
//将控制台的内容赋值给arr2
scanf("%s",&
arr2);
printf("arr2:%s\n",arr2);
5.在对数组进行输出的时候你会发现会多输出一些乱七八糟的东西,因为:数组是一块连续的内存空间,需要在数组最后面加上一个‘\0’表示结束
char arr3[]= {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘\0‘};
printf("arr3==%s\n",arr3);
这篇文章就先讲到这里了,接下来将继续学习C语言的指针及其他内容;学习的脚步不能停止,继续向前迈进。
推荐阅读
- Android JNI编程——JNI概念以及C语言Dev-C++开发环境搭建编写HelloWorld
- android播放器(mediaplayer)
- Android 开发--CMakeList调用本地so文件
- 静态RAM和动态RAM差异比较(它们之间有哪些区别())
- Android和iOS的13大最佳语言翻译应用程序推荐合集
- 12个最佳PDF签名工具推荐合集(你知道哪些(哪个最好用?))
- 如何在iPhone XR上使用声音进行屏幕录制(2种有效方法)
- 如何在Windows 10 PC或笔记本电脑中禁用Microsoft Edge()
- 13款Android的最佳抖音视频编辑器应用推荐合集