c++期末复习参考题

合集下载

C语言程序设计期末复习题及答案(1)

C语言程序设计期末复习题及答案(1)
4. 设int i = 5;则语句while (i > = 1) i - -;执行后i的值为_0______。
5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)

c语言期末复习资料

c语言期末复习资料

c语言期末复习资料C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。

由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。

期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。

一、基础知识1.变量和数据类型C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。

常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。

掌握变量和数据类型的定义和使用是C 语言学习的第一步。

2.运算符和表达式C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。

表达式是由变量和运算符组成的代码段,用于对变量进行操作和计算。

掌握运算符和表达式的使用和规则是C语言学习的基础。

3.条件语句和循环语句条件语句和循环语句是C语言中的两种重要的控制结构。

条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。

循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。

掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。

二、进阶技巧1.字符数组和字符串字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。

字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。

掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。

2.函数和指针函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。

指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。

掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。

3.结构体和文件操作结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。

(完整word版)数据结构C语言版期末考试试题(有答案)

(完整word版)数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。

A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。

C语言程序设计期末复习

C语言程序设计期末复习

②doudb!le=
float
f &&
int
(i+1)
int
③dou4b.0le
int
*i
char
+ c double
【14】 A) double, double, double (或float)
B) int, double, char
✓C) int, int, double (或float) D) unsigned, unsigned, int
② 其他可打印(可显示)的字符,如汉字等自然语言 符号(作为字符串的内容)
[注意] C/C++语言是区分大小的语言 !
(详见P377 附录B)
8
zxl.xmu.2014
关键字
关键字/保留字 —— C语言程序中有特殊含义 的英文单词,主要用于构成语句、定义存储类 型和数据类型。
✓ C语言中仅有37个关键字
else continue;
printf("%4d",n); }
break; 仅输出: 100 }
输出【:131】00A1)01fo1r0(3n=1100401;0(n6%1037)&…&…n<=200; n++) printf("%4d",n); B) for (n=100; (n%3)||n<=2仅00输; n出++:) p1ri0n0tf1("0%1 4d",n);
非法字符举例:M.D.John,$123,1AB,d e
11
zxl@xmu
运算符(共34种,详见P378《附录D》)
• 目/元——运算时所需运算对象(操 作数)的个数。

《市场营销学》期末复习题 -ABCDEF

《市场营销学》期末复习题 -ABCDEF

《市场营销学》课程2022秋季期末考试复习资料一、复习资料的相关说明1、《市场营销学》课程的考核方式闭卷2、成绩评定总评成绩=40%阶段作业成绩(网上)+ 60%期末考试成绩3、复习资料的答案说明复习资料与参考答案在11月上旬放在网上。

二、期末考试重点复习题(占期末考试成绩60%)提示:期末考试试题及选项顺序会随机。

复习题一:(一)单项选择题:(10题)1.市场的基本活动是()。

BA. 生产活动B. 交换活动C. 销售活动D.促销活动2.许多冰箱生产厂家近年来高举“环保”、“健康”旗帜,纷纷推出无氟冰箱。

它们所奉行的市场营销管理哲学是 ( )。

DA.推销观念B.产品观念C.市场营销观念D.社会营销观念3.消费者不可能在真空中做出自己的购买决策,其购买决策在很大程度上受到社会、文化、个人和心理等因素的影响,其中相关群体属于()。

BA.组织因素B.社会文化因素C.心理因素D.个人因素4. 消费者在购买商品时,商品的品牌差异程度大,消费者参与程度高的购买行为属于()购买行为。

AA.复杂型B.和谐型C.多变型D.习惯型5.消费者从广告、售货员介绍、商品展览与陈列、商品包装、商品说明书等获得信息的来源属于()。

CA.经验来源B.公众来源C. 商业性来源D. 个人来源6.在中秋节、情人节等节日即将来临的时候,许多商家都大做广告,以促销自己的产品。

他们对市场进行细分的方法是()。

BA.地理细分B.行为细分C.心理细分D.人口细分7.消费者购买某种产品时所追求的利益,即顾客真正要买的东西,是产品整体概念中的()。

AA.核心产品B. 潜在产品C.附加产品D.形式产品8.企业在定价时,通过降低价格薄利多销来达到增加盈利的目的,采取这种策略的前提是()。

BA.需求价格弹性小于1B.需求价格弹性大于1C.需求收入弹性小于1D.需求收入弹性大于19.公共宣传的目标是( )。

CA.出售商品 B.盈利 C.树立企业良好的形象 D.占领市场10.产品组合的长度是指( )的总数。

《经济学基础》期末复习综合练习题及答案

《经济学基础》期末复习综合练习题及答案

《经济学基础》期末复习综合练习题(A)第一题名词解释(每词5分,共20分)1、经济2、企业3、财政4、恩格尔系数第二题填空(每空1分,共15分)1、___________、__________和___________被认为是最基本的生产要素。

2、市场经济就是社会化的___________,是市场在____________中起基础作用的经济。

3、在生产和服务领域可划分为三大产业,其第一产业为__________,第二产业为__________,第三产业为__________。

4、税收具有___________、__________和__________三个基本特征。

5、市场交易的原则主要包括_________、__________、__________和_________。

第三题判断正误(每小题4分,共16分)在题后括号内画“√”或“×”,分别表示正确或错误。

1、农民刘强种黄豆,收了500斤,榨油供家庭食用,这些黄豆也是商品。

()2、为各类残疾人、生活无保障的人提供生活保障,这是社会福利,是政府举办的公益性事业。

()3、小张是吸烟者,但他购烟时并未纳税。

()4、甲股票面额为9元,预期年股息为5%,而同期银行年利率为4.5%,由此可估算出该股票的价格为每股10元。

()第四题选择题(每小题5分,共20分)将所选答案代号填在相应的[ ]内1、关于商品,下列说法中不正确的是[ ]。

A、商品的使用价值是商品的自然属性。

B、商品的价值是商品的本质属性。

C、商品的价值量是由其某个具体制作商品的工人的劳动时间决定的。

D、商品的价格反映商品的价值量,但又受市场商品供求不平衡的影响。

2、公司是最重要的企业形式,关于公司的下列说法中,不正确的是[ ]。

A、我国的公司的形式,有股份有限公司有限责任公司两种。

B、有限责任公司指股东偿付债务的责任,仅限于购买股金的数额。

C、股份有限公司经批准可发行股票。

D、股东大会决定公司重大问题时,每个股东都有相同的股票权,一律平等,与持股多少无关。

《面向对象程序设计》期末复习题及答案1

《面向对象程序设计》期末复习题及答案1

面向对象程序设计》期末复习指导-单选题1. C++源程序文件的缺省扩展名为( )。

A. cppB. exeC. objD. lik2. 编写C++程序一般需经过的几个步骤依次是( )。

A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接3. 程序中主函数的名字为()。

A. mainB. MAINC. MainD. 任意标识符4. 存储以下数据,占用存储字节最多的是()。

A. 0B. …0‟C. “0”D. 0.01 5. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc 的表达式是( )。

A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. x>0 || y==5的相反表达式为()。

A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==57. 字符串”a+b=12\n”的长度为()。

A. 6B. 7C. 8D. 98. 循环语句“for(int i=0; i<n; i++) cout<<i*i<<’’;”中循环体执行的次数为( )。

A. 1B. n-1C. nD. n+19. 在下面循环语句中循环体执行的次数为()。

int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 710. 在下面循环语句中循环体执行的次数为()。

int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 711. 循环体至少被执行一次的语句为()。

A. for循环B. while循环C. do循环D. 任一种循环12. 在下面的一维数组定义中,哪一个有语法错误。

《C语言程序设计II》期末复习

《C语言程序设计II》期末复习

《C语言程序设计II》期末复习一、复习内容:⏹第1~4讲指针●指针的概念:内存单元的排列方式、地址的概念、不同数据类型内存单元的个数、存储方式不同,两种变量的存取方式,指针即是地址,NULL;●指针变量:概念和定义方法(空悬指针、空类型与空指针),指针的两个特殊运算符(*与&),指针变量作为函数参数(通过函数调用得到n个要改变的值);●指针运算:指针与整数的运算、++(--)、比较、相减;●指针与一维数组:对数组名的理解,指针与一维数组(指向数组元素的指针、引用数组元素时的指针运算、通过指针引用数组元素的几种方法、用数组名作函数参数);●指针与二维数组:理解二维数组中行指针、列指针的类型,加减1所移动的字节数,如何利用它们访问二维数组元素,用作函数参数参数时在主调函数中如何给出实参。

●通过指针引用字符串:字符串的引用方式,字符指针作函数参数,使用字符指针变量和字符数组的比较;●指向函数的指针:什么是函数指针,怎样定义和使用指向函数的指针变量,用指向函数的指针作函数参数;●返回指针值的函数:函数的返回值是一个地址,定义格式,使用;●指针数组和多重指针:什么是指针数组,指向指针数组的指针,指针数组作main函数的形参;●动态内存分配:动态内存分配的概念、必要性,与动态内存分配相关的4个函数,动态数组的建立;●有关指针的小结:指针、指向、指针变量,void *类型与NULL的比较,指针与数组的关系,各类指针类型的比较,指针的几类运算;●结构体指针:什么是结构体指针,用结构体指针访问成员的简便写法,指向结构体数组的指针,结构体变量与结构体指针作函数参数;●用指针处理链表:什么是链表,建立静态链表,建立动态链表,输出链表。

(理解链表的概念,本次考试不包含这一部分内容)。

⏹第5讲位运算和预处理指令●位运算与位运算符:位运算概念,6种基本的位运算符(&、|、^、~、<<、>>),&和^运算符的一些用法,位运算的复合赋值运算符;●位段:问题的提出,位段的概念与定义,位段的使用,注意事项;(这一部分内容不考)●预处理:概念,主要工作,功能类型,书写要求;●宏定义:不带参数的宏定义,带参数的宏定义;●“文件包含”处理:格式,作用,带<>与””的差别;●条件编译:概念,好处,几种基本格式。

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。

A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。

√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。

C语言期末复习资料

C语言期末复习资料

《C语言》课程综合复习资料一、单项选择1. 若有如下语句: int *p1,*p2; 则其中int所指的是()A. p1的类型B. *p1和*p2的类型C. p2的类型D. p1和p2所能指向变量的类型2. 下列程序段的输出结果是() x=9; while(x>7) {printf(“*”);x--;}A. ****B. ***C. **D. *3. 下列变量的定义及赋值正确的是()A. int i=0;j;B. char c=”A”;C. double x,y,z; x=y=z=100;D. float a=b=100;4. 设有语句:int x=10; x = x -= x - x;,则执行语句后,x的值为()A. 30B. 20C. 10D. 405. 设有语句:float x=1,y; y=x 3/2; 则y的值是()A. 1B. 2C. 2.0D. 2.56. 设有如下定义和执行语句,其输出结果为()int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b);A. 3 2B. 4 2C. 2 2D. 2 37. 设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为()A. strcpy(str1,str2);B. strcpy(str1, “China”);C. strcat(str1,“China”)D. strcat(“Beijing”,str2);8. 设有定义语句:char str[][20]={""Hello"",""Beijing""},*p=str; 则printf(""%d\n"",strlen(p+20)); 输出结果是()A. 0B. 5C. 7D. 209. 设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是()A. 5 11B. 1 9C. 5 9D. 有错误10. 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是()A. 1,1,1B. 1,2,0C. 0,1,1D. 0,2,011. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为()A. 0B. 1C. 2D. 312. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是()A. a&&bB. a<=bC. a||b c&&b-cD. !((a<b)&&!c||1)13. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a 3; 则*(p-2) , *(a 4) 的值是()A. 5 11B. 1 9C. 5 9D. 有错误14. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是()A. 12B. 15C. 6D. 515. 设有int x=11;则表达式(x *1/3)的值是()A. 3B. 4C. 11D. 1216. 设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是()A. 1B. 0C. 非0D. 语法错17. 若有以下定义:int a[10],*p=a; 则*(p+3)表示的是()A. 元素a[3]的地址B. 元素a[3]的值C. 元素a[4]的地址D. 元素a[4]的值18. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是()A. ps 3B. s[3]C. ps[3]D. ps =3,*ps19. C语言中,函数返回值的类型是由()A. return语句中的表达式类型决定B. 调用函数的主调函数类型决定C. 调用函数时的临时类型决定D. 定义函数时所指定的函数类型决定20. C语言提供的合法关键字是()A. swicthB. chaC. CaseD. default二、读程序题1. "#include <stdio.h>void main(){ int a=4,x=3,y=2,z=1;printf(""%d\n"",(a<x ? a : z<y ? z : x));}"2. "#include <stdio.h>void main(){ int x=12,y=0;if(x>=0){ if(x>0) y=10; }else y=-10;printf(“y=%d\n”,y);}"3. "#include <stdio.h>void main(){ int k=1;switch(k){ case 0: printf(""A""); break;case 1: printf(""B"");case 2: printf(""I"");case 3: printf(""G""); break;default: printf(""E"");}}"4. "#include <stdio.h>#define S(x) x*xvoid main(){int a,k=3,m=1;a=S(k+m);printf(""%d"",a);}"5. "#include <stdio.h>int fun(int a, int b){ if(a>b) return(a);else return(b);}void main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(""%d\n"", r);}"6.#include <stdio.h&>void main(){ int k=4,n=0;for(;n<k;){ n++;if(n%3!=0) continue;k- -;}printf(""%d,%d\n"",k,n);}三、编程题1. 写一个判断素数的函数。

!期末复习(参考答案)

!期末复习(参考答案)

一、选择题:1、在数据结构中,从逻辑上可以把数据结构分成【D】A.动态结构和静态结构 B.基本结构和构造结构C.内部结构和外部结构 D.线性结构和非线性结构2、下面程序段的时间复杂性的量级为【C】for(int i=0;i<m;i++)for (int j=0;j<n;j++)a[i][j]=i*j;A.O(m2) B.O(n2) C.O(m*n) D.O(m+n)3、当用户输入非法数据时,程序出现了莫明其妙的结果,说明这个算法【D】A.不正确 B.可读性较差 C.效率较低 D.不够健壮4、有一种数据结构B=(K,R),其中K={10,20,35,50,23,39,60}R={r};r={<10,20>,<20,35>,<35,50>,<50,23>,<23,39>,<39,60>,<60,10>}这种结构属于:【D】A.树型结构 B.线性结构 C.层次结构 D.图形结构5、线性表是【A】A.一个有限序列,可以为空B.一个有限序列,不能为空C.一个无限序列,可以为空D.一个无限序列,不能为空6、计算机算法指的是:【C】A.计算方法 B.排序方法 C.解决问题步骤的有限序列 D.调度方法7、有一种数据结构B=(K,R),其中K={1,5,8,12,20,26,34}R={r};r={<1,8>,<8,34>,<34,20>,<20,12>,<12,26>,<26,5>}这种结构属于:【D】A.树型结构 B.图型结构 C.层次结构 D.线性结构8、有一个程序断如下:for(i=0;i<n;i++)x=x+1;则其时间复杂度为:【C】A.O ( x ) B.O ( i ) C.O ( n ) D.O ( 1 )9、一个队列的入队顺序是K1,K2,K3,K4,K5,则出队顺序为【C】A.K5,K4,K3,K2,K1 B.K5,K4,K1,K2,K3C.K1,K2,K3,K4,K5 D.K3,K2,K1,K5,K410、下面程序段的时间复杂性的量级为【C】for(int i=0;i<m;i++)for (int j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B.O(n2)C. O(m*n)D.O(m+n)11、算法中每一条指令必须有确切的含义,读者理解时不会产生二义性【 D】A.有穷性 B.可行性 C.高效性 D.确定性12、已知完全二叉树有30个结点,则整个二叉树有几个度为1的结点?【 A 】A. 1B. 2C. 0D. 不确定13、数据结构被形式的定义为(K,R),其中K是(请在第①组中进行选择)【B】R是K上的(请在第②组中进行选择)【 A 】①A.算法 B.数据元素的有限集合 C.数据操作 D.逻辑结构②A.关系 B.映象 C.存储类型 D.操作14、已知初始序列为{10,19,4,3,6,8},采用冒泡排序法对该序列作升序排序时,第二趟的排序结果是:【B】 A.10 4 3 6 8 19 B.4 3 6 8 10 19C.3 4 6 8 10 19 D.10 19 3 4 6 815、折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次与表中哪些元素进行比较。

c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2

c程序设计期末复习题【程序设计读程序分析程序、填空题及答案】2

【程序1】题目:将一个数组逆序输出。

要求:分析程序执行过程,并画出变化过程图#define N 5main(){ int a[N]={9,6,5,4,1},i,temp;printf("\n original array:\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\n sorted array:\n");for(i=0;i<N;i++)printf("%4d",a[i]);}==============================================================【程序2】题目:有一个已经排好序的数组。

现输入一个数,要求按原来的规律将它插入数组中。

要求:分析程序执行过程,并画出变化过程图2.程序源代码:main(){int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("original array is:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("insert a new number:");scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){ if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i++)printf("%6d",a[i]);}============================================================== 【程序3】题目:求一个3*3矩阵对角线元素之和要求:分析程序执行过程,并画出变化过程图main(){float a[3][3],sum=0;int i,j;printf("please input rectangle element:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxian he is %6.2f",sum);}============================================================== 【程序4】题目:对10个数进行排序要求:分析程序执行过程,并画出变化过程图2.程序源代码:#define N 10main(){int i,j,min,tem,a[N];/*input data*/printf("please input ten num:\n");for(i=0;i<N;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");/*sort ten num*/for(i=0;i<N-1;i++){min=i;for(j=i+1;j<N;j++)if(a[min]>a[j]) min=j;tem=a[i];a[i]=a[min];a[min]=tem;}/*output data*/printf("After sorted \n");for(i=0;i<N;i++)printf("%5d",a[i]);}============================================================== 【程序5】题目:创建一个链表。

c语言期末考试试题及答案

c语言期末考试试题及答案

c语言期末考试试题及答案一、选择题1. C语言中,用于表示整数常量的数据类型是()。

A. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。

A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。

A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。

A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。

A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。

答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。

答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。

答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。

答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。

()答案:正确2. 在C语言中,所有的函数都有返回值。

()答案:错误3. 指针变量的地址可以通过使用&运算符获得。

()答案:正确4. 在C语言中,long int和int类型的大小是相同的。

()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。

C语言期末复习填空题部分(含答案)

C语言期末复习填空题部分(含答案)

C语言期末复习填空题部分(含答案)work Information Technology Company.2020YEAR期末复习填空题部分一、填空题1 设x为int型变量,写出描述“x是偶数与y是奇数”的表达式是 x%2==0 && y%2==1 。

2 以下程序的输出结果是 -27 。

#include<stdio.h>void main(){ char c;c=0345;printf("%d\n",c);}3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是 -12 。

4 若float x;以下程序段的输出结果是 5.142000x=3.1415926;printf("%f\n",(int)(x*1000+0.5)/(float)1000);5 下面的程序运行时从键盘上输入1234567890<回车>,程序的输出结果是a=123,b=456.0,c=789。

#include<stdio.h>void main(){int a;float b,c;scanf("%3d%3f%3f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);}6 若输入字符串:abcdefg<回车>,则以下while循环体将执行 0 次。

while((ch=getchar())=='g') printf("*");7 下面程序的输出结果是_67,D__。

main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}8 执行下面的语句:printf("%d\n",(a=3*5,a*4,a+5));,输出是 20 。

数控技术期末复习题(4套%2C附答案)

数控技术期末复习题(4套%2C附答案)

数控技术期末复习题(4套%2C附答案)数控技术期末复习题⼀、填空题1、数控机床由输⼊输出设备、数控装置、伺服系统、测量反馈和机床本体组成。

2、数控装置是数控机床的核⼼。

它接受来⾃输⼊设备的程序和数据,并按输⼊的信息的要求完成数值计算、逻辑判断和输⼊输出控制等功能。

3、数控机床分为开环控制的数控机床、闭环控制的数控机床、半闭环控制的数控机床。

4、数控编程的步骤:分析零件确定加⼯⼯艺过程、数值计算、编写零件加⼯程序、制作控制介质、程序校验和试切削。

5、数控机床坐标系确定顺序:Z-X-Y.。

6、数控机床中X尺⼨⼀般采⽤直径编程。

7、坐标平⾯指令:G17、G18、G19。

8、圆弧差补指令⽤R代替I、J、K值。

圆⼼⾓⼩于180度时,R 取正直。

9、数值计算内容:基点和节点计算、⼑位点轨迹计算、辅助计算。

10、CMC数控机床的功能分为基本功能和选择功能。

11、⼑补过程分为⼑补建⽴、⼑补运⾏、⼑补取消。

12、插补算法:脉冲增量插补、数据采样插补。

13、四个⼯作节拍:偏差判别、紧急计算、偏差计算、终点判别。

14、脉冲分配⽅法:电路分配法、软件分配法。

环形分配器的作⽤是将来⾃CMC的指令脉冲按⼀定的顺序送主电动机绕组的控制电路。

15、感应同步器是⼀种电磁式位置检测元件,按其结构特点⼀般分为直线式和旋转式。

前者⽤于直线位移测量,后者⽤于⾓位移测量。

16、丝杠螺母副可通过垫⽚调整、螺纹调整、齿差式调整来调整间隙。

⼆、名词解释1、基点:构成零件轮廓的不同⼏何素线的交点或切点称为基点。

基点可以直接作为其运动轨迹的起点或终点。

节点:当采⽤不具备⾮圆曲线插补功能的数控机床加⼯⾮圆曲线轮廓的零件时,在加⼯程序的编制⼯作中,常⽤多个直线段或圆弧去近似代替⾮圆曲线,这称为拟合处理。

拟合线段的交点或切点称为节点。

2、数控加⼯:数控加⼯:是利⽤⼀种能⾃动换⼑的数控铣铿床,即⼯件经⼀次装夹后能⾃动完成铣锉钻铰等多⼯序综合加⼯,综合加⼯机对原料作综合加⼯处理,得到所需形状。

《VC程序设计》期末复习题集(学生用)

《VC程序设计》期末复习题集(学生用)

《VC程序设计》期末复习题集(学生用)《程序设计(VC++)》考试试卷一选择题(在A、B、C、D中选择一个正确的,每题1分,共30分。

用答题纸答题,二、填空题(每个空格1分,共30分。

请将答案填写在答题纸的相应答题号内,每个答案只占一行)●基本概念题,共5分1.执行语句cout<2.用new运算符申请动态对象时,系统将自动调用该对象的构造函数。

3.定义内联函数的方法是在函数的返回值类型之前增加关键字inline4.在多重继承时,若欲使公共基类只在派生类中产生一个拷贝,则应在派生类中将该基类用关键字virtual5.在C++的I/O流类库中,预定义了4个流,即cin、cout、cerr和clog,其中cerr和clog不可重定向。

●阅读程序题,共13分6.[程序](2分)#includeintm[3][3]={{1},{2},{3}},n[3][3]={1,2,3};voidmain(void){cout<7.[程序](2分)#includeintf(char某){char某p=;while(某p)p++;returnp-;}voidmain(void){cout<程序的输出是6,函数f的功能是求字符串的长度8.[程序](2分)#includevoidf(int某){taticintj;do{[j]+=[j+1];}while(++j<2);}voidmain(void){intk,a[10]={1,2,3,4,5};for(f(a),k=0;k<5;k++)cout<程序输出的第一行是35345,程序输出的第二行是357459.[程序](3分)#includeintk=1;voidf(intm){m+=k;k+=m;{chark=B;cout<<k-A<voidmain(void){inti=4;f(i);cout<程序的输出第一行是1,第二行是5,6,第三行是4,610.[程序](2分)#includeclaA{protected:int某;public:int&Acce(){return某;}};claB{protected:int某;public:int&Acce(){return某;}};claC:publicA,publicB{inty;public:C(inta,intb,intc){A::某=a;B::某=b;y=c;}int&Accey(){returny;}};claD:publicC{intz;public:D(inta,intb,intc,intd):C(a,b,c){z=d ;}int&Accez(){returnz;}};共7页,第1页。

许昌学院C++期末复习题

许昌学院C++期末复习题

选择题11.为了提高函数调用的实际运行速度,可以将较简单的函数定义为__________。

A、内联函数B、重载函数C、递归函数D、函数模板2.若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为__________。

A、aB、AA.aC、a( )D、AA::a( )3.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是__________。

A、任何B、公有或保护C、保护或私有D、私有4.若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是__________。

A、Data+(Data);B、Data operator+(Data);C、Data+operator(Data);D、operator+(Data,Data);5.下列关于函数模板的描述中,正确的是__________。

A、函数模板是一个实例函数B、使用函数模板定义的函数没有返回类型C、函数模板的类型参数与函数的参数相同D、通过使用不同的类型参数,可以从函数模板得到不同的实例函数6.C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是__________。

A、coutB、cinC、cerrD、cset7.有如下函数模板定义:template <class T1,class T2>T1 FUN(T2 n){return n*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为_________。

A、FUN(<double>9)B、double FUN<9>C、FUN(9)D、FUN<9>(double)8.下列关于析构函数的描述中,错误的是__________。

A、析构函数可以重载B、析构函数由系统自动调用C、每个对象的析构函数只被调用一次D、每个类都有析构函数9.下列关于构造函数的描述中,错误的是__________。

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

(一)读程序题1.类中包括其他类的对象成员,构造函数中要列出成员对象名带实参,生成该类对象时,要先调用成员对象的构造函数。

如果是成员对象的缺省构造函数可以不列,但生成该类对象时,仍要先调用成员对象的缺省构造函数。

1.如下程序运行时的输出结果是。

#include<iostream.h>class ONE{int c;public:ONE():c(0){cout<<1; }ONE(int n):c(n){cout<<3; }};classTWO:public ONE{ONE one1;ONE one2;public:TWO(int m):one2(m){cout<<5; }};void main(){TWO t(2);}1135二.派生类构造函数中要列出基类名带实参,生成派生类对象时,要先调用基类的构造函数,再调用派生类的构造函数。

冲突规则与支配规则。

2.如下程序运行时的输出结果是。

#include <iostream.h>class A{public:int x;A(){x=10;}A(int i){ x=i;}void Show(){cout<<"x="<<x<<'\t'<<"A\n";}};class B{public:int y;B(){y=30;}B(int i){ y= i;}void Show(){cout<<"y="<<y<<'\t'<<"B\n";}};class C: public A,public B{public:int y;C(inta,intb,int c):A(a),B(b+30){y= c;}void Show(){cout<<"y="<<y<<'\t'<<"C\n";}};void main(void) {C c1(20,30,40);c1.y=10;c1.Show (); c1.A::Show(); c1.B::Show();}三.派生类中包含对象成员,构造函数中要列出基类名带实参,再列出成员对象名带实参,生成派生类对象时,要先调用基类的构造函数,再调用成员对象的构造函数,最后调用派生类的构造函数。

如果是调用基类或成员对象的缺省构造函数可以不列,但生成派生类对象时,仍要先调用基类的缺省构造函数,再调用成员对象的缺省构造函数。

构造函数与析构函数调用顺序相反。

3.如下程序运行时的输出结果是。

#include <iostream.h>class A {public :A( ){ cout<<"A() \n";}~A( ){ cout<<"~A() \n";}};class B {public:B( ){ cout<<"B()\n"; }~B( ){ cout<<"~B() \n"; }};class C: public B,public A {A a;public :C( ) { cout<<"C() \n"; }~C( ) { cout<<"~C()\n"; }};void main( ) {C c1;}4.如下程序运行时的输出结果是。

#include <iostream.h>class A{public:A(){cout<<'A'<<endl;}};class T{A a;public:T(){cout<<'T'<<endl;}};class X:public A{T t;public:X(){cout<<'X'<<endl;}};void main(){X ob;}三.虚基类5.下列程序运行后的输出结果是。

#include<iostream.h>class A{public:A(){ cout<<"A \n"; }~A(){ cout<<"~A \n"; }};class B:virtual public A{public:B():A(){ cout<<"B \n"; }~B(){ cout<<"~B \n"; }};class C:public virtual A{public:C():A(){ cout<<"C \n"; }~C(){ cout<<"~C \n"; }};class D:public C,public B{public:D():B() , C(), A(){ cout<<"D \n"; }~D(){ cout<<"~D \n"; }};void main(){ D d1; }6. 下列程序的输出结果是。

#include<iostream.h>class A{public:A(){ cout<<"A \n"; }~A(){ cout<<"~A \n"; }};class B: public A{public:B():A(){ cout<<"B \n"; }~B(){ cout<<"~B \n"; }};class C:public A{public:C():A(){ cout<<"C \n"; }~C(){ cout<<"~C \n"; }};class D:public C,public B{public:D():B() , C(){ cout<<"D \n"; }~D(){ cout<<"~D \n"; }};void main(){ D d1; }7. 下列程序的输出结果是。

#include<iostream.h>#include<string.h>class B{charstr[20];public:B (char *s="default"){strcpy(str,s); cout<<str<<endl; }};class Ih1:public virtual B{char str1[20];public:Ih1(char *s1, char *s2): B (s1){strcpy(str1,s2);cout<<str1<<endl; }};class Ih2: public virtual B{char str2[20];public:Ih2(char *s1, char *s2): B (s1){ strcpy(str2,s2);cout<<s2<<endl; } };class Ih3: public Ih1, public Ih2{char str3[20];public:Ih3(char *s1, char *s2, char *s3, char *s4): Ih1(s1,s2),Ih2(s1,s3) { strcpy(str3,s4); cout<<str3<<endl; }};void main(){Ih3 h3("abc","def","ghi","jkl");}四.运行时多态8.下列程序的输出结果是。

#include <iostream.h>class A{public:virtual void f1( ) {cout<<"类A中的f1\n";}virtual void f2( ) {cout<<"类A中的f2\n";}void f3( ) {cout<<"类A中的f3\n";}};class B:public A{public:void f1( ) {cout<<"类B中的f1\n";}void f2(int) {cout<<"类B中的f2\n";}void f3( ) {cout<<"类B中的f3\n";}};void main( ){A a1,*p;B b1;p=&b1;p->f1( ); p->f2( ); p->f3( );}9. 如下程序运行时的输出结果是。

#include<iostream.h>class A{public:virtual void f( ){cout<<1; }void g( ){ cout<<2; }};class B: public A {public:virtual void f( ){ cout<<3; }void g( ){ cout<<4; }};void show( A &a) { a.f( ); a.g( ); }void print(A *p){p->f(); p->g();}void main( ){B b;show(b);print(&b); }10.如下程序运行时的输出结果是。

#include <iostream.h>#include <string.h>class P{public:P(char *s){name=new char[strlen(s)+1];strcpy(name,s);}virtual void print(){cout<<"I am "<<name<<"\n";}~P(){delete []name;}protected:char *name;};class S:public P{public:S(char *s,double g):P(s){gj=g;}void print(int k){cout<<name<<" is "<<gj*k<<endl;}private:doublegj;};classF:public P{public:F(char *s,int n):P (s){pub=n;}void print() {cout<<name<<" published "<<pub<<" books.\n";}private:int pub;};void main(){int a=25;P *p;P pers("Zhang");S stud("Wang",3.6);Fprof("Li",4);p=&pers;p->print();p=&stud;p->print();p=&prof;p->print();stud.print(a);}11.如下程序运行时的输出结果是。

相关文档
最新文档