搜档网
当前位置:搜档网 › C++程序设计学校教师管理系统

C++程序设计学校教师管理系统

C++程序设计学校教师管理系统
C++程序设计学校教师管理系统

报告编号:第5 组综合课程设计报告

学校教师管理系统

2013年12 月24 日

目录

1、课程设计目的和要求 (3)

1.1 设计目的 (3)

1.2 设计要求 (3)

1.3 课程设计任务内容 (4)

2、详细设计说明 (5)

2.1初始界面如下 (5)

3、程序设计流程图 (5)

4、程序源代码 (7)

4.1测试数据 (7)

4.2各模块运行界面 (8)

5、课程设计中遇到的问题和体会 (17)

5.1 课程设计中遇到的问题 (17)

5.2课程设计中的体会 (17)

6、致谢 (18)

7、参考文献 (18)

[摘要]通过主菜单main函数将增加教师信息,删除教师信息、显示教师信息、查找教师信息、统计教师人数、退出系统等函数结合在一起,在通过相关操作选择其中一个功能时,调用该功能函数,来完成所需的数据处理。采用类,对象数组,等相关类的应用来完成设计。在程序中主要定义了teacher类,使用了teacher1文件,等等,另外还有相关调用子函数。

关键词:学校教师管理系统;类;文件;对象数组;

1、课程设计目的和要求

1.1 设计目的

通过这次专题实习,巩固和加深对所学相关知识点的理解,进一步熟悉基本类的使用方法。基本数据类型、对象数组、自定义类、函数的应用加强对模块化程序设计和面向对象程序设计的理解。掌握C\C++语言程序设计的基本思想,了解简单的系统分析和设计方法。

1.2 设计要求

实现简易的提示菜单界面,刚运行时应显示菜单信息。用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。要求把所有录入的数据以文件的形式,保存在硬盘上,系统包含以下基本功能:开始、显示主菜单功能、增加教师信息,删除教师信息、显示教师信息、查找教师信息、统计教师人数、退出系统等。

1.3 课程设计任务内容

1.3.1增加教师信息

用户输入要添加的教师信息。教师信息包括编号、姓名、在校职位、年龄、出生日期、住址、电话号码、电子邮件地址等。输入数据时,须验证数据的输入格式正确,保证教师编号的唯一性。

1.3.2删除教师信息

输入教师编号,查找到对应的教师信息并删除,若教师编号不存在,则输出“输入有误!”。

1.3.2显示教师信息

显示文件中所有教师信息。

1.3.3查找教师信息

可分为按(1.教师编号;2.教师姓名)查找,选择1则需要输入教师编号,选择2则需要输入教师姓名。

1.3.4统计教师人数

可统计文件中保存的教师的总人数。

1.3.5 退出

结束程序运行。

2、详细设计说明

2.1初始界面如下:

之后按界面提示操作按1,2,3,4,5,6可进入相应界面进行增加教师信息,删除教师信息、显示教师信息、查找教师信息、统计教师人数、退出系统等项目对教师信息进行一系列的操作,并借用一系列的文件的读写和程序语句构建出最后的大程序来实现对教师信息的管理。

3、程序设计流程图

4程序源代码

#include

#include

using namespace std;

#include

class teacher

{public:

int num;//编号

char name[20];//姓名

int age;//年龄

char birthday[20];//出生日期

char addr[20];//住址

int phone;//电话号码

char eaddr[20];//电子邮件地址

char call[20];//在校职位

void set();

void display();

void del();

void zhao();

void renshu();

}tea[100];

int length()

{

ifstream infile("teacher1.dat",ios::binary);

if(! infile)

{

cerr<<"open error!"<

abort();

}

int len;

infile.seekg(0,ios::end);

len=infile.tellg()/sizeof(teacher);

return len;

}

void teacher::set()

{

int n,i,j;

int l=0;

ofstream outfile("teacher1.dat",ios::app|ios::binary);

if(! outfile)

{

cerr<<"open error!"<

abort();

}

l=length();cout<

if(l>0)

{

ifstream infile("teacher1.dat",ios::in|ios::binary);

if(! infile)

{

cerr<<"open error!"<

abort();

}

for( i=0;i

infile.read((char *)&tea[i],sizeof(tea[i]));

}

n=0;

cout<<"请输入要录入的教师人数(<=100):"<

cin>>n;

cout<<"请输入1个教师的信息:"<

cout<

for(i=l;i

{

cout<<"输入教师编号:";

cin>>tea[i].num;

if(i>0)

{ int h=i;

for(j=0;j

{

if(tea[h].num==tea[j].num)

{

cout<<"教师号重复,请重新输入!"<

}

else {j++;continue;}

cout<<"输入教师编号:";

cin>>tea[h].num;

j=0;

}

}

cout<<"输入教师姓名:";

cin>>tea[i].name;

cout<<"输入教师职位:";

cin>>tea[i].call;

cout<<"输入教师年龄:";

cin>>tea[i].age;

cout<<"输入教师出生日期:";

cin>>tea[i].birthday;

cout<<"输入教师电话号码:";

cin>>tea[i].phone;

cout<<"输入教师住址:";

cin>>tea[i].addr;

cout<<"输入教师电子邮件地址:";

cin>>tea[i].eaddr;

//cout<

i++;

if(i

cout<<"请输入"<

}

for(j=l;j

outfile.write((char *)&tea[j],sizeof(tea[j]));

outfile.close();

cout<<"数据已保存!\n";

}

void teacher::display()

{

int i,l;

l=length();

cout<<" 编号姓名职位年龄出生日期电话号码住址电子邮件地址"<

ifstream infile("teacher1.dat",ios::in|ios::binary);

if(! infile)

{

cerr<<"open error!"<

abort();

}

for( i=0;i

{

infile.read((char *)&tea[i],sizeof(tea[i]));

cout<<" "<

<<" "<

}

infile.close();

}

void teacher::del()

{

int i,a=0,j,l;

l=length();

ifstream infile("teacher1.dat",ios::in|ios::binary);

if(! infile)

{

cerr<<"open error!"<

abort();

}

for( i=0;i

{

infile.read((char *)&tea[i],sizeof(tea[i]));

}

int num;

cout<<"请输入要删除的编号:";

cin>>num;

cout<

for(i=0;i

{

if(tea[i].num==num)

{

a=1;

for(j=i;j

tea[j]=tea[j+1];

break;

}

}

if(a==0)

{

cout<<"输入有误!"<

cout<<" 编号姓名职位年龄出生日期电话号码住址电子邮件地址"<

for( i=0;i

{

infile.read((char *)&tea[i],sizeof(tea[i]));

cout<<" "<

<<" "<

}

}

else

if(a==1)

{

cout<<"删除成功! "<

cout<<" 编号姓名职位年龄出生日期电话号码住址电子邮件地址"<

for( i=0;i

{

infile.read((char *)&tea[i],sizeof(tea[i]));

cout<<" "<

<<" "<

}

ofstream outfile("teacher1.dat",ios::out|ios::binary);

if(! outfile)

{

cerr<<"open error!"<

abort();

}

for(j=0;j

outfile.write((char *)&tea[j],sizeof(tea[j]));

outfile.close();

}

}void teacher::zhao()

{

int i,l,m=0;

int n;

l=length();cout<

ifstream infile("teacher1.dat",ios::in|ios::binary);

if(! infile)

{

cerr<<"open error!"<

abort();

}

for( i=0;i

{

infile.read((char *)&tea[i],sizeof(tea[i]));

}

cout<<"请选择按(1.教师编号;2.教师姓名)查找\n";

for(;;)

{

int x;

cin>>x;

if(x==1)

{

cout<<"请输入要查找的编号:";

cin>>n;

cout<

for(i=0;i

{

if(n==tea[i].num)

{

cout<<" 编号姓名职位年龄出生日期电话号码住址电子邮件地址"<

cout<<" "<

<<" "<

m=1;

break;

}

}break;

if(m==0)

cout<<"未找到!"<

}

if(x==2)

{

cout<<"请输入要查找的姓名:";

char y[10];

cin>>y;

cout<

for(i=0;i

{

if(strcmp(y,tea[i].name)==0)

{

cout<<" 编号姓名职位年龄出生日期电话号码住址电子邮件地址"<

cout<<" "<

<<" "<

m=1;

break;

}

} break;

if(m==0)

cout<<"未找到!"<

}

if(x!=1||x!=2)

{

cout<<"输入错误!请重新输入!\n";

continue;

}

}

}

void teacher::renshu()

{

int l=length();

cout<<"统计教师人数:"<

}

int main()

{

teacher a;

int select=0;

while(1)

{

cout<<"********************************************"<

cout<<"* 欢迎使用教师信息管理系统*"<

cout<<"* 1.增加教师信息*"<

cout<<"* 2.删除教师信息*"<

cout<<"* 3.显示教师信息*"<

cout<<"* 4.查找教师信息*"<

cout<<"* 5.统计教师人数*"<

cout<<"* 6.退出系统*"<

cout<<"********************************************"<

cout<<("请输入您的选择(1-6) : [ ]\b\b");

cin>>select;

switch(select)

{

case 1:

a.set();

break;

case 2:

a.del();

break;

case 3:

a.display();

break;

case 4:

a.zhao();

break;

case 5:

a.renshu();

break;

case 6:

exit(0);

break;

default:

cout<<"输入错误!"<

}

}

return 0;

}

4.1测试数据

输入111 zx zxcv 22 93.03.06 15755356 mnbv zxqwertyuio 输入222 qw zxcv 23 92.03.16 18356987 mnvb zxcvbnmlkjh 输入333 ee zxcv 24 91.02.14 15755284 nmjk qwertyuiopa 输入444 rr zxcv 25 90.06.15 15755388 bjhg asdfghjklmn

4.2 各模块运行界面如下1.增加功能的调试

2.删除功能的调试

3.显示功能的调试

4. 查找功能的调试4.1按教师编号查找

4.2按教师姓名查找

5.统计功能的调试

6.退出系统

5、课程设计中遇到的问题和体会

5.1 课程设计中遇到的问题

课程设计中我遇到了很多的问题,刚刚开始的时候问题特别多。对菜单函数了解的还是不够深入,看起来简单的句子往往也会出错,有时忘了定义变量或者少了花括号等,在进行文件读写时总会报错:显示用得不对。怎样来保存数据所用的函数不是了解的很清楚,设计程序有时问题简单清晰,但总在语句上出错,我只好对着书本一个一个检查我做的语句,了解它的用法,慢慢地各种语句的运用就不再出错了。但是后来越来越复杂,再通过不断的修改实验,最终得到了正确的结果。

5.2课程设计中的体会

通过这次为期一周的课程设计,正确的写出了一个程序需要平时不断地努力,不断地实践,从实践中了解经常犯的错误。我们不能只着手于书本上的理论知识,还应该不断试验,有些东西是书本上没有的,只能通过时间学习到,但同时我们也不能离开书本上的理论,理论可以使我们更加了解他的工作原理。更加准确的把握各种算法和语言。有了理论基础,我们在实践上也就更容易上收。所以我们应该理论联系实践,学好C++语言,提高编程能力。

6、致谢

一星期前我的C++语言编程能力几乎一点也没有,但是经过一星期的学习,通过与我同组人员的合作,终于完成了课程设计的任务,首先要感谢的是我们的腾莉老师,是她让我们从一窍不通到有点了解,让我们掌握了在面对复杂程序时该怎样做,怎样解决复杂的编程问题,化繁为简,是我们的能力得到极大的提高,使得我们完成了这次为期一周的课程设计课,并圆满完成任务,我们也愉快的度过了这一周的课程设计课,她为我们以后的毕业设计积累了经验。

7、参考文献

[1]谭浩强.C++面向对象程序设计.北京:清华大学出版社,2006.1

[2]许勇,李杰.C语言程序设计.重庆:重庆大学出版社.2011.

安徽师范大学皖江学院

《程序设计基础》试卷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<

高级语言程序设计(VB)随堂练习答案DOC

高级语言程序设计(VB)随堂练习答案 第1章概述·1.1程序设计语言 当前页有1题,你已做1题,已提交1题,其中答对1题。 1. https://www.sodocs.net/doc/004380552.html,是一种( )程序设计语言。 A. 面向事件 B. 面向属性 C. 面向对象 D. 面向过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 第1章概述·1.2程序设计 当前页有2题,你已做2题,已提交2题,其中答对2题。 1.把源程序代码翻译为目标程序代码可以使用的翻译方式为( )。 A. 嵌入方式 B. 运行方式 C. 连接方式 D. 解释方式或编译方式 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.编译程序时出现的错误称为( ) 错误。 A. 语法或编译 B. 运行 C. 逻辑 D. 计算 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 第1章概述·1.3建立简单控制台应用程序 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.存储数据不属于数据处理功能。

答题:对. 错. (已提交) 参考答案:× 问题解析: 2.控制台应用程序至少有一个Main过程。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 3.上机时,程序编译和连接成功后,系统自动生成以.exe为扩展名的可执行文件。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 第2章基本数据类型与表达式·2.1基本字符集和词汇集 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.下面选项中()是算术运算符。 A. % B. & C. Mod D. And 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.下面不合法的标识符是()。 A. Go_To B. Integer C. 姓名 D. Int1 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 答题:对. 错. (已提交) 参考答案:× 问题解析: 第2章基本数据类型与表达式·2.2 基本数据类型

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

《程序设计基础》考试试卷二 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;

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

高级语言程序设计实验C

高级语言程序设计实验 C Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

陕西理工大学 《高级语言程序设计(C)》 实验报告 院系: 班级: 学号: 姓名:

目录

实验一:C开发环境与顺序结构程序设计 1.实验目的: (1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。 (2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。 (3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。 2.实验环境: (1) 硬件环境 CPU: Inter Pentium(R)4 CPU 以上 内存:2GByte (2) 软件环境 操作系统:Microsoft Windows 7 编译系统:Microsoft Visual C++ 3.实验步骤: 按如图所示流程进行实验内容的 调试。 (1) 在XP操作系统中,启动VC++ 编译环境; (2) 在VC++编译界面输入C源程 序; (3) 选择编译、组建、执行命令 进行编译、链接和运行,并记录 实验数据; (4) 按以上方法依次输入其他源 程序并调试、运行和记录实验数 据。

4.实验内容: 输入并运行下列程序,查看程序运行的结果。 #include<> void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 查看程序运行的结果 #include<> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 找出下列程序中的错误,改正后写出程序运行结果. #include<> void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

《程序设计基础》试卷(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);

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

高级语言程序设计C

高级语言程序设计(C)模拟题四 一、选择题(本题共20道小题,每题2分,共40分。) 1.以下有4组用户标识符,其中合法的一组是()。 A) For -sub Case B) 4d DO Size C) f2_G3 IF abc D) WORD void define 答案:C 解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同。 2. 若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i<3; i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2) 答案:C 解析:A. pp[0]表示p[0]的地址,而pp[0]也为一个指针,它和pp用法相同,故pp[0][1]则表示a[1]的地址,正确。 B.正确。 C.数组p的最大下标为2,错误。 D. *(*(p+2)+2)表示a[10],正确。 3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A) a<>0 B) !a C) a=0 D) a 答案:D 解析:对if(a)而言,如果a的值不为0,则if语句括号中表达式的值不为0,if为真,选D。 4. 若已定义: int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] 答案:D 解析: A. a[p-a]表示a[0],正确。 B. *(&a[i])表示a[i],正确。 C. p[i]表示&a[i],正确。 D. a数组最大下标为9,错误。

程序设计基础期末考试题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 、链式结构和顺序结构 班级 姓名

高级语言程序设计答案

《高级语言程序设计答案 一、选择题(每题2分,共30分,请将答案写在后面的答题栏...上) 1-5 BDBBB 6-10 BBDCC 11-15 CDBAB 二、填空题(1-3题每空1分,4-8题每空2分,共20分) 1、对象,事件驱动 2、frm ,vbp 3、函数 过程 4、31 5、9 6、countn<5 n mod 3=1 and n mod 5=1 and n mod 7=1 8、7 7、*n s+1/f 三、综合题(每题5分,共25分) 1、 (2*y)/(a*x+b*y)(a*x-c*z) 2、(x+sqr(x^2+1))^(1/3) 3、30 60 4、7 5、1)建立界面。先建立窗体,再利用控件在窗体上创建各种对象。 2)设置属性。设置窗体或控件等对象的属性。 3)编写代码。编写对象的事件代码。 四、程序设计题(8+8+9,共25分) 1:x 的值由文本框输入,计算分段函数的值:y=???????≥<≤<≤<2 ,321,210,10,0x x x x 。 private sub command1_click( ) Dim x% x=text1.text if x>=2 then y=3 elseif x>=1 then y=2 elseif x>=0 then y=1 2:统计100以内被3整除的数比被5整除的数多多少。 Private Sub Command1_Click() Dim i%, s1%, s2% For i = 1 To 100 If i Mod 3 = 0 Then s1 = s1 + 1 If i Mod 5 = 0 Then s2 = s2 + 1 Next i

华南理工大学高级语言程序设计(C++I)试卷及答案

华南理工大学计算机学院 高级语言程序设计(C++I)试卷 学生证号:____________________ 姓名: ____________________ 注意事项:1. 本试卷共五大题,满分100分,考试时间120分钟; 2. 所有答案请写在答卷上,试卷和答卷同时提交; 一.单项选择题(每小题2分,共20分) 1.下列字符列中,合法的长整型常量是: (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 2.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是: (A) 0,0 (B) 0,1 (C) 1,0 (D) 1,1 3.以下运算符中,优先级最低的是: (A) *= (B) ?:: (C) && (D) >= 4.在C++中,char类型数据在内存的存储形式是: (A) 原码(B) 反码(C) 补码(D) ASCII码 5.设变量定义int x = 6, y, z; 执行语句 y = z = x--; y = x == z; 后变量y的值是:(A) 0 (B) 1 (C) 5 (D) 6 6.下面的变量定义中,不正确的是: (A) char *p=”string”(B) int a[]={‘A’,’B’,’C’} (C) float *q=&b, b; (D) doudle a, *r=&a; 7.设有变量定义 doubleb[5], *p=b; 能正确表示b数组中元素地址的表达式是: (A) b (B) b+5 (C) *b[0] (D) &b 8.设有变量定义 int a[]={2,3,5,9,11,13},*pa=a, w; 执行语句w=++(*++pa); 后,变量w和*pa的值是: (A) 3和3 (B) 4和3 (C) 3和4 (D) 4和4 9.语句if(w) … ; else … ; 中的表达式w的等价表示是: (A) w==0 (B) w==1 (C) w!=0 (D) w!=1 10.设有函数说明和变量定义:int max(int x,int y); int(*p)(int,int)=max; int a, b; 以下正确调用函数的代码是: (A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 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句结论只有一句是错误的,它是()

高级语言程序设计实验 C

陕西理工大学 《高级语言程序设计(C)》 实验报告 院系: 班级: 学号: 姓名:

目录

实验一:C开发环境与顺序结构程序设计 1.实验目的: (1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。 (2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。 (3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。 2.实验环境: (1) 硬件环境 CPU:Inter Pentium(R)4 CPU 以上 内存:2GByte (2) 软件环境 操作系统:Microsoft Windows 7 编译系统:Microsoft Visual C++ 3.实验步骤: 按如图所示流程进行实验内容的 调试。 (1) 在XP操作系统中,启动VC++ 编译环境; (2) 在VC++编译界面输入C源程 序; (3) 选择编译、组建、执行命令进 行编译、链接和运行,并记录实验 数据; (4) 按以上方法依次输入其他源程 序并调试、运行和记录实验数据。 4.实验内容: 输入并运行下列程序,查看程序运行的结果。 #include<>

void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 查看程序运行的结果 #include<> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 找出下列程序中的错误,改正后写出程序运行结果. #include<> void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

华南理工 《高级语言程序设计C 》平时作业

一、分析程序,写输出结果 1.#include #include void main() {int m, k, i ; for( m=1; m<=10; m+=2 ) { k = m/3; for( i=2; i<=k; i++ ) if( m%i ) cout << m << " "; } } 解:m 的取值为1,3,5,7,9 对应k的取值为0,1,1,2,3, 第二个for循环:只有当k=2和k=3时才执行,当k=2,i=2,m%i等于1为真,输出m为7 当k=3,i=2,m%i等于1为真,输出m为9, i=3,m%i等于0为假,无输出结果为: 7 9 2.#include void fun(); void main() {int i; for(i=1;i<5;i++) fun(); cout< int fun(int n) { if(n==0) return 1; return 2*fun(n-1); } void main()

{ int a=5; cout< void main() { char *cp="word"; for (int i=0 ; i<4; i++ ) cout< void main() { int max; int a[10]={76,55,95,87,85,83,65,90,77,85}; int *p= a ; max=*p; for( ; p< &a[10] ; p++) if( *p>max ) max= *p ; cout<<"max= "<

程序设计基础试卷与答案

程序设计基础 一、单选题(每题2分,共60分) 1. 以下对C语言函数的描述中,正确的是()。 A. C程序必须由一个或一个以上的函数组成 B. C函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. C程序中有调用关系的所有函数必须放在同一个程序文件中 2. 在C语言中,char型数据在内存中的存储形式是()。 A. 补码 B. 反码 C. 原码 D. ASCII码 3. 以下叙述中不正确的是()。 A. 一个好的程序应该有详尽的注释 B. 在C程序中,赋值运算符的优先级最低 C. 在C程序中,j++;是一条赋值语句 D. C程序中的#include和#define均不是C语句 4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。 A. fclose() B. close() C. fread() D. fwrite 5. 设C语言中,int类型数据占2个字节,则short类型数据占()。 A. 1个字节 B. 2个字节 C. 4个字节 D. 8个字节 6. 已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。 A. 一个整数,代表要读入的数据项总数 B. 一个文件指针,指向要读的文件 C. 一个指针,指向要读入数据的存放地址 D. 一个存储区,存放要读的数据项 7. 在C语言中,形参的缺省存储类是()。 A. auto B. register C. static D. extern 8. 以下标识符中,不能作为合法的C用户定义标识符的是()。 A. putchar B. _double C. _123 D. INT 9. 在C语言中,能代表逻辑值“真”的是()。 A. True B. 大于0的数 C. 非0整 D. 非0的数 10. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 A. 0 B. 语法错 C. 1 D. "假" 11. 函数rewind的作用是()。 A. 使位置指针重新返回文件的开头 B. 将位置指针指向文件中所要求的特定位置 C. 使位置指针指向文件的末尾 D. 使位置指针自动移至下一个字符位置 12. 以下正确的说法是:在C语言中()。 A. 实参和与其对应的形参各占用独立的存储单元 B. 实参和与其对应的形参共占用一个存储单元

华工高级语言程序设计C++_随堂练习答案

华工高级语言程序设计C++_随堂练习答案答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D. 答题: A. B. C. D.

(程序设计基础JAVA)期末考试试卷

……………… …………………………密 ……………………封… …………………线………………………………………级号名班学姓《程序设计基础(java)》试题B 卷试卷说明:闭卷考试,时间120分钟。一、填空(本题共15空,每空2分,共30分)1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生________个文件名与类名相同扩展名为_______的字节码文件。2.Java 中所有类都是类__Object__的子类。3.请填出在java .lang 包中与下列基本数据类型相对应的封装类:float :java .lang .Float ,char :_______,boolean :________。4.被关键字_________修饰的方法是不能被当前类的子类重新定义的方法5.线程的四种状态是_______、__、_、____。6.java 语言中_____是所有类的根。7.Swing 的事件处理机制包括___、事件和事件处理者。8.URL__________是的缩写。9.java 有两类应用程序java Application 和__________。10.转义字符以_____开头。二、选择(本题共20小题,每题2分,共40分)1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的?()A 、ArrayList myList=new Object ();B 、List myList=new ArrayList ();C 、ArrayList myList=new List ();D 、List myList=new List ();2.paint()方法使用哪种类型的参数?()A 、Graphics B 、Graphics2D C 、String D 、Color 3.指出正确的表达式()A 、byte=128;B 、Boolean=null;C 、long l=0xfffL;D 、double=0.9239d;4.指出下列程序运行的结果()public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex .change(ex .str,ex .ch);System .out .print(ex .str+"and ");Sytem .out .print(ex .ch);}public void change(String str,char ch[]){ch[0]='g';}}B 、good and abc B 、good and gbc C 、test ok and abc D 、test ok and gbc 5.运行下列程序,会产生什么结果()public class X extends Thread implements Runable{public void run(){System .out .println("this is run()");}public static void main(String args[]){Thread t=new Thread(new X());t .start();}}A 、第一行会产生编译错误B 、第六行会产生编译错误C 、第六行会产生运行错误D 、程序会运行和启动6.要从文件"file .dat"文件中读出第10个字节到变量C 中,下列哪个方法适合?()A 、FileInputStream in=new FileInputStream("file .dat");in .skip(9);int c=in .read();B 、FileInputStream in=new FileInputStream("file .dat");in .skip(10);int c=in .read();C 、FileInputStream in=new FileInputStream("file .dat");int c=in .read();D 、RandomAccessFile in=new RandomAccessFile("file .dat");in .skip(9);int c=in .readByte();7.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?()A 、CardLayout B 、FlowLayout C 、BorderLayout D 、GridLayout 8.给出下面代码:public class Person{static int arr[]=new int[10];public static void main(String a[]){System .out .println(arr[1]);}}那个语句是正确的?()A 、编译时将产生错误;B 、编译时正确,运行时将产生错误;C 、输出零;D 、输出空。9.下列那个是反斜杠的正确表示?()A 、\\B 、*\\C 、\’D 、\’\’10.下列哪些语句关于内存回收的说明是正确的?()A 、程序员必须创建一个线程来释放内存;题号一二三四五六七八九总分得分得分得分

相关主题