东大22春高级语言作业3:C语言基础与数组操作

版权申诉
5星 · 超过95%的资源 1 下载量 10 浏览量 更新于2024-08-12 收藏 23KB DOC 举报
本题是东大22春《高级语言程序设计基础X》的在线平时作业第三题,包含十个关于C语言基础概念的选择题。以下是每个题目的知识点总结: 1. 题目考察数组索引的理解:正确选项D表示对数组元素的正确引用是`a[10-10]`,这实际上相当于`a[0]`,因为数组下标是从0开始的。 2. 关于C语言中的共用体类型,C选项是正确的。共用体允许存储不同类型的数据,但它们在内存中只占用最少的存储空间,并且不能同时存放所有成员的完整数据,因为它们共享同一块内存区域。 3. 正确读入字符串的程序段是C,通过将`scanf`的输入指针指向动态分配的数组`str`的首地址,而不是指向字符串本身或中间位置。 4. C语言程序总是从主函数(`main()`)开始执行,因此答案是B。 5. 不正确的字符变量赋值是D,因为C语言中不能对字符进行算术运算,`ch='a+b'`会出错。 6. 该程序段的描述是D,因为`if (y==0)`,只有当`y`等于0时才会执行`continue`跳过本次循环的剩余部分,所以最多输出100个非负整数。 7. 程序执行后,`y%=2`会使`y`取模2后的结果赋给`y`,然后`x%=(y%=2)`相当于`x%=y`,因为`y`已经为0或1,所以最终`x`的输出是0,答案是A。 8. fclose函数在正常关闭文件后返回值是0,表示成功完成,因此答案是C。 9. 在给定的宏定义`MIN`中,`x`和`y`被重复计算两次,因此`m=10MIN(i,j)`等价于`m=10*(i<=j ? i : j)`,即`m`会被赋予较小的值,即`8`。所以答案是D。 10. 结构体成员的赋值通常通过`.`操作符,例如`student.studcomputer = someValue;`,这里没有给出具体的赋值方式,但题意询问的是正确的方式,根据C语言语法,上述形式是正确的。 总结:这些题目涵盖了C语言的基础概念,包括数组、共用体、字符串输入、程序执行流程、字符变量、循环控制、算术运算、文件操作以及结构体成员的赋值等知识点。