C语言入门学习
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//#define MAX 10
//{
两个数相加
/*int num1 = 0;
int num2 = 0;
int sum = 0;
scanf("%d%d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n,sum");
return 0;*/
两个数相加还能使用函数的形式进行相加:
int num1 = 10;
int num2 = 20;
int sum = 0;
sum = Add(num1,num2); //其中 sum是函数的返回类型 Add是函数名 num1,num2是函数的变量,{}里面是函数体
printf(“sum = %d\n”,sum);
/*const int num = 4; //const -常属性,加上和就无法改变num的量 const修饰的常变量 :本质是变量但又拥有常属性
printf("%d\n", num);
num = 8;
printf("%d\n", num);*/
//int arr[MAX] = { 0 };
//printf("%d\n", MAX); //define 定义的标识符常量
//return 0;
//}
//enum Color
//{
// red,
// blue,
// yellow
//};
//int main()
//{
// enum Color color = blue; //enum 枚举常量 一一列举
// return 0;
//}
//int main()
//{
// char arr1[] = "abc"; //多个字符放在""中叫做字符串,单个字符放在''中叫做字符x ,"abc"--包含'a','b','c','/0'
// char arr2[] = { 'a','b','c' };
// //printf("%s\n", arr1);
// //printf("%s\n", arr2);
// printf("%d\n", strlen(arr1));
// printf("%d\n", strlen(arr2)); //arr2 输出的是随机值,因为要一直搜索到\0之后才会停止 ,\0是结束标志,不是字符串内容
// return 0;
//}
int main()
{
printf("%c\n", '\x60'); // \ddd ddd表示1-3个八进制数字 如 \130 x \xdd dd表示两个十六进制数字
return 0;
}
//int main() //选择语句
//{
// int input = 0;
// printf("明年准备考研\n");
// printf("你要好好学习吗?(1/0)>:");
// scanf("%d\n", &input); //scanf :输入函数
// if (input == 1)
// printf("成为研究生\n");
// else
// printf("成为烂狗\n");
//
// return 0;
//}
循环语句:
//int main() //循环语句
//{
// int time = 0;
// printf("暑假每天学习\n");
// while (time < 10)
// {
// printf("每天学习时间:%d\n",time); //打印出time的变量
// time++;
//
//
//
// }
// if(time >=9) //条件语句
// printf("考研成功率提高\n");
//
// return 0;
数组的定义与使用:
//int main()
//{
// int arr[10] = { 1,2,3,4,5,6,7,8,9 }; //数组的定义和使用
// int i = 0;
// while (i<9)
// {
// printf("%d\n", arr[i]);
// i++;
//
// }
// //printf("%d\n", arr[5]); //下标的形式访问元素
//
// return 0;
//}
取模:
//int main()
//{
// int a = 5 % 2;
// printf("%d\n", a); //取模 :取5%2后的余数
// return 0;
//}
//int main()
//{
// int a = 1; //整型1占4个字节-32bit位
// int b = a << 2; //移(2进制)位操作符 << 左移 >> 右移
// printf("%d\n", b);
// printf("%d\n", a);
// return 0;
//}
二进制:
操作符:
算术操作符:
+ - * / %
>> <<
& ^ |
= += -= *= /= &= ^= |= >>= <<=
单目操作符:
原码,反码,补码:
复数在内存中存储的时候,存储的是二进制的补码
列如:
补码:11111111111111111111
反码:11111111111111111110 (补码的末尾减1)
原码:100000000000000001 (符号位(首位)不变,在反码的基础上取反)
如果 最高位是1 存的是负数,最高位是0,存的是正数
加上static修饰全局变量后
程序报错:无法解析的外部命令,说明改变了变量的作用域--让静态的全局变量只能在自己所在的源文件内部使用
//static修饰函数
#define 定义常量和宏:
指针:
三者之间的关系图:
存储的空间名为a,存储了10,取a的地址存在指针p中(p为一个整形指针变量),若p=20,那么通过p找到a存储的值也变为20.
其中00x0012ff40是地址名
指针是个变量,用来存放地址,用*p来用地址