程序设计综合训练

程序设计综合训练
程序设计综合训练

《程序设计综合训练》

设计报告

专业

:班级

:

号:

名:

指导教师:

成绩

:

计算机工程学院

2012年10月

(1)题目名称、内容

课程管理系统

假定有n 门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学 时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 60)自由选课。试设计学生选修课程系统,使之能提供以下功能:

1、 课程信息录入功能(课程信息用文件保存,也可不用)

2、 课程信息浏览功能

3、 排序:按课程编号排序

4、 查询功能: 按课程性质查询

5、 课程修改、删除(任选一项)

(2)解题的基本思路

主函数选择需要处理的功能,分别再写出课程录入自定义函数、 课程浏览自定义 函数、课程排序自定义函数、课程查询自定义函数、课程删除自定义函数。

(3)设计方案

该系统包括数据录入、浏览、排序、删除、查询功能模块,每个模块在程序系统 中用一个自定义函数来实现,如图:

Main 函数

主函数:

Choice=0

输入1 输入2 输入4 输入5 调用课程录入 自定义函数

调用课程浏览 自定义函数

调用课程排序 自定义函数

调用课程查询 自定义函数

调用课程删除 自定义函数 \ ____________

输入6 退出系统

Choice!=0

luru ()(录入信息)

i=subject (全局变

量)

输出各种提示和对应的输入

Subject自增加1

liula n()(浏览信息)

paixu ()(按编号排序)

find ()(课程名称查找相应的信息)

shanchu ()(删除对象)

(4) 程序调试

1、出现的问题

解决方法:仔细检查,不时地加入输出语句

2、出现的问题

弟注男虫15?); k ;u$nfWHrMiS\iiiviZ3 处鶴刚刃; " .......... "対:虽卄r

C:\JlHrltiMr\dH\111U1Z3 : Ct\JTi*r?\?Mr\jE^\1imi23 t IM.C (H) T I ■i -i :W ; C\Srj^Sl ^X^p]X11t!|51l23 - 杯”丸耐椚电J]\”啼啦:_ ktU9tTfW54r\Af\1imi29 itgg,CfM): 口二总111"抽阴 ^Fa,c(/t): C:

JfTvb.E il 115MIW '■ £吐屮計: teTVwrtWMnXjEMll^1^ :谁昱.对和 T 德电\n 呻谿庁準理㈣: 3 ^\111^123 ;率事一硼“: 申"連吗诩+団期切i H :、》W 呻W?r 谏匚 '_

-

t:\lwrmwl* 目 Yl 11 碍龍*

|c±M?rflv?r\jaE\inq&1Z3 i |CiVtfrt^wrUB\11lMl2> rrFi.ciMf : 材血rtWff 速甬肥愛刚氈卜:

E \ft11Kl33 H ■" |KU?*1^vHr 遽

DVH1 痢関 5 J fp]\1HK1l?3 +

-I\ttlK123 + --i f :\

tflVherSVUitT^ tiVtwriVtMfM 和IT trrfr

(TTW HTlr tmtr e*T*r wnr fivir tnrtr R1I*5 t?i?h iilffi] 4-l? vithnt NhhiBg if 即g :

益1特: 口旳 C?BB : 員1滋:

ptiu trrur : ■l&slng ;B WFwt 'tyrf sfat 卫 nrror : hissing ' ;B leHrf “tf " riTor : hissing T Hltrt tjf*'

T ! ijfcdPHdFE iienclflfr r V : undprlar^d i^pnrifisr !r4frs£flpl requltres arrjy ar ^tJaLiir L

护 ;Mt npiWflM HJ3t Iff l-?ilw *cdpt h?qu 备皓 d"刖 tr

wiHf C*813; ^trcpry* Bndr^inrd; M 强?i ?| erten 呼上”巾耳 int HT*r f*TW MT if w rw C2M5 bitt triK ⑵序 errir tZIff; Er E?1I#5 trnr HTtr ETIVI : t*Tir emr frrtr emr erf *r erm? 01.1 口1輛 ow : C21IM: 4

s : UBdeclarHl litntifier wrikKript FrqiiirrT diT?y ■「pviairr Vj^r : ltFt cpennd Hist

be l-taLiM gscfl.l rfquires drr^y >r 常Ji ?

Ler L 弄* FfquIrPS-掰 F 刖 V R I B IJK I pt :Uft ■疔曲神 b* l-?ilw *wi.t rrquirps arrjy v pviHlspr t|f? 54f£rl|it requires diFr

列?「|MUtfr qf* '"':Irft tpprindi MJ 舅 bt 5WMri|t requires array *r p^iatier tjfe

*rsa*l|fel: rrqutrPE 曲啣 >r 泗.Ler 1庐 +'f :

wt apeirjindi nisi bt i ?iitt Krlfft requires, JFF 則 tr f?iarrr r )pf *?cript FrquirFs-

^array ?r pnvtvr tjpe ”■■ : left ?pN"iOd

MJ st be 1 v-dwe Hkwipl rpquirpi jrrju 劃 RiMrr l|R RKcript requires dir 刖 tr fifiBtier 叶 : left 岬叶抑血 Aus! F 罢一可":: 瓯灿喇: #£.C(H); :谭屁刚; 0^(1*). [谒⑹删L

巒阿T 課一日制: .((iHij - mir fvKtrlipt i^qwii'K 」“刖 ? 細“打

?r* rftvfltl tM

.c(15l]i ; vnisf

,号宛申.” unirfiiiedi assnritf ntcn rvtniq iirt

errir 611*^ ffTir enw :

frrtr E.’

t*VH*rJV??r

CtV?Wri\|fMr\i|\11 W173年虚孔討■如:也册"询珂,1山刑1钿;州■吗 E

Lu5Wf\?!rUl\1i1H123 押耦-:二::.—二 二二一 厂 二一二二__二 —, ________________________________ “ ^±Vffs?K\K4rV evtm rtlniftg Int

经典练习C语言编程的题目及答案整理

1.逆序输出正三位数 #include int main() { int input,output= 0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10; input /= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { int amount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); return 0; } 3.求平均数 #include int main() { int a,b; scanf("%d %d",&a,&b);

double c=(a+b)/2.0; /* scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return 0; } 4.写出程序的输出: int i=1; switch ( i/3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

程序设计实训心得体会

程序设计实训心得体会 心得体会这种学习方法对于一个人来说也许是优秀的,但没有被推广普及的必要。因为学习的方法因人而异,方法的奏效是它与这个人相适应的结果,以下《程序设计实训心得体会》由心得体会栏目为您精心提供。 在软件实验室经过2个星期Jsp程序设计实训,从对软件开发没有太多经验的我掌握了更多的软件开发的方 法和技能,收获颇多。 经过这次理论学习,了解到要做好软件开发,要求 掌握的知识并不是只有编写代码方面的,网络、数据库、操作系统等的知识对做好项目开发是很有帮助的。这让 我明确了以后学习的目标,在不断学习软件开发的同时,也应该继续其他相关知识的深入学习。 实训期间经历的许许多多,给我们带来了很多很多 有实无形的东西,知识、友情以及团队开发的热情,快 乐无一不包围着我们。在这我很想感谢几个人,王璐老 师和班上一同参与这次实训的2位同学。王璐老师对我 们备至关心,不论在学习前后,都给予我们关怀不少, 并且王璐老师不愧是从事多年软件开发的专业人士,其 深厚的专业技能知识和丰富的经验令我等钦佩无比。对 于我们未出茅庐的大学生而言,遇到的问题多而复杂,

询问有经验的人,他们或许一句话就能解决问题,而自 己就得找资料或上网摸索可能要一两天,有时甚至绞尽 完脑汁都不得其解。用个词形容,老师的解答如醍醐灌顶,而对我们,则甘之如饴。 实训这段期间真的好累,尽管实验室给我们提供了 一个相当不错的上课学习环境,但是整天木木地待在实 验室面对毫无生气的荧屏,为 code而烦恼,为bug而郁闷,被文档所包围,随程序侵蚀。然而,这就是学习的 生活,既选之也则安之。忙碌的生活让我每天似乎没有 太多的时间去想一些其他的事,耐心的去调试,专注的 去编写更好的算法,沉浸充实和快乐之中。 更重要的是,两个星期的实训使我们明白我们所欠 缺的不仅仅是技术知识,更重要的是有一种处理事情的 方法、面对问题的心态和动手能力。面对完全陌生的新 知识、新技术、新项目以及整个IT行业,我们不能畏惧,要以一种积极的心态去面对,分析并抓住关键所在。因 为我们所即将应对的每一个项目都是既需要实际操作, 又需要详细规划的。作为组长,协调组员、激励其他组 员和积极参与项目开发是我每天必做的工作。我认为每 个人都应该在团队中做好自己应尽的职责,再优秀的个 人也可能完成一个即庞大又复杂的项目工作,我们必需 紧密的联合在一起,以一个团队的角色来面对。

程序设计练习题

第六章程序设计 1、下列程序运行时,若从键盘上输入20,则屏幕上的输出是多少?Input “请输入一个数:” to x If x<=10 Y=2*x-5 Else Y=2*x+5 Endif ? Y 2、执行下列程序后,变量A的值为多少?B的值为多少? A=100 B=200 IF A-B<0 T=A A=B B=T ENDIF ? A,B 3、下列程序运行时,若从键盘上输入25时,屏幕上显示的结果是多少?INPUT “X=” TO X DO CASE CASE X>10 ? “A1” CASE X>20 ? “A2” OTHERWISE ? “A3” ENDCASE RETURN

4、执行下列程序,变量T中的值是多少? T=1 FOR I=1 TO 5 T=T*I ENDFOR ? “T=”,T 5、执行下列程序,屏幕上输出的是多少? D=”” SS=”ABCDE” FOR I=1 TO 5 D=D+SUBSTR(SS,6-I,1) ENDFOR ? D 6、执行下面程序,屏幕上输出的Y是多少? STORE 0 TO X,Y DO WHILE .T. X=X+1 DO CASE CASE INT(X/2)=X/2 LOOP CASE X>=10 EXIT OTHERWISE Y=Y+X ENDCASE ENDDO ? Y 7、下列程序运行时,若从键盘上输入5,则屏幕上输出的是_______。Input "请输入一个数:" to x Do case

Case x>10 ?"A1" Case x>20 ?"A2" otherwise ?"A3" Endcase Return 8、执行下列程序片段后,变量T中的值是_______。 T=1 FOR I=1 TO 5 T=T*I ENDFOR ? "T=",T 9、如下程序显示的结果是。 s=1 i=0 do while i<8 s=s+i i=i+2 Enddo ?s 10、如下程序的输出结果是。 i=1 DO WHILE i<10 i=i+2 ENDDO ?i 11、执行下列程序后,变量A的值为_______,变量B的值为_______。

数控编程实训报告

一、实训目的 本实训重点培养学生数控加工的工艺分析与设计、数控加工程序的编写与调试、数控设备的操作与零件加工的能力。同时培养学生工作岗位的适应能力,团队协作能力和分析与解决问题的能力,以及安全、环保、质量与效率意识,为学生从事数控加工人员的工作提供知识与技能保障。 二、实训要求 1、掌握数控加工原理、数控加工工艺分析方法; 2、掌握数控加工程序的结构、相关指令,以及手工编程和自动编程的方法; 3、了解数控车床、铣床工作原理,以及系统构成; 4、掌握数控车床、数控铣床的基本操作; 5、掌握数控加工的编程与零件加工方法; 6、能完成简单轴类零件、盘类零件的数控加工工艺分析、数控加工编程。 三、实训内容与步骤 1、数控车削编程、仿真 数控车床 第一章工艺分析 1.1加工实例内容 图(1-1) 如图(1-1)所示零件,材料为铝,无内孔棒料,小批量生产,使分析其数控车削加工工艺过程。 1.2工艺分析过程 首先,零件图的工艺分析,包括零件图的标注正确性、轮廓描述的完整性及必要的工艺措施等。在这里,我们的仿真软件,是理想化的把加工零件的尺寸调整为完全没有误差,所以零件图我们通常都不标注公差。在正常情况下,是没有这种可能的,所以在零件图的工艺分析过程,请用户注意这一点。 该零件比较简单,由外圆柱面、顺圆弧、逆圆弧和倒角构成,其中直径尺寸与轴向尺寸没有尺寸精度和表面粗糙度的要求。零件材料为铝,切削加工性能较好,没有热处理和硬度要求。 通过上述分析,采取以下几点工艺措施: 零件图上面没有公差尺寸,完全看成是理想化的状态,故变成的时候就直接按照零件图上面的尺寸变成即可。 一端需要加工加工,所以不需要掉头装夹。

经典练习C语言编程的题目及标准答案整理

1.逆序输出正三位数 #include intmain() { intinput,output=0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10;input/= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { intamount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); ?printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); ? return0; } 3.求平均数 #include int main() { int a,b; scanf("%d%d",&a,&b);

double c=(a+b)/2.0; /*scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return0; } 4.写出程序的输出: int i=1; switch(i/3){ case0:printf("zero"); case1:printf("one"); case2:printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

程序设计训练报告

程序设计训练 报告 目录 一、设计题目 二、开发平台 三、需求分析 四、信息描述 五、总体分析 (一)、定义结构体体变量 (二)、功能模块 (三)、流程图 六、运行界面设计 七、设计心得 八、附录 源程序代码

一、设计题目: 职员管理系统 二、开发平台 开发平台:vc++6.0 企业版, 使用系统,winXP以上 三、需求分析 1、该程序可用于对企业员工工资情况基本信息的保存、查询等操作,以实现对企业员工工资的管理。 2、其中更新功能包括:添加工资信息、删除工资信息、修改工资信息、可根据需要添加一个或多个员工工资信息,也可对个别员工信息进行适当的删除或修改。以便随时更新员工工资信息。 3、程序中设计的查询功能可根据需要从若干数据中查询某个员工信息,并且可根据两种不同的方法查询:按工作证号查询和按查询。以满足不同的需要。 四、信息描述 职工信息包括职工号、、基本工资、奖金、扣款、税款,实发工资。 五、总体方案 (一)定义结构体体变量 typedef struct employee { char num[10]; //保存职工编号 char name[15]; //保存职工 float jbgz; //保存职工基本工资

float jj; //保存职工奖金 float kk; //保存职工扣款 float yfgz; //保存职工应发工资 double sk; //保存职工税款 double sfgz; //保存职工实发工资 }ZGGZ; (二)功能模块 菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。 (1)输入模块 按照编号,,基本工资,奖金,扣款的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。通

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

程序设计训练大作业报告——控制台游戏2048

控制台小游戏——2048 大连理工大学程序设计训练总结报告 控制台游戏——2048 学生姓名:刘阳 院系班级:电计1203 学号:201281303 联系电话:188-4085-1891 Email :rick@https://www.360docs.net/doc/fe3034203.html, 完成日期:2014 年7 月1 日

控制台小游戏——2048 一、设计任务 设计目标:完成一个控制台小游戏,其中包括游戏、排名、存档和读档等功能。 选题意义:2048是最近最流行的小游戏之一,益智益趣,通过C语言控制台仿写这个游戏,可以锻炼编程框架思想以及技巧,同时将所学到的数据结构等知识灵活的运用。 目标实现的系统功能:完成2048游戏主体,可查看各玩家排名情况,可查看玩家平均水平,可存档、读档。 二、程序设计与实现 1.结构框图 设计的控制台游戏2048结构图如图一所示。 图1. 2048游戏框图 2.功能模块设计及其流程图 (1) 数据描述与存储 游戏模块数据采用二维数组存放,并且不断根据按键信息更新其中数据。存储时以二进制文件存储,数据文件位于工程文件夹中load1.dat以及load2.dat(此时的步数以及分数存储在load1_step.dat、load2_grade、load2_step.dat、load2_grade)。读取数据的目的是可以继续之前没有完成但存档了的游戏。 分数模块数据采用结构体数组存放,用typedef定义了StepRecord和GradeRecord。StepRecord中name[15]代表玩家在步数排行榜中的名字,step代表玩家所坚持的步数;GradeRecord中name[15]代表玩家在分数排行榜中的名字,grade代表玩家取得的分数(分数计算规则见说明)。存储时以二进制文件存储,数据文件位于工程文件夹中step_rank.dat、

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.360docs.net/doc/fe3034203.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

C程序设计实训报告

C程序设计实训报 告

实训一:类和对象的定义及使用 实训目的: (1)掌握类与对象的定义与使用方法,理解面向对象方法中经过对象间传递消息的工作机制。 (2)正确掌握类的不同属性成员的使用方法。 (3)掌握构造函数与析构函数的概念,理解构造函数与析构函数的执行过程。 (4)掌握友元函数和友元类的定义和使用。 (5)基本掌握指针和引用作为函数参数的应用。 实训内容: 定义一个时间类Time,有三个私有成员变量Hour、Minute、Second,定义构造函数、析构函数以及用于改变、获取、输出时间信息的公有函数,主函数中定义时间对象,并经过调用各种成员函数完成时间的设定、改变、获取、输出等功能。 ①按要求完成类的定义与实现。 ②修改数据成员的访问方式,观察编译结果。 ③在Time类中定义一个成员函数,用于实现时间增加一秒的功能,主函数中经过对象调用该函数,并输出增加一秒后的时间信息。 ④定义一个普通函数。

void f(Time t) { t. PrintTime( ); } 在Time类中增加拷贝构造函数的定义,主函数中调用该函数,运用调试工具跟踪,分析整个程序调用构造函数(包括拷贝构造函数)和析构函数的次数;再将f函数的形式参数分别修改为引用参数和指针参数(此时函数代码修改为{t-> PrintTime( );},主函数中调用,再分析此时调用构造函数和析构函数的次数。 实训代码: #include using namespace std; class Time { private: int Hour,Minute,Second; public: Time(int h=0,int m=0,int s=0); Time(const Time &ob); ~Time(); void ChangeTime(int h,int m,int s);

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。

编程基础练习题

第二章基本数据类型和运算 因为题目略有删减,可能编号不连续,请见谅 一、单项选择题 1.下列数据中属于“字符串常量”的是(A )。 A. "a"B.{ABC} C.?abc\0?D.?a? 4.字符串"ABC"在内存占用的字节数是( B )。 A.3 B.4C.6 D.8 5.字符串" \?ABCD\? "内存占用的字节数是( C )。 A.4 B.6 C.7D.8 6.在C语言中,合法的长整型常数是( A )。 A.0L B.4962710 C.0.054838743 D.2.1869e10 7. 在C语言中,合法的短整型常数是( D )。 A.0L B.0821 C.40000 D.0x2a 8.下列数据中不属于“字符常量”的是( C )。 A.…\xff?B.…\160?C.?070?D.070 9.char型常量的内存中存放的是( A )。 A.ASCII代码值B.BCD代码值C.内码值D.十进制代码值 11.常数的书写格式决定了常数的类型和值,03322是( B )。 A、16进制int类型常数 B、8进制int类型常数 C、10进制int类型常数 D、10进制long int类型常数 12.“e2”是( D ) 。 A、实型常数100 B、值为100的整型常数 C、非法标识符 D、合法标识符 13. 要为字符型变量a赋初值,下列语句中哪一个是正确的( A )。 A、char a=?3?; B、char a=”3”; C、char a=%; D、char a=*; 14. 要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的(C )。 A、float x,y,z=3.14; B、float x,y,z=3*3.14; C、float x=3.14,y=3.14,z=3.14; D、float x=y=z=3.14; 15. 语句float pi=3.1415926535; 将( D )。 A、导致编译错误 B、说明pi为初值3.1415926535的单精度实型常数 C、导致运行时的溢出错误 D、说明pi为初值3.141593的单精度实型常数 16. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B)。 A、算术运算、赋值运算、关系运算 B、算术运算、关系运算、赋值运算 C、关系运算、赋值运算、算术运算 D、关系运算、算术运算、赋值运算 17. 关系运算符中优先级最低的运算符是( C )。 A、“>=”和“<=” B、“>”和“<” C、“==”和“!=” D、“<=”和“<” 18. 逻辑运算符中,运算优先级按从高到低依次为( D )。 A、&&,!,|| B、||,&&,! C、&&,||,! D、!,&&,|| 19. 对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的( A )。 A、0为假非0为真 B、只有1为真 C、-1为假1为真 D、0为真非0为假 20. 表达式x&&1等效于( C )

C语言程序设计综合练习题

《C语言程序设计》综合练习题 一、单选题 1. C语言中基本数据类型有。C A)整型、实型、逻辑型B)整型、字符型、逻辑型 C)整型、实型、字符型D)整型、实型、字符型、逻辑型 2. 在C语言中,数字O29是一个。A A)八进制数 B)十进制数 C)十六进制数 D)非法数 3. 在以下关于C语言的不严格的叙述中,错误的说法是。A A)在标识符中,大写字母和小些字母的意义相同 B)有些不同类型的变量可以在一个表达式中运算 C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型 D)同一个运算符号在不同的场合可以有不同的含义 4.下列关于C语言用户标识符的叙述中正确的是。B A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。 5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是。D A) 顺序结构B) 选择结构C) 循环结构 D) 数组结构 6. C语言提供的合法关键字是。D A) swicth B) cha C) Case D) default 7.以下非法的赋值语句是C A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0; 【解析】对表达式不能进行自加自减运算。 8.在以下一组运算符中,优先级最高的运算符是。 A) <= B) = C) % D) &&

C语言程序设计实验-答案

-前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include main() { int r,s; scanf("%d",&r); s=r*r; printf("s=%d\n",s); } 3.-------------------------------- (1) #include main() { printf(" *\n"); printf("***\n"); printf(" *\n"); } (2) #include

{ int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); }

程序设计综合设计题目详解

程序设计综合设计题目详解 1. 大整数加法 计算两个整数m 、n 的和,0<=m,n<=1050。输入输出格式:本题只有1组输入数据,每组数据只有1行,每组数据包含两个0到1050之间的大整数,两个整数中间用1个空格分隔。 对于每组数据,输出一行,表示两个大整数的和。 样例输入:input.txt 12345678909876543211234111222 98765432101234567891234111222 样例输出:output.txt 111111111011111111102468222444 2. 舞伴问题: 假设在周末舞会上,男士们(m 人)和女士们(n 人)进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。并m 和n 存在什么条件时,第x 个(1<=x<=m )男生才有可能和他心仪的第y 个(1<=x<=n )女生跳舞,在第几首曲子时? 3. 一元多项式加法: 有两个一元多项式P(x)和Q(x)需要相加,一类情况是项数很多,次数比较连续的情况,另一类是项数不多,但次数不连续的情况,试分别设计合理的数据结构对其进行求解。 测试数据: (1)P(x)=20 1(1)i i i x =+∑ Q(x)=2011 (23)i i i x -=+ ∑ (2)P(x)=1005611100282345x x x x +-+ Q(x)=10056122558335x x x x --+ 4 约瑟夫环问题: 已知n 个人(以编号1,2,3...n 分别表示)围坐在一张圆桌周围。从编号为k 的人开始报数,数到m 的那个人出列;他的下一个人又从1开始报数,数到m 的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。请给出出列人的编号序列。 5. 不浪费空间的矩阵乘法 一直两个矩阵X m n ? 和Y n p ? 要相乘,但不允许事先分配一个很大空间的二维数组 来存储矩阵,而是要动态分配实际数据需要占有的空间进行矩阵乘法。 测试数据:自行设计 m 、n 、 p>3

程序设计实训的个人心得体会

程序设计实训的个人心得体会 在软件实验室经过2个星期Jsp程序设计实训,从对软件开发没有太多经验的我掌握了更多的软件开发的方法和技能,收获颇多。 经过这次理论学习,了解到要做好软件开发,要求掌握的知识并不是只有编写代码方面的,网络、数据库、操作系统等的知识对做好项目开发是很有帮助的。这让我明确了以后学习的目标,在不断学习软件开发的同时,也应该继续其他相关知识的深入学习。 实训期间经历的许许多多,给我们带来了很多很多有实无形的东西,知识、友情以及团队开发的热情,快乐无一不包围着我们。在这我很想感谢几个人,王璐老师和班上一同参与这次实训的2位同学。王璐老师对我们备至关心,不论在学习前后,都给予我们关怀不少,并且王璐老师不愧是从事多年软件开发的专业人士,其深厚的专业技能知识和丰富的经验令我等钦佩无比。对于我们未出茅庐的大学生而言,遇到的问题多而复杂,询问有经验的人,他们或许一句话就能解决问题,而自己就得找资料或上网摸索可能要一两天,有时甚至绞尽完脑汁都不得其解。用个词形容,老师的解答如醍醐灌顶,而对我们,则甘之如饴。 实训这段期间真的好累,尽管实验室给我们提供了一个相当不错的上课学习环境,但是整天木木地待在实验室面对毫无生气的荧屏,为 code而烦恼,为bug而郁闷,被文档所包围,随程序侵蚀。然而,

这就是学习的生活,既选之也则安之。忙碌的生活让我每天似乎没有太多的时间去想一些其他的事,耐心的去调试,专注的去编写更好的算法,沉浸充实和快乐之中。 更重要的是,两个星期的实训使我们明白我们所欠缺的不仅仅是技术知识,更重要的是有一种处理事情的方法、面对问题的心态和动手能力。面对完全陌生的新知识、新技术、新项目以及整个IT行业,我们不能畏惧,要以一种积极的心态去面对,分析并抓住关键所在。因为我们所即将应对的每一个项目都是既需要实际操作,又需要详细规划的。作为组长,协调组员、激励其他组员和积极参与项目开发是我每天必做的工作。我认为每个人都应该在团队中做好自己应尽的职责,再优秀的个人也可能完成一个即庞大又复杂的项目工作,我们必需紧密的联合在一起,以一个团队的角色来面对。 总之,这次实训为我们以后从事软件开发工作打下了良好的专业基础,为我们的进一步学习提高打下了扎实的理论基础。 Jsp程序设计实训在不知不觉中就结束了,我感觉自己还有好多理论知识要学,还有好多的技术不懂呢!这是我大学以来第三次实训,每次实训我都感觉学到了好多东西!因为是一天到晚的不间断训练,所以记的会非常牢固。不像平时上课,每上两次的理论课却只有90分钟的实际操作。在课上,做的练习小项目都不复杂,可轮到做大的项目实训并且要求我们独立完成的时候,,就不那么顺手了,一个个技术问题,一个个bug接踵而至!我很感谢学校有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,对我们计算机水平

C++程序设计练习题与答案(1)

C++程序设计练习题 一、填空题 1.对象的三大基本特性分别为多态性、( )、封装性。 2.赋值运算符应重载为( )函数。 3.用( )声明的基类称为虚基类。 4.用( )声明的函数称为虚函数。 5.派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的( )。 6.静态成员是对象的成员,( )函数不是类的成员。 7.在函数体之前加( )关键字可以防止覆盖函数改变数据成员的值。 8.一个const对象只能访问( )成员函数。 9.使用友元函数是为了提高程序效率,且节约了( )开销。 10.类名为“ClassName”的类,其拷贝构造函数的原型说明是( )。 11.由关键字private、public和protected限定成员的访问权限分别是( )、( )和( )。缺省关键字时成员的访问权限为( )。 12.如果想要公共基类在派生类中只有一个拷贝,就要将公共的基类说明为( );如果虚基类没有默认构造函数,就必须在每一个派生类的构造函数中都要调用虚基类的( )函数。 13.静态成员函数是使用关键字( )说明的成员函数。 14.一个函数的原型声明为“void FunName(int=0, double=0, char='x');”,则调用FunName函数的方法共有( )种。 15.编译时多态性是通过( )实现的;运行时多态性是通过( )实现的。 16.C++通过( )实现编译时多态性,通过( )实现运行时多态性。 17.在C++中,声明类的关键字是( )。 18.声明C++模板的关键字是( )。 19.调用函数原型声明为“void FunName(short, int=0, float=1.0);”的方法有( )种。 20.处理C++异常的方法:采用( )结构。 21.用关键字( )、( )和( )限定的成员,其访问权限分别为:公有的、私有的和保护的。缺省关键字时,成员的访问权限为( )。 22.在C++中,处理( )的方法是采用try-catch结构。 23.在C++中,用关键字( )说明内置函数。 24.在C++中,声明友元函数的关键字是( )。 25.将公共基类说明为( )时,多重派生过程中公共基类在派生类中就只有一个拷贝了。 26.在C++中,如果函数调用在前、定义在后,就必须先对函数进行( )。 27.在成员函数头之后、函数体之前加( )修饰的成员函数称为类的常成员函数。 28.包含纯虚函数的类称为抽象类,这种类只能用作( )来派生新类。由于抽象类的特殊性,我们可以说明抽象类的( ),但不能说明抽象类的( )。 29.说明函数类型为“double”、函数名为“virfun”且无参数的纯虚函数的表达形式为( )。 30.说明静态成员要使用关键字( )。

相关文档
最新文档