程序设计基础期末复习汇总

程序设计基础期末复习汇总
程序设计基础期末复习汇总

《程序设计基础》期末复习

考试题型和分值。

一、单选题(20小题,每题2分)

二、填空题(共20题,计20分)

三、编程填空题(给出程序的输出结果,共5题,14分)

四、读程序题(补充程序,共2小题,,共26分)

程序练习:

1. 输出1~10之间所有的偶数和它们的平方。

2. 输出所有的水仙花数。

3. 从键盘输入一行字符,统计其中有多少个单词。假设单词之间是以空格分开。

4. 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则

结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。

5. 编写程序,要求在main函数接受一个整型变量,将其作为参数传入IsPrime 函数中,IsPrime函数根据传入的值确定返回值,如果<2,返回0;如果不是素数,返回1;如果是素数,返回2。主函数根据返回值输出相应的提示信息:输入不合法,不是素数,是素数。

6.编写程序:给学生出一道加法运算题,然后判断学生输入的答案对错与否。通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,重复要求输入答案,直到输入结果正确,程序结束。

要求:用Add函数来进行两个整数的加法运算;用Print函数判断输入的答案正确与否;用main函数输入两个相加的数和学生的答案,然后调用Add函数和Print函数判进行判断和显示输出。

7. 利用指针编写两个整数交换的函数。

8. 从10个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元素的下标位置。

9. 给定10个数,按照要求进行排序并输出排序的结果。

程序设计ABC

1. 程序运行的方式分为哪两种?(编译运行和解释运行)

2 .什么叫编译器,其功能是什么?(把程序设计语言转换成目标代码的软件称为编译器)

数据类型、运算符与表达式

1.C程序的特点?

◆函数是C程序的基本单位。一个C程序有且仅有一个main函数(主函数),

总是从main函数开始执行,在main函数中结束,与其位置无关;

◆函数由函数头和函数体组成

◆C程序的书写格式:C语句都以分号结束;允许一行多句,但最好一行一

句并按照锯齿形(缩进式)书写,提高可读性和可测试性;适当使用注释(注释中的语句不参与编译,不能发现其中的拼写错误)。

2. C语言标识符的命名规则,会判断哪些是合法的哪些不合法。

3. 如何判断表达式的数据类型?(取高精度的)

4. 常量:程序运行过程中其值不变的量。

◆实型常量的表示。分为十进制小数(123.45、-0.5、.98、18. 均合法)和

指数形式(1e-2、4.5e3 、3.e2 、.8e-5 均合法,e3、2e3.5、.e3不合法)。

◆字符常量的表示。除了转义字符外单引号中仅有一个字符(X ’X’“X”

‘XY’)、转义字符。(‘\n’表示一个字符) (P23)

5. 字符串常量。双引号。(注意与字符常量的区别)

6. 宏常量。如何声明一个宏常量?

例如:#define PI 3.14159

#define A(x) 3*x*x -2

printf(“%d”, A(1+3)); 结果?

7. 变量:程序运行过程中其值可以改变的量。

◆变量的声明与初始化。遵循“先定义、后使用”。

◆变量名由用户定义的标识符。

◆变量的属性:变量名、变量类型、变量的值、变量的存储单元——地址

◆使用变量注意的问题

8. 常用运算符及表达式。

◆不能给表达式赋值。例如:x+y=3

◆优先级和结合性。

算术运算符。(1)两个整数相除结果为整数。6/4=1

◆(2)有一个操作数为实数,结果为double型。6./4=1.5 (3)求余运算的两个

操作数必须为整数。

◆将算术表达式转换为C语言表达式。(常见错误P34)

例如:3 < x < 4”或”x < -5

◆关系运算符。>,>=,<,<=,==,!= (关系运算符运算出的结果为0

和非0)(常见错误见P35)

◆逻辑运算符。逻辑运算符两侧的运算对象可以是任意合法的表达式。

&&(同真为真,否则为假。)、|| (有一个为真结果为真,同假为假)! (a 的值不变)例如:判断是否为字母;

例如:当a=1,b=2,c=3,x=4,y=3 时!b

语句while(!E)中的条件!E等价条件是:E==0

◆会将自然语言翻译成逻辑、关系表达式。例如:

收入(income)大于5000并且小于10000

◆赋值运算符。左边只能是变量。复合运算符,例如:n *= m + 2

◆三目运算符:w < x ? w : y

◆增量(++)和减量(――)运算符。注意前置和后置运算:若单独一个

增量或减量运算符,则相当于执行加1或减1操作,若用在复合语句中就有区别。m = n++;

m = ++n ;printf(“%d”,++n);printf(“%d”,n++);

9. 类型转换。不会自动进行四舍五入;将取值范围小的类型转为范围大的类型

是安全的。反之是不安全的。

◆注意表达式赋值后的类型转换

例如:int x1 = 1, x2 = 2, x3 =3;

x3 = 1.0/x2*x1; 结果是什么类型?

简单的C程序设计

1.表达式和表达式语句的区别。

2.字符输入/输出。字符输出函数putchar(ch):向终端显示屏幕输出一个字符ch。

字符输入函数getchar(),使用格式:变量=getchar()

功能:从键盘输入一个字符,按回车表示输入结束,函数值为从输入设备接收的字符。

3.格式输入/输出。

◆scanf:不要忘记&符号;多个变量输入值之间的符号;特别要注意类型

的匹配;忽略修饰符等。(具体见书)

◆printf:注意类型匹配;域宽、精度等。(具体见书-3)

4.要能够判断程序的错误。(如变量、常量的声明、输入输出格式等问题)。

程序的控制结构

1.什么是算法?什么是程序?算法的五个特性是什么?

◆程序:是为解决某一问题而用特定的计算机语言编写的,用以指挥计算

机完成预定功能的一系列计算机指令;

◆算法是程序处理问题的步骤和方法;

◆算法的特性:有穷性、确定性、有效性、没有输入或多个输入、有一个

或多个输出。(要清楚各个特性的含义)

2.程序的三种基本结构。

3.逻辑运算符和关系运算符的使用。

4.选择结构。

◆if形式、if …else…形式、if…else…嵌套形式、switch多路开关

(特别注意括号的使用、else与if配对问题、关系判断使用==、浮点数

不能进行==比较。)

◆使用条件语句应注意以下问题:

?是否需要包含相等的情况。

?表达相当的关系使用的是==,不要把

if(a==b) 写成if(a=b)。

例如:

int x = 2, y=3, z = 4;

if( x = y)

printf(“%d\n”,z);

else

printf(“%d\n”,y);

?对于float变量,由于存在精度问题,所以要避免使用“==”或“!=”进行数字比较。可以设法转换成“>=”或“<=”形式。

?语句嵌套结构中if 与else的配对!

?if和else 配对原则:缺省{ }时,else总是和它上面离它最近的未配对的if配对。

?实现if ~ else 正确配对方法:加{ }。

◆switch多路开关:

switch(表达式)

{

case 常量1:

}

?表达式需为整型、字符型或枚举型。

?各常量表达式的值必须互不相同;

?需用break跳出;

?case后可包含多个可执行语句,且不必加{ };

?switch可嵌套,多个case可共用一组执行语句;

?default可以省略,但建议使用。

例如:

i=0;

while(i < 3)

{

switch(i)

{

case 0: printf(“%d”,i);

case 2: printf(“%d”,i);

default: printf(“%d”,i);

}

i++;

}

4. 循环结构。

◆循环的三种形式以及语法。

◆循环的要素:循环入口、重复执行的内容、循环测试、终止条件、循环

退出。

◆注意:

?在for和while语句之后一般没有分号,do-while的while后必须有分号。

?循环体有多条语句必须用{ }括起来。

?有分号表示循环体就是分号之前的内容(空循环体)

?while (i < 100);

i++;

?for (i = 0; i < 100; i++); for(i = 1; i < 5; i += 2)

printf("%d", i); printf("%d", i);

?选择循环的一般原则

如果循环次数已知,用for;

如果循环次数未知,用while;

如果循环体至少要执行一次,用do-while。

◆循环的嵌套:外层、内层循环的次数。

例如:

main()

{

int i, x = 0;

for (i = 2; i < 5; i++)

{

do

{

if ( i%3)

continue;

x++;

}while( !i);

x++;

}

printf(“x=%d\n”,x);

}

◆流程的转移控制:

◆break语句:可以用在switch结构中,终止当前case;可以用在循环结构

中,退出当前所在的循环。

◆continue语句:用于循环结构中,中断此次循环体的执行,也就是停止

continue语句后面的内容,开始下一次。

第三章函数

1. 熟悉一些简单的数学库函数。

2. 函数的定义。

◆函数定义的语法。

◆“函数名”是函数的唯一标识,其命名规则与命名雷同。

◆函数不能嵌套定义,可以嵌套调用。

◆函数头和函数体之间不能有分号。

3. 函数原型,也叫函数声明。

◆函数原型就是不带函数体的函数声明;

◆函数原型就是函数头加分号;

◆函数原型必须放在调用者之前,通常放在main函数之前;

◆函数原型和函数定义中的函数返回类型、函数名和形参数表(形参的个数、

类型、位置)必须完全一致,否则,编译器会报告有编译错误。

4. 函数参数。

◆形参:子函数(被调函数)内部准备接受数据的参数叫形参。形参必须指

定类型。形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放。

◆实参:调用者提供的参数叫实参,实参是实际参与运算的数据。实参必须

有确定的值。

5. 函数调用。

◆调用函数将实参的值传给(赋值)被调函数的形参,此时实参和形参就

有各自的存储空间,所以形参值的变化不会影响实参。

◆函数调用时,调用者提供的参数个数、类型、顺序应与子函数声明、定

义时相同。

◆有返回值调用。放到一个数值表达式中,如c = max(a, b);

作为另一个函数调用的参数,如c = max( max(a,b) ,c);

printf("%d\n", max(a,b) );

例如:

int fun(int n)

{

return (n/3);

}

main()

{

int x,y;

scanf(“%d”,&x);

y = fun(fun(fun(x)));

printf(“%d\n”,y); //结果:45

}

◆无返回值函数的调用

函数调用表达式,单独一行使用,如display(a, b);

◆函数的递归调用。

例如:

int fun(int n)

{

int m;

if ( n == 0 || n == 1)

return 1;

m = n -fun(n -2);

return m;

}

main()

{

printf("%d\n", fun(5));

}

6.函数的返回值。

◆函数返回值的类型最终取决于函数定义时函数首部所说明的函数类型

◆返回值只有一个,可以是除了数组之外的任何类型,也可以是void类型;

◆有返回值函数必须有return语句,无返回值函数不要求有return语句。

7.变量的作用域。

◆作用域是指在源程序中定义变量的位置及其能被读写访问的范围。

◆变量作用域规则:每个变量仅在定义它的语句块(包含下级语句块)内有

效,并且拥有自己的内存空间。

◆同一个语句块内不能定义同名变量。(不同的函数中可以使用相同名字的

变量)

8. 局部变量

◆在语句块内定义的变量

◆形参也是局部变量

◆定义时不会自动初始化,除非程序员指定初值。

◆进入语句块时获得内存,仅能由语句块内语句访问,退出语句块时释放内

存,不再有效。(函数退出后失效,再次进入函数,变量值重新初始化。)

◆并列语句块各自定义的同名变量互不干扰

9. 全局变量

◆在所有函数之外定义的变量。

◆在程序中定义它的位置以后都有效;

◆从程序运行起即占据内存,程序运行过程中可随时访问,程序退出时释放

内存;

◆使函数之间的数据交换更容易,也更高效。

◆因为谁都可以改写全局变量,所以很难确定是谁改写了它。

10. 静态变量

◆在变量类型前面用static修饰;

◆变量的值可以保存到下次进入函数,使函数具有记忆功能。

◆静态变量和全局变量都是静态存储类型

若没有被初始化,则自动被初始化为0;

◆从静态存储区分配,生存期为整个程序运行期间。

数组

1. 数组的定义和初始化

◆数组的概念:由若干类型相同的相关数据按顺序存储在一起形成的一组同

类型有序数据的集合,称为数组。

◆什么是数组元素?什么是下标?下标的取值是多少(下界、上界)?什么

是维数?

◆定义数组的大小必须使用整型常量或者整型常量表达式,不允许使用变

量。数组大小最好用宏来定义,以适应未来可能的变化。

◆C语言的数组在内存中是按行存放的。二维数组的数组元素的存放顺序是

也是按行存放。

◆数组占用的内存空间如何计算?

◆数组定义后的初值仍是随机数,一般需我们来初始化。

int a[5] = { 12, 34, 56 ,78 ,9 };

int a[5] = { 0 };

int a[5] = {1,2}; 是怎样赋值的?

int a[] = { 11, 22, 33, 44, 55 };

int a[][4] = {0,0};

int a[3][4];// 第5个元素是谁?行下标范围?列下标范围?

int a[3][4] = {{1,2},{0},{4,5,8.10}}//a[2][3]的值?

2. 向函数传递一维数组。

◆用数组名作参数,就是将数组的首地址传递给函数。

◆实参数组与形参数组占用同一段内存。

◆若在被调函数中改变形参数组元素的值,则实参数组元素的值也会随之发

生改变,这是由于形参和实参两数组在内存中因指向统一地址而共享这

一段内存造成的。

◆对形参数组进行说明时,在方括号内可以给出数组的长度说明,即说明为

固定长度数组,也可以不给出数组的长度说明,即说明为可变长度数组,一般此时用另一个整型参数来给定数组长度。

3. 字符串

◆一串以‘\0’结尾的字符在C语言中被看作字符串。

◆用双引号括起的一串字符是字符串常量,C语言自动为其添加‘\0’终结符。

◆C语言并没有为字符串提供任何专门的表示法,完全使用字符数组(一维

数组)和字符指针来处理。

◆要区分字符和字符串的概念。不要用错了单引号和双引号。

4. 字符数组

◆每个元素都是字符类型的数组。

◆初始化:可以采用逐个字符进行初始化(若没有’\0’,仅仅是字符数组,

不能把它当作字符串来处理);也可以采用字符串常量赋值。

◆一个字符型的一维数组并不一定是一个字符串,只有当字符型一维数组中

的最后一个元为’\0’,它才构成字符串。

◆用字符型数据对数组进行初始化

char str[6] = {'C','h','i','n','a','\0'};

用字符串常量直接对数组初始化

char str[6] = { "China"};

char str[6] = "China";

Char str[] = “china”;

char str[5] = “China”;

char weekday[7][10]={“Sunday”,”Monday”,”tuesday”,”Wednesdat”,

”Thursday”, ”Friday”,”Saturday”};

char weekday[ ][10]={“Sunday”,”Monday”,”tuesday”,”Wednesdat”,

”Thursday”,”Friday”,”Saturday”};

◆字符数组的输入和输出:

按c格式一个字符一个字符地单独输入/输出:%c (需要用到循环结构)按s格式符将字符串作为一个整体输入/输出:%s

char str[10]; scanf(“%s”, str); printf(“%s”, str);

字符数组名本身代表该数组存放的字符串的首地址,故用scanf的%s格式输入字符串时,字符数组名的前面不能再加取地址运算符,其后也不需要用方括号指明下标。输入字符串时应确保输入的字符串长度不超过数组

所能容纳的空间大小。空格、回车或跳格符(Tab)作为按%s格式输入字符串的分隔符,因而不能被读入,输入遇到这些字符时,系统认为字符串输入结束。

◆用字符串处理函数gets()或puts()输入/输出一个字符串。

◆字符串处理函数。

字符串复制strcpy(字符数组1,字符串2);

例如:char str1[3],str2[] = “china”;

str1 = str2; //编译错误,

printf(“%s\n”,str1);

求字符串长度strlen(字符串);

字符串连接strcat(字符数组1,字符串2);

字符长比较strcmp(字符串1,字符串2);

例如:

判断字符串S1是否大于字符串S2:

指针

1.指针:专门用来存放其他变量地址的一种特殊变量。

2.什么是内存地址?什么是变量地址?什么是变量内容?

3. 什么是直接寻址?什么是间接寻址?

4. 指针的定义、初始化。

◆声明为指针类型的变量,专门存放地址数据的变量

◆定义指针变量

例如:int *p p是变量,int * 是类型。

◆指针的指向

5. & 和*的意义

例如:

main()

{

int x =10;

int *px = &x; //* 表示指针&表示取地址

printf(“%d\n”,*px); //*表示取内容

}

6. 指针运算。

◆一般只进行指针和整数的加减运算,同类型指针之间的减法运算

◆关系运算

◆赋值运算

7. 指针变量作为函数的参数

◆属于赋地址调用,将实参指针(地址)传给形参,形参也是一指针。

◆在函数调用时,实参指针将其地址值传给形参指针。

8. 字符指针

◆指向字符类型的指针char *p;

◆字符指针是变量,而数组名是地址常量。

例如:char s[] = “ABCD”, *p;

for (p = s; p < s + 4; p++)

printf(“%s”,p); //ABCDBCDCDD

9. 一维数组的地址和指针的关系。

◆数组名就是一个指针

◆只是不能修改这个指针的指向,可以定义函数的参数为数组。

◆指针也可当作数组名使用

int *p, a[10]; p = a;

double x[10],*p = &x[3],则p[3]表示的数组元素是a[4]

◆指针也可当作数组名使用

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

C语言程序设计课程设计题目

1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式

进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

程序设计基础期末复习汇总.doc

《程序设计基础》期末复习 考试题型和分值。 一、单选题(20小题,每题2分) 二、填空题(共20题,计20分) 三、编程填空题(给出程序的输出结果,共5题,14分) 四、读程序题(补充程序,共2小题,,共26分) 程序练习: 1. 输出1-10之间所有的偶数和它们的平方。 2. 输出所有的水仙花数。 3. 从键盘输入一行字符,统计其中有多少个单词。假设单词之间是以空格分开。 4. 编程先由计算机“想” 一个1?100之间的数请人猜,如果人猜对了,贝U 结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 5. 编写程序,要求在main函数接受一个整型变量,将其作为参数传入IsPrime 函数中,IsPrime函数根据传入的值确定返回值,如果<2,返回0;如果不是素数,返回1; 如果是素数,返回2O主函数根据返回值输出相应的提示信息:输入不合法,不是素数,是素数。 6. 编写程序:给学生出一道加法运算题,然后判断学生输入的答案对错与否。 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示 “Right!,”否则提示重做,显示“ Not correct! Try again!",重复要求输入答案,直到输入结果正确,程序结束。

要求:用Add函数来进行两个整数的加法运算;用Print函数判断输入的答案正确与否;用main 函数输入两个相加的数和学生的答案,然后调用Add函数和Print函数判进行判断和显示输出。 7. 利用指针编写两个整数交换的函数。 8. 从10个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元 素的下标位置。 9. 给定40个数,按照要求进行排序并输出排序的结果。 程序设计ABC 1. 程序运行的方式分为哪两种?(编译运行和解释运行) 2 .什么叫编译器,其功能是什么?(把程序设计语言转换成目标代码的软件称为编译器) 数据类型、运算符与表达式 4.C程序的特点? 函数是C程序的基本单位。一个C程序有且仅有一个main函数(主函数), 总是从main函数开始执行,在main函数中结束,与其位置无关; 函数由函数头和函数体组成 C程序的书写格式:C语句都以分号结束;允许一行多句,但最好一行一 句并按照锯齿形(缩进式)书写,提高可读性和可测试性;适当使用注释 (注释中的语句不参与编译,不能发现其中的拼写错误)。 2. C语言标识符的命名规则,会判断哪些是合法的哪些不合法。

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

程序设计基础课程设计

设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15

1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。

程序设计基础知识点)

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

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

程序设计基础上机考试题库

第三章: 1.输入整数n,输出由2×n+1行2×n+1列组成的以下(n=2)的图案。 2.输入整数n(<10),输出以下形式(n=3)的数字排列图案。 3.编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数。 4.编写一个程序,输出所有英文字符及它们的ASCII码值,其中代码值分别用八进制形式、十六进制形式和十进制形式输出。 5.水仙花数是一个n(n>=3)位数字的数,它等于每个数字的n次幂之和。例如,153是一个水333。试编写一个程序求小于999的所有水仙花数。仙花数,153=1+5 +3 6. 编写程序解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡。问鸡翁、鸡母和鸡雏各几何 7.编写一个程序,输入一个整数,逐位地输出整数的十进制数,要求位与位之间有一个空格符分隔。 8.编写程序,列表输出整数1~10的平方和立方值。 9.编写一个程序,输入3个实数,判断这些值能否作为一个三角形的三条边的长,如果能构成三角形,要求输出三角形的面积。 的图案。4等于n列星号字符组成的三角形图案。以下是n行n,输出n输入正整数10. 11.输入正整数n,输出由n行2×n-1列星号字符组成的三角形图案。以下是n 等于3的图案。

12.输入正整数你n,输出n行2×n-1列的空心三角形图案。以下是n等于4的图案。 13..输入正整数n,输出n行n列的空心四边形图案。以下是n等于5的图案。 14.编写程序,按下面的公式计算自然对数底e的值。 E=1+1/1!+1/2!+1/3!+1/5!+··· 15.编写程序,按如下公式计算圆周率π的近似值。 π=4-4/3+4/5-4/7+4/9-4/11+··· 16.编写输入正实数x,求平方不超过x的最大整数n,并输出。 回文整数是指正读和反读相同的整数,编写一个程序,输入一个整数,判断它是否是回文17. 整数。 17.编写一个程序,输出1~256十进制数等价的二进制、八进制和十六进制数值表。 18.草地上有一堆野果,有一只猴子每天去吃掉这堆野果的一半又一个,5天后刚好吃完这堆野果。求这堆野果原来共有多少个猴子每天吃多少个野果 19.输入n(>2)个整数,输出其中的次最小的数。 第四章 1.在数组的某个下标位置插入一个元素。 2.将数组的某个下标位置的元素从数组中删掉。 3.在数组a[]的前n个元素中寻找值等于变量key值的元素的下标。 4.输入n个整数,用冒泡法将它们从小到大排序,然后输出。 5.用C代码描述以下计算要求: (1)输出一组数组中下标是4的倍数的元素。

《程序设计基础》试卷(A卷)

《程序设计基础》试卷(A 卷) 注意:1、考试时间: 90 分钟; 2、班级、姓名、学号必须写在指定地方; 3、适用班级: 4、考试方式: 一、填空题 (每空 2 分,共 20 分) 1、C 程序是由函数构成的,其中有且只能有 1 个主函数,每个C 程序总是从它开始执行,并且以 ; 作为结束符。 2、C 语言中三大基本结构有:顺序结构、 选择结构 、 循环结构 。 3、‘A ’+3的结果是 68 。 4、若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是 2.5 。 5、C 语言中逻辑运算符 ! 的优先级高于算术运算符。 6、符号“a”和‘a’的区别是 “a ”2字节 ‘a ’1字节 。 7、C 语言的预处理语句以____#_____开头。 8、有如下输入语句:scanf(“a=%d,b=%d ,c=%d”,&a ,&b ,&c );为使变量a 的值为1,b 的值为3,c 的值为2,从键盘输入数据的正确形式应是 a=1,b=3,c=2 。 二、选择题 (每小题 3 分,共 30 分) 1、下列叙述中错误的是( D )。 A 、 if 语句允许用户选择是否执行某个操作。 B 、 if else 语句允许用户选择执行两个操作中的某个操作。 C 、 switch 语句允许用户选择执行多个操作中的某个操作 D 、 多分支选择结构只能使用switch 语句实现 2、以下不正确的C 语言标识符是( D ) A 、ABC B 、abc C 、a_bc D 、ab.c 3、按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( B )。 A 、大写字母 B 、连接符 C 、数字字符 D 、下划线 4、将int 型变量n 转换成float 型变量的方法是( B )。 A 、float n B 、(float)n C 、float(n) D 、(int )n 5、( A )是构成C 语言的基本单位。 A 、函数 B 、子函数 C 、过程 D 、子过程 6、下面关于运算符优先顺序的描述中正确的是( B )。 A 、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B 、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符 C 、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D 、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 7、在C 语言中,要求参加运算的数必须是整数的运算符是( C )。 A 、/ B 、! C 、% D 、= = 8、char 型常量在内存中存放的是( B )。 A 、ASCII 代码值 B 、BCD 代码值 C 、内码值 D 、十进制代码值 9、以下程序的输出结果是( B ) Main() { Int x=10,y=4; Printf(“%d\n ”,x/y);

程序设计基础课程设计报告 内容样例

第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账

号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。

第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、

程序设计基础课程设计

1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。

2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。

程序设计基础复习要点

程序设计基础复习要点 第一节程序设计基本概念: 1、程序和软件: 程序是用计算机语言表示的一系列有序指令的集合,用来完成指定的任务。 软件是计算机程序、方法和规则、相关的文档资料以及在计算机上运行它所必需的数据的总称。 注意:程序和软件是两个不同的概念。 2、程序设计的含义: 程序设计实际上是安排计算机按人们的意志去工作,程序设计往往是一个过程,这个过程主要包括:描述问题、设计算法、编写程序、调试程序。 3、程序设计语言: 程序设计语言是人与计算机交流和沟通的工具,是用来编写计算机程序的工具。又称计算机语言。 程序设计语言的发展过程: 程序设计语言的演变经历了由低级向高级发展的过程。对程序设计语言的分类可以从不同的角度进行。其中,最常见的分类方法是根据程序设计语言与计算机硬件的联系程度将其分为三类:机器语言、汇编语言和高级语言。 ●机器语言:是由机器指令的集合构成;机器指令是计算机所能理解和执行的以“0” 和“1”组成的二进制编码表示的命令。优点是计算机能够直接识别、执行效率高,其缺点是难记忆、难书写、编程困难、可读性差且容易出现编写错误。 ●汇编语言:是采用了助记符与符号地址来表示计算机指令的语言。计算机不能直接 执行汇编语言程序,必须经过翻译程序将汇编语言编写的程序翻译成机器指令后才 能在计算机上执行。 ●高级语言:就是更接近自然语言、数学语言的程序设计语言,与计算机硬件关系较 小的语言。优点是符合人类叙述问题的习惯,而且简单易学。缺点是不能被计算机 直接识别。 4、语言处理程序: 在计算机语言中,用除机器语言之外的其他语言书写的程序都必须经过翻译或解释,变成机器指令,才能在计算机上执行。因此,计算机上能提供的各种语言,必须配备相应语言的“编译程序”,或“解释程序”。将所有这些“编译程序”,或“解释程序”统称为语言处理程序。 通过“编译程序”或“解释程序”使人们编写的程序能够最终得到执行的工作方式分别称为程序的编译方式和解释方式。 ●汇编程序指将汇编语言编写好的源程序,全部翻译成机器指令集合的程序。 ●解释程序指将高级语言编写好的源程序逐条解释,翻译成机器指令并执行的程序。 ●编译程序指将高级语言编写好的源程序,全部翻译成机器指令集合的程序。

程序设计基础期末考试题A卷

《程序设计基础》试题 程序设计基础期末考试题A 卷 一、 选择题(1*20=20分) 题号 1 2 3 4 5 6 7 8 9 10 总分 答案 题号 11 12 13 14 15 16 17 18 19 20 答案 1、一个完整的计算机系统应该包括( ) A 、系统软件和应用软件 B 、计算机及其外部设备 C 、硬件系统和软件系统 D 、系统硬件和系统软件 2、“裸机”的概念是指( ) A 、正在进行设计还没有组装好的计算机 B 、已经组装好但还没有安装任何软件的计算机 C 、仅安装了操作系统的计算机系统 D 、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是( ) A 、1936年 B 、1946年 C 、1956年 D 、1970年 4、CASE 的含义是( ) A 、计算机辅助设计 B 、计算机辅助制造 C 、计算机辅助教学 D 、计算机辅助软件工程 5、当前广泛使用的微型计算机是( ) A 、第一代 B 、第二代 C 、第三代 D 、第四代 6、当代计算机的体系结构称为是( ) A 、冯·诺依曼机 B 、非冯·诺依曼机 C 、图灵机 D 、比尔盖茨机 7、硬盘是( ) A 、输入设备 B 、输出设备 C 、存储设备 D 、计算设备 8、下面4句话中,最准确的表述是( ) A 、程序=算法+数据结构 B 、程序是使用编程语言实现算法 C 、程序的开发方法决定算法设计 D 、算法是程序设计中最关键的因素 9、计算机能直接执行的语言是( ) A 、机器语言 B 、汇编语言 C 、高级语言 D 、目标语言 10、解释程序的功能是( ) A 、将高级语言程序转换为目标程序 B 、将汇编语言程序转换为目标程序 C 、解释执行高级语言程序 D 、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是( ) A 、JAVA B 、Object Pascal C 、Delphi D 、C 12、不是C 语言的基本数据类型是( ) A 、int B 、double C 、char D 、bool 13、在C 语言中,为了求两个整数相除之后得到的余数,可以使用运算符( ) A 、/ B 、% C 、* D 、++ 14、数据的逻辑结构分为( ) A 、纯属结构和非线性结构 B 、顺序结构和非顺序结构 C 、树型结构和图型结构 D 、链式结构和顺序结构 班级 姓名

《测量程序设计课程设计》指导书-2015

测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。

职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份

简答程序设计基础期末复习题

简答程序设计基础期末复习题 一、名词解释:CAD,CAM,CAI,CPU,CASE。 2、CAD:计算机辅助设计(Computer Aided Design) 3、CAM:计算机辅助制造(Computer Aided Manufacturing) 4、CAI:计算机辅助教学(Computer Aided Instruction) 5、CPU:中央处理器 6、CASE:计算机辅助软件工程 二、简述计算机硬件与软件的关系。 计算机硬件与软件的关系主要体现在以下三个方面: (1)互相依存。计算机硬件与软件的产生与发展本身就是相辅相成、互相促进的,二者密不可分。硬件是软件的基础和依托,软件是发挥硬件功能的关键,是计算机的灵魂。在实际应用中更是缺一不可,硬件与软件,缺少哪一部分,计算机都是无法使用的。 (2)无严格界面。虽然计算机的硬件与软件各有分工,但是在很多情况下软硬件之间的界面是浮动的。计算机某些功能既可由硬件实现,也可以由软件实现。随着计算机技术的发展,一些过去只能用软件实现的功能,现在可以用硬件来实现,而且速度和可靠性都大为提高。 (3)相互促进。无论从实际应用还是从计算机技术的发展看,计算机的硬件与软件之间都是相互依赖、相互影响、相互促进的。硬件技术的发展会对软件提出新的要求,促进软件的发展;反之,软件的发展又对硬件提出新的课题。

三、简述计算机程序设计语言的分类和各类的特点。 一般分为三类:机器语言(也称机器指令集),汇编语言和高级语言。 机器语言是每台计算机出厂时,厂家都为它配备一套机器语言,不同的计算机,其 机器语言通常是不同的。由于机器语言是面向具体机器的,所以其程序缺乏通用 性,编写程序的过程繁琐复杂,易出错,错了又不易查找和修改,编出的程序可读 性极差。 汇编语言是机器语言的符号化形式。用汇编语言编写的程序(又称源程序)经汇编器加工处理后,就转换成可由计算机直接执行的目标程序。汇编语言提高了程序设计 效率和计算机利用率。汇编语言仍属面向机器的一种低级语言,其程序的通用性和 可读性较差。 高级程序设计语言是指通用性好,不必对计算机的指令系统有深入的了解就可以编 写程序。采用高级语言编写的程序在不同型号的计算机上只需做某些微小的改动便 可运行,只要采用这些计算机上的编译程序重新编译即可。高级语言具有通用性, 与具体的机器无关。 四、冯·诺伊曼原理的主要思想是什么? "冯·诺伊曼原理"的主要思想就是"存储程序控制"原理。"存储程序控制"原理的基本内容是: l用二进制形式表示数据和指令; l将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高 速地从存储器中取出指令,并加以执行,这是"存储程序控制"的基本特点; l确立了计算机系统的5大基本部件:存储器、控制器、运算器、输入设备和输出 设备,同时也规定了5大部件的基本功能。 冯·诺依曼型计算机的两大特征是"程序存储"和"采用二进制"。 冯·诺伊曼思想实际上是电子计算机设计的基本思想,奠定了现代电子计算机的基 本结构,开创了程序设计的时代。 五、何谓算法?算法有什么性质? 算法就是为解决一个特定问题而采取的特定的有限的步骤。一个完整的计算机算法 必须满足下述5个准则或标准:有穷性,确定性,可行性,输入性,输出性。

C++面向对象程序设计课程设计报告

. 课程设计 课程名称C++面向对象程序设计题目名称公司人员管理系统 专业班级13级计算机科学与技术一班学生林涛、甑德胜、梁增辉 吴志伟、齐、江靖 学号51302011015、51302011016、51302011001 51302011037、51302011006、51302011009指导教师郭有强 二○一四年六月二十日

目录 一、引言 (2) 二、课程设计报告 (4) 1、问题描述 (4) 2、系统总体方案 (4) 3、设计思路和主要步骤 (5) 4、各功能模块和流程图 (5) (1)各功能模块 (5) (2)流程图 (6) 三、系统测试 (9) 四、心得体会 (15) 五、参考文献 (17) 附:程序设计代码 (18)

一、引言 1985年,管理信息系统的创始人,高登?戴维斯给出的管理信息系统的定义是:“它是一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据库的用户一机器系统。它能提供信息,支持企业或组织的运行、管理和决策。”这个定义说明了管理信息系统的组成要素:计算机硬件、软件、数据库、模型库和用户。 随着我国社会的不断进步,人们对管理信息系统越来越重视,再加之管理信息系统在管理方面所产生的巨大影响,也使得人们越来越关注管理信息系统的发展趋势。由于管理信息系统的发展受到以上各种变革因素的制约,传统的管理信息系统必然向现代管理信息系统发展,在这个发展过程中,管理信息系统的发展将会呈现出以下趋势: 管理信息系统将会越来越注重以人为本。管理科学的发展有科学管理理论、行为管理理论和现代管理理论三个发展阶段,正在向着越来越人性化的方向发展,即以人为本。基于管理学的这一研究视角,管理信息系统也将向着更加人性化的方向发展。在今后的管理信息系统中将会越来越注重人的因素,以人为出发点和中心,围绕着激发和调动人的主动性、积极性、创造性展开的,以实现人与社会共同发展的一系列管理活动。而且这种人性化还会贯穿于管理信息系统的开发设计与研究中,具体表现为今后的管理信息系统将具有更加友好的人机界面,易于人们操作,也会考虑到不同用户的不同需求,更加个性化。 管理信息系统向智能化方向发展。随着人工智能技术的发展,数据仓库、数据挖掘技术在管理信息系统中的应用,管理信息系统必将向着智能化方向发展,如产生了很多的决策支持系统、专家系统等等。智能化的管理信息系统具有思维模拟活动,它具有很高的自学习、自组织和进化性,并具有知识创新功能,可以解决非结构化事务,在决策中处于主导地位,是人的向导,在体系上将是大规模分布式计算模式,以基于网络神经元构件的智能网为主。 管理信息系统向集成化方向发展。随着当前系统集成技术的提高,集成技术和方法也逐步地运用到管理信息系统中。由于管理信息系统将包含多个子系统,因此将这些功能集合在一起以便更好地发挥它的作用,这就是集成化的管理信息系统。集成化的管理信息系统将管理信息系统的各个子系统有机地结合起来,达到互通信息、共享数据资源的目的,其支撑技术是数据库和计算机网络。集成管

最新C语言程序设计基础知识期末复习

C语言程序设计基础知识期末复习 一、C语言与算法 1.程序:一组计算机能识别和执行的指令。 2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的控制语句。 3.C语言程序的结构特点: (1).一个程序由一个或多个源程序文件组成:一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义 (2).函数是C程序的主要组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。 (3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作) (4). 程序总是从main函数开始执行 (5). C程序对计算机的操作由C语句完成 (6.)数据声明和语句最后必须有分号 (7.)C语言本身不提供输入输出语句 (8.)程序应当包含注释,增加可读性 4、算法(1)算法+ 数据结构= 程序 (2)顺序结构、选择结构、循环结构是表示一个良好算法的基本结构 (3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。 流程线不要忘记画箭头,否则难以判定各框的执行次序。 算法流程图的结构特点:只有一个入口;只有一个出口(一个判断框有两个出口;一个选择结构只有一个出口)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。 二、顺序结构设计 5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。C语言对标识符的规定: (1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 (2)长度:在TC中最多允许32个字符,建议不要超过8个 如果系统规定标识符长度为8,那么x1234567A和x1234567B会被视为同一标识符。 (3)在C语言中,标识符大小写敏感。如ABC、aBC、abc分别代表3种不同的标识符(4)标识符不能与C语言的保留字、系统标准库函数同名。 program to_ _to file_2 ab1_c3 为合法标识符 非法字符举例:yes? (含有不合法字符“?”)123(第一个字符不能为数字)go to(标识符中不允许有空格) a_80%(出现非法字符“%”)if与关键字相同) 6、常量与变量 注意:以下变量定义形式是错误的int a,int b; int a;b; (1)整型常量 ·十进制整型:能出现数字0~9,可带正负号如:0,11,95,-2

相关文档
最新文档