day01
c语言基础
char类型
在内存中占一个字节
A == 9
ASSCII码表:解决字符在内存中存储的问题
字符 ASCII码值
A 65
B 66
C 67
a 97
大写和小写字母的ASCII值相差32
%c 将变量在内存中的数据以字符的形式打印出来
%d 将变量在内存中的数据转换在整数打印出来
示例的总结:
// A在内存中的ASCII码值是65
char v1 = 'A';
printf("v1 = %d\n",v1);
// 把v1的ASCII值+33
// v1 + 32 = 'a'
int v2 = v1 + 33;
printf("v2 ASSCII = %c,v2 数值 = %d\n",v2,v2);
// 0110
int v3 = 6;
printf("v3 = %d\n",v3);
// 1 1110
char v4 = '6';
printf("v4 = %d\n",v4);
char使用注意
char在内存中开辟一个字节的存储空间存储数据
char类型数据只有一个字节。一个汉字占3个字节
单引号”只能扩住单字节的字符
双引号”” 是字符串
char 类型可以当整数来使用
只能存储一个字节 -128 ~ 127
\ 转义符号
\n,\t,\,\”,\’,\0(空字符)
习题练习
/*
写一个方法将传入的字符转换成大写
*/
char upper(char c)
{
// 代码一定要严谨
// 如果在a~z范围之内,就进行转换
if(c >= 'a' && c <= 'z')
{
return c - 32;
}
else
{
// 否则,返回字符本身
return c;
}
// 优化
if(c >= 'a' && c <= 'z')
{
return c - 32;
}
// 可以执行到这里说明上面的条件不满足
return c;
}
int main()
{
char result = upper('b');
printf("result = %c\n",result);
return 0;
}
数组
基本数据类型: int float double char
构造数据类型: 数组
数组的定义:
类型 变量名[元素个数];
简单的初始化
int ages[5] = {32,44,25,17,12};
初始化方式:
快速赋值
int a[3] = {10,9,6};
int a[3] = {10,9};
int a[] = {10,9,6};
// 初始化的时候给指定数组位的元素赋值
int a[4] = {[1]=11,[0]=7};
// 没有赋值的数组位的值使用默认的数据的值.int:0 ,float:0.0f
正确写法
int ages['A'-60] = {10,9,6};;
int ages['A'] = {10,9,6};
数组中间只能放常量不能放变量
小demo
int count = 5;
int ages[count];
ages[0] = 10;
ages[1] = 11;
ages[2] = 13;
只是没有未初始化的数组的元素是不确定的有时候会是0,有时候不会
遍历: 按顺序查看数组的每一个元素