Android Day5

Android Day5

技术及应用

1.比较运算符
在if等语句中使用
&& 表示 且
|| 表示 或
2.数据类型转换
隐形转换 当两种不同类型出现 类型自动从低到高转换
exp1:
for (int i = 0; i < 26; i++){
printf("%c", 'A' + i);
}
强制转换
exp2:
float b1 = 23.6;
int a3 = b1;
int a3 = (int)b1;

float a4 = 100/1024;
printf("%d\n", temp);输出为0.000000

float a4 = 100/1024.0;
printf("%d\n", temp);输出为0.097656
3.switch语句
switch() 括号内C语言只能为整型 java都可
4.break return continue
return会终止函数的执行,并返回函数的值
5.解决头文件相互引用出错的问题:使用宏定义
①给特定的数值一个特定的意义②便于管理

exp1:
#define WEHCHAT 1;
#define QQ 2;

exp2:
#ifndef ATM_hhhhhhh 如果没有定义 放在开头其他头文件前面
#define ATM_hhhhhhh 那就定义一下
代码块
#endif
相当于 展开一个条件判断语句 判断 是否已经定义

exp3:
debug版本测试版本用1测试能否显示
release版本把debug版本的宏定义中1改为0,就不用一个个注释掉了
6.数组
基本数据类型 只能存储一个数据 int float double long char bool
数组 需要存储多个同种类型的数据
(1)能够存储数据 就必须要有内存
(2)如何定义一个数组的同时为他分配内存空间
(3)定义一个数组必须确定大小 才能分配内存空间
初始化是几个就是几个
(4)数组的名字就是数组的首地址(第一个元素的地址)
Ps:从0开始

exp1:
float score[] = {23,234,2315,231};
score[0]; //访问第一个元素的值 0,1,....n-1
&score[0]; //访问第一个元素的地址
printf("%p\n", &score[0]); //数组的地址用%p显示
printf("%p\n" score); //两者结果相同

exp2:
int temp[5]; //声明数组,没有立即分配内存
int temp2[5] = {2,3}; //定义数组,并初始化部分数据,立即分配内存

如何使用数组
访问 通过下标来访问 0 - n-1 printf("%d\n",temp2[0]);
赋值
temp[0] = 6;

具体代码如下

实验1 用数组计算1加到100的值

以下为利用for循环实现
int num[100] = {};
int i = 1;
int sum = 0;
for (; i <= 100; i++) {
    num[i] = i + 1;
    sum += i;
}
printf("%d", sum);
利用whlie循环实现如下,将i++嵌入while循环内部即可
int num[100] = {};
int i = 1;
int sum = 0;
while (i <= 100) {
    i++;
    num[i] = i + 1;
    sum += i;
}
printf("%d", sum);

实验2 用数组将输入的任意数字转换为二进制或十六进制的数字

int num;
int result[10] = {};
int i = 0;
printf("请输入一个数字:");
scanf_s("%d", &num);
while (num >= 1) {
    i++;
    result[i] = num % 2;
    num = num / 2;
}
for (int j = i; j > 0; j--) {
    printf("%d", result[j]);
}

此实验应当注意利用while循环将二进制数输入到数组内后,顺序为逆,应当再利用一次for循环将顺序恢复正常

int num;
int result[10] = {};
int i = 0;
printf("请输入一个数字:");
scanf_s("%d", &num);
while (num >= 1) {
    i++;
    result[i] = num % 16;
    num = num / 16;
}
for (int j = i; j > 0; j--) {
    int a = result[j];
    if (result[j] >= 10) {
        printf("%c", 'A' + a - 10);
    }
    else
    {
        printf("%d", a);
    }
}

感想

今天是正式上课的第四天,感觉还有很多不足,布置练习的时候我总是在一个地方卡壳,大概还是对基本知识不熟悉吧,当听到课后练习的题目的时候,脑子里真的什么东西都没有,不知道该怎么去写,没有思路,所以还是要加油努力吧,慢慢把这些东西都补回来

你可能感兴趣的:(Android Day5)