visual studio 看不见 点击解决资源管理器
scanf是C语言提供的 scanf_s不是标准c提供的 是vs编译器提供的 不具有跨平台性/移植性
常量
1.字面常量
2.const - 常属性
3.#define 定义的标识符常量
#define Max
int main()
{
int arr[Max]={0};
int num1 = 4;//字面常量
printf("%d",num1);
const int num2 = 8;//const修饰的常变量
printf("%d",num2);
printf("%d\n"Max);
}
4.枚举常量
枚举(enum) - -一 一列举
enum Sex
{
male;
female;
secret;
}
//male female 枚举常量
int main()
{
enum Sex s = female;
printf("%d",male);//0
printf("%d",female);//1
printf("%d",secret);//2 枚举常量是不能改的 但是其中的变量是可以改的
Return 0;
}
字符串 转义字符 注释
字符串 :由双引号引起的一串字符称为字符串
字符串结束的标志是一个\0的转义字符。在计算字符串长度的时候\0是结束的标志,不作为字符串的内容
int main()
{
char arr1[] = "abc";// 默认有'\0'隐藏在字符串末尾 a=97 ascll
char arr2[] = {'A','B','C' };
printf("%s\n",arr1);
printf("%s\n",arr2);
printf("%d",strlen(arr1));//strlen-string length求字符串长度 3
printf("%d",strlen(arr2)); //随机值
return 0;
}
//strlen 头文件为string.h
转义字符:内容的意思发生改变
\t水平制表符号
\?让三字母词的问好变成普通的问号,防止解析为三字母词
\ddd 表示1~3个八进制数字 \32 为8进制数字 32作为8进制代表的十进制数字,作为ascll码值对应的字符
\xdd表示2个十六进制数字,如\x30 0
注释
//
/........./不能嵌套
选择语句
int main()
{
printf("进入大学\n");
printf("你要好好学习吗?(1/0)>:");
scanf("%d",&input);
if(input == 1)
printf("给一个好offer\n");
else
print("卖红薯\n");
}
循环语句
while
for
do{.....}while
int main()
{
printf("进入大学\n");
while(line<20000)
{
printf("敲代码\n",line);
line++;
}
if(line>=20000)
printf("OFFER");
return 0;
}
函数
自定义函数
库函数
Add(int x,int y)
{
int z = x+y;
return z;
}
int main()
{
int num1 = 10;
int num2 = 10;
int sum = 0;
sum = Add(num1,num2);
printf("sum=%d",sum);
}
数组
int main()
{
int i;
int a = 1;
int b = 2;
int arr[10]={1,2};//存放10个数字的数组0-9
printf("%d",arr[1]);//用下标访问元素
while(i<10)
{
printf("%d",arr[i]);
i++;
}
return 0;
}
操作符
1.算术操作符 + - * /
5%2 取模 (取余)
2.移位操作符
<< 左移 >>右移 移二进制位操作符
int a = 1;
b=a<<1; 000000000001--->b=2 1左移一位
3.位操作(二进制位)
&按位与 |按位或 ^按位异或
a = 3
b = 5
a&b=001
a|b=7(二进制对应的是不是相同来判断二进制位的0或1)
4.赋值操作符
== 判断是否相等
a = a +10; 《=》 a+=10;
a &=2 《=》a = a&2
单目操作符 !a !为单目操作符(!反向操作符 假变为真 真变为假)
双目操作符 a+b +为双目操作符
三目操作符
sizeof计算的是变量/类型所占的空间大小,单位是字节