C语言 数学 111可以转换为006F吗? c语言数组交换

2636℃ COURTNEY

C语言 数学 111可以转换为006F吗?c语言数组交换

C语言中的保留两位小数四舍五入的问题

应该是精度问题。因你使用的是float变量,你可以用printf显示a*100的结果是155.499995而不是155.50000你可以全改成double型#include <stdio.h>

double fun ( double h )

{ return (long)( h * 100 +0.5 )/ 100.0;

}main( )

{ double a;

printf ("Enter a: "); scanf ( "%lf", &a );

printf ( "The original data is : " );

printf ( "%lf %lf\n\n", a, a*100 );

printf ( "The result : %lf\n", fun ( a ) );

}

c语言中怎么保留小数2位

在c语言中让一个数保留2位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成。其准确含义依赖于它所修饰的数据类型。示例如下:

#include 

int main()

{

printf("%.2lf\n", 1.2345678);

return 0;

}

c语言的主要特点:

优点

1、简洁紧凑、灵活方便

C语言一共只有40个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2、运算符丰富

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3、数据类型丰富

C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。

4、表达方式灵活实用

C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。

5、允许直接访问物理地址,对硬件进行操作

由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。

6、生成目标代码质量高,程序执行效率高

C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。

C语言把小数精确到后一位:比如:

int的作用是将后面计算结果强制数据类型转换为int, 换句话说舍弃小数部分:

i*10=123.4

(i*10)+0.5=123.9 如果原小数点后第2位>=5,这个加法会导致进位,在整数部分实现四舍五入

(int)((i*10)+0.5)=(int)(123.9)=123 取整实现舍弃后续位

(int)((i*10)+0.5)*0.1=12.3

C语言运算表达式中的小数按什么数据类型处理

在C语言中,我们使用float、double 来表示小数,

在内存中的形式如下所示:

类型 符号 指数 尾数

float 1bit 8bit 23bit

double 1bit 11bit 52bit

输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,实例如下所示:

#include <stdio.h>

#include <stdlib.h>

int main()

{

float a=128.101;

float b=0.302f;

float c=1.23002398f;

double d=123;

double e = 78.429;

printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e);

system("pause");

return 0;

}

运行结果:

a=128.100998

b=0.302000

c=1.230024

d=123.000000

e=78.429000

对代码的说明:

1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。

2) 将整数赋值给 float 变量时会转换为小数。

3) 小数默认为 double 类型,加上后缀f才是float类型。

4) 由于内存有限,小数的精度受限,所以输出 a 时只能获得一个近似数。