java float 相加e2_and=1-e-3 为什么错了,错在哪

错在哪??????????????????????_百度知道
错在哪??????????????????????
利用下面的公式 ∏/4=1-1/3+1/5-1/7……
求∏的近似值,要求最后一项的绝对值小于1e-6为止
#include&math.h&
#include&stdio.h&
{ int i=1;
float pi=0,t=1.0,k=1.0;
}while(fabs...
运行一下,CPU确实挺高,不过我看不出哪里错了
我有更好的答案
一运行,CPU到一百,肯定是出现死循环了,改成float后出现结果3.141594可是我实在看不出你错在那了,书上是t是int,i是float,你刚好反过来应该没问题啊.出现了死循环,你将int i=1 改成float i=1.0就可以了.
采纳率:22%
函数没有返回值
再main函数后面加
把getch(); 改为getchar(); 之后我在vs2005下测试没问题,结果是3.141594
fabs(k)&=1e-6我用的也是WIN-TC,这样不行,只能改成1e-4,我想是TC处理不了那么小的数。
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Python 3 教程
Python3 错误和异常
作为Python初学者,在刚学习Python编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。
Python有两种错误很容易辨认:语法错误和异常。
Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例
&&&while True print('Hello world')
File &&stdin&&, line 1, in ?
while True print('Hello world')
SyntaxError: invalid syntax
这个例子中,函数 print() 被检查到有错误,是它前面缺少了一个冒号(:)。
语法分析器指出了出错的一行,并且在最先找到的错误的位置标记了一个小小的箭头。
即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,都以错误信息的形式展现在这里:
&&&10 * (1/0)
Traceback (most recent call last):
File &&stdin&&, line 1, in ?
ZeroDivisionError: division by zero
&&& 4 + spam*3
Traceback (most recent call last):
File &&stdin&&, line 1, in ?
NameError: name 'spam' is not defined
&&& '2' + 2
Traceback (most recent call last):
File &&stdin&&, line 1, in ?
TypeError: Can't convert 'int' object to str implicitly
异常以不同的类型出现,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和 TypeError。
错误信息的前面部分显示了异常发生的上下文,并以调用栈的形式显示具体信息。
以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供的方法)。用户中断的信息会引发一个 KeyboardInterrupt 异常。
&&&while True:
x = int(input(&Please enter a number: &))
except ValueError:
print(&Oops! That was no valid number. Try again &)
try语句按照如下方式工作;
首先,执行try子句(在关键字try和关键字except之间的语句)
如果没有异常发生,忽略except子句,try子句执行后结束。
如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的try子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
except (RuntimeError, TypeError, NameError):
最后一个except子句可以忽略异常的名称,它将被当作通配符使用。你可以使用这种方法打印一个错误信息,然后再次把异常抛出。
import sys
f = open('myfile.txt')
s = f.readline()
i = int(s.strip())
except OSError as err:
print(&OS error: {0}&.format(err))
except ValueError:
print(&Could not convert data to an integer.&)
print(&Unexpected error:&, sys.exc_info()[0])
try except 语句还有一个可选的else子句,如果使用这个子句,那么必须放在所有的except子句之后。这个子句将在try子句没有发生任何异常的时候执行。例如:
for arg in sys.argv[1:]:
f = open(arg, 'r')
except IOError:
print('cannot open', arg)
print(arg, 'has', len(f.readlines()), 'lines')
使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到的、而except又没有捕获的异常。
异常处理并不仅仅处理那些直接发生在try子句中的异常,而且还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。例如:
&&&def this_fails():
this_fails()
except ZeroDivisionError as err:
print('Handling run-time error:', err)
Handling run-time error: int division or modulo by zero
Python 使用 raise 语句抛出一个指定的异常。例如:
&&&raise NameError('HiThere')
Traceback (most recent call last):
File &&stdin&&, line 1, in ?
NameError: HiThere
raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。
如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。
raise NameError('HiThere')
except NameError:
print('An exception flew by!')
An exception flew by!
Traceback (most recent call last):
File &&stdin&&, line 2, in ?
NameError: HiThere
用户自定义异常
你可以通过创建一个新的异常类来拥有自己的异常。异常类继承自 Exception 类,可以直接继承,或者间接继承,例如:
&&&class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
raise MyError(2*2)
except MyError as e:
print('My exception occurred, value:', e.value)
My exception occurred, value: 4
&&& raise MyError('oops!')
Traceback (most recent call last):
File &&stdin&&, line 1, in ?
__main__.MyError: 'oops!'
在这个例子中,类 Exception 默认的 __init__() 被覆盖。
<p异常的类可以像其他的类一样做任何事情,但是通常都会比较简单,只提供一些错误相关的属性,并且允许处理异常的代码方便的获取这些信息。
当创建一个模块有可能抛出多种不同的异常时,一种通常的做法是为这个包建立一个基础异常类,然后基于这个基础类为不同的错误情况创建不同的子类:
class Error(Exception):
&&&Base class for exceptions in this module.&&&
class InputError(Error):
&&&Exception raised for errors in the input.
Attributes:
expression -- input expression in which the error occurred
message -- explanation of the error
def __init__(self, expression, message):
self.expression = expression
self.message = message
class TransitionError(Error):
&&&Raised when an operation attempts a state transition that's not
Attributes:
previous -- state at beginning of transition
next -- attempted new state
message -- explanation of why the specific transition is not allowed
def __init__(self, previous, next, message):
self.previous = previous
self.next = next
self.message = message
大多数的异常的名字都以"Error"结尾,就跟标准的异常命名一样。
定义清理行为
try 语句还有另外一个可选的子句,它定义了无论在任何情况下都会执行的清理行为。 例如:
... raise KeyboardInterrupt
... finally:
... print('Goodbye, world!')
Goodbye, world!
Traceback (most recent call last):
File &&stdin&&, line 2, in &module&
KeyboardInterrupt
以上例子不管 try 子句里面有没有发生异常,finally 子句都会执行。
如果一个异常在 try 子句里(或者在 except 和 else 子句里)被抛出,而又没有任何的 except 把它截住,那么这个异常会在 finally 子句执行后再次被抛出。
下面是一个更加复杂的例子(在同一个 try 语句里包含 except 和 finally 子句):
&&&def divide(x, y):
result = x / y
except ZeroDivisionError:
print(&division by zero!&)
print(&result is&, result)
print(&executing finally clause&)
&&& divide(2, 1)
result is 2.0
executing finally clause
&&& divide(2, 0)
division by zero!
executing finally clause
&&& divide(&2&, &1&)
executing finally clause
Traceback (most recent call last):
File &&stdin&&, line 1, in ?
File &&stdin&&, line 3, in divide
TypeError: unsupported operand type(s) for /: 'str' and 'str'
预定义的清理行为
一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。
这面这个例子展示了尝试打开一个文件,然后把内容打印到屏幕上:
for line in open(&myfile.txt&):
print(line, end=&&)
以上这段代码的问题是,当执行完毕后,文件会保持打开状态,并没有被关闭。
关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
with open(&myfile.txt&) as f:
for line in f:
print(line, end=&&)
以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。
7个月前 (11-16)
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
记住登录状态
重复输入密码第2章 基本数据类型及顺序结构程序设计答案-海文库
您现在的位置:&>&&>&计算机硬件及网络
第2章 基本数据类型及顺序结构程序设计答案
基本数据类型及顺序结构程序设计一、选择题1、以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D)A)均占4个字节
B)根据数据的大小来决定所占内存的字节数C)由用户自己定义
D)由C语言编译系统决定
2、以下选项中不合法的标识符是 (C)A)print
3、可在C程序中用作用户标识符的一组标识符是(A)A)and
D)case_2007
4、以下选项中不属于字符常量的是 (B )A)'C'
5、以下选项中,合法的一组C语言数值常量是(B)A)028
D) 0x8A.5e-3
10,000-0xf
6、以下正确的字符串常量是(D)A) &\ \ \&
B) ' abc '
C)Olympic Games
7、下列定义变量的语句中错误的是(D)。A)int _
B)double int_;
D)float USS
8、下列变量定义中合法的是(A)。A) short
_a=1.le-1;
B) double b=1+5e2.5;C) long do=0xfdaL;
D) float 2_and=1e-3;
9、以下定义语句中错误的是(A)A)int a=b=0 ;
B)char A=65+1,b='b';C)float a=1,*b=&a,*c=&
D)double a=0.0,b=1.1;
10、设有说明语句:char a=’\72’;则变量a(A)。A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法11、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)A)x=y==5;
B)x=n%2.5;
D)x=5=4+1;
12、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)A)++x,y=x--
C)x=x+10=x+y
D)double(x)/10113、若变量a、i已正确定义,且i已正确赋值,合法的语句是(B)。A) a==1
C) a=a++=5;
D) a=int(i);
14、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)A)只能是整数0或1
B)只能是整数0或非0的整数C)可以是结构体类型的数据 D)可是任意合法的表达式
15、已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( B)A)kk&='A'&&kk&='Z'
B)!(kk&='A'‖kk&='Z')C)(kk+32)&='a'&&(kk+32)&='z'
D)isalpha(kk)&&(kk&91)
16、当变量c的值不为2、4、6时,值也为“真”的表达式是(B)A)(c==2)‖(c==4)‖(c==6)
B)(c&=2&&c&=6)‖(c!=3)‖(c!=5)C)(c&=2&&c&=6)&&!(c%2)
D)(c&=2&&c&=6)&&(c%2!=1)
17、有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++): (y++)中的条件表达式(x-y)等价的是(C)。A)(x-y&0)
C)(x-y&Ux-y&0)
D)(x-y==0)
18、有如下程序段int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c&’B’);执行该程序段后,x的值为(D)。A) ture
19、设有 int x=11; 则表达式 (x++ * 1/3) 的值是(A)。A) 3
20、若变量已正确定义并赋值,下面符合C语言语法的表达式是 (B)。A) a:=b+1
B) a=b=c+2 C) int 18.5%3
D) a=a+7=c+b
21、设变量已正确定义并赋值,以下正确的表达式是(C)A) x=y*5=x+z
B) int(15.8%5)C) x=y+z+5,++y
D)x=25%5.0
22、C语言中运算对象必须是整型的运算符是 (A)A) %=
23、能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是(D)。A) a&=10 or a&=0
B) a&=0|a&=10
C) a&=10 &&a&=0
D) a&=10‖a&=024、设 int x=1, y=1; 表达式(!x||y--)的值是(B)。2A) 0
25、设 int b=2;表达式(b&&2)/(b&&1)的值是(A)。A) 0
26、有以下程序段ch='a';k=12;printf(&%c,%d,&,ch,ch,k);printf(&k=%d\n&,k);已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是(D)A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12
27、设有定义:执行scanf(&%2d%f&,&a,&b);语句时,若从键盘输入876 回车&,a和b的值分别是(B)。A)876和543.000000
B)87和6.000000C)87和543.000000
D)76和543.000000
28、若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是 (A)。A) 0
29、下列程序的输出结果是(C)。A) 3
D) 3.07main(){double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(&%d \n&, d*y);}
30、下列程序执行后的输出结果是(小数点后只写一位)(A)。A) 6 6 6..0000000
B) 6 6 6.7 6.7C) 6 6 6.0 6.7
D) 6 6 6.7 6.0main(){3 543.0&i=f=l=d=20/3;printf(&%d %ld %f %f \n&, i,l,f,d);}
31、下列程序的运行结果是(B)。A) a=%2,b=%5
B) a=2,b=5C) a=d, b=d
D) a=%d,b=%d main(){int a=2,c=5;printf(&a=%d,b=%d\n&,a,c);}
32、有如下程序main( ){int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);
}运行该程序的输出结果是 (D)。A) 3 4
D) 3 333、有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf(&%d,%d,%d\n&,x,y,z);}程序运行后的输出结果是(C)。A)2,3,3 B)2,3,2
C)2,3,1 D)2,2,134、有以下程序main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值 */printf(&a+b=%d\n&,a+b); /* 输出计算结果 */ }程序运行后输出结果是(A)。A)a+b=10
C)30 D)出错435、有以下程序main(){unsigned
a=2,b=4,c=5,d;d=a|b;d&=c;printf(“%d\n”,d);}程序运行后的输出结果是(B)A)3
二、程序阅读题1、下列程序执行后的输出结果是main(){int x='f';printf(&%c \n&,'A'+(x-'a'+1));}2、以下程序的输出结果是main(){unsigned short a=65536;printf(“%d\n”,b=a);}3、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是。
c=(a-=(b-5));c=(a%11)+(b=3);4、以下程序的输出结果是main(){int a=1, b=2;a=a+b; b=a-b; a=a-b;printf(“%d,%d\n”, a, b );}5、以下程序输出的结果是main(){ int a=5,b=4,c=3,d;d=(a&b&c);printf(&%d\n&,d);}6、以下程序的输出结果是。main(){int a=0;a+=(a=8);printf(&%d\n&,a);}57、以下程序的输出结果是。main(){ int a=177;printf(&%o\n&,a);}8、若有以下程序main(){a='H'-'A'+'0';printf(&%c\n&,a);}执行后的输出结果是。9、以下程序运行后的输出结果是main(){m='B'+32; printf(&%c\n&,m);}10、以下程序运行后的输出结果是main(){ int p=30;printf(&%d\n&,(p/3&0 ? p/10 : p%3));}11、以下程序运行时若从键盘输入:10 20 30&回车&。输出结果是 main(){ int i=0,j=0,k=0;scanf(&%d%*d%d&,&i,&j,&k);printf(&%d%d%d &,i,j,k);}12、以下程序运行后的输出结果是main(){int a,b,c;a=10;b=20;c=(a%b&1)||(a/b&1);printf(&%d %d %d &,a,b,c);}13、以下程序运行后的输出结果是。main(){ int n=100;float f=10;x=f*=n/=(c=50);printf(&%d %f\n&,n,x);}14、已知字母A的ASCII码为65。以下程序运行后的输出结果是。
6main(){ char a,a='A'+'5'-'3'; b=a+'6'-'2' ;printf(&%d %c\n&, a, b);}三、程序填空题1、C语言提供了丰富的数据类型,这些数据类型可以分为3大类,分别是和。2、在VC开发环境下,int类型的数据在内存中占字节、float类型的数据占节、double类型的数据占字节、char类型的数据占3、设有以下变量定义,并已赋确定的值则表达式:w*x+z-y所求得的数据类型为4、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是5、下列程序的输出结果是16.00,请填空。main(){int a=9, b=2;, y=1.1,z;z=a/2+b*x/y+1/2;printf(“%5.2f\n”, z );}6、设y是int型变量,请写出判断y为奇数的关系表达式7、若有程序main(){ int i,j;scanf(&i=%d,j=%d&;&i,&j);printf(&i=%d,j=%d\n&,i,j);}要求给i赋10,给j赋20,则应该从键盘输入8、有以下语句段int n1=10,n2=20;printf(“”,n1.n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=209、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句10、已定义char ch=”$”;int i=1,j;执行j=!ch&&i++以后,i的值为
四、编程题1、编写程序:输入一矩形的长和宽,计算该矩形的面积。2、编程:输入求的半径R,计算并输出球的体积。73、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。4、编程:输入一个三位整数x(999=&x&=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积。8
上一篇: 下一篇:
All rights reserved Powered by
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。C语言程序第一、二章测试题-博泰典藏网
典藏文档 篇篇精品
C语言程序第一、二章测试题
导读:C语言程序测试题,共60分)1.c语言是()语言,A.c语言程序总是从第一个函数开始执行,B.在c语言程序中,要调用的函数必须放在main()函数的前面定义C.c语言程序总是从main()函,D.c语言程序中的main()函数必须放在程序的开始部分3.c语言中,A.大写B.小写C.大小写均可D.c语言中没有保留字4.c语言采用()方式将源程,A.abc_cB.printfC.A$D.Dim6.C语言程序测试题 一、单项选择题(共30题,每题2分,共60分) 1. c语言是()语言 A.解释
D.汇编 2. 以下说法正确的是() A.c语言程序总是从第一个函数开始执行 B.在c语言程序中,要调用的函数必须放在main()函数的前面定义 C.c语言程序总是从main()函数开始执行 D.c语言程序中的main()函数必须放在程序的开始部分 3. c语言中,所有的保留字必须() A.大写
C.大小写均可
D.c语言中没有保留字 4. c语言采用()方式将源程序翻译为二进制代码 A.编译
D.翻译 5. 以下选项中不合法的用户标识符为() A.abc_c
D.Dim 6. 以下正确的c语言常量是() A.0796
D.’\\t’ 7. c语言程序编译时,程序中的注释部分将() A.参加编译,并会出现在目标程序中 B.参加编译,但不会出现在目标程序中 C.不参加编译,但会出现在目标程序中 D.不参加编译,也不会出现在目标程序中 8. 以下叙述正确的是() A.c程序的语法严格,只有完全正确的程序才能通过编译
B.c语言本身没有输入、输出语句 C.在c程序中,main函数必须位于程序的最前面 D.在对一个c程序进行编译的过程中,可以发现注释中的拼写错误 9. 在c语言中,float类型数据所占的字节数是() A.1
D.8 10. 请选出可以作为c语言标识符的一组() A.void ,define,WORD
B.a3_b3,_123,abc C.FOR,-abc,Cade
D.2a,Do,Sizeof 11. 下列合法的变量名是() A.#2678
D.c>d 12. 如果a=3,b=2,c=1,则下列关系表达式的值为0的是() A.a>b
B.(a>b)==c
C.b+c包含总结汇报、计划方案、表格模板、教学研究、初中教育、人文社科、自然科学以及C语言程序第一、二章测试题等内容。
相关内容搜索大一C语言的问题_百度知道
大一C语言的问题
下列变量定义中合法的是(  )A.float_a=1-.1e-1;
B.long do=0xfdaL;
C.float2_and=1-e-3;答案是A,为什么,其他错在哪
我有更好的答案
B中0x代表16进制,16进制每一位的范围是0-9,a,b,c,d,e,f没有L C中2_and变量命名不正确,变量定义数字不能作第一个字符,第一个字符必须是_或字母
1-.1e-1是什么意思啊
B好像的确是因为do是关键字,那个L可能是代表long型,我说错了。。1-.1e-1 我理解前面的 1-
1减去后面的.1e-1
0好像省略了吧,应该是0.1e-1我理解是0.1
&#47; 10)e-1应该是10的-1次方
为什么do是关键词就不行啊,还有为什么1-.1e-1不是0.9的-1次方
关键字本来就不能做变量名,如果定义了一个当遇到while循环时,编译器就不知道这个是while循环还是你自己定义的变量了当时学的时候老师应该说过吧 第二个应该先算乘法。。那个减法应该是最后才计算的,所以过程中不会出现0.9,应该先算乘方,之后是乘法,最后才是减法1-(0.1 * e-1)是1-0.01=0.99
采纳率:59%
来自团队:
long do=0xfdaL;do是关键字 错;float2_and=1-e-3;e后面跟正整数;错
大哥,e后面只要是整数就好了,正负没关系
抱歉,就是整数,不过e前面要加1 不然通不过编译 不错的题 呵呵
为什么do是关键词就不行啊
你去看命名规则,do是c语言的有特殊含义的东西,你自己再拿来定义的话,会导致重复命名,这样会导致编译混乱
这种没有太大意义。想要知道答案的话,去编译器上编译一下,看看错误是什么就知道了。
c中没有long型数据 long int 或long double同理 float2_and=1-e-3;float2没加 是看成一个整体的
float2没加 是看成一个整体的?这是什么意思
flaot与2之间要加空格符,否则编译时是一个整体,和a1,a2等一样
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
c语言的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 ibox float e margins 的文章

 

随机推荐