C++期末复习关键题库解析

需积分: 9 1 下载量 186 浏览量 更新于2024-07-26 收藏 237KB DOC 举报
"C++复习题库,包含了C++语言的关键知识点,如标识符规则、运算符优先级、逻辑表达式、字符串处理、循环结构、条件判断、函数调用及参数传递、数组作为函数参数等" 1. C++标识符:在C++中,标识符是用来命名变量、函数、类等的符号,它不能与关键字相同,且不能以数字开头。选项中的switch、file、break和do都是C++的关键字,因此不能作为自定义标识符。 2. 运算符优先级:C++中的运算符有不同的优先级,最高的是括号(),接着是算术运算符如+、-、*、/、%,然后是关系运算符如<=、>=、==、!=,最低的是赋值运算符如=。所以优先级最低的运算符是%。 3. 逻辑运算符:题目中使用了逻辑或(||)运算符。根据短路逻辑,如果第一个表达式(m=a==b)的结果为真,第二个表达式(n=c==d)就不会再执行。因此,m的值取决于a和b是否相等,而n的值始终未被赋值,所以m,n的值可能是1,0。 4. 字符串长度:C++中的字符串以空字符'\0'结束,因此计算字符串长度时要包括结束符。字符串"vm\x43\\\np\102qu"包含了一个转义序列\x43,它代表字符'C',所以字符串长度是9。 5. 表达式计算:根据运算符的优先级,a+=a-=a*a首先计算a*a,得到36,然后a-=36,a变为-30,接着a+=(-30),a的最终值为0。 6. do...while循环:此循环先执行循环体,再判断条件。由于x初始为-1,经过x=x*x后,x变为1,然后!x为假,循环结束,因此循环只执行一次。 7. for循环:for循环通常用于已知或未知循环次数的情况,可以包含break和continue语句来控制流程,循环体可以包含多条语句,但需要用大括号{}括起来。因此,描述正确的是D。 8. do...while循环与条件判断:该程序段中,do...while(1<=x<=2)的条件部分是一个不合法的表达式,因为1<=x<=2不是一个有效的布尔表达式。程序会输出一个#,因为y=x--后x变为0,满足!y条件,输出"x"后跳出循环。 9. 标准库函数:用户可以直接调用标准库函数,无需重新定义。C++编译器会自动链接库函数,用户可以定义同名函数,但在调用时会优先使用声明在前面的函数,即如果用户函数在标准库函数之前声明,那么调用的是用户函数。 10. 参数传递:在C++中,实参可以是常量、变量或表达式,但形参不能是常量,它们在函数调用时只接收值的副本,形参和实参的类型必须匹配,个数也必须相同。 11. 数组作为参数:当数组名作为函数参数时,实际上是传入数组的首地址,而不是整个数组的复制。因此,形参和实参共用同一段内存,可以改变主调函数中的数组元素。在函数定义时,形参的数组长度可以省略,由数组名推断。 这些题目覆盖了C++编程的基础知识,适合用来复习和准备C++相关的考试。