东大22春《高级语言程序设计基础》在线作业:单选题解析
版权申诉
178 浏览量
更新于2024-08-12
收藏 22KB DOC 举报
"东大22春《高级语言程序设计基础》在线平时作业1-00001,涵盖了C语言的基础知识,包括字符型变量的赋值、指针与数组的关系、结构体的内存占用、宏定义的使用、字符串处理、循环控制以及二维数组的初始化等。"
在C语言中,字符型变量`ch`可以存储ASCII码值,选项A、B、C都是正确的赋值方式,但D选项`ch='a+b';`是错误的,因为这试图将两个字符相加,而C语言中字符常量之间用加号连接会产生一个整型值,而不是字符。
指针与数组的关系在第二题中有所体现。如果定义了一个整型数组`int x[10]`,并声明指针`p=x`,那么`(p+5)`将指向数组的第六个元素的地址,因此答案是C,表示数组元素x[6]的地址。
第三题考察了结构体的内存占用。结构体`struct date`包含三个整型成员,每个整型通常占4个字节,因此结构体的大小是3个整型的总和,即12字节。但由于内存对齐的原因,编译器可能会在结构体中插入额外的字节,使得其实际大小为6字节,所以输出为C,6。
第四题涉及宏定义。选项D的宏定义`#define MUL(x,y)((x)(y))`在任何情况下都不会引起二义性,因为它确保了无论`x`和`y`是什么类型,都会先计算括号内的表达式再进行乘法操作。
第五题中,`char pc[] = {"aaa", "bbb", "ccc", "ddd"}`定义的`pc`实际上是一个字符数组,`pc[0]`代表的是字符串的首字符,即'a',因此答案B正确。
第六题的for循环不会执行,因为初始条件`k=2`,但判断条件是`k==0`,这在一开始就不满足,所以循环次数为0次。
第七题中,正确初始化二维数组的语句是B,`inta[][3]={{1,2,3},{4,5,6}};`,这将创建一个2行3列的数组,并分别赋值。
第八题,浮点型变量不能直接进行类型转换赋值给另一个浮点型变量,如`y=int(5);`,这会导致编译错误,答案是B。
第九题的程序段中,`printf("%dn",(x=35,x+5));`会先执行`x=35`,然后执行`x+5`,但由于逗号运算符的存在,最后输出的是`x+5`的结果,即40,但注意题目要求的是执行后`x`的值,所以答案是B,15。
第十题的代码片段没有给出完整,因此无法直接确定执行后`y`的值。
第十一题讨论了C语言中的共用体类型数据,共用体允许在一个内存位置存储多个不同类型的数据,但同一时间只能访问其中一个成员。
这些题目涵盖了C语言的基础概念,对于初学者来说是非常好的练习,有助于巩固对变量、指针、数组、结构体、宏定义、循环控制等基础知识的理解。
2022-03-25 上传
点击了解资源详情
点击了解资源详情
2022-03-24 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-10-29 上传
aopenxu0306
- 粉丝: 1
- 资源: 170
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明