文档视界 最新最全的文档下载
当前位置:文档视界 › 程序设计基础期末复习

程序设计基础期末复习

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

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

考试题型和分值。

一、单选题(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]

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

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

《程序设计基础》试卷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 实现提示:

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

《程序设计基础》考试试卷二 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) 按学号查询,输入一个学号,输出对应的学生信息。

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

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

《程序设计基础》试卷(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.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

程序设计基础课程设计

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、一个完整的计算机系统应该包括() 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、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面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一份

(完整版)程序设计基础试题_10_答案

广州大学学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查) 学院系专业班级学号姓名 一、填空题(每空1分,共10分) 1.C源程序的基本单位是(函数)。 2.一个C源程序中至少应包含一个(main()函数)。 3.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为(10 ),b的值为( 6 )。 4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,b值为( 4 ),c 值为( 2 )。 5.表达式8.2-2/3 的计算结果是(8 )。 6.在C语言中,整数可用三种数制表示,它们分别是(十进制)、(八进制)和(十六进制)。 二、程序计算题(每小题5分,共15分) 1. # define f(a) printf(“%d”,a) main() { int i,b[]={1,2,3,5,7,9,11,13,15},*p=5+b; for(i=3;i;i--) switch(i) { case 1: case 2: f(*p++); break;

case 3: f(*(--p)); } } 2. main() { int arr_sum(int arr[],int n); int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p,total; int (*pt)( int arr[],int n); pt=arr_sum; p=a[0]; total=(*pt)(p,12); printf(“total=%d\n”,total); } arr_sum(int arr[],int n) { int i,sum=0; for(i=0;i

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语言规定,任何非0的数像1 -1等都被认为是真,而0被认为是假 1>1为假 试题一、单选题 1. 已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】 A.-1 B.0 C.1 D.-2 2. 已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】 A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m 3. 当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度: 正确答案:B】 A.m=k=n B.(m=k)&&(n=m) C.(m=k)||(n=k)D.(n=m)&&(m=k) 4. 已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】 A.0 B.1 C.5 D.表达式语法错 表达式6>x>1 ,先 判断6>x 为0,再 判断0>1,所以值 为0。 (6>x 为1 ,再判 断1>1,所以值为 0。) 5. 下列程序段执行后c值为_____。【知识点:难度:正确答案:D】 int k=7, c=0; while(--k) if (k%3) continue; else c++; A.5 B.4 C.3 D.2 6. 已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=…a?+…D?-…A?;后,ch 中的值为_____。【知识点:难度:正确答案:C】 A.d B.c C.100 D.不确定 7. 设m,n已正确定义,执行语句{for(m=0, n=10; m,能使puts(s)语句正确输出ABCDE字符串的程序 段是______。【知识点:难度:正确答案:C】 A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {…A?,?B?,?C?,?D?,?E?}; puts(s); C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s); 《C程序设计基础及实验》

《程序设计基础》题库(50道)

《程序设计基础》题库(50道) <说明> 1、难易程度依次为:易(16道)、较易(38道)、较难(31道)、难(15道)。 2、总共抽8道题,按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道); 按题型:顺序(1道)、分支(2道)、单循环(2道)、多循环(1道)、数组(1道)、字符串(1道) 3、考试要求:先画流程图再写程序,理论考试,2个半小时 一、顺序结构 1、 请定义4个整型变量,并打印输出这4个变量的加、减、乘、除后的结果。(易) 2、 将华氏温度转化成摄氏温度。公式为:C=(5/9)*(F-32),其中F 为华氏温度,C 为 摄氏温度。请根据给定的华氏温度输出对应的摄氏温度。(易) 3、 根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.其中,c 代表 蟋蟀每分钟鸣叫数,T 代表华氏温度。请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。(易) 4、 编写程序,读入0~1000的一个整数并将其各位数字之和赋给一个整数,如整数932, 各位数字之和为14. (较易) 5、 编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后 x = 9,y = 6。(较易) 6、 求空间两点之间的距离。(提示:空间一点(x,y,z ),可由三个实数来描述)(较易) 7、 已知圆的半径,求圆的面积。(易) 8、 已知一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。(较难) 海伦公式: 9、 求两数平方和的算术根。(易) 10、 给定一段时间求出它的秒数。(如计算2小时 17分30秒等于多少秒)(易) 11、 某印刷厂3月1日有A4纸500盒,3月2日又买进进100盒,3月3日用掉A4 纸存量的三分之二,3月4日又买进A4纸存量的2倍,问该印刷厂3月1日到3月4日期间每天的A4纸存量分别是多少盒?(易) 12、 三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。现在他们 三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?(较易) 二、分支结构 13、 两个整数比较大小,输出较大值。(易) 14、 三个整数比较大小,输出最大值。(较易) 15、 求下列函数中y 的值。(较易) y=10 (x=0) y=3x+5 (x>0) y=x-2 (x<0) 16、 判断某年是否为闰年。(闰年的条件是:该年的年号能被4整除且不能被100整除, 或该年的年号能被400整除,则该年是闰年,否则不是闰年。)(较易) 17、 根据某同学的成绩,判定其成绩的等级。(90~100分为“优秀”,80~89为“良好”, 70~79为“中等”,60~69为“及格”,60分以下为“不及格”。)(较易) ))()((c p b p a p p S ---=2 c b a p ++=

相关文档
相关文档 最新文档