资源描述:
《标准C语言程序设计及应用周纯杰版习题参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.注:以下内容为教材部分习题答案,如发现错误请告知,欢迎讨论——张惕远习题二一、选择题1、C2、BCD3、A4、A(注:本题强调用户标识符,所以if、int不是,但是sin是用户标识符,原因是库函数不是标准语法成分,开发库函数的程序员也是用户,main虽然不是语法成分,但开发平台预定义了main为consoleapplication的执行入口,并且规定了定义格式,所以用户不能用作它用,但_main可以)5、(D)(C)6、C7、D8、B9、A10、D11、B(注:本题是求strlen("\”DEF”\”)的值,
2、即字符串中有效字符的个数,不含串结尾符,sizeof(“…”)的值与前者不同,含串结尾符)12、D13、C14、D15、A16、B17、A18、B二、判断题Word资料.(对)(错)(错)(对)一、填空题1、B66回车2、n1=%dn2=%d3、5二、计算下列各表达式的值1、注:本书假设采用16位编译平台,所以int和unsignedint均为2字节类型。(1)47(2)38(3)9(4)0xFFC6or65478(5)104(6)22、(1)6(2)50(3)1(4)-16or0xFFF0(5)1(6)203、表
3、达式值a的值b的值(1)053Word资料.(2)153(3)313(4)15104(5)883(6)1534、表达式值x的值y的值(1)12252(2)0243(3)1243(4)27243(5)1243(6)663(7)242424(y<<=3)(8)27243(9)-29or0xffe3243以上类型均为int5、表达式值x的值y的值(1)001(2)121(3)100(4)-3-33(5)424Word资料.以上类型均为int一、程序分析题b=20(注:中间4个空格)a=3600回车习题三一、填空题1、s=6回
4、车2、s=96回车3、(1)c=getchar()orscanf(“%c”,&c)(2)c-32orc-‘a’+’A’习题四一、写出程序运行结果:1、no1a=1no1a=0no1a=1no1a=0(注:教材中关于func函数的原型有错,应该改为:voidfunc();)2、a=0b=0c=0a=1b=0c=0a=2b=0c=03、main:x=5,y=1,n=1fun:x=6,y=21,n=11main:x=5,y=1,n=11fun:x=8,y=31,n=21习题五一、选择题和填空题Word资料.1、D2、D3、C
5、4、65、CDABC6、(1)j+=2(2)a[j]>a[i](注:教材中for语句有错,应该去掉表达式3后面的分号“;”)最后输出为unalggace7、(1)s[j](2)s[j]8、D9、B10、611、isdigit(s[i])该带参数的宏用来判断字符s[i]是不是数字字符,该宏的定义在头文件ctype.h中12、‘ ’和str1[i]-str2[i]二、1、第7行sum=0;第10行改为:scanf(“%d”,&a[i][j]);习题六一、选择题1、D2、D3、D4、C5、CD6、D7、B8、B二、填空题1
6、、*(p+3)2222、cdefgbcdefgabcdefgWord资料.73、6385一、程序分析题1、第5行改为:p=&s[0];orp=s;2、第4,5行合为:doublex,y,*p;3、第4行改为:intx,*p=&x;否则p为“野指针”或者在给p赋值之前定义一个int变量y,然后p=&y;4、第4,5行交换书写次序。习题七一、选择题1、A2、D3、B4、D5、C6、A7、B二、程序填空题1、a[k]a[k]a[k]2、a[i]j6ori+1三、改错题1、第3行最后加分号“;”第4行改为:voidmain()
7、第7行去掉三个&运算符第8,9行改为:if(strcmp(a,b)>0)swap(a,b);if(strcmp(b,c)>0)swap(b,c);if(strcmp(a,b)>0)swap(a,b);Word资料.swap函数改为:voidswap(char*pstr1,char*pstr2){charp[80];//千万不能用char*p;没有赋初值即为“野指针”,危险!strcpy(p,pstr1);strcpy(pstr1,pstr2);strcpy(pstr2,p);}1、第1行后面加入:floatproces
8、s(float*,int,int*);voidmain()intm;定义后加入:floatmax;process定义改为:floatprocess(…){…floattemp=p1[0];或改为:=*p1*p2=p1[0];//插入for(x=1;x