C#程序设计基础模块

C#程序设计基础模块
C#程序设计基础模块

【试题1】

任务一:输入某年某月某日,判断这一天是这一年的第几天。例如,2001年3月5日是这一年的第64天。

要求:使用分支结构语句实现。

任务二:输出阶梯形式的9*9口诀表,如图1.1所示。

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

图1.1阶梯形式的9*9口诀表

要求:使用循环结构语句实现。

任务三:编程实现判断一个整数是否为“水仙花数”。所谓“水仙花数”是指一个三位的整数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。

要求:用带有一个输入参数的函数(或方法)实现,返回值类型为布尔类型。

【试题2】

任务一:已知字符串数组A,包含初始数据:a1,a2,a3,a4,a5;字符串数组B,包含初始数据:b1,b2,b3,b4,b5。编写程序将数组A、B的每一对应数据项相连接,然后存入字符串数组C,并输出数组C。输出结果为:a1b1,a2b2,a3b3,a4b4,a5b5。

例如:数组A的值为{“Hello ” , “Hello ” , “Hello ” , “Hello ” , “Hello ” },数组B的值为{“Jack” , “Tom” , “Lee” , “John” , “Alisa” },则输出结果为{“Hello Jack” , “Hello Tom” , “Hello Lee” , “Hello John” , “Hello Alisa” }。

要求:

●定义2个字符串数组A、B,用于存储初始数据。定义数组C,用于输出结果。

●使用循环将数组A、B的对应项相连接,结果存入数组C。(不要边连接边输出)

●使用循环将数组C中的值按顺序输出。

任务二:编写函数(或方法):将某已知数组的奇数项组合成一个新的数组。在主函数(或主方法)中调用该函数(或方法),并循环输出新数组的内容。

要求:

●主函数(或主方法)定义一个已初始化值的数组,该数组中的值为:

1,2,3,4,5,6,7,8,9,10,11。

●编写函数(或方法),函数(或方法)名为:OddArray;它有一个输入参数,数据类型

为数组;它的返回值类型为数组。它实现如下功能:将参数数组中的奇数项存入结

果数组,并返回该数组。

●在主函数(或主方法)定义一个新的数组,用于获取OddArray的返回值,然后显示

该返回值(显示结果应为1,3,5,7,9,11)。

任务三:请完成以下编程工作:①定义学生类,其包含2个属性:学号,姓名。②定义大学生类,其需要继承于学生类,并新增一个属性:专业。③为大学生类实例化一个对象,并给这个大学生对象的所有属性赋值。

要求:

●所有属性的数据类型均为字符串类型。

●大学生类应该继承于学生类。

●在主函数(或主方法)中实例化大学生对象,并给该对象的每个属性赋值。

【试题3】

任务一:已知某个班有M个学生,学习N门课程,已知所有学生的各科成绩。请编写程序:分别计算每个学生的平均成绩,并输出。

要求:

●定义一个二维数组A,用于存放M个学生的N门成绩。定义一个一维数组B,用

于存放每个学生的平均成绩。

●使用二重循环,将每个学生的成绩输入到二维数组A中。

●使用二重循环,对已经存在于二维数组A中的值进行平均分计算,将结果保存到

一维数组B中。

●使用循环输出一维数组B(即平均分)的值。

任务二:利用递归方法求5!

用递归方式求出阶乘的值。递归的方式为:

5!=4!*5

4!=3!*4

3!=2!*3

2!=1!*2

1!=1

即要求出5!,先求出4!;要求出4!,先求出3!…以此类推。

要求:

●定义一个函数(或方法),用于求阶乘的值。

●在主函数(或主方法)中调用该递归函数(或方法),求出5的阶乘,并输出结果。

任务三:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

要求:利用循环计算该数列的和。注意分子分母的变化规律。

提示:

a1=2, b1=1, c1=a1/b1;

a2=a1+b1, b2=a1, c2=a2/b2;

a3=a2+b2, b3=a2, c3=a3/b3;

s = c1+c2+…+c20;

s即为分数序列:2/1,3/2,5/3,8/5,13/8,21/13…的前20项之和。

【试题4】

任务一:计算算式1+21+22+23+…+2n的值。

要求:n由键盘输入,且2 ≤n ≤10。

任务二:输入一批学生成绩,以-1作为结束标记。统计这批学生中,不及格(score<60)、及格(60<=score<70)、中等(70<=score<80)、良好(80<=score<90)、优秀(90<=score<=100)的人数。

要求:使用分支结构语句实现。

任务三:创建5个学生对象,并赋给一个学生数组,每个学生有以下属性:学号、姓名、年龄,请按顺序实现以下任务:

子任务1:将学生按学号排序输出。

子任务2:给所有学生年龄加1。

子任务3:在实现子任务2的基础上,统计大于20岁的学生人数。

【试题5】

任务一:编写一个程序找出100~1000之间的所有姐妹素数。

注:姐妹素数是指相邻两个奇数均为素数。

要求:使用循环结构语句实现。

任务二:利用求n!的方法计算2!+4!+5!的值。

要求:分别利用递归和非递归方法实现求n!。

任务三:编写程序实现:

①定义一个抽象类Shape,它有一个计算面积的抽象方法calArea。

②定义一个三角形类Triangle。它有两个属性n、m,分别表示三角形的底和高。另外,它必须继承于Shape类,并实现calArea方法来计算三角形的面积。

③定义一个矩形类Rectangle。它有两个属性n、m,分别表示矩形的长和宽。另外,它必须继承于Shape类,并实现calArea方法来计算矩形的面积。

④定义一个圆类Circle。它有一个属性n,表示圆形的半径。另外,它必须继承于Shape 类,并实现calArea方法来计算圆形的面积。

⑤分别创建一个三角形对象、一个矩形对象、一个圆形对象,然后将它们存入到一个数组中,最后将数组中各类图形的面积输出到屏幕上。

【试题6】

任务一:编写一个应用程序,计算并输出一维数组(9.8,12,45,67,23,1.98,2.55,45)中的最大值、最小值和平均值。

任务二:将字符串“FEDCBA”存放到数组中,调用for循环读出数组数据显示在屏幕上,同时将结果以文件流形式写入考生文件夹下,文件名为WriteArr.txt。

要求:使用循环结构语句实现,直接输出不计分。

任务三:某国的个人所得税草案规定,个税的起征点为3000元,分成7级,税率情况见表1.3,从键盘上输入月工资,计算应交纳的个人所得税。

表1.3税率情况表

级数全月应纳税所得额税率 (%)

1 不超过1500元的(即3000-4500之间) 5

2 超过1500元至4500元的部分10

3 超过4500元至9000元的部分20

4 超过9000元至35000元的部分25

5 超过35000元至55000元的部分30

6 超过55000元至80000元的部分35

7 超过80000元的部分45

注意:超出部分按所在税的级数计算,如:一个人的月收入为6000,应交个人所得税为:1500*0.05 +((6000-3000)-1500)*0.1=225

请在键盘上输入一个人的月收入,编程实现计算该公民所要交的税。

例如:输入“4000”,则输出“你要交的税为:50”。

【试题7】

任务一:编写一个程序,对用户输入的任意一组字符如{3,1,4,7,2,1,1,2,2},输出其中出现次数最多的字符,并显示其出现次数。如果有多个字符出现次数均为最大且相等,则输出最先出现的那个字符和它出现的次数。例如,上面输入的字符集合中,“1”和“2”都出现了3次,均为最大出现次数,因为“1”先出现,则输出字符“1”和它出现的次数3次。

要求:使用分支、循环结构语句实现。

任务二:求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,然后将结果s输出到文件out.txt中。例如若n为1000时,则s=153.909064。

要求:使用循环语句结构实现。②n由键盘输入,且100 ≤n ≤10000。

任务三:输入整数a,输出结果s,其中s与a的关系是:s=a+aa+aaa+aaaa+aa...a,最后为a个a。例如a=2时,s=2+22=24。

要求:①使用循环结构语句实现。②a由键盘输入,且2 ≤ a ≤9。

【试题8】

任务一:请编写函数(或方法)fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。

例如,当a=16、b=35时,则c=5361。

其中,a、b为函数(或方法)fun的输入参数,c为函数(或方法)fun的返回值。

任务二:孙悟空在大闹蟠桃园的时候,第一天吃掉了所有桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第N天准备吃的时候只剩下一个桃子。这下可把神仙们心疼坏了,请帮忙计算一下,第一天开始吃的时候桃园一共有多少个桃子。

要求:①使用循环结构语句实现。②整数N由键盘输入,且2 ≤ N≤10。

任务三:输入一个5位正整数,输出它是不是回文数。回文数是这样一种数,它的逆序数和它本身相等。例如,12321的逆序数是12321,和它本身相等,所以它是回文数。又例如25128的逆序数是82152,所以它不是回文数。

要求:使用分支或循环结构语句实现。

【试题9】

任务一:一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第十次落地时,共经过多少米?第十次反弹多高?

要求:使用循环结构语句实现。

任务二:Lee的老家住在工业区,日耗电量非常大。

今年7月,传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。政府决定从7月1日起停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,依次下去,每次都比上一次长一天。

Lee想知道自己到家后到底要经历多少天倒霉的停电。请编写程序帮他算一算。

要求:从键盘输入放假日期、开学日期,日期限定在7、8月份,且开学日期大于放假日期,然后在屏幕上输出停电天数。

提示:可以用数组标记停电的日期。

任务三:

编写程序实现:从键盘输入正整数s,从低位开始取出s中的奇数位上的数,依次构成一个新数t,高位仍放在高位,低位仍放在低位,最后在屏幕上输出t。例如,当s中的数为7654321时,t中的数为7531。

要求:使用循环结构语句实现。

【试题10】

任务一:从键盘上输入一个年份值和一个月份值,判断该月的天数。(说明:一年有12个月,大月的天数是31,小月的天数是30。2月的天数比较特殊,遇到闰年是29天,否则为28天。)

要求:使用分支结构语句实现。

任务二:假设一张足够大的纸,纸张的厚度为0.5毫米。请问对折多少次以后,可以达到珠穆朗玛峰的高度(最新数据:8844.43米)。请编写程序输出对折次数。

要求:使用循环结构语句实现,直接输出结果不计分。

任务三:编写程序输出2~99之间的同构数。同构数是指这个数为该数平方的尾数,例如5的平方为25,6的平方为36,25的平方为625,则5、6、25都为同构数。

要求:调用带有一个输入参数的函数(或方法)实现,此函数(或方法)用于判断某个整数是否为同构数,输入参数为一个整型参数,返回值为布尔型。

【试题11】

任务一:某班同学上体育课,从1开始报数,共38人,老师要求按1、2、3重复报数,报数为1的同学往前走一步,而报数为2的同学往后退一步,试分别将往前走一步和往后退一步的同学的序号打印出来。

要求:用循环语句实现,直接输出结果不计分。

任务二:一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少鸡蛋。那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元,请你帮忙编程,计算最少应赔多少钱?

要求:用循环语句实现,直接打印出结果不给分。

任务三:寻找最大数经常在计算机应用程序中使用。例如:确定销售竞赛优胜者的程序要输入每个销售员的销售量,销量最大的员工为销售竞赛的优胜者,编写一个程序:从键盘输入10个数,打印出其中最大的数。

【试题12】

任务一:从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能被7整除的数的和。

屏幕提示样例:

请输入一个整数:20

1~20之间能被7整除的数的个数:2

1~20之间能被7整除的所有数之和:21

要求:整数N由键盘输入,且2 ≤ N≤1000。

任务二:从键盘输入一个整数N,打印出有N*2-1行的菱形。

例如输入整数4,则屏幕输出如下菱形。

要求:①使用循环结构语句实现,直接输出不计分。②整数N由键盘输入,且2 ≤ N≤10。

任务三:编程实现判断一个整数是否为素数。所谓素数是一个大于1的正整数,除了1和它本身,该数不能被其它的正整数整除。

要求:用带有一个输入参数的函数(或方法)实现,返回值类型为布尔类型。

【试题13】

任务一:根据输入的成绩分数,输出相应的等级。学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

要求:使用分支结构语句实现。

任务二:输入两个正整数m和n,输出其最大公约数和最小公倍数。

要求:综合使用分支、循环结构语句实现。

任务三:使用选择排序法对数组中的整数按升序进行排序,如下所示:

原始数组:a[]={1,8,9,6,4,2,5,0,7,3}

排序后:a[]={0,1,2,3,4,5,6,7,8,9}

要求:综合使用分支、循环结构语句实现,直接输出结果不计分。

【试题14】

任务一:输入三个整数x、y、z,请把这三个数由小到大输出。

要求:使用分支结构语句实现。

任务二:输入一行字符,输出其中的字母的个数。例如输入“Et2f5F218”,输出结果为4。

要求:综合使用分支、循环结构语句实现。

任务三:输入整数a和n,输出结果s,其中s与a、n的关系是:s=a+aa+aaa+aaaa+aa...a,最后为n个a。例如a=2、n=3时,s=2+22+222=246。

要求:①使用循环结构语句实现。②a由键盘输入,且2 ≤ a ≤9。③n由键盘输入,且2 ≤n ≤9。

【试题15】

任务一:输出100~999之间的所有素数。

要求:综合使用分支、循环结构语句实现。

任务二:输入一行字符,输出其中的数字的个数。例如输入“fwEt2f44F2k8”,输出结果为5。

要求:综合使用分支、循环结构语句实现。

任务三:当n=5,求表达式为: 1/1!+1/2!+1/3!+…+1/N!的值,保留4 位小数位。其中N!表示N的阶乘,例如3!=3×2×1=6,5!=5×4×3×2×1=120。

【试题16】

任务一:使用循环语句打印出如下图案。

*

***

*****

*******

要求:使用循环结构语句实现。

任务二:输出1+2!+3!+...+20!的结果。

要求:使用循环结构语句实现。

任务三:输入一个不多于5位的正整数,要求:1.输出它是几位数;2.逆序打印出各位数字。例如,输入256,则先输出3,再输出652。

要求:使用分支或循环结构语句实现。

【试题17】

任务一:使用循环语句打印出如下图案。

*******

*****

***

*

要求:使用循环结构语句实现。

任务二:编写程序实现:

①定义一个大小为10的整形数组a;

②从键盘输入10个整数,放置到数组a中;

③输出数组a中的最大值。

要求:使用数组、循环结构语句实现。

任务三:请编写函数(或方法)fun,其功能是:计算正整数n的各位上的数字之积,将结果放到c中。

例如,n=256,则c=2×5×6=60;n=50,则c=5×0=0;

其中,n为函数(或方法)fun的输入参数,c为函数(或方法)fun的返回值。

【试题18】

任务一:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?要求输出所有可能的三位数。

要求:使用循环结构语句实现。

任务二:编写程序实现:

①定义一个大小为10的整形数组a;

②从键盘输入10个整数,放置到数组a中;

③将数组a中的元素从小到大排序;

④输出排序后数组a的所有元素值。

要求:使用数组、循环结构语句实现。

任务三:编写函数(或方法)实现:根据指定的n,返回相应的斐波纳契数列。

说明:斐波纳契数列如下所示:0,1,1,2,3,5,8,13,21…

即从0和1开始,其后的任何一个斐波纳契数都是它前面两个数之和。例如n=6,则返回数列0,1,1,2,3,5

要求:使用函数(或方法)实现,原型为int[] getFibonacciSeries(int n)

【试题19】

任务一:编写程序实现:商店卖西瓜,20斤以上的每斤0.85元;重于15斤轻于等于20斤的,每斤0.90元;重于10斤轻于等于15斤的,每斤0.95元;重于5斤轻于等于10斤的,每斤1.00元;轻于或等于5斤的,每斤1.05元。输入西瓜的重量和顾客所付钱数,输出应付货款和应找钱数。

要求:使用分支结构语句实现。

任务二:学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数。9

要求:使用分支、循环结构语句实现,直接输出结果不计分。

任务三:已知xyz+yzz=532,其中x、y、z均为一位数,编写一个程序求出x、y、z分别代表什么数字。

要求:使用分支、循环结构语句实现,直接输出结果不计分。

【试题20】

任务一:编写函数(或方法)实现:数组A是函数(或方法)的输入参数,将数组A中的数据元素序列逆置后存储到数组B中,然后将数组B做为函数(或方法)的返回值返回。所谓逆置是把(a0, a1, …, a n-1)变为(a n-1, …, a1, a0)。

要求:使用函数(或方法)实现,原型为int[] niZi(int[] A)

任务二:编写一个程序求出200~300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

要求:使用分支、循环结构语句实现,直接输出结果不计分。

任务三:小明今年12岁,他母亲比他大20岁。编写一个程序计算出他母亲的年龄在几年后是他年龄的2倍,那时他们两人的年龄各多少?

要求:使用分支、循环结构语句实现,直接输出结果不计分。

【试题21】

任务一:编写程序计算购买图书的总价格:用户输入图书的定价和购买图书的数量,并分别保存到一个float和一个int类型的变量中,然后根据用户输入的定价和购买图书的数量,计算合计购书金额并输出。其中,图书销售策略为:正常情况下按9折出售,购书数量超过10本打85折,超过100本打8折。

要求:使用分支结构实现上述程序功能。

任务二:所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出100—200的范围内所有回文数的和。

要求:使用循环结构语句实现,直接输出结果不计分。

任务三:分析下列数据的规律,编写程序完成如下所示的输出。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

要求:使用递归函数(或方法)实现,递归函数(或方法)有两个输入参数,返回值类型为整型。

【试题22】

任务一:根据如下要求计算机票优惠率,并输出。

输入:用户依次输入月份和需要订购机票的数量,分别保存到整数变量month和sum 中。

计算规则如下:

航空公司规定在旅游的旺季7~9月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%;在旅游的淡季1~5月份、10月份、11月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;其他情况一律优惠10%。

输出:根据输入月份和需要订购机票的数量,输出优惠率。

要求:使用分支结构实现上述程序功能。

任务二:计算π的近似值。

计算公式如下:

111

41

357

π??=?-+-+

?

??

要求:使用循环结构语句实现,直接输出结果不计分。

任务三:验证18位身份证号码并判断身份证主人的性别,身份证号码的规则为:

①前17位全部由数字组成,最后一位为数字或者字符’X’,一个字符ch为数字的条件为:ch>=’0’ && ch<=’9’;

②第17位数为奇数表示性别为男,偶数表示性别为女。

输入:从键盘输入一个18位的身份证号码保存到字符数组Card中。

输出:主人性别。

【试题23】

任务一:编写程序实现:输入一个整数,判断它能否被3、5、7整除,并输出以下信息之一:

●能同时被3、5、7整除

●能同时被3、5整除

●能同时被3、7整除

●能同时被5、7整除

●只能被3、5、7中的一个整除

●不能被3、5、7任一个整除

要求:使用分支结构语句实现。

任务二:使用冒泡排序法对数组中的整数按升序进行排序,如下所示:

原始数组:a[]={1,9,3,7,4,2,5,0,6,8}

排序后:a[]={0,1,2,3,4,5,6,7,8,9}

要求:综合使用分支、循环结构语句实现,直接输出结果不计分。

任务三:编程实现以下要求。n个人围坐成一个圆圈报数。第一个人报数1,第2个人报数2,依次类推,报数为m的人出列;接下来的人重新报数,出列人旁的下一个人报数1,第2个人报数2,依次类推,报数为m的人出列;直到圈中只剩下一个人,该人出列。例如:共有5个人,数到3出列,则出列顺序为:原先3号位置的人、原先1号位置的人、原先5号位置的人、原先2号位置的人、原先4号位置的人。

要求:用带有两个输入参数(一个总人数n,一个为计数m)的函数(或方法)实现,返回值类型为数组。

【试题24】

任务一:输入一个年度,判断是否是闰年。例如,2000是闰年,1900不是闰年,1904是闰年。

要求:使用分支结构语句实现。

提示:闰年的满足条件:①能整除4且不能整除100 ;②能整除400。

任务二:输出杨辉三角形,如下图所示:

*

***

*****

*******

*********

***********

*************

要求:使用循环结构语句实现,直接输出结果不计分。

任务三:编程实现判断一个字符串是否是“回文串”。所谓“回文串”是指一个字符串的第一位与最后一位相同,第二位与倒数第二位相同。例如:“159951”、“19891”是回文串,而“2011”不是。

要求:用带有一个输入参数的函数(或方法)实现,返回值类型为布尔类型。

C语言程序设计(第二版)课后答案 丁亚涛

习题二 一、选择题 二、填空题 1.18 2.int float double 3.10 11 4.8 16 10 5.% 三、阅读题 1. 10,10,9,10 2. j=1, i=2 k=3,i=3 i=3,i=2 k=1,i=1 习题三 一、选择题 二、填空题 1. 从键盘上读入一个字符在屏幕上输出一个字符 #include 2. 按十进制整数形式输出,有符号 按16进制整数形式输出,没有符号 按十进制小数形式输出,输出的数据长度为7位,有2位小数 按字符形式输出一个字符 3. 按十进制整数形式输入数据 按十进制整数形式输入三位数据 跳过3位十进制数据 按字符形式输入一个字符 4. 分程序;; 5. 大写字母L 6. -1 三、阅读题 1. 6 6 6.00 6.00

2. x=127,x= 127,x=177,x=7f y=123.4567,y= 123.46,y=123,45670 3. 2,1 4. 1234 5. 4,3 6. -6,-6 习题四一、选择题 二、填空题 1. 非0 0 、 2. k==0 3. n%7==0&&n%==0 else 三、阅读题 1. a=1,b=0 2. c=1 习题五一、选择题 二、填空题 1. for语句 do-while 语句 while 语句 2. a=14,y=26 3. k=14,n=-1 4. 39 5. s=19 6. 22222 7. 10 8. 7 9. 8 10. 5,5 三、改错题

1. for( i=0;i<5;i++);for控制部分用分号分隔 2. int j=0;while(j<10){j++;i=j} 分号是多余的,否则会造成死循环 3. int s=1,i=1; while(i<5) {s*=i; i++; } 两条语句需要加上花括号 4. while(j<10);(分号不能少) 5. continue改为break 习题六 一、选择题 二、填空题 1. 20 0 19 2. 数组名 3. 越界 4. 6 5. j==k a[j][k]=1; a[j][k]=0; 三、阅读题 1. 6 5 4 3 2 1 2. aaa bbb ccc ddd 3. 2,2,1 习题七 一、选择题 二、填空题 1. 整个函数体内局部 2. 整型 3. k<=b return y;

C++程序设计基础课后答案 第八章

8.1 阅读下列程序,写出执行结果 1.#include class Bclass { public: Bclass( int i, int j ) { x = i; y = j; } virtual int fun() { return 0 ; } protected: int x, y ; }; class Iclass:public Bclass { public : Iclass(int i, int j, int k):Bclass(i, j) { z = k; } int fun() { return ( x + y + z ) / 3; } private : int z ; }; void main() { Iclass obj( 2, 4, 10 ); Bclass p1 = obj; cout << p1.fun() << endl; Bclass & p2 = obj ; cout << p2.fun() << endl; cout << p2.Bclass :: fun() << endl; Bclass *p3 = &obj;

cout << p3 -> fun() << endl; } 2.#include class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<

C++程序设计基础课后答案 第二章

2.1 阅读下列程序,写出执行结果 1. #include void main() { int a,b,c,d,x; a = c = 0; b = 1; d = 20; if( a ) d = d-10; else if( !b ) if( !c ) x = 15; else x = 25; cout << d << endl; } 2.#include void main() { int a = 0, b = 1; switch( a ) { case 0: switch( b ) { case 0 : cout << "a=" << a << " b=" << b << endl; break; case 1 : cout << "a=" << a << " b=" << b << endl; break; } case 1: a++; b++; cout << "a=" << a << " b=" << b << endl; }

} 3. #include void main() { int i = 1; while( i<=10 ) if( ++i % 3 != 1 ) continue; else cout << i << endl; } 4. #include void main() { int i = 0 , j = 5; do { i++; j--; if ( i>3 ) break; } while ( j>0 ); cout << "i=" << i << '\t '<< "j=" << j << endl; } 5.#include void main()

第5章-C语言程序设计(第2版)教材习题答案

【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。2011年10月第二版。ISBN:978-7-302-26972-4。售价:35元。 【答案版本】本习题答案为2012年2月修订版本。 一、选择题 1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。 A. while循环执行10次 B. 循环是无限循环 C. 循环体语句执行一次 D. 循环体语句一次也不执行 2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。 A. 运行程序段后输出1 B. 程序段执行无限次 C. 运行程序段后输出0 D. 程序段中的控制表达式是非法的 3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。 A. int a=1,b=2; while(b--); B. int a=1,b=2; do a++; while(a==b); C. int a=1,b=2; while(a=3); D. int a=1,b=2; do b-- while(b==0); 4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。 do{ printf(“%d\n”,i--); } while(i!=0); A. 0 B. 1 C. 5 D. 无限 5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。 A. 0 B. 5 C. 10 D. 无限 6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。 A. break语句用于循环体内,它将结束该循环 B. break语句用于开关语句,它结束该开关语句 C. break语句用于if语句的内嵌语句内,它结束该if语句 D. break语句在一个循环体内可使用多次 7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。 A. 循环体内可以包含有循环语句 B. 循环体内必须同时出现break语句和continue语句 C. 循环体内可以出现选择语句 D. 循环体可以是空语句 8. 以下不是死循环的是D)for(;(c=getchar()!=’\n’);)printf(“%c”,c);。 A. for(; ; x+=i); B. while(1) { x++; } C. for( i=10; ; i--) sum+=i; D. for( ; (c=getchar() )!=’\n’ ; ) printf( “%c”,c); 9. 执行语句”for(i=0;i++<3;);”后,变量i的值为C) 4。 A.2 B. 3 C. 4 D. 5 10.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C)循环4次。 A. 无限循环 B. 循环次数不定 C. 循环4次 D. 循环3次

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

计算机科学导论第4章 程序设计基础(答案)

第4章程序设计基础 习题 一、选择题 1. A 2.D 3.C 4. A 5. B 6.D 7.A 8.B 9.C 10. B 11. D 12. A 13.B 14.D 15.C 二、简答题 1.结构化程序设计的思想是什么? 答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。 2.结构化程序设计的原则是什么? 答:结构化程序设计的原则是: (1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。 (2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。 (3)严格控制GOTO语句的使用。 3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么? 答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是: (1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。 (2) 问题的划分决定了程序的结构。一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。分解的好坏就决定了设计的质量,也决定了程序的不同结构。 (3) 问题的边界应该清晰明确。只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。 4.简述面向对象和结构化程序设计的区别。 答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。 5. 从互联网上面搜索选择结构的使用方式。 答案略。 6.简述模块化方法的原理。

第二章 程序设计基础

1.结构化程序包括的基本控制结构只有三种,即顺序结构、选择结构与循环结构。 对象之间进行通信的构造叫做消息,A正确。多态性是指同一个操作可以是不同对象的行为,D 错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。 2.对象之间进行通信的构造叫做消息。多态性是指同一个操作可以是不同对象的行为。对象不一定必须有继承性。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作。 继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。 3.整数类实例包括: 十进制常量用0~9表示,不能以0开头; 八进制常量用0~7表示,必须用0开头; 十六进制常量用0~9和A~F(a~f)表示,必须以0x或0X开头。0x518。 0.518是浮点数实例,518E-2为科学计数法表示的浮点数实例。 "-518"是字符串实例, 字符实例的一般形式是用一对单引号括起来的一个字符。另外ASCII码中还有一些控制字符,C 语言中用转义字符的形式来书写这些常,转义字符一反斜杠(\)开始,后面跟1个字符或字符序列。'518'单引号中有三个字符,错误。"5"双引号为字符串,错误。'nm'单引号中有两个字符,错误。'\n'为换行符,属于字符类实例,正确。 4.数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)等。

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte

程序设计基础实践课目标要求

程序设计基础 课程实践目标要求 一、课程实践目标 程序设计基础课程实践是督促和检验学生程序设计综合能力的教学环节,通过课程实践使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 课程实践的目的和要求: 1、使学生巩固和加强《C语言程序设计》课程的理论知识。 2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S图表示算法。 5、使学生掌握调试程序的基本方法及上机操作方法。 6、掌握书写程序设计开发文档的能力,使学生学会撰写课程实践总结报告。课程实践的思想和方法还可以作为学生做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。 8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程实践既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。 9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程实践书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 二、课程实践内容 1.基本要求 ⑴课程实践题目选一,可以协商合作,但每名同学必须完成每个功能函数,甚至每条语句的作用。只有了解了整个程序设计思路,每个函数、设置每条语句的作用,才达到开“计算机与程序设计语言”这门课的目的。

程序设计基础知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

《计算机程序设计基础》课后练习题参考答案

《计算机程序设计基础》课后练习题1 一.判断题 (1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。 (2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。 (3)(错)常量是指在程序运行过程中其值可以改变的那些量。 (4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属 性。 (5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。 (6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。 (7)(错)标准模块文件的扩展名是“*.VBP”。 (8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。 (9)(错)在默认情况下,数组下标下界的缺省值为1。 (10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。 二.单选题 (11)在Visual Basic中,表示鼠标单击事件的是 C 。 A)Activate B)DoubleClick C)Click D)MouseDown (12)用于设置计时器时间间隔的属性是 A 。 A)Interval B)Name C)Left D)Top (13)函数Int(10*Rnd)是在 D 范围内的整数。 A)[1,10] B)[1,10] C) [0,9) D)[0,9] (14)Select case语句结构的结尾应使用 D 。 A)End B) End Case C) End Sub D) End Select (15)改变了容器的坐标系后,该容器的 A 属性值不会改变。 A)left B)scaleleft C)scaletop D)scalewidth (16)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

java语言程序设计基础篇第十版课后答案第二章答案

package cn.Testcx; import java.util.Scanner; public class lesson2 { public static void main(String[] args){ @SuppressWarnings("resource") Scanner input =new Scanner(System.in); System.out.print("请输入一个摄氏温度:"); double Celsius =input.nextDouble(); double Fahrenheit =(9.0/5)*Celsius+32; System.out.println("摄氏温度:"+Celsius+"度"+"转换成华氏温度为:"+Fahrenheit+"度"); System.out.print("请输入圆柱的半径和高:"); double radius =input.nextDouble(); int higth = input.nextInt(); double areas =radius*radius*Math.PI; double volume =areas*higth; System.out.println("圆柱体的面积为:"+areas); System.out.println("圆柱体的体积为:"+volume); System.out.print("输入英尺数:"); double feet =input.nextDouble(); double meters =feet*0.305; System.out.println(feet+"英尺转换成米:"+meters); System.out.print("输入一个磅数:"); double pounds =input.nextDouble(); double kilograms =pounds*0.454; System.out.println(pounds+"磅转换成千克为:"+kilograms); System.out.println("输入分钟数:"); long minutes =input.nextInt(); long years =minutes/(24*60*365); long days = (minutes%(24*60*365))/(24*60); System.out.println(minutes+"分钟"+"有"+years+"年和"+days+"天"); long totalCurrentTimeMillis =System.currentTimeMillis(); long totalSeconds =totalCurrentTimeMillis/1000; long currentSeconds =totalSeconds%60; long totalMinutes =totalSeconds/60; long currentMinutes =(totalSeconds%(60*60))/60; long currenthours =(totalMinutes/60)%24; System.out.print("输入时区偏移量:"); byte zoneOffset = input.nextByte(); long currentHour =(currenthours+(zoneOffset*1))%24; System.out.println("当期时区的时间为:"+currentHour+"时"+currentMinutes+"分"+currentSeconds+"秒");

程序设计基础——基于C语言(第2版) 课后习题参考答案汇总

习题1参考答案 1.1解释以下术语 (1)计算机软件:计算机软件是一系列按照特定结构组织的程序、数据(Data)和文档(Document)的集合。 (2)计算机程序:用计算机语言所编写的一系列指令的集合。 (3)数据:数据是程序加工和处理的对象。 (4)算法:算法是一组有穷的规则,它们规定了为解决某一特定问题而采取的一系列运算步骤。 (5)数据结构:数据结构是存在一种或多种特定关系的数据元素的集合,其外在表现为数据的组织形式。 (6)数据类型:数据类型是一个值的集合和定义在这个值集上的操作的总称。 (7)程序设计:程序设计是给出解决特定问题程序的方法和过程,是软件构造活动中的重要组成部分。 1.2 简答题 (1)简述内存的组织结构形式? 计算机系统把内存看作是由若干个连续的存储单元(Storage Location)组成的,每个存储单元的大小为一个字节(Byte)。为了能唯一标志每个存储单元,在计算机系统中给每个存储单元指定一个唯一的编号,该编号被称为存储单元的地址(Address),计算机在读写内存时就是按照存储单元的地址进行的。 (2)为什么计算机系统是一个通用的计算系统? 在计算机硬件相对固定不变的前提下,计算机的通用性主要表现在通过运行不同的程序来完成不同的计算任务。 (3)简述结构化程序设计的基本思想? 在程序设计过程中,如果仅仅使用顺序、选择和循环这三种基本控制结构,并且使每个代码块只有一个入口和一个出口,则这样的程序设计方法被称为结构化程序设计(Structured Programming)。 (4)简述计算机语言的发展史? 程序设计语言经历了从机器语言、汇编语言、高级语言到超高级语言的发展历程。(5)简述利用计算机进行问题求解的过程? 1、理解问题特征 2、设想解决方案 3、优化解决方案 4、描述解决方案 5、执行并分析解决方案 (6)简述各个程序质量要素的含义? 1、正确性(Correctness):正确性是指一个计算机程序的正确程度,即程序在预定的

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

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.360docs.net/doc/5a2266263.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.有如下程序:

第二章[SAS编程基础]

第二章 SAS 编程基础 第一节常量、变量与观测值 2.1.1 观测值 描述单一整体,如个别人、一个实验动物、一年、一个地区某些特性的一系列数据值称为观测值,又称观察。 2.1.2 变量 给定特性的数据值的集合组成了变量。在SAS数据集中,每一个观测值是由各个变量的数据值组成。在数据集中每一列数据是一个变量。 1.命名 SAS变量名和其他名称如数据集名等的命名规则都相同,它可以多至8个字符长,第一个字符必须是字母(A,B,C,….,Z),或者是下划线(_),后面的字符可以是数字或下划线。空格不能出现在SAS名中,特殊字符(如$,@,#)也不允许在SAS名中使用。SAS 系统保留了一定的名称作为特殊的变量名,这些名称以下划线开始和结尾。如_N_和_ERROR_等。 2.变量特性 SAS变量有两种类型,数值型和字符型。字符型变量在名后用一“$”号来表示。除了他们的类型外,S A S变量还有下列特性:长度、输入格式、输出格式和标记。 变量的长度特性,是指在SAS数据集中用以存储它的每一个值的字节数。缺省长度是8(为了存储长度与缺省值不同的变量,需使用LENGTH语句)。 变量的特性,或者明确地说明,或者在它们首次出现时的上下文中给出定义。例如: DATA A; C='BAD'; PUT C; C='GOOD'; PUT C; RUN; C在第一次出现时已被定义成字符型变量,长度为3,因此第二次再向c中赋值GOOD时,由于c已被定义成长度为3,故c中只存有‘GOO’。 PUT语句的作用是把变量的值输出到LOG窗口。 变量的其他特性将在后面逐渐介绍。 3.变量清单的简化表示 在SAS程序中定义了完整的变量清单后,就可以在后面许多语

《C语言程序设计教程(第二版)》习题答案

2 第1章程序设计基础知识 一、单项选择题(第23页) 1-4.CBBC 5-8.DACA 二、填空题(第24页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分 三、应用题(第24页) 2.源程序: main() {int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */ printf("cock hen chick\n"); for(i=1;i<=20;i++) for(j=1;j<=33;j++) for(k=1;k<=33;k++) if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d\n",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/ {printf("%8ld%8ld",a,b); a=a+b;b=b+a;}} 递归法源程序: main() {int i; for(i=0;i<=19;i++) printf("%8d",fib(i));} fib(int i) {return(i<=1?1:fib(i-1)+fib(i-2));} 执行结果: 1 1 2 3 5 8 13 21 3 4 55 89 144 233 377 610 987 1597 2584 4181 6765

Visual Basic 程序设计基础教程-课后习题答案-范荣强

第一章程序与编程环境 一、填空题 1. 工程,Form_Load 2. 事件(触发) 3. 窗体,Name 4. CurrentX, CurrentY 5. maxButton, BorderStyle = 1 or 3 or 4 or 5 6. Alignment, 空缺,AutoSize 7. Style, LoadPicture 8. Line, Shape 9. 重画10. FillStyle ll. MultiLine, maxLength, Locked 12. Font 13. sub, 对象名,事件名14. 方法,Object.Method, text1.setfocus() 15. Name, minButtom, CurrentX(Y), Caption 16. Interval, Enable 17. timer, Interval, ms(毫秒) 18. Mouse Down, Click, LoastFocus 19. .Frm, .Frx, .bas. cls. Vbp 20. 注释, “Rem 语句”或者“’语句” 第二章数据的类型、表示以及运算 一、请指出下列哪些是VB的合法常量,并说明原因 (1)√(2)X 常量不能加类型说明符号改成123.4 (3)X与上题类似,如果是常量,则类型说明符放在后面(4)√等价于2E3 (5) √(6)√等于十进制的4113 (7)X 如果是16进制要写&符号(8)X 指数不能为小数(9)X 月份超过12,日超过31 (10)√(11)√(12)√等价于上一题(13)X 8进制数每一位不能超过8 (14)√(15)X 变量,常量要为基本数据类型的值(16)√ 二、找出合法变量 (1)√(2)√如果与控件Label1同在一个应用程序里面,该变量会屏蔽掉控件Label1 (3) X 保留字(4)√(5)X 变量不能以数字开头(6)变量不能有小数点 (7)√(8)√数组变量(9)X保留字(10)√可以,但rnd()不可以,rnd()是函数 (11) √(12)√(13)√(14)X ’符号表示注释(15)X 这是表达式,不是变量(16)X 同上,是表达式 三、指出下列数据x,y,z的声明是否正确,如果正确请指明其类型 (1)√ x--long, y—variant, z—integer (2) √ x—long, y—long, z—integer (3) √ x—double, y—double, z—integer (4) X 变量x &中间不能有空格 (5)√自动转换成字符串 (6)X 变量声明不能直接赋值 (7)√ (8)√自动转换成字符串 (9)X 常量不能把函数写上去 (10)√ 四、写出下列表达式的结果 (1)1 (2) 1 (3)false (4) ab12 (5)123 (6)出错,加法表达式中如果有一个是数值类型,则“+”表示加号,而不是字符的链接符号(7)False (8)true (9) true (10) false 默认转换成相同类型(数值),建议这里把2改成D试试 (P.S. 布尔类型TRUE = -1, FALSE = 0; 优先顺序:^(乘方)→-(求负)→*、/→\(整除)→MOD→+、-) 五、写出下列函数的结果

程序设计基础

第二章程序设计基础 2.1 程序设计设计方法和风格 如何形成良好的程序设计风格 1、源程序文档化; 2、数据说明的方法; 3、语句的结构; 4、输入和输出。 注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。2.2 结构化程序设计 结构化程序设计方法的四条原则是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制使用goto语句。 结构化程序的基本结构和特点: (1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)重复结构:又称循环结构,可根据给定条件,判断是否需要重复执行某一相同程序段。 2.3 面向对象的程序设计 面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA语言为标志。 面向对象方法的优点: (1)与人类习惯的思维方法一致; (2)稳定性好; (3)可重用性好; (4)易于开发大型软件产品; (5)可维护性好。 对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。 面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。 属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务。 对象的基本特点: (1)标识惟一性; (2)分类性; (3)多态性; (4)封装性; (5)模块独立性好。 类是指具有共同属性、共同方法的对象的集合。所以类是对象的抽象,对象是对应类的一个实例。 消息是一个实例与另一个实例之间传递的信息。 消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。 继承是指能够直接获得已有的性质和特征,而不必重复定义他们。

相关文档
最新文档