- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]2_第3章-数据类型、运算与表达式_2011
要牢记 不要使用关键词或者系统库函数的名字作为标识符(变量名或函数名); 不要使用只差一、两个字符的变量名; 每个变量要在程序或函数开始处声明其类型; 在程序中被使用前,所有变量必须赋值; 不要在#define命令的结尾处加“;”; 不要在#和define之间加空格; C对于数据的溢出不给任何警告或指示,只会给出错误的结果。必须小心定义数据的类型; * 要牢记 小心使用自增和自减运算符,在使用前了解前置(如++i)和后置(如i++)的差别; 在计算顺序混乱的地方,小括号的使用可使它们变清晰; 在赋值以前,表达式的类型被转换成与等号左边的变量类型一致。注意转换时可能的数据损失; 所有的数学函数的参数(自变量)和返回值(计算值)均为double类型(例如y=sin(x)中的x和y); 不要对浮点数变量使用自增和自减运算符。 * * 第三章 作业(所有程序均需上机调试,正确后方能提交) 3_1 判断以下程序段有否错误,写出正确的程序段,并上机调试验证你的程序。(提交修改后的源程序) 1 #includestdio.h; 2 void mian{} 3 { float x=3.1415; 4 int y ,z,student_num=196; 5 PRINTF(“Hello!\n”); 6 printf(“the student_number is:d%\n”,num); 7 printf(“the student_number is:%D\n”, student_num); 8 printf(“x=%d\n”,x); 9 printf(“y=%f\n”,y); 10 z=3/2; 11 printf(“z=%d\n”,z); 12 } //说明:”%d”是输入、输出整形数据的格式, ”%f”是输入、输出实形数据的格式,”\n”是换行的格式 * 3_2 在计算机屏幕上输出一段文字: John said to his brother:(换行) (空两格)”Let’s have a rest!” 并在此段文字前后各空两行。 (提交源程序) 3_3 求下面算术表达式的值: (1) x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7 (2) (float)(a+b)/2+(int)x%(int)y,设=2,b=3,x=3.5,y=2.5 先写出运行结果,然后编制程序验证之。 (提交源程序) * 3_4 先写出下列程序的运行结果,然后编制程序验证之。 #includestdio.h void main() { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } * 3_5 写出下列赋值表达式运算后a的值,然后编制程序验证之。设原来a=12(提交源程序,注意计算每小题之前,将a的值复原为12) (1) a+=a (2) a-=a (3) a*=2+3 (4) a/=a+a (5) a%=(n%=2),n的值等于5 (6) a+=a-=a*=a * 3_6.判断下列陈述是对还是错? 所有运算符具有相同的优先级. 求模运算符% 只能用于整型数 运算符=,= 和 !=具有相同的优先级. 在 C中,如果一个数据项为零,它就被认为是逻辑假. 表达式!(x=y) 与xy等效 一个一元表达式由一个没有运算符的操作数组成. 结合性被用来决定具有几个表达式的运算哪个优先执行. 表达式语句用句点“.”结尾 对于混合表达式运算,隐式类型转换是自动进行的 强制类型转换可以用于改变表达式 小括号可以用于改变表达式 以下为自我测试题,做完之后自己对答案 * 3_7.下列哪些表达式是有效的? 如果有效,给出表达式的值; 否则说明原因.a) 25/3%2 b)+9/4+5 c)7.5%3 d)14%3+7%2e) -14%3 f)15.25+-5.0 g)(5/3)*3+5%3 h)21%(int)4.5 * 3_8. 假设有:int a=10,b=20,c;判断下列表达式是对还是错. a) 语句a=+10,是有效的; b) 表达式a+4/6*6/2 的值为11; c)表达式b+3/2*2/3的值为20; d) 语句a+=b; 将30赋给a,将20赋给b; e)语句++a++; 运算的结果为a=12; f)语句a/=b; 将值0.5赋给a ; 3_9. 找出下列运算式中不必要的小括号,给出其精炼的表达式 ((x-(y/5)+z)%8)+25 ((x-y)*p)+q (m*n)+(-x/y) x/(3*y) * 答案 3_1 Error Correct Sentence1: ;
文档评论(0)