当前位置:文档之家› 程序设计基础及语言II

程序设计基础及语言II

程序设计基础及语言II
程序设计基础及语言II

程序设计基础及语言(II)

Introduction to Programming & Programming Language

(总学分:4.5 总上课时数:48+24 上机时数:48)

东南大学计算机科学与工程学院

一.课程的性质与目的

本课程是计算机专业必修的一门主要的专业基础课。本课程的教学目的,是使学生在学习程序设计基础和c++编程的基础上,进一步掌握程序设计的基本原理和方法,理解并掌握面向对象的程序设计思想和方法,培养学生进行程序设计、调试和运行等方面的上机动手能力,为学习有关专业课程以及进行应用开发和科研打下必要的程序设计基础。

二.课程内容的教学要求

1. 程序设计基础及语言(1)

(1)计算机和c++编程概述:理解计算机科学的基本概念,熟悉不同类型的编程语言,理解一个典型的c++程序开发环境,能够运用c++编写简单的计算机程序;熟悉基本数据类型,运用算术运算符和优先级,能够编写简单的判断语句。

(2)控制结构:理解用于解决问题的算法概念和有效使用控制结构的重要性。灵活运用顺序结构、选择结构和循环结构。熟练掌握自增、自减、赋值和逻辑运算符。

(3)函数:理解程序模块的设计和构建,熟练掌握从c++中与函数相关的功能包括标准库函数、程序员定义的函数、递归、按值调用和按引用调用功能。

(4)数组:理解并掌握如何将数据组织成数组,即同类型的相关数据项组合,掌握排序与查找技术。

(5)指针和字符串:理解并掌握指针,能够用指针按引用向函数传递参数,理解指针、数组和字符串之间的紧密关系,掌握声明和使用字符串数组。

2. 程序设计基础及语言(2)

(1)类和数据抽象I:理解封装与数据隐藏的软件工程概念,数据抽象和抽象数据类型的概念,掌握创建类,创建、使用和删除类对象的原理和方法,掌握控制对象数据成员和成员函数的访问。

(2)类和数据抽象 II:掌握const对象和const成员函数,友元函数和友元类,this指针,动态创建与删除对象,static数据成员和成员函数。

(3)运算符重载:理解并掌握如何重新定义运算符以处理新的抽象数据类型的概念和方法。掌握对象类型的转换,通过学习Array、String和Date类,掌握运算符重载。

(4)继承:理解并掌握基类和派生类的基本概念,理解继承如何提高软件的可重用性,理解并掌握protected成员访问修饰符,理解并掌握继承层次中的构造函数和析构函数的用法。

(5)多态性:理解并掌握多态性的基本概念,理解并掌握利用虚函数来实现多态性,理解并掌握抽象类和具体类、纯虚函数和动态绑定,理解多态性如何扩展和维护系统的用法。

(6)模板:理解并掌握函数模板和类模板的基本概念,理解并掌握函数模板和类模板的用法。

(7)c++输入输出流:理解并掌握c++面向对象的输入输出流的基本概念,理解并掌握格式化输入输出和流操作元的用法。

(8)文件处理:理解并掌握c++文件处理的基本概念,理解并掌握建立、读、写和更新文件的用法。

三.上机实习要求

计算机程序设计是一门实践性很强的课程,因此学习程序设计最重要的环节就是上机实践。通过上机实习,学习并掌握从编辑、编绎、连接、运行和调试的全过程,从而提高学生的程序设计的能力。

上机环境为:Windows环境下Visual C++.

上机时间:24+24

并鼓励学生尽可能将作业在机器上完成。

四.能力培养的要求

1. 分析能力的培养:主要是对待解决问题的分析的能力的培养。

2. 编程能力的培养:要求学生通过本课程的学习,具备规范化的程序设计的能力;掌握面向对象设计的思想和程序的能力。

3. 自学能力的培养:通过本课程的教学,要培养和提高学生对所学知识进行整理、概括、消化吸收的能力,以及围绕课堂教学内容,阅读参考书籍和资料,自我扩充知识领域的能力。

4. 实践能力的培养:主要是通过上机作业程序的环节,培养学生解决问题的思路和步骤的动手能力。

5. 创新能力的培养:培养学生独立思考、深入钻研问题的习惯,和对问题提出多种解决方案、选择不同程序算法,以及举一反三的能力。

五.建议学时分配

六.考核方式

总评成绩=平时成绩(包括作业及上机)+期末考试成绩(上机考试+笔试)平时成绩占10%

期末考试成绩占90%(上机考试30%+60%)

七.教材及参考书

1.H.M.Deitel,P.J.Deitel著。 C++程序设计教程。清华大学出版社,2004

2.钱能,C++程序设计语言,清华大学出版社,2000

3.Stanley B. Lippman, Josée Lajoie, Barbara E. Moo,C++ Primer (4th

Edition)

Bjarne Stroustrup,The C++ Programming Language,(Special 3rd Edition)

c语言第五章 选择结构程序设计(习题册答案)

第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x2&&x<3。 8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。 9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。 10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。 11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。 12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。 13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。 14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。 !(x>y)+(y!=z)||(x+y)&&(y-z) 15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。 !(x=a)&&(y=b)&&0 16、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。 二、选择题 1、逻辑运算符两侧运算对象的数据类型(D)。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 2、以下关于运算符优先顺序的描述中正确的是(C)。 A)关系运算符<算术运算符<赋值运算符<逻辑与运算符 B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑与运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 3、下列运算符中优先级最高的是(B)。 A)< B)+ C)&& D)!= 4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D)。 A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 5、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表 达式是(C)。 A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)

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;

第2章 程序设计基础习题

程序设计基础 一、判断题 1.整型变量有Byte、Integer、Long类型3种。 2.Byte类型的数据,其数值范围在-255~255之间。 3.Visual Basic的Double类型数据可以精确表示其数值范围内的所有实数。 4.在逻辑运算符Not、Or、And中,运算优先级由高到低依次为Not、Or、And。 5.关系表达式是用来比较两个数据的大小关系的,结果为逻辑值。 6.一个表达式中若有多种运算,在同一层括号内,计算机按函数运算→逻辑运算→关系运算→算术运算的顺序对表达式求值。 7.赋值语句的功能是计算表达式值并转换为相同类型数据后为变量或控件属性赋值。 8.用DIM定义数值变量时,该数值变量自动赋初值为0。 9.函数InputBox的前3个参数分别是输入对话框的提示信息、标题以及默认值。 10.函数MsgBox的前3个参数分别表示默认按钮、按钮样式以及图标样式。 二、选择题 1.Integer类型数据能够表示的最大整数为________ 。 A、275 B、215-1 C、216 D、216-1 2.货币类型数据小数点后面的有效位数最多只有________ 。 A、1位 B、6位 C、16位 D、4位 3.输入对话框InputBox的返回值的类型是________ 。 A、字符串 B、整数 C、浮点数 D、长整数 4.运算符“\”两边的操作数若类型不同,则先________ 再运算。 A、取整为Byte类型 B、取整为Integer类型 C、四舍五入为整型 D、四舍五入为Byte类型 5.Int( Rnd * 100 ) 表示的是________ 范围内的整数。 A、[0,100] B、[1,99] C、[0,99] D、[1,100] 6.下列程序段的输出结果是________ 。 a=10: b=10000: x=log(b)/log(a): Print "lg(10000)=";x A、lg(10000)=5 B、lg(10000)=4 C、4 D、5 7.返回删除字符串前导和尾随空格符后的字符串,用函数________ 。 A、Trim B、Ltrim C、Rtrim D、mid 8.Print语句的一个输出表达式为________ ,则输出包括日期、时间信息。 A、Date B、Month C、Time D、Now 9. 语句Print "5*5" 的显示结果是________ 。 A、25 B、"5*5" C、5*5 D、出现错误提示 10.语句“Form1.Print Tab(10);"#"”的作用是在窗体当前输出行________ 。 A、第10列输出字符“#” B、第9列输出字符“#” C、第11列输出字符“#” D、输出10个字符“#” 三、填空题 1.语句“Dim C As________”定义的变量C,可用于存放控件的Caption的值。 2.长整型变量(Long类型)占用________ 个字节。 3.表达式Right(String(65, Asc("abc")), 3)的值是________。 1

《Java语言程序设计:基础篇》课后复习题答案-第二章

Chapter2Elementary Programming 1.Valid identifiers:applet,Applet,$4,apps,x,y, radius Invalid identifiers:a++,--a,4#R,#44,class,public, int Keywords: class,public,int 2.double miles=100; final double KILOMETERS_PER_MILE= 1.609; double kilometers=KILOMETERS_PER_MILE*miles; System.out.println(kilometers); The value of kilometers is160.9. 3.There are three benefits of using constants:(1) you don’t have to repeatedly type the same value;(2) the value can be changed in a single location,if necessary;(3)the program is easy to read. final int SIZE=20; 4. a=46/9;=>a=5 a=46%9+4*4-2;=>a=1+16–2=15 a=45+43%5*(23*3%2);=>a=45+3*(1)=48 a%=3/a+3;=>a%=3+3;a%=6=>a=a%6=1; d=4+d*d+4;=>4+ 1.0+4=9.0 d+= 1.5*3+(++a);=>d+= 4.5+2;d+= 6.5;=>d=7.5 d-= 1.5*3+a++;=>d-= 4.5+1;=>d=1– 5.5=-4.5 5. 2 2 -4 -4 1 6.(2+100)%7= 4.So it is Thursday.

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

5.1 阅读下列程序,写出执行结果 1.#include < iostream.h > struct data { int n ; float score ; } ; void main() { data a[3] = { 1001,87,1002,72,1003,90 } , *p = a ; cout << (p++)->n << endl ; cout << (p++)->n << endl ; cout << p->n++ << endl ; cout << (*p).n++ << endl ; } 2.#include < iostream.h > struct employee { char name[ 20 ] ; char sex ; } ; void fun( employee *p ) { if( (*p).sex == 'm' ) cout << (*p).name << endl ; }

void main() { employee emp[5] = { "Liming", 'm', "Wangxiaoping", 'f', "Luwei", 'm' } ; int i ; for( i=0; i<3; i++ ) fun( emp+i ) ; } 3. #include < iostream.h > struct node { char * s ; node * q ; } ; void main() { node a[ ] = { { "Mary", a+1 }, { "Jack", a+2 }, { "Jim", a } } ; node *p = a ; cout << p->s << endl ; cout << p->q->s << endl ; cout << p->q->q->s << endl ; cout << p->q->q->q->s << endl ; } 4.#include < iostream.h > class A

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.结构化程序包括的基本控制结构只有三种,即顺序结构、选择结构与循环结构。 对象之间进行通信的构造叫做消息,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.数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)等。

C程序设计(第四版)_谭浩强_第五章_课后习题答案

循环结构程序设计 P115 5.1 用while计算1至100的合. #include int main() { int i=1,sum=0; while(i<=100) //对于需要运算的值,要么在运算前可以赋值,要么一开始要指定. { sum=sum+i; i++; } printf("The sum is %d .\n",sum); return 0; } #include int main() { int i=1,sum=0; do// do-while可以做的事,用while都可以做到. { //do-while先做一次执行,再判断条件,而while却是先做一个条件,再执行. sum=sum+i; i++; }while(i<=100); printf("The sum is %d .\n",sum); return 0; } P118 5.3 比较do-while与while的差别. #include

{ int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0. while(i<=10) { sum=sum+i; i++; } printf("The sum of 1-10 is %d .\n",sum); return 0; } #include int main() { int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,结果一样.输入11的话,先做操作,所以sum=11. do { sum=sum+i; i++; }while(i<=10); //此重点在于理解二者的差别. printf("The sum of 1-10 is %d .\n",sum); return 0; } #include int main() { int i,b=0,a,c; for(i=0;i<=1000;i++) { printf("Please input amount :"); //循环体内套有输出语句以及跳出语句. scanf("%d",&a); b=b+a; if(b>=100)

程序设计基础模拟试题

《VB程序设计》模拟试题 ●填空题 1.窗体模块的文件扩展名为 ___FRM_________ 、标准模块的文件扩展名为____BAS______ 、 类模块文件的扩展名为______CLS_______ 。 2.Visual Basic中数据类型可分为 _____标准数据类型________和用户自定义数据类型两大类,前者根据其取值的不同,可分为_____整型_________、 ______长整型_____、布尔型和 ____字符型_________。 3. Abs(-6.5)= _____6.5______;Int(-9.1)= ____-10_______。 4. "程序"& "设计"运算结果为 ___程序设计____ 。 5. Dim a, b as Boolean语句显式声明变量a是___变体___变量,b是___布尔__变量。 6. MsgBox函数的返回值中, VBRetry表示单击了____重试_____按钮,VBYes表示单击了___是_____按钮,VBNo表示单击了_____否____按钮。 7. 要加载窗体,可以在代码中使用___________语句,要显示窗体,可以在代码中使用___________方法,要隐藏窗体,可以在代码中使用Hide方法,要卸载窗体,可以在代码中使用___________方法。 8.对话框分为_________对话框和________对话框两种类型,其中_____________ 对话框最 常用。 9. 对象是Visual Basic应用程序的基本单元,它是由 ___类___创建的。在Visual Basic中可以用属性、 __方法___、___事件___ 来说明和衡量一个对象的特性。 10. 条件判断语句可以使用___If…then____________语句、 ____If…Then…Else______语句和 ______If…Then…ElseIf______语句。Select case 语句 11. 声明一个值为3.14的常量Pi的语句为___Const pi = 3.14______。 12. Do…Loop Until 循环结构中,当条件为____真____时结束循环。 13. 要显示弹出菜单,可以在代码中使用_____________事件。 14. 参数传递有__________方式、__________方式和命名传递方式,常量默认采用__________方式;变量默认采用__________方式;表达式默认采用__________方式。 15. 名称属性必须以一个__字母标点_开始并且最长可达40个字符,不能包括__符号___ 和 ___空格___。 16.Visual Basic的程序模块有3种:____窗体模块____ 、标准模块和 ____类模块____。 17.Visual Basic程序,按其语句代码执行的先后顺序,可以分为___顺序__结构、选择__结构和___循环____ 结构。 18.数组元素下标的下界默认为是_____________,如果要改变其默认值,应使用_____________。 ●判断题 ()1. Visual Basic运行程序的方法只有编译模式。 ()2. 语句Command1.visible=false 与Command1.enabled=false 是等价的。 ()3. InputBox函数和MsgBox函数一样,返回的是字符串。 ()4. 通过类模块,我们不可以根据需要建立自己的控件。 (×)5. 2.1E+5是合法的Visual Basic数据。 ()6. 根据占用内存方式的不同,可将数组分为常规数组和动态数组两种类型。 (√)7. x2是合法的变量名。 ()8. 按照文件的存取方式及其组成结构可以分为两种类型:文本文件和随机文件。 (√)9. Do…Loop Until语句实现循环时,不管条件真假,首先无条件地执行一次 循环。

《VC++程序设计基础》习题1

《Visual C++ 程序设计基础》练习题第一部分面向过程程序设计

第一章 VC++语言的基础知识和简单的语句 1.C++语言程序由〖C〗组成。 A)子程序 B)过程 C)函数 D)主程序和子程序 2.以下各标识符中,合法的用户标识符组为〖D〗。 A)PAd,P#d,b-b,abc,_0123,ssiped B)cin,a10,CPP,float,del_word,signed C)void,max,hiy,,list,*jer D)a,temp,_isw,INT,keep,wind 3.在VC++中,char类型数据占〖A〗个字节,int类型数据占〖C〗个字节,short 类型数据占〖B〗个字节,long类型数据占〖C〗个字节,float类型数据占〖C〗个字节,double类型数据占〖D〗个字节。 A)1 B)2 C)4 D)8 4.以下语句〖B〗。 int a=-2L; cout << a << endl; A)赋值不合法 B)输出值为-2 C)输出为不确定值 D)输出值为2 5.在VC++中,以下语句的输出为〖D〗。 short int k=-1; cout << k << ',' << (unsigned short)k <代表回车换行,_代表空格)。 cin >> a >> b; A)1020 B)10_20 C)10,20 D)20_10 8.以下语句的输出为〖D〗。 int k=017,g=111; cout << ++k << ',' << hex << g++ <

程序设计基础知识点)

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

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

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):正确性是指一个计算机程序的正确程度,即程序在预定的

第五章程序设计基础习题及参考答案

第五章程序设计基础 一、选择题 1.在各类程序设计语言中,相比较而言,(D)程序的执行效率最高。 A.汇编语言 B.面向对象的语言 C.面向过程的语言 D.机器语言 2.下列关于程序设计语言的说法中正确的是(C)。 A.高级语言程序的执行速度比低级语言程序快 B.高级语言就是自然语言 C.高级语言与机器无关 D.计算机可以直接识别和执行用高级语言编写的源程序 3.在算法分析中,评判算法的好坏不必考虑(D)。 A.正确性 B.需要占用的计算机资源 C.易理解 D.编程人员的爱好 4. 一般认为,计算机算法的基本性质有(A)。 A.确定性、有穷性、可行性、输入、输出 B.可移植性、可扩充性、可行性、输入、输出 C.确定性、稳定性、可行性、输入、输出 D.确定性、有穷性、稳定性、输入、输出 5.计算机硬件唯一能直接理解的语言是(A)。 A.机器语言 B.汇编语言 C.高级语言 D.面向过程语言 6.结构化程序设计方法的3种基本结构是(C)。

A.程序、返回、处理 B.输入、输出、处理 C.顺序、选择、循环 D.I/O、转移、循环 7.在面向对象方法中,一个对象请求另一个对象为其服务的方式是发送(D)。 A.调用语句 B.命令 C.口令 D.消息 8.以下不是面向对象思想中的主要特征的是(D)。 A.多态 B.继承 C.封装 D.垃圾回收 9.(C)不是程序的3种翻译方式之一。 A.汇编 B.编译 C.结构化 D.解释 10.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的(A)阶段。 A.各个 B.前期 C.中期 D.后期 11.在软件生命周期中,工作量所占比例最大的阶段是(D)阶段。 A.需求分析 B.设计 C.测试 D.维护 12.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象是(C)的一种表现。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 二、填空题 1.C++语言运行性能高,且与C语言兼容,已成为当前主流的面向(对象)的程序设计语言之一。 2.对象的基本特点包括(唯一性)、分类性、多态性、封装性和模块独立性5个特点。

第二章[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

第二章 程序设计基础

第二章程序设计基础 2.1结构化程序设计 结构化程序设计的风格及原则 结构化程序设计风格:清晰第一。效率第二 程序注释:分为序言性注释和功能性注释 结构化程序设计方法的四个主要原则。 自顶向下、逐步求精、模块化和限制使用goto语句。 结构化程序设计主要强调的是:程序的易读性 2.2面向对象的程序设计 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基本要素。 (1)对象 通常把对对象的操作也称为方法或服务。 属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改 属性值应该指的是纯粹的数据值,而不能指对象。 操作描述了对象执行的功能,若通过信息的传递,还可以为其他对象使用。 对象具有如下特征:标识惟一性、分类性、多态性、封装性、模块独立性。 (2)类和实例 类是具有共同属性、共同方法的对象的集合。它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。 类是关于对象性质的描述,它同对象一样,包括一组数据属性和在数据上的一组合法操作。 (3)消息 消息是实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。 一个消息由三部分组成:接收消息的对象的名称、消息标识符(消息名)和零个或多个参数。 (4)继承 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。 继承分为单继承与多重继承。单继承是指,一个类只允许有一个父类,即类等级为树形结构。多重继承是指,一个类允许有多个父类。 (5)多态性 对象根据所接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行动,该现象称为多态性。 2.3 例题详解

相关主题
文本预览
相关文档 最新文档