本文档旨在分享学习 c 语言过程中遇到的相关知识,便于自己做积累,知识包括但不限于相关软件、c 语法、bug解决方案等
开发软件:Dev C++
- 新建文件时的默认初始代码设置
菜单栏—>工具—>编辑器属性—>代码—>缺省源—>勾选向初始化源文件插入代码—>确定—>ctrl+n[win系统下]新建一个源代码即可看到设置好的初始代码
C语言小语法
- 在C语言中初始化两个变量以相同的值时,不能如下初始化:
int a,b = 10;
或int a=b=10;
=> 前者将得到一个不确定的未知数和一个10,a的值在不同机器上运行出的结果各异,因为这样并没有将a赋值,输出的是机器存储a的位置上原先有的值。
=> 后者将报错,因为b未定义,无法赋值给a。
=> 可以int a=10,b=10;
或者直接分开定义并初始化。
- a++和++a [- -同理]
a++表达式的值为a+1前的a值
++a表达式的值为a+1后的a值
int main(){
int a=10;
printf("%d\n",a++); //10
//printf("%d\n",++a); //11
printf("%d",a); //11
return 0;
}
- %和/来求多位数的某一位值
=> %的作用可以理解为保留低位数
=> / 的作用可以理解为消除低位数
具体保留或消除哪些位上的数主要取决于符号后的数是几位,以该数的位数为分界线,%保留该位之后的数,/消除该位之前的数,得到结果
int main(){
int a=1234;
//符号后的数为100,是一个三位数
printf("%d ",a%100); //34 保留第三位之后的数
printf("%d",a/100); //12 消除第三位之后的数
return 0;
}
- 二维数组的初始化
定义二维数组时,行数可以省略,列数不可省略;
=> 举个栗子说明初始化含义:
int a[][3] = {{0},{1},{2}}; //此处行数省略由编译器自行计数
=> 初始化中{ }内填写初始化的数据,其中每一个{ }内填写一行的初始化数据,默认从一行的第一位数开始填写,省略的初始化为0,有几个内大括号就代表有几行。
=> 此代码可见定义了3列,内大括号有3个即有3行,这是一个为3行3列数组
第一行只定义了第一个数为0,后面两列省略初始化为0,即{ 0,0,0 };
第二行也只定义了第一个数为1,则后面两列初始化为0,即{ 1,0,0 };
同理,第三行为{ 2,0,0 };
验证:
int main(){
int a[][3] = {{0},{1},{2}};
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
printf("%d ",a[i][j]);
}
printf("\n"); //一行结束换行
}
return 0;
}
//0 0 0
//1 0 0
//2 0 0
菜鸡学习积累,如果错误欢迎大佬指正