1.计算机中的单位
bit 比特 byte 字节 换算8bit=1byte
kb mb gb tb pb 换算1024
计算机是硬件--通电 正电:1 负电:0
char=1byte shert=2byte int=4byte long=4/8byte long long=8byte float=4byte double=8byte
sizeof(int)<=sizeof(long)
2.变量
全局变量--定义在{}外的变量 作用域:整个工程
局部变量--定义在{}内的变量 作用域:变量局部范围
(因为二者可以同时存在,所以不建议命同样的名。当二者名字相同时,局部变量优先)
3.输入函数:scanf
#include
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
scanf("%d%d", &num1, &num2);//&取地址符号
//C语言语法规定,变量要定义在当前代码块{}的最前面
sum = num1 + num2;
printf("sum=%d\n", sum);
return 0;
}
scanf处会出现错误 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
原因:scanf是C语言提供的,visual的编译器认为这有威胁
scanf_s不是C语言提供的,是visual studio的编译器提供
解决方法1:在“解决方案管理器”中选择项目右键-->属性-->C/C++-->常规-->SDL检查改为否
解决方法2:源文件第一行加上#define _CRT_SECURE_NO_WARNINGS
4.常量
·字面常量(直接写出 如:100 ,3.14等)
·const修饰的常变量(const常属性,把一个变量搞成常量)
·#define定义的标识符常量(#define 变量 数字)
·枚举常量
#define _CRT_SECURE_NO_WARNINGS
#include
enum Sex
{
MALE,
FEMALE,
SECRET
};
int main()
{
//enum Sex s=FEMALE
printf("%d\n", MALE);//0
printf("%d\n", FEMALE);//1
printf("%d\n", SECRET);//2
return 0;
5.补充(转载hello-alien的)
%d //整型输出
%ld //长整型输出
%o //以八进制数形式输出整数
%x //以十六进制数形式输出整数,或输出字符串的地址
%u //以十进制数输出unsigned型数据(无符号数)
注意: %d与%u的区别是,有无符号的数值范围不同,也就是极限的值不同,不然数值打印出来会有误
%c //用来输出一个字符
%s //用来输出一个字符串
%f //用来输出实数,以小数形式输出,默认情况下保留小数点6位
%.5f //用来输出实数,保留小数点5位
%e //以指数形式输出实数
%g //根据大小自动选f格式或e格式,且不输出无意义的零
原文链接:https://blog.csdn.net/chenmozhe22/article/details/109738852
6.#include
int main()
{
char arr1[] = "abc";//数组,单字符用‘’多字符用“”
//“abc"--//'a''b''c''\0'--('\0'字符串的结束标志)
char arr2[] = { 'a','b','c',0 };
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
7.#include
#include
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c'};
printf("%d\n", strlen(arr1));//strlen--string length(字符串长度)
printf("%d\n", strlen(arr2));
return 0;
}
8.进制的换算
32(8进制-->10进制)=3*8^1+2*8^0=26
10进制-->8进制:短除法 除不尽的余数往上放
9.if语句(注意:if的后面是不带;的)
int main()
{
int input = 0;
printf("你要好好学习吗?(1/0)>:");
scanf("%d", &input);
if(input == 1)
printf("好offer\n");
else
printf("卖红薯\n");
return 0;
}
10.循环语句(1)
int main()
{
int line = 0;
while (line < 20000)
{
printf("敲一行代码\n %d/n",line);
line++;
}
if(line>=20000)
printf("good job\n");
return 0;
(2)数组
int main
{
int arr[10]={1,2,3,4,5,6,7,8,9,10};
下标对应:0,1,2,3,4,5,6,7,8,9(注意:下标是从零开始的,下标意义在于找出对应的元素,如下)
printf("%d\n",arr[4]);
return 0;-------->这样打印出来的数字是5
更改一下上面程序,用下循环语句
(3)int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
while (i < 10)
{
printf("%d ", arr[i]);
i++;//数字递增
}
return 0;
11.操作符
%取摸,就是取余数(/取商,不算余数)
>>左移符号 0000000000001>0000000000010(2进制)(10进制即1>2)
同理<<右移符号
&按位与=交集 |按位或=并集 ^异或:对应的二进制位相同则为0,反之为1
=赋值 ==判断是否相等
a=a+10-->a+=10
a=a-10-->a-=10
12.转义字符