2021-10-03

"这篇博客介绍了C语言的基础知识,包括常量的四种类型,枚举的使用,字符串的存储和结束标志''的作用。还详细讲解了位操作符如按位与(&), 按位或(|), 按位异或(^)以及复合赋值符的用法,并通过实例展示了它们在实际操作中的应用。同时,提到了注释、条件语句和循环语句在程序中的重要性。"

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统学习c第二天

- 常量(4)
1.字面常量
2.const修饰的常变量 : eg:const int num=4 (num本质上是变量,但具有常属性,)
3.#define定义的标识符常量:eg:#define MAX 10
4.枚举常量(多个)
枚举关键字-enum
eg:
(1)enum Sex
{ MALE,
FEMALE,
SECRET
};//注意:大括号外要有分号
printf("%d\n",MALE);//0
printf("%d\n",FEMALE);//1
printf("%d\n",SECRET);//2
(2)enum Color
{ RED,//0
YELLOW,//1
BLUE//2
};
int main()
{
enum Color color = BLUE;
color = YELLOW;//√
BLUE = 6;//×
return 0;
}
字符串
(键盘上可以敲出的所有的东西都是字符)
eg:“abcd”;
" “;//空字符串
存放在字符数组中
char arr1 [ ] = “abc”;//数组
//“abc”–‘a’ ‘b’, ‘c’,’\0’–’\0’字符串的结束标志,不是字符串的内容
字符:char arr2 [ ] = {‘a’, ‘b’, ‘c’,0};//0或’\0’
printf(”%s\n",arr1);
printf("%s\n",arr2);
结果输出一样为:abc
补充:ASCII 码值-字符 : 97-a
0-’\0’
‘\0’的重要性:
char arr1 [ ] = “abc”;
char arr2 [ ] = {‘a’, ‘b’, ‘c’};
printf("%d\n",strlen(arr1));//strlen即string length,用于计算字符串长度的函数,其引用的头文件为#include <string.h>
printf("%d\n",strlen(arr2));
结果:3 //遇到’\0’结束,不再统计,‘\0’并不属于字符串的内容
15 //未知的,是随机值,直到遇到’\0’出现才结束
‘\0’是一个转义字符
转义字符
eg:
(1)? 在书写连续多个问号时使用,防止他们被解析成三字母词
??+一个符号为三字母词
eg:??+) 为:三字母词: ]
printf("(are you ok??)\n");//输出为:(are you ok]
不想被转变:在三字母词中每个?前加一个
printf("(are you ok??)\n");//输出为:(are you ok??)
\可以用于转义\或?等,让他们是一个普通符合
(2)
printf("%c\n",’ ’ ‘);//×
目的:让中间的’不是一对单引号的组成部分,不去配对,而是一个普通的’
解决:在其前加\来转义
printf("%c\n",’ ’ ');`
(3)\ddd:一个字符
printf("%d\n",strlen(“c:\test\32\test.c”));//13
\32 中 32作为八进制代表的那个十进制数字,作为ASCII码值,对应的字符
printf("%c\n", ’\32’);//向右的箭头
同理:\xdd:

注释
c :/* /
缺陷:不能嵌套注释
c++: //
条件语句,循环语句(3),函数(库函数&自定义函数),数组,操作符(算术,移位,位,赋值,单目)
加法函数:
int Add(int x ,int y)
{ int z = x+y;
return 0;
}
int main()
{ int a=3;
int b=4;
sum = Add(a,b);
}
数组:(一组相同类型元素的集合)
eg:int arr[10] = {1,2,3,4,5,6,7,77,8};
char ch[20];
float t[40];
用下标的方法访问元素:
printf(%d\n",arr[4]);//5
用循环语句:访问0到4:
int i=0;
while(i<5)
{ printf("%d\n",arr[i]);
i++;
}
位操作符(2进制):
&按位与
|按位或
^按位异或

int a = 3;
int b = 5;
int c = a&b ;//c=1
int d = a|b;//d=7
int e=a^b;// ^不是次方,乃异或
异或计算规律:
对应的二进制位同则为0,异则为1
e=6
*****复合赋值符:
***+= |= &= ^= %= >>=
*单目操作符VS双目操作符VS三目操作符
eg:!逻辑反操作
0为假,非0为真
int a=10;//10非0为真
则!a = 0;
单目操作符:
! 逻辑反操作
- 负值
+ 正值(通常省略)
& 取地址
sizeof 操作数(变量或者类型或数组)的类型长度(单位是字节)
Printf(“%d\n”,sizeof(int));//√
Printf(“%d\n”,sizeof(a));//√
Printf(“%d\n”,sizeof a);//√
Printf(“%d\n”,sizeof int)//×
int arr[10];
Printf(“%d\n”,sizeof(arr))//40
应用:计算一个数组的元素个数
sizeof(arr)/sizeof(arr[0]);
~ 对一个数的二进制按位取反
– 前置 ,后置–
++ 前置,后置++
* 间接访问操作符
(类型) 强制类型转换
移(2进制)位操作符
<< 左移
>> 右移
int a = 1;//整型1占4个字节即32个比特位即1(十)= 00000000000000000000000000000001
int b = a<<2;//b=4,但a没变,仍为1

世界地图矢量数据可以通过多种网站进行下载。以下是一些提供免费下载世界地图矢量数据的网站: 1. Open Street Map (https://www.openstreetmap.org/): 这个网站可以根据输入的经纬度或手动选定范围来导出目标区域的矢量图。导出的数据格式为osm格式,但只支持矩形范围的地图下载。 2. Geofabrik (http://download.geofabrik.de/): Geofabrik提供按洲际和国家快速下载全国范围的地图数据数据格式支持shape文件格式,包含多个独立图层,如道路、建筑、水域、交通、土地利用分类、自然景观等。数据每天更新一次。 3. bbbike (https://download.bbbike.org/osm/): bbbike提供全球主要的200多个城市的地图数据下载,也可以按照bbox进行下载。该网站还提供全球数据数据格式种类齐全,包括geojson、shp等。 4. GADM (https://gadm.org/index.html): GADM提供按国家或全球下载地图数据的服务。该网站提供多种格式的数据下载。 5. L7 AntV (https://l7.antv.antgroup.com/custom/tools/worldmap): L7 AntV是一个提供标准世界地图矢量数据免费下载的网站。支持多种数据格式下载,包括GeoJSON、KML、JSON、TopJSON、CSV和高清SVG格式等。可以下载中国省、市、县的矢量边界和世界各个国家的矢量边界数据。 以上这些网站都提供了世界地图矢量数据免费下载服务,你可以根据自己的需求选择合适的网站进行下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值