系统学习c语言已接近一个月左右,期间一直在pta上面做题训练,下面是遇到的一些问题和解决方案:
if语句后也可以不接大括号,此时跟在if后面的仅有一句语句生效
让一个整型与浮点型运算会强行将整型转换为浮点型,如{
int a=1;
int b=2;
double c=(a+0.0)/b
//此时a和b已经被强行转换为浮点型
printf("%.2f",c);
//这里可以选择输出c的小数点位数
}
%d普通的输出十进制整型。
%.2d是输出最低两位有效数字,比如1,会输出01。
%2d时输出宽度为最低为2的十进制整型,比如1,会输出 1,默认右对齐。
%02d就是输出宽度为2的十进制整型,宽度不够0来凑,比如1,会输出01。
%02d和%.2d的区别如下:
printf("%6.4d\n",312);
输出结果为 0312,宽度为6,有效数字为4位。
%f输出浮点型
%f.2输出浮点型小数点后两位
记一个提取浮点型小数部分的方法:
double a;
int b=a-(int)a;
//这样就可以很简单地提取出来浮点型的小数部分啦
/*
当您声明:
int column, row, index = 0;
仅索引设置为零。
但是,您可以执行以下操作:
int column, row, index;
column = index = row = 0;
但是我个人更喜欢指出的以下几点。
在我看来,这是一种更具可读性的表格。
int column = 0, row = 0, index = 0;
要么
int column = 0;
int row = 0;
int index = 0;
*/
结构体数组:完美解决了类和对象的问题:
当我需要定义一个类的时候,为了方便(其实是因为c语言中不能用类和对象),我定义一个结构体,然后把结构体传入数组中去
具体操作如下:
typedef struct {
int sex;
int age;
}student;
student a[8]//假设有九个学生要被定义
这样做十分方便,也增加了代码的可读性
需要注意的是输入数组的时候直接输入a即可,例如:
getelem(n,a);