文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计课程设计指导书

C语言程序设计课程设计指导书

C语言程序设计课程设计指导书
C语言程序设计课程设计指导书

课程设计指导书

课程名称: C语言程序设计

班次:电自2014-01,02,03,04班

设计任务:整个课程设计一共提供了10个题目,编号为1~10。按学号尾数进行选题设计。

课程设计目的

1、进一步掌握利用C语言进行程序设计的能力;

2、进一步理解和运用结构化程序设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、学会利用流程图表示算法;

5、学习撰写课程设计报告;

第一部分:课题描述(一共10个课题)

课题1:图书管理系统

在磁盘上创建3个txt文件,命名book.txt,borrow.txt和reader.txt,分别存储图书、借阅和读者的信息,每本图书的基本信息有编号、书名、作者、出版日期、金额、类别、在馆数量等。借阅基本信息有:编号、书名、金额、借书证号、借书日期、到期日期、罚款金额等。读者信息包括借书证号、姓名、班级、学号、类别等。创建图书管理系统,该系统运行时在控制台中显示菜单界面进行键盘输入操作,模拟借阅图书的管理过程。

系统功能包括以下方面:

A、图书信息管理

图书按类别进行管理,常见类别有书籍、期刊、报刊等,在该模块中又包含添加、删除、修改、查询等操作,操作结果打印在控制台中。

B、借阅信息管理

图书借阅模拟操作,包括以下功能:借出,归还和续借等操作,对超期图书进行罚款金额显示。另外可以设置罚金数额和最大借阅数量和时间等参数。

C、读者信息管理

读者分为教师和学生两大类等级:教师和学生的最大图书借阅数量和时间有所不同,并可对添加、挂失和查询读者信息。

系统操作过程中能够正确读取和更新文件,并进行正常的图书、借阅和读者管理操作。

课题2:个人通讯录管理系统

在磁盘上建立1个communication.txt文件,作为读取和存储的通讯录,该系统运行时在控制台中显示菜单界面进行键盘输入操作,模拟通讯录的操作过程。

系统功能包括以下方面:

A、通讯录的每位联系人信息有姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。

B、输入、查找、删除、修改联系人信息功能。

C、显示功能:能够显示所有联系人信息(大于10条的分屏显示),或按分类进行显示。

D、分类操作:可以按分类信息进行同一类的联系人操作,比如显示、删除和查找操作。

E、(选作)可以加载联系人头像并进行显示,可用字符拼图或读取已有的黑白图片文件。

系统操作过程中能够正确读取和更新文件,并进行正常的通讯录联系人操作。

课题3:职工工资管理系统

在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。

1、设计一个能够记录公司员工工资的数据结构(比如包括:员工号,姓名,基本工资,补

贴金额,奖励金额,扣除金额、实发工资等)、文件(文件作为工资数据的保存介质)。

注:,其中实发工资=基本工资+补贴金额+奖励金额-扣除金额

2、应用文件保存工资管理数据。

3、新增:能将所有输入的员工工资数据保存到文件中,并可选择继续输入或退出。

4、查找:输入员工的员工号,并在文件中查找

?若找到,则显示该员工的工资详情

?否则提示未找到。

?无论查找成功否,应还可选择继续查找或退出。

5、删除:输入员工的员工号,并在文件中查找

?若找到,提示是否确定删除

?若选择是,则删除文件中该员工信息

?若选择否,则取消,

?否则提示无此员工信息

?无论查找成功否,应还可选择继续查找或退出。

6、修改:输入员工的员工号,并在文件中查找

?若找到,显示该员工的所有信息,并可进行输入。完成后将现输入的内容覆盖原内容保存到文件中。

?否则提示无此员工信息

?无论查找成功否,应还可选择继续查找或退出。

7、统计:分类汇总并输出所有员工的基本工资、补贴金额、奖励金额、扣除金额、实发工

资的总金额和平均金额。

如:

基本工资、补贴金额、奖励金额、扣除金额、实发工资

总和 12000 1300 1400 1500 13200

平均 1200 130 140 150 1320

人数: 10

8、退出:退出程序

课题4:自动售货机系统

某公司请你为其生产的自动售货机编写软件。这种无人值守自动售货机贩卖价值为A、B、C 的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。

自然,你的售货机用户希望尽可能地给用户找零,以免流失顾客。为了调查用户的喜好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。你的程序将实现以下功能:

库存查询:检索当前三种商品的储存量

商品上架:为三种商品增加或者减少储量

销售查询:分别统计今天每种商品的销售量和销售额

会计查询:打印当天的往来帐目以及剩余零钞数目

结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目

销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还纸币

【题目要求】

(1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后操作员通过菜单项选择希望进行的操作项目;

(2)你的售货机用户不希望每一位顾客都有权限执行以上功能,因此一旦进入销售界面,就不应当退回到系统界面,但是应允许顾客反复购买,前一个顾客购买完毕后应停留在销售界面里允许下一个顾客操作。直到某位特殊的顾客(超级顾客)输入特殊的商品代号(密码)方可回到主控界面。

(3)计算机安排的找零算法应该合理,不要出现某一种零钱找光的情况。同时顾客也不喜欢明明有5元零钞,却被找给5个一元的零钞。尽量满足这两个要求。

(3)、要求以上功能分别用函数实现。并要求用C语言的文件操作语句将以上所有结果保存在文件goods.txt。

【输入/输出要求】

(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个

操作后,根据程序的提示输入相应的信息;

(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。

课题5:销售管理系统

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:

1)销售员的代号

2)产品的代号

3)这种产品的当天的销售额

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(在磁盘上创建一个txt文件记录上个月的销售信息),进行如下处理。

1)计算上个月每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)

3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)

4)输出统计报表

销售统计报表

产品代号销售之和销售员号

1

2

3

4

5

每种产品之和总和

5)可以按产品代号查询,也可以按销售员号查询。

课题6:车票管理系统

一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如

班次发车时间起点站终点站行车时间额定载量已定票人数

1 8:00 郫县广汉

2 45 30

2 6:30 郫县成都 0.5 40 40

3 7:00 郫县成都 0.5 40 20

4 10:00 郫县成都 0.

5 40 2

(一)功能要求:用c语言设计一系统,能提供下列服务:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据

(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询 ,可按终点站查询

(4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已

售票人数

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数

课题7、单项选择题标准化考试系统

在磁盘上创建一个test.txt文件,使用记事本打开后先写入40道单选题和相应的选项和正确答案。再编写一个单项选择题标准化考试系统,该系统功能要求:

A、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)。

B、试题录入、修改和删除。

C、试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)。

D、考生答题:用户抽取N道试题进行答题,键盘输入每道题的答案。

E、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。

系统操作过程中能够正确读取和更新试题文件,并进行正常的试题管理、抽取、答题和判卷操作,该过程在控制台中显示,人机交互方便。

课题8:医院门诊候诊的队列管理程序

要求采用先来先就诊的排队方式(就诊顺序与挂号单编号无关),假设挂号时编码是连续的,但由于同一个门诊科目有3个诊室,其中35(含35)岁以上的在第一诊室,35岁以下男患者进第二诊室,其它的进第三诊室,程序启动后显示下列菜单:【实现提示】

1--挂号

2--叫号

3--分诊室

4--显示各诊室队列信息

5--统计当天就诊的患者情况(要求按性别进行统计和按任意年龄区段进行统计) 6--结束程序

选1时,提示用户在一行内输入姓名及挂号单编号;

选2时,显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序列中删除选3时,进行诊室分配

选4时,按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室

选5时,进行两种统计方法的选择,并进行必要的统计计算

选6时,退出程序的运行

要求1~5中每一个步骤完成后都能重新显示此选择菜单

课题9:成绩管理系统

现有学生成绩信息,内容如下

姓名学号语文数学英语

张明明 01 67 78 82

李成友 02 78 91 88

张辉灿 03 68 82 56

王露 04 56 45 77

陈东明 05 67 38 47

…. .. .. .. …

请用C语言编写一系统,实现学生信息管理,软件的功能要求如下:

(1)信息维护:

要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息

(2)信息查询:

要求:查询时可实现按姓名查询、按学号查询

(3)成绩统计:

要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。

(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果

课题10:停车场管理系统设计

1.有一个两层的停车场, 每层有6个车位, 当第一层车停满后才允许使用第二层. ( 停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车的信息包括车牌号, 层号, 车位号, 停车时间共4项. 其中停车时间按分钟计算

2. 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为1—4 , 停车时间依次为20, 15, 10 , 5 . 即先将这四辆车的信息存入文件”car.dat”中( 数组的对应元素也要进行赋值 )

3. 停车操作: 当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号(分配前先查询车位的使用情况, 如果第一层有空则必须停在第一层), 停车时间设为5 , 最后将新停入的汽车的信息添加文件”car.dat”中, 并将在此之前的所有车的停车时间加5.

4. 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元. (停车费用可设置一个变量进行保存), 同时从文件”car.dat”中删除该车的信息, 并将该车对应的车位设置为可使用状态(即二维数组对应元素清零). 按用户的选择来判断是否要输出停车收费的总计.

5. 输出停车场中全部车辆的信息.

6. 退出系统.

第二部分:基础训练

若感觉直接完成所选课题很困难,可以尝试先完成基础训练。完成基础训练,有一定的编程基础后,在完成所选课题。

第一步:

定义一个结构体类型,用来表示学生的各种属性。定义一个学生结构体变量,从键盘输入各个分量的值,然后从屏幕输出该结构体变量的各个分量。

学生结构体类型定义如下:

typedef struct _CStudent

{

char szName[20]; /* 学生姓名 */

char nNumber[10] /* 学号 */

int nAge; /* 年龄 */

char cSex; /* 性别,约定…m?代表女,…f?代表男 */

char szAddress[20]; /* 家庭地址 */

double dDataStruct; /* 数据结构成绩 */

double dMath; /* 数学成绩 */

double dEnglish; /* 英语成绩 */

}CStudent;

第二步:

定义一个结构体类型,用来表示学生的各种属性。定义一个含3个元素的学生结构体变量数组,从键盘输入3个同学的信息,然后从屏幕输出该结构体变量数组各成员的值。

建议:定义两个函数,一个用于从键盘输入一个学生结构体变量的各个分量的值,另一个把一个学生结构体变量的值输出到屏幕。函数原型可以如下:

void input(CStudent* p) /* 从键盘输入 */

void output(CStudent* p) /* 向屏幕输出 */

第三步:

从键盘输入一个学生的信息,然后以文本方式写入文件。定义另一个学生结构体变量,用于从文件读出数据,然后把数据显示到屏幕。

第四步:

定义一个含3个元素的学生结构体数组,从键盘输入3个同学的信息,以文本方式把这些数据写入文件。

第五步:

将课题4写入文件的数据全部读出,输出到屏幕。

附录一:

本设计中需要清屏。说明如下:

格式:

system(“cls”)

包含头文件:

stdlib.h

附录二:控制台程序选择菜单的完成

#include

#include

int main()

{

int choice1 = 1, choice2;

do

{

printf("欢迎使用学生成绩管理系统\n");

printf("请选择程序功能\n");

printf("1、数据录入\n");

printf("2、数据查询\n");

printf("3、输出所有同学信息\n");

printf("4、退出程序\n");

scanf("%d", &choice1);

switch (choice1)

{

case 1:

printf("数据录入\n");

/*编写数据录入程序*/

printf("返回上级菜单请按\n退出程序请按\n");

scanf("%d", &choice1);

break;

case 2:

printf("1、按学号查询\n");

printf("2、按姓名查询\n");

scanf("%d", &choice2);

switch (choice2)

{

case 1:

printf("按学号查询\n");

/*编写按学号查询程序*/

break;

case 2:

printf("按姓名查询\n");

/*编写按姓名查询程序*/

break;

}

printf("返回上级菜单请按\n退出程序请按\n");

scanf("%d", &choice1);

break;

case 3:

printf("输出所有同学信息\n");

/*编写输出所有同学信息程序*/

printf("返回上级菜单请按\n退出程序请按\n");

scanf("%d", &choice1);

break;

case 4:

break;

}

system("cls");

}while (choice1 != 4);

printf("程序结束\n");

return 0;

}

附录三:关于菜单的处理技术举例

int menu_select(); /*主菜单函数*/

/******主函数开始*******/

main()

{

int i;

Salary sal[M]; /*定义结构体数组*/

int length; /*保存记录长度*/

clrscr(); /*清屏*/

for(;;)/*无限循环*/

{

switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ {

case 1:length=enter(sal);break;/*输入记录*/

case 2:list(sal);break; /*显示全部记录*/

case 3:search(sal,name);break; /*按姓名查找显示记录*/

case 4:length=delete(sal);break; /*删除记录*/

case 5:length=add(sal); break; /*插入记录*/

case 6:save(sal);break; /*保存文件*/

case 7:length=load(sal); break; /*读文件*/

case 8:display(sal);break; /*按序号查找显示记录*/

case 9:sort(sal);break; /*排序成新文件*/

case 10:copy(sal);break; /*数据备份*/

case 0:exit(0); /*如返回值为0则程序结束*/

}

}

}

/*菜单函数,函数返回值为整数,代表所选的菜单项*/

menu_select()

{

char s[80];

int c;

gotoxy(1,25);/*将光标定为在第25行,第1列*/

printf("press any key enter menu......\n");/*提示按任意键进入菜单选择*/ getch(); /*读入任意字符*/

clrscr(); /*清屏*/

gotoxy(1,1);

printf("********************MENU*********************\n\n");

printf(" 1. Enter a record\n");

printf(" 2. List the file\n");

printf(" 3. Search record on name\n");

printf(" 4. Delete a record\n");

printf(" 5. Add record \n");

printf(" 6. Save the file\n");

printf(" 7. Load the file\n");

printf(" 8. Display record on order\n");

printf(" 9. Sort to a new file\n");

printf(" 10. Copy to a new file \n");

printf(" 0. Quit\n");

printf("***********************************************\n");

do{

printf("\n Enter you choice(0~10):"); /*提示输入选项*/

scanf("%d",&c); /*输入选择项*/

}while((c>10) ||(c<0)); /*选择项不在0~11之间重输*/

return c; /*返回选择项,主程序根据该数调用相应的函数*/

}

附录四:关于头文件的使用

/******头文件(.h)***********/

#include "stdio.h" /*I/O函数*/

#include "stdlib.h" /*标准库函数*/

#include "string.h"/*字符串函数*/

#include "ctype.h" /*字符操作函数*/

#define M 50 /*定义常数表示记录数*/

typedef struct /*定义数据结构*/

{

char name[20]; /*姓名*/

char no[10];/*员工编号*/

char units[30]; /*部门*/

char post[10]; /*职称*/

……

}Salary;

/******以下是函数原型*******/

int enter(SALARY t[]); /*输入记录*/

void list(SALARY t[]); /*显示全部记录*/

void search(SALARY t[],char name[]); /*按姓名查找显示记录*/

int delete(SALARY t[]); /*删除记录*/

int add(SALARY t[],int n); /*插入记录*/

void save(SALARY t[]); /*记录保存为文件*/

int load(SALARY t[]); /*从文件中读记录*/

void display(SALARY t[]); /*按序号查找显示记录*/

void sort(SALARY t[]); /*排序成新文件*/

void copy(SALARY t[]); /*数据备份*/

int menu_select(); /*主菜单函数*/

附录五:关于文件的使用

要将信息永久保存,可采用磁盘文件的形式来存储数据。C语言提供了丰富的文件操作函数。从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:ASC码:00110101 00110110 00110111 00111000

↓ ↓↓ ↓

十进制码: 5 6 7 8 共占用4个字节。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。在C语言中,文件操作都是由库函数来完成的。

文件打开函数fopen

fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的文件名。“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如: FILE *fp;fp=("file a","r");其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。

又如:FILE *fphzk ; fphzk=("c:\\hzk16',"rb")

其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。使用文件的方式共有12种,下面给出了它们的符号和意义。

文件使用方式意义

“rt”只读打开一个文本文件,只允许读数据

“wt”只写打开或建立一个文本文件,只允许写数据

“at”追加打开一个文本文件,并在文件末尾写数据

“rb”只读打开一个二进制文件,只允许读数据

“wb”只写打开或建立一个二进制文件,只允许写数据

“ab” 追加打开一个二进制文件,并在文件末尾写数据

“rt+”读写打开一个文本文件,允许读和写

“wt+”读写打开或建立一个文本文件,允许读写

“at+”读写打开一个文本文件,允许读,或在文件末追加数据

“rb+”读写打开一个二进制文件,允许读和写

“wb+”读写打开或建立一个二进制文件,允许读和写

“ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据

fclose函数

调用的一般形式是: fclose(文件指针);例如:fclose(fp); 正常完成关闭文件操作时,fclose 函数返回值为0。如返回非零值则表示有错误发生。文件的读写对文件的读和写是最常用的文件操作。

读字符串函数fgets函数

fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针);其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入字符数组str中。

对fgets函数有两点说明:一是,在读出n-1个字符之前,如遇到了换行符或EOF,则读出结束。二是,fgets函数也有返回值,其返回值是字符数组的首地址。

写字符串函数fputs

fputs函数的功能是向指定的文件写入一个字符串,其调用形式为: fputs(字符串,文件指针) 其中字符串可以是字符串常量,也可以是字符数组名,或指针变量,例如:fputs(“abcd“,fp);其意义是把字符串“abcd”写入fp所指的文件之中。

数据块读写函数fread和fwrite

C语言还提供了用于整块数据的读写函数。可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp); 写数据块函数调用的一般形式为: fwrite(buffer,size,count,fp); 其中buffer是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。 size 表示数据块的字节数。count 表示要读写的数据块块数。fp 表示文件指针。

例如:fread(fa,4,5,fp); 其意义是从fp所指的文件中,每次读4个字节(一个实数)送入实数组fa中,连续读5次,即读5个实数到fa中。

从键盘输入两个学生数据,写入一个文件中,再读出这两个学生的数据显示在屏幕上。

#include

struct stu{

char name[10];

int num;

int age;

char addr[15];

}boya[2],boyb[2],*pp,*qq;

main(){

FILE *fp;

char ch;

int i;

pp=boya;

qq=boyb;

if((fp=fopen("stu_list","wb+"))== NULL){

printf("Cannot open file strike any key exit!");

getch();

exit(1);

}

printf("\ninput data\n");

for(i=0;i<2;i++,pp++)

scanf("%s%d%d%s",pp->name,

&pp->num,&pp->age,pp->addr);

pp=boya;

fwrite(pp,sizeof(struct stu),2,fp); rewind(fp);

fread(qq,sizeof(struct stu),2,fp); printf("\n\nname\tnumber age addr\n"); for(i=0;i<2;i++,qq++)

printf("%s\t%5d%7d%s\n",qq->name,

qq->num,qq->age,qq->addr); fclose(fp);

}

本例程序定义了一个结构stu,说明了两个结构数组boya和 boyb以及两个结构指针变量pp和qq。pp 指向boya,qq指向boyb。程序第16行以读写方式打开二进制文件“stu_list”,输入二个学生数据之后,写入该文件中,然后把文件内部位置指针移到文件首,读出两块学生数据后,在屏幕上显示。

格式化读写函数fscanf和fprintf

fscanf函数,fprintf函数与前面使用的scanf和printf 函数的功能相似,都是格式化读写函数。两者的区别在于 fscanf 函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。这两个函数的调用格式为: fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列);例如:fscanf(fp,"%d%s",&i,s); fprintf(fp,"%d%c",j,ch);

文件的随机读写

前面介绍的对文件的读写方式都是顺序读写,即读写文件只能从头开始,顺序读写各个数据。但在实际问题中常要求只读写文件中某一指定的部分。为了解决这个问题可移动文件内部的位置指针到需要读写的位置,再进行读写,这种读写称为随机读写。实现随机读写的关键是要按要求移动位置指针,这称为文件的定位。文件定位移动文件内部位置指针的函数主要有两个,即 rewind 函数和fseek 函数。

rewind函数前面已多次使用过,其调用形式为: rewind(文件指针);它的功能是把文件内部的位置指针移到文件首。

fseek函数。

fseek函数用来移动文件内部位置指针,其调用形式为: fseek(文件指针,位移量,起始点);其中:“文件指针”指向被移动的文件。“位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB 时不会出错。当用常量表示位移量时,要求加后缀“L”。“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。

起始点表示符号数字表示

──────────────────────────

文件首SEEK—SET 0

当前位置SEEK—CUR 1

文件末尾SEEK—END 2

例如:fseek(fp,100L,0);其意义是把位置指针移到离文件首100个字节处。还要说明的是fseek 函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。文件的随机读写在移动位置指针之后,即可用前面介绍的任一种读写函数进行读写。由于一般是读写一个数据据块,因此常用fread和fwrite函数。下面用例题来说明文件的随机读写。

文件检测函数

文件结束检测函数feof函数调用格式: feof(文件指针);功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。

读写文件出错检测函数ferror函数调用格式: ferror(文件指针);功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。

文件出错标志和文件结束标志置0函数clearerr函数调用格式: clearerr(文件指针); 功能:本函数用于清除出错标志和文件结束标志,使它们为0值。

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

C语言程序设计第四版第六章答案_谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

C语言程序设计第三版谭浩强课后习题答案完整版

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

完整word版单片机C语言应用程序设计第五版马忠梅课后习题答案

第一章单片机由哪几部分组成?、80511可P2P0和个8位并行I/O口(其中8位中央处理器CPU、片内振荡电器及其时钟电路,4,个中断优先级)个中断源(具有2位定时器/计数器,5 用于外部存储器的扩展),2个16 全双工串行口,布尔处理器。单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能?、80512 表P7 1-3个特殊功能寄存器,在物理 上是分散在片内各功能部件中,在数218051单片机内部有答:中,以便能使用统一的直接寻址方式80H~FFH学上把它们组织在内部数据存储器地址空间来访问。这些特殊功能寄存器颁 在以下各个功能部件中:主要完;DPH两个8位寄存器组成)PSW、SP、DPTR(由DPL和(1)CPU:ACC、B、成运算和逻辑判断功能;完成中断管理IP、IE;(2)中断系统:完成 定时或者计数功能、TH1;TCOM、TL0、TH0、TL1(3)定时器/计数器:TMOD、口带有可选的纵向拓展I/O完成I/O口功能,其中部分P1P0、、P2、P3(4)并行I/O口:功能。主要完成数据的串行发送和接收SBUF、PCON5)串行口:SCON、(、决定程序执行顺序的寄存器是哪几个?它是几位寄存器?是否为特殊功能寄存器?它的3 内容是什么信息?它的内容是下一条 将要执行的不是特殊功能寄存器,它是16位寄存器,是程序计数器PC,程序的地址的用途是什么?它由哪几个特殊功能寄存器组DPTRDPTR是什么特殊功能寄存器?4、成?位)和8DPL (数据指针低是16位数据指针寄存器,它由两个8位特殊功能寄存器DPTR位地址,作地址寄存器用,可寻址外部16DPTR用于保存DPH(数据指针高8位)组成,数据存储器,也可寻址程序存储器。线?它们和单片机对外的地址总线和数据总线有什么关系?地址的引脚有多少I/O5、8051 总线和数据总线各是多少位?线可以在外扩存储器时分时复根I/OP0口8I/O8051单片机的40个引脚中有32根口线,和P3.6位地址总线,P2口作为高8用作为外部存储器的低8位地址 总线和8位数据总线,位。16位,数据总线为8P3.7分别作为外部存储器的写和读控制线。地址总线单片机堆栈的最大容量不能超过多少字8051、什么是堆栈?堆栈指针SP的作用是什么? 6 节?堆栈是数据寄存器的一部分,这一部分数据的存取是按照先入后出、后入先出的原则进行的。堆栈指针SP在启用堆栈之前是用来决定堆栈的位置。如在8051芯片复位后,SP的值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM的其它部分。在堆栈启 用之后,SP指向堆栈顶部,即由SP来决定数据读出和存入堆栈的地址。8051单片机内部用作 数据区的RAM的容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只是最大可能的容量。一般情况下,内部RAM还要分出一部分作一般的数据区,或者还要用其中的位寻址区来用于位操作,等等。所以,8051 的堆栈区是比较小的,使用时要注意到这个限制。 8、8051内部RAM低128字节可分为几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少? 8051内部RAM的低128字节可以分为通用寄存器区、位寻址区、便签(工作或者堆栈RAM)1 中的个字节。设置PSW区和特殊功能寄存器区。通用寄存器区的地址从00H到1FH共3212816个字节RS1可以切换当前通用寄存器组。位寻址区地址从20H到2FH共位RSO和127. 0到位,占用地址8051单片机对外有几条专用控制线?其功能是什么?9、,高电位有效,当有条专用控制线。它们是复位信号线RST一般的说法是8051单片机有4,低电平有效,当此复位信号从此线输入时,使单片机复位。访问外部存贮器控制信号EA先使用片单片机全部使用外部指令存贮器,而当此控制线为高电平时,控制线为低电平时,1000H(地址为,在4KB范围之外,才使用指令存贮器FFFFH内的4KB指令存贮器(0000H-)和外部地址锁存器允PSEN-FFFFH)。另有两条输出控制:外部程序存贮器的读选通信号。前者是低电平有效,在读外部程 序存贮器时使用。后者是高电平有效,在锁存ALE许信号P0口输出的低8位地址时使用。端必须怎样处理?为什么?10、8031的/EA为有效时,/EA访问内部ROM,当端是访问外部程序

最新基础工程课程设计指导书

基础工程课程设计指 导书2012

土木工程专业 基础工程课程设计指导书

目录 1前言 0 1.1 地基基础设计的目的与任务 0 1.2 地基基础的设计内容 (1) 1.3 基础工程课程设计的基本要求 (2) 2设计题目之一——某单层厂房柱下基础设计 (3) 2.1 设计任务 (3) 2.2 设计资料 (4) 2.2.1 工程概况 (4) 2.2.2 地勘资料 0 2.2.3 设计荷载 0 3基础工程课程设计指南 0 3.1 设计计算说明书的主要内容 0 3.2 设计计算说明书的章节划分和内容组织 0 3.3 设计和计算方法 (1) 4.3.1 概述部分 (1) 4.3.2 基础定位与基础形状 (2) 4.3.3 方案设计(或初步设计) (2) 4.3.4 技术设计(或详细设计) (4) 4.3.5 施工方案 (8) 3.4 进度计划安排参考 (8) 规范及参考书 (10)

1前言 基础工程是土木工程专业的学科基础课,在土木工程学科的知识体系中占据了重要地位。基础工程课程的特点在于它以较多的力学课程为基础,以土层中的复杂的基础结构为研究对象,又涉及到建筑、交通、水电等多个领域,这就决定了课程具有内容杂、概念多和理论较深的特点,加之学时数较少和本科学生普遍缺少工程知识,故同学们往往感到比较难学。 基础工程的教学内容和课程体系改革是在上述背景条件下展开的,其主要目标是在学时有限的条件下,使学生能够对课程的知识体系有较为系统和整体的把握,重点掌握其基本理论和基本方法,并具有一定的工程概念和知识。结合土木工程大专业教学工作的需求,更为了强化培养学生的工程意识和解决实际工程问题的能力并反映近年来工程规范的更新,在教研室原来编写的《工民建专业基础工程课程设计任务书》和《桥梁、隧道和铁道工程专业基础工程课程设计任务书与指南》的基础上,我们着手编写了这本新的《土木工程专业基础工程课程设计指导书》。 课程设计对理解和掌握工程基本原理具有十分重要的作用,也是同学们由理论学习通往工程实践的一座桥梁。基础工程的知识来源于工程实践,反过来又对工程实践具有指导作用。同学们在本科学习期间参与工程实践的机会是十分有限的,因而应该重视课程设计带给同学们的动手机会,通过课程设计更好地理解和巩固学习到的各种理论和方法,有意识地培养自己的工程意识和解决实际工程问题的能力。 为了帮助同学们更好地完成本次课程设计,下面从课程设计的角度对地基基础设计的内容和方法做一个小结。

C语言程序设计(谭浩强)第四版-课后答案

第一章程序设计和C语言【第15页】 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6 #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; }

3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%f\n",p1); // 输出按第1方案得到的本息和 printf("p2=%f\n",p2); // 输出按第2方案得到的本息和 printf("p3=%f\n",p3); // 输出按第3方案得到的本息和 printf("p4=%f\n",p4); // 输出按第4方案得到的本息和 printf("p5=%f\n",p5); // 输出按第5方案得到的本息和 return 0; } 3-2-2 #include #include int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言程序设计第五版习题答案()

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100;

a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。 #include <> main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** *

大学课程设计指导书

大学课程设计指导 书 1

湘潭大学课程设计指导书 学院 学号 专业 课程题目 班级 姓名 指导教师 2

一主要内容及基本要求 1 主要内容:确定采区变电所工作面配电点和移动变电站;拟定采区供电系统;进行负荷计算并确定无功功率补偿方案和选择无功功率补偿设备;选择变压器台数容量及型号;选择供电电缆;计算短路电流;选择开关与启动器;整定计算继电保护装置;确定采区保护接地系统;确定采区变电所硐室和设备方案;进行采区供电经济计算与统计等。 2 采区原始资料 1)采区巷道布置及开采方法: 采区为缓倾斜煤层,东西走向,向南倾斜,倾角8~10度。煤质中硬,煤层平均厚度为2.5m,一次采全高。采区采用中间上山开采,采区内分为三个阶段,区段长166,其中工作面长150m,上顺槽宽3.5m,下顺槽宽4m,保安煤柱8.5m,采区一翼走向长1000m。 采煤方法采用走向长壁区内后退式,东西两翼同时开采。东西两翼个设一个综合开采工作面,采煤机采用可调的MLS3—340型双筒采煤机组,支护用ZY35型支撑掩护式液压支架。煤巷掘进采用S100型掘进机。采煤和掘进工作面采取三班生产一班检修的工作方式。 2)运输及通风情况 3

采区巷道布置如图所示。 工作面落煤由可弯曲刮板运输机,经运输槽刮板机转载机,可伸缩带式输送机运至运输上山,运输上山采用三部宽为100mm,的带式输送机将煤运至采煤区煤仓。 采区通风系统的新鲜风流由水平运输大巷,经采区运输上山运输平巷进入工作面,污浊风流经轨道平巷轨道上山采区回风石门至斜风井。 3)电源及负荷情况 井下中央变电所至采区距离为Dm,配电电压为6kv,中央变电所母线短路容量最大为A,最小为B。用电设备在采区内的分布情况和采区各用电设备的台数及技术数据见表1(未知技术见表3) 4

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

标准C语言程序设计第五版课后练习题答案

课后练习题答案 Chapter 1 1.1×√×√√×√××√ 1.2b c 1.3ad 1.4semicolon printf math、h \n Chapter 2 2、1 ×√××√√×√××√× 2、2 typedef 255 external const Chapter 3 3、1 ×√××√√×××√√√ 3、2 integer modula 6 logical sizeof paratheses typeconversion precedence 3、3 F F T F F F 3、4 F T T T F 3、5 (b) (c) 3、6 0 -2 7 10、25 false 3 3 1 3、10 0 1 1 1 1 3、11 d } 100 3、12 110 111 3、13 1 3、14 200 3、15 x<=y 3、16 TRUE 3、19 2 1 4 3、20 -40 40 Chapter 4 4、1 ×√√√√√××√√√× 4、2 %hd %x ctype、h %l %*d [^] blank 6 - %e 4、4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c); (c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c);

4、5 (a)10x1、230000 (b)1234x 1、23 (c)1234 456、000000 (d) “123、40 ” (e) 1020 1222(乱码) 4、7 (a)1988 x (b)乱码 (c)120 乱码 (d)乱码 x 4、8 (a)1275 -23 5、740000 (b) 1275 -235、740000 (c) 0 0、000000 (d) 1275xxxx-235、74 (e)Cambridge (f)1275 Cambridge 4、10 1988 无无 Chapter 5 5、1 √×√××××××√ 5、2 && switch break if-else x=y 5、4 (a)x = 2; y = 0; (b) x = 1; y = 0; 5、5 (a) if (grade <= 59) if (grade >= 50) second = second + 1; (b) if (number > 100) printf(“out of range”); else if (number < 0) printf(“out of range”); else sum = sum + number; (c) if (T > 200) printf(“admitted”); else if (M > 60) {if (M > 60) printf(“admitted”);} else printf(“not admitted”); 5、6 F T F T 5、8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0) (c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5) 5、9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1 (c) x = 5; y = 0; z =0 (d) 无变化 5、10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0; 5、12 8 5、13 Delhi Bangalore END 5、14 2 4 4 8 5、15 0 0 2 5、16 25 5、17 Number is negative 5、18 ABC

软件工程课程设计指导书

软件工程课程设计指导书 作者:周兵 软件工程课程设计是为了加强和巩固软件工程这门学科知识及技能的学习而开设的,它是一门实践性的课程,上机实验是其主要的环节。本实验指导书是帮助同学们进行上机实验而制订的。 一、实验目的: 1.能按照软件工程的思想,采用面向对象的方法开发出一个小型软件系统。 2.在此过程中,能综合利用以前所学习的专业知识。 3.加深对软件工程这门学科知识的理解,并掌握其基本的技能及方法,培养良好的软件开发素养。 二、面向专业:计算机科学与技术 三、先修课程:一门计算机高级语言、C++语言、数据库系统概论 四、上机学时数:10学时 五、实验环境 1.单机模式 操作系统:Windows 开发工具:C++ Builder 6.0、Access 2000 六、课程设计的基本要求 1. 基本了解和掌握面向对象的开发的过程与方法。 2. 基本能够完成所要求的系统。 3. 报告文档符合具体要求。 七、设计内容 题目:选课系统 1.说明:本设计选择广大学生最熟悉的选课系统最为设计任务,便于同学联系实际,学以至用。但限于具体条件和时间的限制,宜采用C++ Builder 6.0、Access 2000。 2.具体要求: 1)数据要求 所存储和查询的数据要符合本学校的具体情况,所涉及的字段至少应包括(名称可 以不同):学生姓名、学号、登陆密码、性别、出生年月、籍贯、地址、学生电话、家庭地址、教师号、教师姓名、教研室、职称、性别、教师电话、课名、课号、学 分、先行课号、课时、开课教室、人数限制、选课人数、考试成绩、平时成绩、总 评成绩。 2)功能要求 功能至少应有:等录、查询开课情况、查询选课情况、查询成绩、选课、退课等。 3)设计要求 整个系统的开发过程及方法应符合软件工程的要求,软件能够正常运行。 八、报告

C语言程序设计第四版第七章答案-谭浩强

第七章函数 7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 maxyueshu(m,n) int m,n; { int i=1,t; for(;i<=m&&i<=n;i++) {if(m%i==0&&n%i==0) t=i; } return(t); } minbeishu(m,n) int m,n; {int j; if(m>=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); return j; } main() {int a,b,max,min; printf("enter two number is: "); scanf("%d,%d",&a,&b); max=maxyueshu(a,b); min=minbeishu(a,b); printf("max=%d,min=%d\n",max,min); } 7.2求方程的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 #include"math.h" float yishigen(m,n,k) float m,n,k; {float x1,x2; x1=(-n+sqrt(k))/(2*m); x2=(-n-sqrt(k))/(2*m); printf("two shigen is x1=%.3f and x2=%.3f\n",x1,x2); } float denggen(m,n) float m,n; {float x; x=-n/(2*m); printf("denggen is x=%.3f\n",x); }

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

机械制图课程设计指导书(新稿)

机械制图课程设计指导书 (修订版) 第一章工程图学课程设计教学大纲 第二章单级直齿圆柱减速器 第三章设计及绘制装配图的步骤 第四章主要零件“底座”、“齿轮轴”和“大端盖”的测绘和草图绘制 第五章由零件图拼装装配图 第六章设计说明书的书写格式 第七章PPT演讲稿的内容、格式及主要制作方法简介第八章用Photoshop软件作简单的图像处理

第一章工程图学课程设计总纲 一.目的和任务 1.课程设计的目的 《工程图学》课程设计,可以说是机械大类的学生所面对的第一个专业性课程设计。本次课程设计以一个“单级直齿圆柱齿轮”为主题、以集中强化计算机辅助绘图软件为手段,不仅要使学生学会应用《工程图学》课程教学所学到的知识,熟练地使用CAD设计软件绘制出减速器的装配图和主要零件的零件图、对所有零件和装配体进行三维建模和拼装,更重要的是通过本次课程设计,能使学生初步了解课程设计的一般过程,撰写设计说明书并制作答辩演讲稿,为后续课程设计打上一个良好的基础。因此,通过工程图学课程设计,在下述各方面得到锻炼: (1)能熟练运用工程图学课程中的知识和CAD软件的强化训练,正确地快速地使用CAD设计软件绘制零件图和装配图,并进行零件和装配体的三维建模。 (2)通过本次也是第一次专业性课程设计,了解课程设计的全过程,学会撰写设计说明书(包括书写格式、图文排版以及必要的图形图像处理),制作答辩演讲稿。 2.课程设计的任务 机器(部件)的装配图既是表达设计机器总体结构意图的图样,也是制造、装配机器及绘制零件工作图的技术依据。因此,绘制装配图是机器设计过程中的重要环节,必须综合考虑多方面的要求,采用“边绘图、边设计、边修改”的方法逐步完成。 机器(部件)的装配图的设计绘制过程比较复杂,限于课程设计的时间,本次设计要求每位同学完成如下任务: 1. 电子文档一份,每人一个文件夹(命名方式为“班级学号姓名”)。交科代表集中制成光盘。 电子文件夹中的内容为: (1)底座零件图1张(设置A2图幅574×400); (2)单级齿轮减速器装配图1张(设置A1图幅821×574); (3)三维装配体1个; (4)设计说明书1份(word); (5)演讲稿1份(ppt.) 2. 纸质材料(装入资料袋) (1)装配示意图1张(手工或CAD抄画并打印) (2)零件图3张(底座零件图1张,CAD绘制并缩小打印为A3图幅;手工绘制的轴和大端盖零件图各1张(A4图幅)); (3)单级齿轮减速器装配图1张(CAD绘制并缩小打印为A2图幅) (4)设计任务书1份 (5)设计说明书1份

C语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F 2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

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