2023年山东广播电视大学开放教育C语言程序设计课程综合练习题文档.doc
【C++语言程序设计知识点详解】 C++是一种广泛使用的编程语言,它在计算机科学和软件开发领域占有重要地位。在山东广播电视大学开放教育的C++语言程序设计课程中,学生需要掌握基本的语法、数据类型、控制结构以及函数等核心概念。 1. **编译过程**:C++源代码经过编译器编译后,生成扩展名为.exe的可执行程序文件。编译过程包括词法分析、语法分析、语义分析和代码生成等步骤。 2. **数据类型和存储空间**:在16位计算机中,整型(int)通常占用2个字节的存储空间,这允许它们存储-32768到32767之间的整数值。 3. **输出语句**:在C++中,使用`cout`对象和插入运算符`<<`可以在屏幕上输出文本。例如,要显示"Hello, world!",应使用`cout << "Hello, world!"`。 4. **位运算**:表达式8&3的结果是0,因为8(1000)和3(0011)进行按位与运算,结果是0000(即十进制的0)。 5. **函数调用**:在C++中,函数调用作为一个语句体现在函数名后面跟随括号,括号内可以传递参数。例如,`functionName(parameters);` 6. **条件语句**:if (x>=0||x<=0) cout<<"abcd"; else cout<<"wxyz"; 这段代码会输出"abcd",因为x不能同时大于等于0且小于等于0,所以条件始终为假,不会执行else部分。 7. **sizeof运算符**:`sizeof`运算符用于计算数据类型的大小或对象的字节数。例如,对于一维整型数组data,其元素个数可以通过`sizeof(data)/sizeof(data[0])`计算得出。 8. **作用域修饰符**:如果一个全局变量只允许在同一源文件中的函数使用,应该使用`static`修饰符来定义它,如`static int variable;`。 9. **数组指针初始化**:对于二维数组`int w[3][4];`,pw是一个与数组名w等价的数组指针,它的初始化形式是`int (*pw)[4] = w;`。 10. **引用初始化**:要让引用pr代表变量`char *p;`,则pr的初始化应为`char *&pr = p;`,这样pr就成为了p的别名。 接下来是单项选择题的相关知识点: 1. 合法的变量名通常由字母、数字和下划线组成,且不能以数字开头。选项B(byte-size)是合法的。 2. 友元函数不是类的成员函数,它能访问类的私有和保护成员,但自身不隶属于类。 3. 语句必须以分号结尾,所以选项B(a=17)是一个正确的语句。 4. 循环`while(int i=0) i--;`会执行一次,因为i初始化为0,然后减1变成-1,不满足循环条件,退出循环。 5. 将f作为语句调用意味着没有将f的返回值用于其他运算。选项D(p= f(g(3)+1);)满足条件,f的返回值赋给了p。 6. 根据指针的赋值,可以推断出a和b的类型分别为int *和int **。 7. 要将x值置为0,需要一个可修改的x的地址,因此选项C(int * const px=&x;)是正确的,px是一个指向常量x的指针,但指针本身是可变的。 8. 函数调用`f1(&a,b)`是合法的,因为f1接受一个int指针和一个long引用。 9. 为了构造链表,结构体需要包含指向下一个节点的指针,所以选项B(struct bb{ int a;bb * b;};)符合要求。 10. 使用`setw`进行数据格式输出,需要包含`iomanip.h`头文件。 回答问题部分涉及了指针的递增和递减操作及其组合,以及指针数组的初始化。在C++中,指针的自增和自减操作需要谨慎处理,特别是结合前缀和后缀操作符时。例如: - `--++p` 是错误的,因为先递增然后递减,但操作符的顺序不明确,可能会导致未定义的行为。 - `++(p--)`也是错误的,因为递增和递减操作符混合可能导致未定义行为。 - `p----`是错误的,因为两个减号不能连续。 - `[++p]--`同样错误,因为先递增p,然后试图递减一个未初始化的指针,这是不允许的。 至于指针数组color的初始化,可以这样写: ```cpp int *color[] = {&variable1, &variable2, ...}; ``` 这里,variable1、variable2等是需要存储地址的变量。












- 粉丝: 873
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络教学资源的设计.pptx
- 教育技术学-基于Web2.0的大学生个人知识管理探究-过程材料.doc
- 数字图像处理名词解.doc
- 东北制药总厂全面预算卓越控制金蝶国际软件集团有限公司.doc
- 广州河东电子有限公司公司智能家居营销计划图文.pptx
- 任教班级00级计算机班任课老师黄思玉.pptx
- 项目管理全过程WORD模板范文.doc
- 基因工程及其应用专题知识.pptx
- 西开GIS培训资料.ppt
- 电子商务系统分析与设计复习题及答案.doc
- 基因工程总复习.pptx
- 预防沉迷网络安全主题班会省名师优质课获奖课件市赛课一等奖课件.ppt
- 天气预报中数据挖掘技术的运用分析.pdf
- 架构、框架、模式、构件、组件、中间件之间区别(最新整理).pdf
- 中国鉴网络出版总库产品介绍郭小英.pptx
- 防渗墙施工中水泥掺入量算法的探讨-sec-ret.doc


