您好,欢迎访问三七文档
三、改错题(指出程序中下划线那行中的错误,每行2分,共10分)1、#includeiostream.hvoidmain(){intx,y,result;cinxyendl;①result=2x+3y+1;②coutresultisresultendl;③}答案:①输入格式有误,不能输入endl,应该写成cinxy;②表达式书写有误,应该写成result=2*x+3*y+1;③输出格式有误,输出流应为,该语句应写成coutresultisresultendl;2、#includeiostream.hvoidmain(){charc;cinc;if(('a'=c='z')||('A'=c='Z')){c=c+4;if(c'Z'&&c='Z'+4||c'z')c=c-26;}coutcendl;}答案:关系运算符运用错误,应写成(c='a'&&c='z')||(c='A'&&c='Z')3、#includeiostream.hvoidmain(){inta=0,b=1;if(a=b)coutaequaltobendl;elsecoutanotequaltobendl;}答案:这是赋值符号,判断a等于b,应该写成a==b4、运行下列程序后,输出结果为1,4,7。#includeiostream.hvoidmain(){inti(0);while(++i){if(i==10)continue;①if(i%3!=1)break;②couti’,’;}}答案:将①中的contimue改成break将②中的break改成continue5、#includeiostream.hvoidmain(){int*ptr1,*ptr2,a,b,t;cout请输入2个整数:endl;cinab;ptr1=&a;ptr2=&b;if(ptr1ptr2){t=a;a=b;b=t;}coutmax=*ptr1,min=*ptr2endl;}答案:指针使用错误,比较a,b的大小,应该加上*号,*ptr1*ptr26、#includeiostream.hvoidmain(){Structstudent{charname[20];charsex;};s1={”张三”,’M’}①;couts1endl;②}答案:①变量S1初始化前没有说明数据类型。应改成students1={”张三”,’M’}②结构体变量成员不能整体输出。应改成couts1.nameendl7、#includeiostream.hvoidmain(){inta=2,b=3,c;intsubtract(intx,inty);c=subtract(inta,intb)①;couta-b=cendl;}Voidsubtract(intx,inty)②{intz;z=x-y;return(z);}答案:①函数调用语句有误,应写成subtract(a,b)②函数定义语句有误,应写成intsubstract(intx,inty)8、#includeiostream.hvoidf(intb[10])①{intmax,min;max=min=b[0];for(inti=1;i10;i++){if(maxa[i])max=a[i];if(mina[i])min=a[i];}coutmaxminendl;;}voidmain(){inta[10];intsum;②for(inti=0;i10;i++){cina[i];sum+=a[i];}f(a);coutsum;}答案:①数组作为形参,没有空间分配,不能指定数组长度,应写成voidf(intb[])②sum变量没有初始化,应写成sum=09、classA{floatx;public:voidSetxy(floata){x=a;}voidPrint(){coutxendll;}};voidmain(){Aa1;a1.x=10;a1.Setxy(2.0);a1.Print();}答案:对象只能访问其公有成员,应将floatx权限改为public:floatx;
本文标题:程序改错题-10分
链接地址:https://www.777doc.com/doc-2150909 .html