浅谈C语言——初识C语言(2)

初识C语言(二)

本文章参考《C语言程序设计 现代方法(第二版)》以及自己总结,不正确或者不适当的地方欢迎批评指正,主要以学习总结以及应用为主,在深入学习的同时也会及时更正不适合的地方。

2.1格式化输入/输出

  • scanf函数和printf函数是C语言编程中使用最频繁的两个函数,他们用来格式化输入和输出。
  • printf属于显示格式,scanf属于读取输入格式。两者都包含格式串和表达式两个部分。

在这里插入图片描述
使用scanf函数时,必须检查转移说明的数量是否与输入变量的数量相匹配,并且检查每个转换是否适合相对应的变量。

2.2转换说明
最小字段宽度:一般形式为%m.pX和%-m.pX。特别说明%-m.pX表示左对齐。

精度:
d表示十进制形式整数;
e表示指数(科学技术法)形式的浮点数;
f表示“定点十进制”形式的浮点数;
g表示指数形式或者定点十进制形式的浮点数

2.3转义序列(常用)
\t:水平制表符;
\a:响铃符;
\n:换行符

(对于做程序最重要的还是去脚踏实地去实践,真正做了才会懂得为何如此,学的才会更扎实,以下为亲自实践得到的结果,各种知识点实践在程序注释中,请不要忽略哦!!!)

#include <stdio.h>

int main()
{
 int a;
 float f;
 scanf("%d%f",&a,&f); //以a为134955;f为2233.44456为例
 printf("输出的数a 3位:%3d \n",a);//输出最少3位,全都输出,不丢失数字
 printf("输出的数a 8位:%8d \n",a);//输出最少8位,不够前边增加空格
 printf("输出的数a 9位:%-9d ",a);//加“-”时,左对齐,从前边的数开始计算后边不够位数的加空格,
 printf("想不到吧,是这个数\n");
 printf("输出的数a 5.9位:%5.9d \n",a);//输出9位,要求位数不够前边补0
 printf("输出的数a 9.5位:%9.5d \n",a);//输出5位总共9位,超位数前边补空格
 printf("输出的数f 带4位小数:%.4f \n",f);//加上“.”会发现就是在浮点型数据后边加几个小数
 printf("输出的数f 带12.4位数:%12.4f \n",f);//总共要求12位,则取小数点前4位和小数点后4位小数点算1位,不够位数前边补空格
 printf("你好,\t世界!\a\nHello,\tworld!\n");//\t:水平制表符;\a:响铃符;\n:换行符
 return 0;

}

在这里插入图片描述
在简单编程或者初级编程中,也不免有许多小错误,或者每个编译器不一样所导致的结果也可能不同,有的可以编译通过有的则失败,在本章最后分享一下小的错误导致的大问题:

/****************************

  ********错误示范**********

****************************/

#include <stdio.h>

int main()
{

	int b,a = 6; 
	scanf("%d", &b);
	int c = a + b;
	int d =c + a;
	printf("%d\n%d\n",c ,d);
	return 0;
}

出现:1 error(s), 0 warning(s),拉上去第一行则syntax error : missing ‘;’ before 'type’很明显各种格式使用正确则报错定位出现误差。
此问题就相当于c和d还没有被定义类型就出现了表达式,有的编译器可能会被通过,则有部分编译器则出现报错的现象,如果检查确定没有语法错误,不如先调整一下语序或者在刚开始就全都定义完成。

/****************************

  ********修改后**********

****************************/

#include <stdio.h>

int main()
{

	int b,c,d,a = 6; 
	printf("    输入b的数值:");
	scanf("     %d", &b);
	 c = a + b;
	 d =c + a;
	printf("    %d+%d=%d\n",a,b,c);
	printf("    所以c的值为:%d\n",c);
	printf("    %d+%d=%d\n",c,a,d);
	printf("    所以d的值为:%d\n",d);
	return 0;
}

输入变量b的值为2;c=6+2=8; d=8+6=14
证毕。
在这里插入图片描述
相信各位看到这里肯定有学习到了一些知识,有时候细节和基础是非常重要的,小编在写非常简单代码时会很粗心导致许多问题不能够检查出来,相信经验积累了就会顺手很多!

我会继续更新我的新文章,请各位看官继续支持。

猜你喜欢

转载自blog.csdn.net/weixin_43540527/article/details/107784261