#define _CRT_SECURE_NO_WARNINGS #include//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("%dn", arr[4]);//[]-下标引用操作符 // //[]-操作数是两个:arr,4 // return 0; //} //int Add(int x, int y) //{ // return x + y; //} //void test() //{ // //} //int main() //{ // int a = 10; // int b = 20; // int ret = Add(a, b);//()-函数调用操作符//操作数为3 // //()-不能省略 // test();//没有参数,操作数为1 // //函数调用操作符接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数 // return 0; //} //结构成员访问操作符 //. //-> //结构体 // int float char short //double long //书;书名,书号,出版社,作者,定价 //人;名字,年龄,性别 创建了一个自定义的类型 //struct Book //{ // //结构体的成员(变量) // char name[20]; // char id[20]; // int price; //}; //int main() //{ // struct Book b = { "C语言","C20220502",55 }; // // 结构体变量名.成员名 // //printf("书名:%sn", b.name); // //printf("书号:%sn", b.id); // //printf("书价:%dn", b.price); // // //struct Book* pb = &b; // //printf("书名:%sn", (*pb).name); // //printf("书号:%sn", (*pb).id); // //printf("书价:%dn", (*pb).price); // // 结构体指针->成员名 // //struct Book* pb = &b; // //printf("书名:%sn",pb->name); // //printf("书号:%sn",pb->id); // //printf("书价:%dn",pb->price); // // return 0; //} //int main() //{ // int a = 3; // int b = 5; // int c = a + b * 7; // // return 0; //} 负数的整形提升 //char c1 = -1; //变量c1中的二进制(补码)中只有8个比特位 //11111111 //因为char为有符号的char //所以要整型提升的结果,高位补充符号位,即为1 //提升后的结果 //11111111111111111111111111111111 正数的整形提升 //char c2 = 1; //变量c2中的二进制(补码)中只有8个比特位; //00000001 //因为char为有符号的char //所以要整型提升的结果,高位补充符号位,即为0 //提升后的结果 //00000000000000000000000000000001 //int main() //{ // char a = 3; // //00000000000000000000000000000000000000011 // //00000011-a // char b = 127; // //00000000000000000000000000000000001111111 // //01111111-b // char c = a + b; // //整型提升是按变量的数据类型的符号位来提升的 // //00000000000000000000000000000000000000011 // //00000000000000000000000000000000001111111 // //00000000000000000000000000000000010000010 // //10000010-c // //11111111111111111111111111111111110000010-负数存放的是补码 // //11111111111111111111111111111111110000001-反码 // //10000000000000000000000000000000001111110-原码--126 // //发现a和b都是char类型,都没有达到一个int的大小 // //这里就会发生整形提升 // //整型提升是按变量的数据类型的符号位来提升的 // // // printf("%dn", c);//-126 // return 0; //} 无符号整型提升,高位补0 //int main() //{ // char a = 0xb6; // short b = 0xb600; // int c = 0xb6000000; // // if (a == "0xb6") // printf("a"); // if (b == 0xb600) // printf("b"); // if (c == 0xb6000000) // printf("c"); // return 0; //} //int main() //{ // char c = 1; // printf("%un", sizeof(c));//1 // printf("%un", sizeof(+c));//4 // printf("%un", sizeof(-c));//4 // printf("%un", sizeof(!c));//4 gcc-4 // // return 0; //} //int main() //{ // int a = 3; // int b = 5; // a + b;//值属性,类型属性 int // return 0; //}



