程序设计基础测试:数组参数、进制转换与字符串遍历解析

需积分: 0 0 下载量 86 浏览量 更新于2024-08-04 收藏 31KB DOCX 举报
"该资源为2019级《程序设计基础》课程的一次阶段测试,包含多项选择题,主要涉及程序设计中的基础知识,如函数参数传递、整数转换为八进制、字符串处理以及指针操作。" 在这次阶段测试中,我们可以看到几个关键的程序设计知识点: 1. 函数参数传递:在C语言中,当数组名作为函数参数时,实际上传递的是数组第一个元素的地址。这意味着函数内部可以访问并修改数组的第一个元素,但不能直接修改整个数组。例如,题目中的第一道选择题就强调了这一点,正确答案是A.数组第一个元素的地址。 2. 十进制转八进制:第二题涉及将十进制数转化为八进制的算法。通过模运算(%)和除以8来实现。在给定的代码中,`c%8`得到当前的八进制位,`c/=8`则更新十进制数值,向更高位转移。正确的填充选项是C.b[i]!=0和c/=8,表示只有在当前位非零时才更新八进制数,并且更新c的值。 3. 字符串处理:第三题涉及到C语言中的字符串处理,特别是结束符`\0`的使用。C语言的字符串是以`\0`结束的,所以计算字符串长度时需要到`\0`为止。题目中的for循环是在遇到`\0`时停止,因此正确答案是C.6,考虑到空格和制表符也是字符,加上`b`, `c`, `\018`(在C中,`\018`代表一个八进制数,等价于十进制的24,也是一个字符),总共是6个字符。 4. 指针和函数:第四题考察了指针在函数调用中的作用。函数`fun`接收两个指针,分别指向`x`和`y`的内存地址,通过指针修改了`x`和`y`的值。在主函数中,`fun(&y,&x)`先将`y`的值2传给`fun`,然后`fun`内部交换了`x`和`y`的值,最后在主函数中打印`x`和`y`的新值,因此输出是C.2143。 这些题目覆盖了程序设计基础的重要概念,包括函数参数传递的机制、数字转换、字符串处理以及指针和函数的交互。掌握这些基本概念对于学习和理解C语言至关重要。