自考c++课后习题答案

合集下载

c自考试题及答案

c自考试题及答案

c自考试题及答案一、单项选择题(每题2分,共20分)1. 自考教育的主要目的是()。

A. 培养专业技能B. 培养研究型人才C. 提高个人综合素质D. 促进就业2. 自考课程的学分通常是由()确定的。

A. 教育部门B. 学校C. 教师D. 学生3. 下列哪项不是自考学习的特点?()A. 灵活性B. 系统性C. 强制性D. 多样性4. 自考学生在完成课程学习后,需要参加()。

A. 期中考试B. 期末考试C. 毕业论文答辩D. 以上都是5. 自考学历证书的颁发机构通常是()。

A. 教育部B. 学校C. 考试院D. 培训机构6. 自考学生在学习过程中,以下哪项不是他们需要考虑的因素?()A. 学习时间的安排B. 学习资料的选择C. 学习环境的布置D. 学习费用的支付7. 自考课程通常包括()。

A. 必修课和选修课B. 必修课和实践课C. 必修课和专业课D. 必修课和通识课8. 自考学生在申请学位时,通常需要满足的条件不包括()。

A. 完成所有课程学习B. 通过学位英语考试C. 获得一定的工作经验D. 通过学位论文答辩9. 自考学生在学习过程中,以下哪项不是他们需要遵守的原则?()A. 诚实守信B. 勤奋学习C. 独立思考D. 完全依赖老师10. 自考的考试形式通常包括()。

A. 笔试和口试B. 笔试和实践操作C. 笔试和计算机测试D. 笔试和面试二、多项选择题(每题3分,共15分)1. 自考学生在学习过程中,以下哪些因素会影响他们的学习效果?()A. 学习态度B. 学习方法C. 学习环境D. 学习时间2. 自考教育的优势包括()。

A. 灵活性高B. 费用较低C. 学历认可度高D. 学习资源丰富3. 自考学生在准备考试时,以下哪些做法是正确的?()A. 制定学习计划B. 参加辅导班C. 临时抱佛脚D. 做历年真题4. 自考学生在申请学位时,通常需要提交的材料包括()。

A. 学位申请表B. 毕业证书C. 学位论文D. 学位英语考试成绩单5. 自考学生在学习过程中,以下哪些资源可以利用?()A. 网络课程B. 图书馆资料C. 教师指导D. 同学互助三、简答题(每题5分,共20分)1. 简述自考教育的特点。

c试题及答案自考

c试题及答案自考

c试题及答案自考一、选择题(每题2分,共10分)1. 以下哪个选项是计算机科学的基础学科?A. 物理学B. 数学C. 化学D. 生物学答案:B2. 在计算机系统中,CPU代表什么?A. 中央处理单元B. 中央存储单元C. 计算机外围设备D. 计算机输入设备答案:A3. 以下哪个选项是数据库管理系统的常见功能?A. 数据加密B. 数据备份C. 数据压缩D. 所有选项答案:D4. 计算机网络中,TCP/IP协议指的是什么?A. 传输控制协议/互联网协议B. 传输控制协议/互联网协议地址C. 传输控制协议/互联网协议端口D. 传输控制协议/互联网协议套接字答案:A5. 以下哪个选项是计算机操作系统的主要功能?A. 文件管理B. 设备管理C. 程序管理D. 所有选项答案:D二、填空题(每题2分,共10分)1. 在计算机科学中,______是指计算机执行指令的速度。

答案:CPU时钟频率2. 计算机的______存储器用于临时存储数据。

答案:随机访问3. 数据库中的______是指用于存储和管理数据的软件。

答案:数据库管理系统4. 计算机网络中的______协议负责在网络中传输数据。

答案:TCP/IP5. 操作系统的______功能负责管理计算机的硬件资源。

答案:设备管理三、简答题(每题10分,共20分)1. 请简述计算机操作系统的主要功能。

答案:计算机操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户界面管理等。

它负责协调计算机硬件和软件资源,为用户提供一个易于操作的环境。

2. 什么是云计算,它有哪些主要特点?答案:云计算是一种通过互联网提供计算资源(如服务器、存储、数据库、网络、软件等)的服务模式。

它的主要特点包括按需自助服务、广泛的网络访问、资源池化、快速弹性、服务的可度量性和多租户。

四、计算题(每题15分,共30分)1. 假设一个计算机系统有4个CPU核心,每个核心的时钟频率为2.5GHz。

自考2243-计算机软件基础(-)课后习题答案

自考2243-计算机软件基础(-)课后习题答案

第一篇C语言程序设计基础第一章C语言基础一、简答题1.参考书P5图1-7。

2.因为C语言是强类型语言,语法规定必须先定义后使用,只有先定义,系统才能为其分配存储空间。

3.参考书P2。

二、填空题1. 算法2. .C , .obj , .exe3. 提出问题,构造模型,选择方法,编写程序,上机调试4. 15. sin(35.0) + x * cos(60.0)6. 67. 0三、改错题1. 参考书上第二页,算法与程序的区别2. 只能定义为一种类型3.必须先定义,后使用4. 可以随时修改5.只有char型变量才只存储一个字节6. a还是实型变量7. b中的值不丢失8. i的类型不变四、单选1-5 BDCDC 6-10 DCBBD 11-15 CBADC 16-18 AAA第二章顺序结构、选择结构和循环结构的程序设计一、简答1. 参考书上23页2. while先判断,后执行,do while先执行,后判断,循环体至少执行一次3. 参考书上29页4. continue,结束本次循环break,结束循环区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环二、填空题1. 顺序结构,选择结构,循环结构2. if else 和switch3. 语句1 ,语句24. 零5. break ,continue6.7 ,07. > : ,双目三、单选1-5 DBDCC 6-10 DBADA 11-15 CBCDA 16-20 ACAAD 21-25 CDCBB 26-29BCCA四、程序分析题1. end 1end2. num%10 max = t3. j%34. 99五、编程题1. #include <stdio.h>int main(){char str[100] ;gets(str) ;int n1 , n2 , n3 , n4 , i ;n1 = n2 = n3 = n4 = 0 ;for(i = 0 ; str[i] != '\0' ; ++i) {if(str[i] >= 'A' && str[i] <= 'Z')++n1 ;else if(str[i] >= 'a' && str[i] <= 'z')++n2 ;else if(str[i] >= '0' && str[i] <= '9')++n3 ;else++n4 ;}printf("大写字母:%d\n" , n1) ;printf("小写字母:%d\n" , n2) ;printf("数字字符:%d\n" , n3 ) ;printf("其他字符:%d\n" , n4) ;return 0;}2.#include <stdio.h>#include <stdlib.h>int main(){int array[4] , min , max , i ;for(i = 0 ; i < 4 ; ++i)scanf("%d" , &array[i]) ;min = max = array[0] ;for(i = 1 ; i < 4 ; ++i) {if(array[i] < min)min = array[i] ;else if(array[i] > max)max = array[i] ;}printf("min = %d , max = %d\n" , min , max) ;return 0;}3.#include <stdio.h>int main(){float money , lixi ;int year ;scanf("%f %d" , &money , &year) ;switch(year) {case 1 :lixi = money * 0.63 / 100 ;break ;case 2 :lixi = money * 0.66 / 100 ;break ;case 3 :lixi = money * 0.69 / 100 ;break ;case 5 :lixi = money * 0.75 / 100 ;break ;case 8 :lixi = money * 0.84 / 100 ;break ;default :printf("输入错误\n") ;return -1 ;}printf("%f\n" , money + lixi) ;return 0;}4.#include <stdio.h>int main(){int x , y ;scanf("%d" , &x) ;if(x > 100)y = x + 8 ;else if(x < -10)y = -x + 8 ;elsey = 0 ;printf("%d\n" , y) ;return 0;}5.#include <stdio.h>int main(){int i , j , k , m = 3 ;for(k = 5 ; k < 12 ; k += 2 , --m) {for(i = 0 ; i < m ; ++i)printf(" ") ;for(j = 0 ; j < k ; ++j)printf("*") ;printf("\n") ;}return 0;}6.#include <stdio.h>int main(){printf(" *****\n") ;printf(" * *\n") ;printf(" * *\n") ;printf("*************\n") ;return 0;}第三章数组一、简答1. a:数组名,a[0] :数组第0号元素,&a[1]数组第1号元素的地址2. 不同,”a”是字符串,末尾有一个’\0’3. 2 * 3 * 2 = 12个字节二、填空题1. 02. 按行存放3. 10144.str[14]5. ‘\0’三、改错1. 是02. 只能是常量3. 一定相同4. 不会给错误信息5. 没有提供字符串类型6. 不等价,”ok”末尾有一个’\0’四、单选1-5 DBCAC 6-10 DDDCB 11-13 DDC五、程序分析题1. AzyD2. 1233. 454. 4some string * test5. 统计输入字符串中空格的个数 3 ,16. max < a[row][col] min > maxmin == max7. a a sum/n x[i] < ave8. a[i][j] != a[j][i] 19. j += 2 a[i] > a[j]10. 1 2 4 5 6 0 0 0 0 01 2 3 4 5 6 0 0 0 0六、编程题1.#include <stdio.h>int main(int argc , char *argv[]) {int a[11] , i , n ;printf("请输入十个递增排列的数列:") ;for(i = 0 ; i < 10 ; ++i)scanf("%d" , &a[i]) ;printf("请输入要插入的数:") ;scanf("%d" , &n) ;for(i = 9 ; i >= 0 && a[i] > n ; --i) {a[i+1] = a[i] ;}a[i+1] = n ;printf("插入后数列为:") ;for(i= 0 ; i < 11 ; ++i)printf("%d " , a[i]) ;printf("\n") ;return 0 ;}2.#include <stdio.h>#include <string.h>int main(int argc , char *argv[]) {char a[100] , b[100] , min , i ;scanf("%s %s" , a , b) ;min = 0 ;for(i = 1 ; a[i] != '\0' ; ++i) {if(a[min] > a[i])min = i ;}strcat(b , a + min + 1) ;a[min + 1] = '\0' ;strcat(a , b) ;printf("%s\n" , a) ;return 0 ;}3.#include <stdio.h>int main(int argc , char *argv[]) {char s1[100] , char s2[100] ;int i ;gets(s1) ;gets(s2) ;char *string1 = s1 , *string2 = s2 ;do{i = (int)*string1 -(int)*string2;}while(*string1++ && *string2++ && (!i) );for(i = 0 ; s1[i] != '\0' && s2[i] != '\0' && s1[i] == s2[i] ; ++i) ;printf("%d\n" , i) ;return 0 ;}4.#include <stdio.h>int main(int argc , char *argv[]) {char s[100] ;int i ;gets(s) ;for(i = 0 ; s[i] != '\0' ; ++i) {if(i == 0 || (s[i-1] == ' ' && s[i] >= 'a' && s[i] <= 'z'))s[i] -= 32 ;}puts(s) ;return 0 ;}5.#include <stdio.h>int main(int argc , char *argv[]) {char s1[100] , s2[100] ;int end , i ;gets(s1) ;gets(s2) ;for(end = 0 ; s1[end] != '\0' ; ++end) ;for(i = 0 ; s2[i] != '\0' ; ++i)s1[end++] = s2[i] ;s1[end] = '\0' ;puts(s1) ;return 0 ;}第四章函数一、简答题1. 参考书上68页,69页,72页2. 函数的返回值,函数的形参3. 实参与形参之间是值传递的关系二、填空题1. 库用户自定义2. 33. gets()4. strlen()5. strcpy()6. 全局局部7. 有返回值无返回值8. return9. void10. 前11. 调用三、改错1. 表示不同的变量2. 按照调用的先后顺序执行3. 各自有自己的存储单元4. 可以没有形参5. 分配在动态存储区6. 以该函数定义的返回值为准7. 嵌套调用指函数调用函数四、单选1-5 BDACC 6-10 DAACC 11-13 ACC五、程序分析题1. j str[j-1]2. 本题程序是错的,第五行,for(I = m + 1 ; i++)这里少东西,所以跳过3. i < n x = fun(4)4. 1: a = 1 , b = 12: a = 2 , b = 23: a = 3 , b= 3六、编程题1.int fun(int year) {if( year % 400 == 0|| (year % 4 == 0 && year % 100))return 1 ;elsereturn 0 ;}2.#include <stdio.h>#include <math.h>void fun1(int a , int b , int c) {float t = sqrt(b * b - 4 * a * c) ;printf("x1 = %f , x2 = %f\n" , (-b + t) / 2.0 * a , (-b -t) / 2.0 *a) ;}void fun2(int a , int b , int c) {printf("x1 = x2 = %f\n" , -b/ 2.0 * a) ;}void fun3(int a , int b , int c) {printf("该方程没有实根") ;}int main(int argc , char *argv[]) {int a , b , c ;scanf("%d %d %d" , &a , &b , &c) ;if(b * b - 4 * a *c > 0)fun1(a , b , c) ;else if(b * b - 4 * a * c == 0)fun2(a , b , c) ;elsefun3(a , b , c) ;return 0 ;}3.#include <stdio.h>#include <math.h>int fun(int a[] , int n) {int i , j = 0 ;for(i = 1 ; i < n ; ++i)if(i % 3 == 0 && i % 7 == 0)a[j++] = i ;return j ;}int main(int argc , char *argv[]) {int a[100] , n , m , i ;scanf("%d" , &n) ;m = fun(a , n) ;for(i = 0 ; i < m ; ++i)printf("%f " , sqrt(a[i])) ;return 0 ;} 第五章指针一、简答1. 不一定,这要看指针的类型,比如int * p ,则p + 1 就增加两个字节2. 定义指针时表示定义的变量是指针类型,引用指针时,表示指针指针指向的变量3. p + n , p – n ,其中n是int类型二、填空题1. 地址2. & *3. 指针4. *p5. 10066. malloc7. a+i *(a+i)8. 39. ‘b’‘\0’三、改错题1. 只能存放同类型的变量的地址,比如int *只能存放int型变量的地址2. 这个说法是正确的,没有错误3. 不是,指的是指针所指向的变量的类型4. 只能是同类型的指针或者&a这样的地址值5. 是可以改变的四、单选1-5 CDDAA 6-10 BCDDB五、程序分析题1. *x t2. r + b[u] *x3. 104. CDG5. 80,-206. 57. 551711717六、编程题1.#include <stdio.h>int main(int argc , char *argv[]) {char s[100] ;int i ;gets(s) ;for(i = 0 ; s[i] != '\0' ; ++i) ;printf("%d\n" , i) ;return 0 ;}2.#include <stdio.h>int fun(char *s , char c) {int count = 0 ;for( ; *s != '\0' ; ++s)if(*s == c)++count ;return count ;}int main(int argc , char *argv[]) {char s[100] , c ;gets(s) ;c = getchar() ;printf("%s %c\n" , s , c ) ;printf("%d\n" , fun(s , c)) ;return 0 ;}3.#include <stdio.h>int main(int argc , char *argv[]) {char s[100] ;int i , n1 , n2 , n3 , n4 , n5 ;n1 = n2 = n3 = n4 = n5 = 0 ;gets(s) ;for(i = 0 ; s[i] != '\0' ; ++i) {if(s[i] >= 'A' && s[i] <= 'Z')++n1 ;else if(s[i] >= 'a' && s[i] <= 'z')++n2 ;else if(' ' == s[i])++n3 ;else if(s[i] >= '0' && s[i] <= '9')++n4 ;else++n5 ;}printf("大写字母:%d\n" , n1) ;printf("小写字母:%d\n" , n2) ;printf("空格:%d\n" , n3) ;printf("数字:%d\n" , n4) ;printf("其他字符:%d\n" , n5) ;return 0 ;}第六章结构类型一、简答题1比如定义struct Student {char name[100] ;int age ;}stu ;则 , stu.age 即可引用结构体成员2. 不是必须为所有的成员赋初值,因为语法上没有强制要求。

C自考练习题及解答

C自考练习题及解答

程序员冲刺练习题及解答:第一章 (2)1.1 单项选择题 (2)1.2 填充题 (4)第二章 (6)2.1 单项选择题 (6)2.2 填充题 (16)第三章 (20)3.1 单项选择题 (20)3.2 填充题 (30)3.3 程序分析题 (32)3.4 程序设计题 (34)第四章 (43)4.1 单项选择题 (43)4.2 填充题 (46)4.3 程序分析题 (50)4.4 程序设计题 (53)第五章 (63)5.1 单项选择题 (63)5.2 填充题 (71)5.3 程序分析题 (72)5.4 程序设计题 (73)第六章 (77)6.1 单项选择题 (77)6.2 填充题 (79)6.3 程序分析题 (81)6.4 程序设计题 (82)第七章 (83)7.1 单项选择题 (83)7.2 填充题 (85)7.3 程序分析题 (85)7.4 程序设计题 (86)第八章 (89)8.1 单项选择题 (89)8.2 填充题 (89)8.3 程序分析题 (90)8.4 程序设计题 (91)第九章 (94)9.1 单项选择题 (94)9.2 填充题 (95)9.3 程序分析题 (96)9.4 程序设计题 (97)第一章1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。

面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。

面向过程语言是一种能方便描述算法过程的计算机程序设计语言。

有汇编语言,但没有面向汇编语言。

汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。

所以解答是①。

2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL 语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。

自考 c 程序试题及答案

自考 c 程序试题及答案

自考 c 程序试题及答案一、选择题(每题4分,共20分)1. 下列哪个选项是 C 语言关键字?A. intB. printfC. mainD. include2. 在 C 语言中,以下哪个选项可以用于读取用户输入?A. printB. inputC. scanD. scanf3. 下列哪个选项是用来声明一个整型变量?A. charB. floatC. intD. double4. 如果要判断两个变量是否相等,应使用哪个运算符?A. =B. ==C. >D. <5. 下列哪个选项用于将一个整型值转换为字符型?A. atoi()B. itoa()C. sprintf()D. cast()二、填空题(每题4分,共20分)1. 在 C 语言中,用于循环执行代码块的关键字是____。

2. 当变量的值大于或等于某个特定值时,才会继续执行循环,这个循环结构是____。

3. 在 C 语言中,用于分支选择的关键字是____。

4. 在 C 语言中,用于定义常量的关键字是____。

5. C 语言中表示逻辑非的运算符是____。

三、编程题(共60分)请编写一个 C 语言程序,要求能够根据用户输入的学生成绩输出相应的等级。

规定如下:90 分及以上为优秀,80 分及以上为良好,70 分及以上为中等,60 分及以上为及格,60 分以下为不及格。

程序运行示例1:输入成绩:85输出等级:良好程序运行示例2:输入成绩:72输出等级:中等程序运行示例3:输入成绩:58输出等级:不及格(提示:可以使用 if-else if-else 结构来实现条件判断,根据不同的成绩范围输出不同的等级。

)四、答案解析一、选择题答案:1. A 2. D 3. C 4. B 5. A二、填空题答案:1. for 2. do-while 3. if 4. const 5. !三、编程题答案:```c#include <stdio.h>int main() {int score;printf("请输入成绩:"); scanf("%d", &score);if (score >= 90) {printf("等级:优秀"); } else if (score >= 80) {printf("等级:良好"); } else if (score >= 70) {printf("等级:中等"); } else if (score >= 60) {printf("等级:及格"); } else {printf("等级:不及格"); }return 0;}```注意:以上程序仅为参考答案,实际编程过程中可以有多种实现方式。

c自考本试题及答案

c自考本试题及答案

c自考本试题及答案一、单项选择题(每题1分,共10分)1. 自考本科的全称是:A. 自学考试本科B. 自考本科C. 自学考试专科D. 自学考试答案:A2. 自考本科的学制通常是:A. 2年B. 3年C. 4年D. 5年答案:C3. 自考本科的学历层次属于:A. 专科B. 本科C. 硕士D. 博士答案:B4. 自考本科的考试形式是:A. 闭卷B. 开卷C. 半开卷D. 论文答案:A5. 自考本科的毕业要求是:A. 修满学分B. 通过所有课程考试C. 完成毕业论文D. 所有以上答案:D6. 自考本科的考试时间通常安排在:A. 每年的1月和7月B. 每年的4月和10月C. 每年的6月和12月D. 每年的3月和9月答案:B7. 自考本科的考试科目通常包括:A. 公共课B. 专业基础课C. 专业课D. 所有以上答案:D8. 自考本科的考试合格标准是:A. 60分B. 70分C. 80分D. 90分答案:A9. 自考本科的学历证书由:A. 教育部颁发B. 省级教育部门颁发C. 学校颁发D. 考试机构颁发答案:C10. 自考本科的学历证书可以用于:A. 考研B. 考公务员C. 出国留学D. 所有以上答案:D二、多项选择题(每题2分,共10分)1. 自考本科的报名条件包括:A. 具有高中或同等学历B. 具有专科学历C. 年满18周岁D. 身体健康答案:A、C、D2. 自考本科的考试科目类型包括:A. 公共课B. 专业基础课C. 专业课D. 选修课答案:A、B、C3. 自考本科的考试方式包括:A. 笔试B. 口试C. 实践操作D. 论文答辩答案:A、C、D4. 自考本科的学习方式包括:A. 完全自学B. 参加辅导班C. 在线学习D. 学校授课答案:A、B、C、D5. 自考本科的毕业要求包括:A. 修满学分B. 通过所有课程考试C. 完成毕业论文D. 参加毕业实习答案:A、B、C三、简答题(每题5分,共20分)1. 简述自考本科与普通本科的主要区别。

自考c语言程序设计试题及答案

自考c语言程序设计试题及答案一、单项选择题(每题1分,共10分)1. C语言中,一个整数变量的取值范围是()。

A. 根据变量名确定B. 根据变量的类型确定C. 根据编译器确定D. 根据操作系统确定答案:B2. 在C语言中,以下哪个关键字用于声明一个函数?()A. defineB. functionC. declareD. void答案:D3. 如果一个指针变量的值为NULL,那么它表示()。

A. 无权访问内存B. 指向第一个内存单元C. 指向最后一个内存单元D. 不指向任何内存单元答案:D4. C语言中,字符串常量存储在内存的()。

A. 代码区B. 数据区C. 堆区D. 栈区答案:A5. 下列哪个不是C语言标准输入输出库函数?()A. printf()B. scanf()C. getchar()D. puts()答案:C6. C语言中,数组的下标默认从哪个数字开始?()A. 0B. 1C. -1D. 随机数答案:A7. 在C语言中,以下哪个语句用于结束程序的执行?()A. exit()B. quit()C. end()D. stop()答案:A8. C语言中,结构体(struct)可以用来创建()。

A. 数组B. 类C. 函数D. 联合答案:B9. 在C语言中,以下哪个操作符用于计算两个数的乘积?()A. *B. /C. %D. +答案:A10. C语言中,以下哪个函数用于将字符串从源位置复制到目标位置?()A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A二、填空题(每题2分,共10分)11. C语言中,用于定义一个全局变量的关键字是_________。

答案:extern12. 当我们想要在C语言中定义一个无限循环时,可以使用_________循环。

答案:while13. 在C语言中,sizeof运算符可以用来获取_________。

答案:变量或类型所占的内存大小14. 如果一个函数的返回类型是void,那么这个函数不能_________。

c++自考本试题及答案

c++自考本试题及答案C++自考本试题及答案1. 选择题- 1.1 下列哪个选项是C++中正确的注释方式?- A. // 这是注释- B. /* 这是注释 */- C. //* 这是注释- D. /* 这是注释 */- 答案:A- 1.2 C++中,以下哪个关键字用于定义类?- A. struct- B. class- C. typedef- D. enum- 答案:B2. 填空题- 2.1 在C++中,定义一个名为`Student`的类,包含私有成员变量`name`和`age`,以及公有成员函数`getName()`和`getAge()`,其定义如下:```cppclass Student {private:string name;int age;public:string getName() { return name; }int getAge() { return age; }};```- 2.2 请写出C++中定义一个函数的一般形式:```cppreturnType functionName(参数列表) {// 函数体}```3. 简答题- 3.1 简述C++中构造函数和析构函数的作用。

- 答案:构造函数用于在创建对象时初始化对象;析构函数用于在销毁对象时进行清理工作。

- 3.2 描述C++中指针和引用的区别。

- 答案:指针是一个变量,可以指向另一个变量的地址;引用是另一个变量的别名,不能独立存在。

4. 编程题- 4.1 编写一个C++程序,实现计算并输出100以内所有偶数的和。

```cpp#include <iostream>using namespace std;int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}cout << "Sum of even numbers from 1 to 100 is: " <<sum << endl;return 0;}```- 答案:程序运行后将输出100以内所有偶数的和。

学历类《自考》自考专业(计算机应用)《C++程序设计》考试试题及答案解析

学历类《自考》自考专业(计算机应用)《C ++程序设计》考试试题及答案解析姓名:_____________ 年级:____________ 学号:______________1、以下基类中的成员函数表示纯虚函数的是( )A 、virtualvoidtt( )=0B 、voidtt(int)=0C 、virtualvoidtt(int)D 、virtualvoidtt(int){}正确答案:A答案解析:暂无解析2、对于int*pa [5]; 的描述,正确的是( )A 、pa 是一个指向数组的指针,所指向的数组是5个int 型元素B 、pa 是一个指向某个数组中第5个元素的指针,该元素是int 型变量C 、pa [5]表示某个数组的第5个元素的值D 、pa 是一个具有5个元素的指针数组,每个元素是一个int 型指针正确答案:D答案解析:暂无解析3、C++的继承性允许派生类继承基类的( )A 、部分特性,并允许增加新的特性或重定义基类的特性B 、部分特性,但不允许增加新的特性或重定义基类的特性C 、所有特性,并允许增加新的特性或重定义基类的特性D 、所有特性,但不允许增加新的特性或重定义基类的特性正确答案:C答案解析:暂无解析4、使用地址作为实参传给形参,下列说法正确的是( )A 、实参是形参的备份B 、实参与形参无联系C 、形参是实参的备份D 、实参与形参是同一对象正确答案:D答案解析:暂无解析5、在私有继承的情况下,基类成员在派生类中的访问权限( )A 、受限制B、保持不变C、受保护D、不受保护正确答案:A答案解析:暂无解析6、C++语言中所有在函数中定义的变量,连同形式参数,都属于( )A、全局变量B、局部变量C、静态变量D、函数正确答案:B答案解析:暂无解析7、在类中说明的成员可以使用关键字的是( )A、publicB、externC、cpuD、register正确答案:A答案解析:暂无解析8、C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是( )A、增加了一些新的运算符B、允许函数重载,并允许设置缺省参数C、规定函数说明符必须用原型D、引进了类和对象的概念正确答案:D答案解析:暂无解析9、假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,和的值分别为( )A、3和15B、5和4C、4和20D、20和5正确答案:C答案解析:暂无解析10、在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限( )A、受限制B、保持不变C、受保护D、不受保护正确答案:B答案解析:暂无解析11、构造函数不具备的特征是( )A、构造函数的函数名与类名相同B、构造函数可以重载C、构造函数可以设置默认参数D、构造函数必须指定类型说明正确答案:D答案解析:暂无解析12、语句ofstreamf(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件并与之连接,并且( )A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B、若文件存在,将其置为空文件;若文件不存在,打开失败C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D、若文件存在,打开失败;若文件不存在,建立一个新文件正确答案:A答案解析:暂无解析13、友元关系不能( )A、提高程序的运行效率B、是类与类的关系C、是一个类的成员函数与另一个类的关系D、继承正确答案:D答案解析:暂无解析14、所谓多态性是指( )A、不同的对象调用不同名称的函数B、不同的对象调用相同名称的函数C、一个对象调用不同名称的函数D、一个对象调用不同名称的对象正确答案:B答案解析:暂无解析15、关于this指针使用说法正确的是( )A、保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B、保证基类私有成员在子类中可以被访问。

c试题及答案自考

c试题及答案自考一、单项选择题(每题1分,共10分)1. 以下哪个选项是自考的特点?A. 需要参加统一的入学考试B. 需要在学校全日制学习C. 可以自主选择学习时间和地点D. 必须在指定的教育机构学习答案:C2. 自考的学历证书由哪个机构颁发?A. 教育部B. 学校C. 考试院D. 培训机构答案:A3. 自考的考试形式通常是什么?A. 笔试B. 面试C. 笔试和面试相结合D. 网络考试答案:A4. 自考的课程设置通常包括哪些类型?A. 必修课和选修课B. 只有必修课C. 只有选修课D. 没有课程设置答案:A5. 自考的学分制是如何规定的?A. 学分不计入总成绩B. 学分达到一定标准即可毕业C. 学分没有具体要求D. 学分必须在一学期内完成答案:B6. 自考的考试时间通常如何安排?A. 每年固定时间B. 每学期固定时间C. 由学生自行决定D. 由教育机构决定答案:A7. 自考生在完成学业后,可以申请什么?A. 学位证书B. 毕业证书C. 学位证书和毕业证书D. 只有学位证书答案:C8. 自考的报名流程通常包括哪些步骤?A. 网上报名、现场确认、缴费B. 现场报名、网上报名、缴费C. 网上报名、缴费、现场确认D. 现场报名、缴费、网上报名答案:A9. 自考的考试难度与普通高等教育相比如何?A. 更难B. 相同C. 更简单D. 无法比较答案:D10. 自考的学历认可度如何?A. 非常高B. 一般C. 较低D. 非常低答案:A二、多项选择题(每题2分,共10分)1. 自考的优势包括哪些方面?A. 灵活的学习时间B. 较低的学习成本C. 广泛的专业选择D. 严格的考试制度答案:ABCD2. 自考生在准备考试时,通常需要关注哪些信息?A. 考试大纲B. 考试时间C. 考试地点D. 考试费用答案:ABC3. 自考的学历证书在哪些方面具有法律效力?A. 求职B. 升学C. 出国D. 评职称答案:ABCD4. 自考的课程学习通常可以通过哪些方式进行?A. 网络学习B. 面授课程C. 自学D. 实践操作答案:ABCD5. 自考的毕业要求通常包括哪些内容?A. 完成所有必修课程B. 达到规定的学分C. 通过毕业论文或设计D. 参加毕业答辩答案:ABC三、简答题(每题5分,共20分)1. 请简述自考的报名条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章一、选择题1.B; (typedef ,typeid ,typename,都为保留字);2.C; (标识符,应该以字母或,下划线开头);3.C; (标识符中有的特殊符号,只能有下划线);二、填空题1. cin,cout2. new,delete3. int a(55);三、改错题1.没有定义变量num;2.不能给变量x,声明指向常量的指针const int *p=&x; 如果吧x定义为常量const,*p不能当作“左值”。

3.p为常量指针,不能吧p作为“左值”,p=&y,错误。

四、编程题1. 分别用字符和ASCII码形式输出整数值65和66.#include < iostream >using namespace std;void main(){char a='A',b='B';int ascii_1=53,ascii_2=54;//ASCII码中的,5和6cout<<"字符输出:"<<(int)a<<","<<(int)b<< endl;cout<<"ASCII码输出:"<<(char)ascii_2<<(char)ascii_1<<",";cout<<(char)ascii_1<<(char)ascii_1<< endl;}2.编写一个int型变量分配100个整形空间的程序。

#include < iostream >using namespace std;void main(){int *p;p = new int[100];for(int i = 0;i < 100;i++){*(p+i)=i;}for(i = 0;i < 100;i++){cout<<*(p+i)<<",";}delete p;}3.编写完整的程序,它读入15个float值,用指针把它们存放在一个存储快里,然后输出这些值和以及最小值。

#include < iostream >#include < algorithm > //用于数组排列的头文件using namespace std;void main(){float *p;p = new float[15];cout<<"输入15个float类型的值:" << endl;for(int i = 0;i < 15 ; i++){cin>>*(p+i);}for(i = 0;i < 15;i++){cout<<*(p+i)<<",";}sort(p,p+15);cout<<"\n最小的是:"<<*(p)<< endl;delete p;}4.声明如下数组:int a[] = {1 ,2 ,3, 4, 5, 6, 7, 8};先查找4的位置,讲数组a复制给数组b,然后将数组a的内容反转,再查找4的位置,最后分别输出数组a和b的内容。

#include < iostream>#include < algorithm>#include < functional>using namespace std;void main(){int a[]={1,2,3,4,5,6,7,8},b[8];cout<<"数组a中‘4’的位置是:"<< find(a,a+8,4)<< endl;//查找4的位置copy(a,a+8,b);//将数组a复制给数组breverse_copy(b,b+8,a);//把数组b,逆向复制给a,完成a的逆转cout<<"数组a反转后,‘4’的位置是:"<< find(a,a+8,4)<< endl;//在查找4的位置cout<<"数字a的内容:"<< endl;for(int i=0;i<8;i++)cout<< a[i]<<" ,";cout<<"\n数组b中的内容:"<< endl;for(i=0;i<8;i++)cout<< b[i]<<" ,";}第二章一、单项选择1.D;2.D;三、编程题1.使用多种方法编写将两个字符串连接在一起的程序。

#include < iostream >#include < string >using namespace std;void main(){//使用string类定义字符串,完成字符串连接string str1("C++"),str2("程序设计");string str3;str3 = str1+str2;//连接方式1cout<< str3<< endl;//使用char数组定义字符串,完成连接char c1[] = {"c++"},c2[] = {"program"};char c3[20];int i=0,k=0;for(i=0;i<20;i++)//初始化c3c3[i]='\0';i=0;while(c1[i]!='\0'){c3[k]=c1[i];i++;k++;}i=0;while(c2[i]!='\0'){c3[k]=c2[i];i++;k++;}cout<< c3<< endl;}2.已知一个string的对象str的内容为“We are here!”,使用多种方法输出“h”。

#include < iostream >#include < functional >#include < algorithm >#include < string >using namespace std;void main(){string str1("We are here!");cout<< str1[7]<< endl;//通过数组string str2=str1.substr(7,1);//通过得到子字符串cout<< str2<< endl;char *p=find(str1.begin(),str1.end(),'h');//通过find函数if(p)cout<<*p<< endl;}第三章一、填空题1.函数原型声明;2.inline3.对象、对象指针、引用4.函数func返回引用5.int *fun(char,int);二、单项选择题1.A;2.C;3.D;三、改错题1.y = x * x - T; 错误,T是类型,不是变量,不能参加运算;2.y没有类型。

T max(T x, T y){return (x>y) ? (x) : (y) ;}3.函数change 的参数定义成了常量,只能使用参数,而无权修改他。

void change (string & s){s = s + "pig!";}四、编程题1.编写一个求方程ax2 + bx + c = 0的根的程序,用3个函数分别求当b2-4ac 大于零、等于零、和小于零时的方程的根。

要求从主函数输入a,b,c的值并输出结果。

#include < iostream.h >#include < math.h >void equation_1 (int a, int b, int c){double x1, x2, temp;temp = b*b - 4 * a * c;x1 = (-b + sqrt(temp) ) / (2 * a * 1.0);x2 = (-b - sqrt(temp) ) / (2 * a * 1.0);cout<<"两个不相等的实根"<< endl;cout<<"x1 = "<< x1<<", x2 = "<< x2<< endl;}void equation_2 (int a, int b, int c){double x1, x2, temp;temp = b*b - 4 * a * c;x1 = (-b + sqrt(temp) ) / (2 * a * 1.0);x2 = x1;cout<<"两个相等的实根"<< endl;cout<<"x1 = "<< x1<<", x2 = "<< x2<< endl;}void equation_3 (int a, int b, int c){double temp, real1, real2, image1, image2;temp = - (b*b - 4 * a * c);real1 = -b / (2 * a *1.0);real2 = real1;image1 = sqrt(temp);image2 = - image1;cout<<"两个虚根"<< endl;cout<<"x1 = "<< real1<<" + "<< image1<<"j"<< endl;cout<<"x2 = "<< real2<<" + "<< image2<<"j"<< endl;}void main(){int a, b, c;double temp;cout<<"输入a,b,c的值"<< endl;cin>>a>>b>>c;cout<<"方程为:"<< a<<"x*x+"<< b<<"x+"<< c<<" = 0"<< endl;temp = b*b - 4 * a * c;if(temp > 0)equation_1 (a, b, c);if(temp == 0)equation_2 (a, b, c);if(temp < 0)equation_3 (a, b, c);}2.定义函数up(ch),如字符变量ch是小写字母就转换成大写字母并通过up返回,否则字符ch不改变。

相关文档
最新文档