
# C语言学习记录日期 8.7## 今日知识点 ——选择语句## 练习代码#includestdio.h//int main()//{// int input 0;// printf(“加入学习小组\n”);// printf(“要好好学习吗(1/0)?:”);// scanf(“%d”,input);// if(input 1)// printf(“好工作\n”);// else// printf(“混子\n”);// return 0;//}今日知识点 ——循环语句练习代码int main(){int line 0; printf(写代码\n); //循环语句 while(line30000) { printf(写代码:%d\n,line); line; } if(line 30000) { printf(good\n); } return 0;}今日知识点 ——函数与数组函数数组练习代码int Add(int x,int y){int z 0; z x y; return z;}int main(){int num1 0; int num2 0; scanf(%d%d,num1,num2); //int sum num1 num2; //函数的方式解决 int sum Add(num1,num2); printf(%d\n,sum); return 0;}int main(){// int a 1;// int b 2;// int c 3;// int d 4;//... //数组 -- 一组相同类型的元素的集合 //10个整数1~10存起来 //数组通过下标访问arr[0]表示第一个数组 int arr[10] {1,2,3,4,5,6,7,8,9,10}; int i 0; while (i 10) { printf(%d,arr[i]); i; } char ch[5] {a,b,c};//不完全初始化剩余的默认为0。数组下标从0开始 return 0;}今日知识点 ——操作符操作符算术操作符、-、*、%、/移位操作符、位操作符按位与 、^按位异或、赋值操作符、、-、*、/、、^、单目操作符、-、、、sizeof、~…关系操作符(大于、(大于等于、、、、逻辑操作符逻辑与,两个为真才为真、条件操作符三目操作符exp1 exp2 exp3逗号表达式exp1,exp2,exp3,…expN下标引用、函数调用和结构成员[]、()、.、-单目操作符逻辑反操作-负值正值取地址sizeof操作数的类型长度以字节为单位~对一个数的二进制按位取反–前置、后置–前置、后置*间接访问操作符解引用操作符类型移位操作符赋值操作符单目操作符练习代码算术操作符、移位操作符和赋值操作符//int main()//{// int b 9 / 2;// float a 9 / 2.0;//int a 9 % 2;//% – 取模余 余1// printf(“%d\n”,b);// printf(“%f\n”,a);// printf(“%d\n”,a);// int a 2;// int b a 1;//左移2转为二进制–10(int占4字节一个字节8bit4*832要补全32位)– 00000000000000000000000000000010,左移一个0最右边补一个0就是00000000000000000000000000000100–转为十进制为4// printf(“%d\n”,b);// int a 2;// a a 5;//赋值 等于 a 5;// a a - 3;//等于 a - 3;// a a % 3;//等于 a % 3;// return 0;//}单目操作符int main(){//a b,有两个操作数双目操作符 //单目操作符只有一个操作符 //0表示假非0表示真// int a 0;// printf(“%d\n”,!a);//1// if(a)// {// //如果a为真做什么事// }// if(!a)// {// //如果a为假做什么事// }//sizeof是一个操作符不是函数是计算类型或者变量的大小的// int a 10;// printf(“%d\n”,sizeof(int));//求类型的时候不能省括号// printf(“%d\n”,sizeof a);//求变量的时候可以省括号//10*440,其中10个数每个数是int为4字节 int arr[10] {0}; printf(%d\n,sizeof(arr));//计算的是数组的总大小单位是字节 printf(%d\n,sizeof(arr[0]));//4,算的是第一个数组类型的大小 int sz sizeof(arr) / sizeof(arr[0]); printf(%d\n,sz); return 0;}//操作符按二进制位取反把所有二进制位中数字1变成0,0变成1。整数a0的二进制为00000000000000000000000000000004*832a111111111111111111111111111111111补码再转成原码10000000000000000000000000000001第一个为符号位1为负0为正int main(){int a 0; printf(%d\n,~a); return 0;}//int main()//{// int a 10;// int b a;//前置// printf(“%d\n”,b);// printf(“%d\n”,a);// return 0;//}int main(){int a 10; int b a;//后置先使用后加加 printf(%d\n,b);//10 printf(%d\n,a);//11 return 0;}//强制转化int main(){int a (int)3.14;//将浮点数强制转化为整数 printf(%d\n,a); return 0;}//逻辑与、逻辑或//int main()//{// int a 2;// int b 3;// int c a b;// printf(“%d\n”,c);//1// int a 0;// int b 3;// int c a b;// printf(“%d\n”,c);//0// int a 0;// int b 0;// int c a b;// printf(“%d\n”,c);//0// int a 0;// int b 0;// int c a || b;// printf(“%d\n”,c);//0// int a 0;// int b 1;// int c a || b;// printf(“%d\n”,c);//1// int a 7;// int b 1;// int c a || b;// printf(“%d\n”,c);//1// return 0;//}//条件操作符三目操作符//exp1 成立exp2 计算整个表达式的结构是exp2的结果//exp1 不成立exp3 计算整个表达式的结构是exp3的结果int main(){int a 0; int b 3; int max 0;// if(a b)// max a;// else// max b;max a b ? a : b; printf(%d\n,max); return 0;}//逗号表达式int main(){//(2,4 5,6); int a 0; int b 3; int c 5; int d (ab2,c a-4,bc);//逗号表达式,是从左向右依次进行计算的整个表达式的结果是最后一个表达式的结果 printf(%d\n,d); return 0;}//下标引用操作符int main(){int arr[10] {1,2,3,4,5,6,7,8,9}; printf(%d\n,arr[5]); return 0;}//函数调用操作符int main(){//调用函数的时候函数名后边的就是函数调用操作符 printf(hehe\n); printf(%d,100); return 0;}