摘要:
6.6:说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。 Ans:形参及函数体内定义的变量,都是局部变量,必须进行初始化,否则会出现未定义行为,这是由于局部变量的生命周期只在函数体内,所以当函数执行结束,其生命周期也就结束了,而局部静态变量,当程序执行路径第一次到达变量的 阅读全文
摘要:
6.1:实参和形参的区别是什么? Ans:实参是主调函数中函数调用运算符的表达式中的值,用于初始化被调函数的参数,也就是用于初始化形参,形参的作用域在于被调函数内,而实参的作用域在调用的位置往后都有效。并且实参与形参是一一对应的,类型也要匹配或者能转换。 6.2:请指出下列函数哪个有错误,为什么?应 阅读全文
摘要:
1、表达式语句的作用是执行表达式并丢弃掉求值结果。 2、使用空语句时,应该加上注释,从而令这段代码的读者知道该语句故意省略。 3、多余的空语句,并非总是无害的,比如说在循环语句的条件后面加上分号,表示循环空语句,真正的循环体是空语句。 4、复合语句,也称为块,就是用花括号括起来的一个作用域,在块中引 阅读全文
摘要:
5.18:说面下列循环的含义并改正其中的错误。 (a)do int v1 , v2; cout<<" Please enter two numbers to sum: "; if(cin>>v1>>v2) cout<<" Sum is : "<<v1+v2<<endl; while(cin); (b 阅读全文
摘要:
5.15:说明下列循环的含义并改正其中的错误。 (a)for (int ix=0;ix != sz; ix++) { /*......*/ } if(ix !=sz) //.... (b) int ix; for(ix != sz; ++ix) {/*.......*/ } (c) for(int 阅读全文
摘要:
5.13:下面显示的每个程序都含有一个常见的编程错误,指出错误在哪里,然后修改它们。 (a) unsigned aCnt=0, eCnt= 0,iouCnt=0; char ch = next_text(); switch (ch) { case 'a' : aCnt++; case 'e' : e 阅读全文
摘要:
5.7:改正下列代码段中的错误。 (a) if (ival1 != ival2) ival1=ival2 else ival1=ival2=0; (b) if (ival <minval) minval=ival; occurs=1; (c) if(int ival =get_value()) co 阅读全文
摘要:
5.4:说面下列例子的含义,如果存在问题,试着修改它。 (a) while (string::iterator iter !=s.end()) { /*.....*/} (b) while (bool status =find(word) ) { /*...*/ } if(!status) { /* 阅读全文
摘要:
5.1:什么是空语句?什么时候会用到空语句? Ans:所谓空语句,就是只用一个分号结尾,没有其他的表达式,表示没有执行什么操作,是在当你在程序的某个地方语法上需要一条语句,但是逻辑上不需要,此时用到空语句。 5.2:什么是块?什么时候会用到块? Ans:所谓块,是指用一个花括号括起来的一片作用域,在 阅读全文
摘要:
1、如果两个类型可以相互转换,就说他们是关联的。 2、隐式转换是指,由编译器自行转换,而不需要程序员介入的转换。 3、以下情况,编译器会发生隐式转换: 1)在大多数表达式中,比int类型小的整型值会被提升为较大的整型值。 2)在条件语句中,非布尔类型会被转换成布尔类型。 3)初始化过程中,初始值的类 阅读全文