转义字符
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
int main()
{
/********** 转义字符 **********/
// \? 在书写连续多个问号时使用,防止他们被解析成三字母词
printf("(are you ok ??)\n"); //可能变成(are you ok ]如果是这样就要写成\?\?
// \' 用于表示字符常量'
printf("%c\n", '\''); //单字符'
printf("%s\n", "'"); //字符串'
// \" 用于表示一个字符串内部的双引号
printf("%c\n", '\"'); //单个字符"
printf("%s\n", "\""); //字符串" 显示效果和上面等价
// \\ 用于表示一个反斜杠\,防止它被解释为一个转义序列符
printf("D:\BaiduNetdiskDownload\n");
printf("D:\test\n");
printf("D:\\BaiduNetdiskDownload\n");
printf("D:\\test\n");
// \a 警告字符,蜂鸣
printf("\a");
// \n 换行 \r 回车 \t 水平制表符 \v垂直制表符
// \ddd ddd表示1~3个八进制的数字,如: \130 --> X(ASCII的88)
printf("%c\n", '\130');
// \xdd dd表示2个十六进制数字。 如: \x30 --> 0(ASCII的48)
printf("%c\n", '\x30');
printf("%d\n", strlen("c:\test\628\test.c")); //返回的字符串长度为14
return 0;
}
数组
数组名即首地址,所以用 scanf 可以不用加&
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
int main()
{
/********** 数组 **********/
/* 定义
*/
int arry[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char ch[5] = { 'a', 'b', 'c' };
/* 访问
*/
//下标
printf("%d\n", arry[8]);
printf("%c\n", ch[2]);
return 0;
}
操作符
算术操作符
+ - * / %
移位操作符
>> <<
位操作符
& ^ |
赋值操作符
= += -= *= /= &= ^= |= >>= <<=
单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
关系操作符
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
逻辑操作符
&& 逻辑与
|| 逻辑或
条件操作符
exp1 ? exp2 : exp3
逗号表达式
exp1, exp2, exp3, …expN
下标引用、函数调用和结构成员
[] () . ->