资源描述:
《程序设计技术习题参考答案(不包含编程题)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《程序设计技术》(第三版)习题参考答案及说明习题1一、单项选择题DADDDB(注:第7小题无正确选项,正确答案为-12)CCD说明:3题,time是个系统已定义的时间函数,所以不能用作用户标识符。8题,sqrt(4.0)开方函数值系统默认为double型。二、填空题①主②main③x=x*(x+b)④普通、格式、分隔和转义⑤指定输出数据格式⑥voidmain()⑦"howareyou!"三、阅读程序题1.9,11,9,102.2,-1,-2说明:x+=-z---y等价于x=x+(-(z--)-y)先取出z值-1,再取负得1,再减y值得2x+=2,x=x+2
2、=0+2=2,z再--变成-23.先改错:c5=’116’应为c5=’116’aa∪bb∪∪∪cc∪∪∪∪∪∪abc不懂……A∪N说明:第一个t跳过8列,第二个t接着跳过8列如果b前面是t,它就完全抵消掉t的作用(即抵消掉了8列),而如b前面是若干个空格或字符则只回退一个空格或字符。4.2,25.57中间没空格?∪∪5∪∪7同2问题67.856400,-789.124023哪儿;来的67.856400∪,-789.124023∪∪∪67.86,∪-789.12,67.856400,-789.124023,67.856400,-789.1240
3、236.785640e+001,-7.89e+002A,65,101,411234567,4553207,12d68765535,177777,ffff,65535COMPUTER,∪∪COM6.题目有错:最后一句应为printf("result=%f",result);a+c=102a+c=ff+m=17.950000a+m=17.650000c+f=102.300000result=1746.150019习题2一、单项选择题CBADCCCAAC二、填空题①(a
4、
5、b)!=0②逻辑与③逻辑或④continue⑤while((c=getchar())!
6、=’’)题目有错,P85第2行的花括弧应移到if之前⑥%c三、阅读程序题1.答案:2.答案:该程序所完成功能的函数关系为:3.答案:4.答案:5.答案:6.答案:习题3单项选择题BBCACDDABB填空题①9②0③10④x⑤一致⑥n/2(题目不是很严格,如果关键词k在表中为什么?,平均查找次数为n/2次,如k不在表中,则查找n次)⑦sum+a⑧sum/n三、阅读程序题1.2462.s=303.5945842(说明:printf函数的参数是从右到左扫描的,因此先做c[i]/2,再做c[i]=a[i]*b[i]项,而此时c[i]尚未初始化,里面是一个固定值
7、:101010……共32位二进制数,其等值十进制数为-858993460,c[i]/2=-429496730,虽然计算但并不输出,因为只有一个输出格式,对应输出的表达式为:c[i]=a[i]*b[i])4.lanuge5.816357492说明:如果你耐心读通了该程序,掌握读程序的方法,对后续学习应该很有帮助。读程序写结果通常采用列表法:k=1i1j2由a[i][j]=k得到a[1][2]=1i03j33k=2得到a[3][3]=2i22j41k=3得到a[2][1]=3i1j2此时a[1][2]!=0条件成立(前面已得到a[1][2]=1)i3j1k=4
8、得到a[3][1]=4i2j2……直到k=10时退出第一个for循环最后输出结果:a[1][1]=8a[1][2]=1a[1][3]=6a[2][1]=3a[2][2]=5a[2][3]=7a[3][1]=4a[3][2]=9a[3][3]=26.max=10,row=2,colum=1找出二维数组中最大值并输出该数组元素的下标号。习题4一、单项选择题ABACABCBDD二、填空题①主②main函数③main函数④个数⑤类型⑥顺序⑦函数类型⑧floatf(floatx,intn)⑨f(x,n)⑩x*f(x,n-1)三、阅读程序题1.x=5,y=25(观察x
9、和y为全局变量,且各函数中没有与之同名的局部变量,x和y从定义处到程序结束处均有效,从main开始执行,得到x=7,y=-5,然后调用fun函数后对x和y重新赋值为x=5,y=25)2.y=153.0(实际上是利用递归函数求1!+2!+3!+4!+5!)3.s1=3.140000,s2=5.140000说明:S(a)展开为:PI*a*aS(a+b)展开为:PI*a+b*a+b4.20055.5,36.3.00,1.00,0.25说明:#defineSQ1(x)x*xSQ1(1.0+1.0)→1.0+1.0*1.0+1.0最后输出的是1.0/1.0+1.0*
10、1.0+1.0=3.0#defineSQ2(x)(x)*(x)SQ