㈠ c语言中,下面三种变量定义的输入/输出格式是什么
都一样,printf("%f",a);
㈡ 请分别说明c语言中输入、输出格式字符串的特点与作用。
格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。不同类型的数据用不同的格式字符。 格式字符有d,o,x,u,c,s,f,e,g等。 如 %d整型输入/输出,%ld长整型输入/输出, %o以八进制数形式输入/输出整数, %x以十六进制数形式输入/输出整数, %u以十进制数输入/输出unsigned型数据(无符号数)。 %c用来输入/输出一个字符, %s用来输入/输出一个字符串, %f用来输入/输出实数,以小数形式输出,(备注:浮点数是不能定义输入的精度的,所以,scanf(“%6.2f”,&a)这种写法是“错误的”!!!) %e以指数形式输出实数, %g根据大小自动选f格式或e格式,且不输出无意义的零。 scanf(控制字符,地址列表) 格式字符的含义同printf函数,地址列表是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。如scanf("%d%c%s",&a,&b,str)
㈢ C语言里,输入和定义的数据类型可以不同吗..
有些类型可以兼容,比如可以把int型赋值给double型,但是反过来就会有精度上的损失
㈣ C语言输入输出格式
在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。
输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d ",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”前的数值。
如:%3d表示输出3位整型数, 不够3位右对齐。
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为7,小数点占一位, 不够9位右对齐。
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
(4)c语言定义格式与输入格式不同扩展阅读
C语言输入输出时的规则:
一、格式说明符个数与输入数据个数不相等的情况:
当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。
scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。
二、宽度输出的情况:
1、在%和格式字符之间加入一个整数来控制输出数据所占宽度
2、在%和格式字符f之间加入一个“整数1.整数2”来控制输出数据的格式。
整数1:整个输出数据占的总宽度
整数2:输出实数的小数部分的个数
注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分
三、宽度输入的情况:
宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d", &x);
注意:
1、%d与%1d是不同的,它们具有不同的含义。
2、 当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。
㈤ 一个有关c语言的问题!请问我输入的格式不同为什么会出现这些不同的运行结果!
这些数字都是乱码,原因是你定义a,b,c,d,e的时候没有初始化。没有初始化,系统就随便给他们分配值,就有可能是858993460这些值。当你只输入一个参数时,只有a赋值了,b c值是乱的,最后计算出结果也是乱的,输入三个参数时,a b c都赋值正确了,所以结果也就正确。
变量在使用前一定要先初始化,这是良好的编程习惯。
㈥ C语言中scanf如果输入与格式字符串不同会怎么样
那就出错,中止继续接收,函数返回已经正确接收的数据个数。
㈦ 为什么C语言自定义类型的书写格式不同,
第一个 struct之后有lnode是为了在结构体里引用这类结构体(定义指向这类结构体的指针),如果缺少,你能成功定义这样的指针吗?(个人观点,struct之后的标识最好不要用这个结构体的名,容易混)
第二个 struct之后没有,是因为在结构体中用不到像上面那样的(引用其本身的)数据定义
㈧ c语言的输入输出格式
在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。
输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d\n",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”前的数值。
如:%3d表示输出3位整型数,
不够3位右对齐。
%9.2f
表示输出场宽为9的浮点数,
其中小数位为2,
整数位为7,小数点占一位,
不够9位右对齐。
%8s
表示输出8个字符的字符串,
不够8个字符右对齐。
(8)c语言定义格式与输入格式不同扩展阅读
C语言输入输出时的规则:
一、格式说明符个数与输入数据个数不相等的情况:
当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。
scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。
二、宽度输出的情况:
1、在%和格式字符之间加入一个整数来控制输出数据所占宽度
2、在%和格式字符f之间加入一个“整数1. 整数2”来控制输出数据的格式。
整数1:整个输出数据占的总宽度
整数2:输出实数的小数部分的个数
注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分
三、宽度输入的情况:
宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d",
&x);
注意:
1、%d与%1d是不同的,它们具有不同的含义。
2、
当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。
参考资料来源:网络——scanf
网络——printf()