1.关于EOF的使用
//关于EOF的使用
int main()
{
char ch = '\0';
int consum = 0, digsum = 0, capsum = 0, smasum = 0, othsum = 0;
while (ch = getchar(), ch != EOF) //在VS2019中,ctrl+z表示中止当前标准输入
//(stdin),ctrl+c表示终止程序,因此使用ctrl+c时
//会将整个程序结束掉从而使得打印不完全,因此最好使
//用ctrl+z。
{
if (iscntrl(ch))
{
consum++;
}
else if (isdigit(ch))
{
digsum += 1;
}else if (isupper(ch))
{
capsum += 1;
}else if (islower(ch))
{
smasum += 1;
}else
{
othsum += 1;
}
}
printf("consum: %d \n", consum);
printf("digsum: %d \n", digsum);
printf("capsum: %d \n", capsum);
printf("smasum: %d \n", smasum);
printf("othsum: %d \n", othsum);
return 0;
}
打印结果:ctrl+c
ctrl+z
2.关于程序的结束
程序的结束有两种方法,分别是exit()和_exit,使用exit()时推出程序并清理内存,而使用_exit时不清理内存。还有一种情况,就是要在程序结束后调用其他的函数,这是便可以使用atexit(函数),这种函数表示在程序结束后调用指定的函数。
3.数组的相关知识
数组的作用:数组在编程中最广泛的应用就是查表。
数组的两个最重要的属性:元素的类型和数量,缺一不可。其元素是在数组中连续存放的。
数组中的元素:数组中每个独立的数据。元素的类型可以是任意型。
语法规则:<类型> 数组名 [<数组大小(大于零的整型常量)>] = {数组元素};已定义数组的未定 义元素均为0。数组在未确定元素个数的时候必须初始化。
数组元素个数的计算:sizeof(数组名)表示计算数组中一共所占的字节个数。sizeof(数组名[0])表 示数组中第1个元素所占的字节个数。两者相除就是数组元素个数。
问题:数组下标为什么从0开始?
数组的地址遵循下面这个公式:a[i]_address = base_address + i*data_type_size。如公式中所指,在地址寻址中,使用i寻找对应地址,若将下标从1开始排列,那寻址公式就要从i变成i-1,算法就要多一位。