当前位置:文档之家› C语言程序设计报告材料

C语言程序设计报告材料

C语言程序设计报告材料
C语言程序设计报告材料

江西科技师范大学

C语言程序设计报告

题目:ATM机操作系统的简单开发姓名:唐智德

学号:20132195

专业:计师1班

指导老师:郑睿颖

2013.4.11

目录

一,需求分析

二,设计思路

三,详细设计

1.功能关系图

2.函数的主要关系图

四,调试分析与编程心得体会五,用户手册

六,源程序代码

一,需求分析

1.设计一个模拟自动取款机AT M,有常用的功能。

2.主要功能:取款,查询余额,存款等。

3.程序执行的命令包括:(1)进入主目录界面(2)执行取款,查询余额,修改密码,存款等功(3)结束退出程序。二,设计思路

设计一个常用的自动取款机,要包括常见的功能:查询余额,修改密码,存款等。先要进入主目录界面,所以要写一个主目录函数。然后每一个功能分别用一个函数来实现,最后用一个结束函数来结束用户的操作。

二,详细设计

1.功能模块图

2.

程序流程图

四,调试分析与编程心得体会1.调试分析

(1)开始界面

(2)用户登录

(3)菜单

(4)取款

(5)存款

(6)余额查询

2.小结

在这3个星期里,我们在老师的带领下进行了C语言程序实践。在这之前,我们已经对c 语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。在这次实践中,我加深了对课堂讲授内容的理解,熟悉了程序开发环境、学习计算机系统的操作方法,并学会了上机调试程序。

六,源程序代码

#include"stdio.h"//头文件

#include"stdlib.h"

#include"string.h"

#define money 5000.00//定义金额为5000

void main()

{

int select,i;

char str1[]="123456";//定义密码为123456

char str2[6];

printf("请输入密码:");

scanf("%s",&str2);

for(i=1;i<=3;i++)

if(strcmp(str1,str2)==0)

{

system("cls");//清屏

printf("\n\n");

printf("\t\t\t 请选择您所需的服务:\n");

loop:

printf("\n\n");

printf("\t==================================\n");//菜单printf("\t| | |\n");

printf("\t|查询:1 | 存款:3|\n");

printf("\t|------------ |-----------------|\n");

printf("\t|取款:2 | 退出:4|\n");

printf("\t| | |\n");

printf("\t==================================\n");

printf("\n\t请选择功能:\n");

scanf("%d",&select);}

else

{

printf("密码错误,请重新输入!\n");

scanf("%s",&str2);

}

printf("密码错误3次,已不能使用!!\n");

switch(select)

{

case 1:

system("cls");

printf("\n\n\n\n\t\t\t\t显示卡内余额$%.2f元\n\n\n\n",money); //显示金额,取两位小数

system("pause");

system("cls");

goto loop;

break;

case 2:

int select;

system("cls");

printf("\n\n\n\t\t\t请选择金额:");//选择取款金额

printf("\n\n");

printf("\t==================================\n");

printf("\t\t|$100 :1|\n");

printf("\t|------------ |-----------------|\n");

printf("\t\t|$300 :2|\n");

printf("\t|------------ |-----------------|\n");

printf("\t\t|$1000 :3|\n");

printf("\t|------------ |-----------------|\n");

printf("\t\t|$2000 :4|\n");

printf("\t==================================\n");

printf("\t\t请选择:\n");

scanf("%d",&select);

switch(select)

{

case 1:

printf("\n\n\\n\t您取了$100元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-100);break;

case 2:

printf("\n\n\\n\t您取了$300元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-300);break;

case 3:

printf("\n\n\\n\t您取了$1000元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-1000);break;

printf("\n\n\\n\t您取了$3000元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-3000);break;

default:printf("\n\n\t\t输入有误,请在1~4之间选择。\n\t\t\t");

}

system("pause");

system("cls");

goto loop;

break;

case 3:

float x;

printf("\n\n\n\t\t\t请输入存款金额:\n");

printf("\t\t\t\t [ ]\b\b\b\b\b");

scanf("%f",&x);

printf("\n\n\n\t\t\t正在交易请稍后...:\n");

system("pause");

system("cls");

printf("\n\n\n\n\t\t存款成功!您的余额为:%2.f\n\n\n\n",money+x);

system("pause");

system("cls");

goto loop;

break;

system("cls");

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

printf("\t\t\t 谢谢你的使用\t\t\n");

printf("\t\t\t THANKS \t ");

printf("\n\n");

break;

}

}

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);

汇编语言程序设计报告

实验一: 一、实验目的: 1. 学习汇编语言源程序的编辑、汇编、连接、运行全过程。 2. 了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。 3. 掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。 4. 掌握DOS系统功能调用的基本方法。 二、实验原理 通过调用(INT 21H)表中的01h号功能号从键盘输入一个字符并回显到视频显示器上 三、实验内容及算法流程、源程序清单 实验内容:编写程序,从键盘输入一个字符并回显到视频显示器上。 源程序清单: 实验1.asm 实验1.obj 实验1.exe code segment assume cs:code start: mov ah,1 int 21h mov ah,4ch int 21h code ends end start 实验二:编写程序,显示一个字符Q 一、实验目的 1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。 2、了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。 3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。 4、掌握DOS系统功能调用的基本方法。 二、实验原理 通过调用(INT 21H)表中的02h号功能显示输出一个字符Y。

三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释) 实验内容: 编写程序,显示输出一个字符Q。 源程序清单: 实验2.asm 实验2.obj 实验2.exe code segment assume cs:code start: mov ah,02 mov dl,'Q' int 21h mov ah,4ch int 21h code ends end start 实验三:编写程序,在屏幕上显示输出“I love DOTA” 一、实验目的 1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。 2、了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。 3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。 4、掌握DOS系统功能调用的基本方法。 二、实验原理 考察通过调用(INT 21H)表中的0ah号功能显示输出字符串 三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释) 实验内容: 编写程序,在屏幕上显示输出‘I love DOTA。 源程序清单: 实验3.asm 实验3.obj 实验3.exe data segment buf db 'I love DOTA.$'

C语言程序设计报告

河南理工大学万方科技学院 C语言课程设计报告题目简单计算器编程 姓名何美美 学号072130026 专业07通信 班级一班 指导教师董玉杰 2008年09 月05日

目录 一、设计目的 (1) 二、本组课题及本人任务 (2) 三、主体内容 (3) (1)流程图 (2)源程序 (3)上机调试 (4)实验结果 四、设计体会 (6)

设计目的 1 复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3 培养学生在项目开发中团队合作精神、创新意识及能力 本组课题及本人任务 1 设计一个简单计算器能完成基本的加、减、乘、除计算,尽量模仿Windows计算器。系统界面不做强制要求。 2在本次设计中,由何永美、刘艳玲、贺清隆三人共同完成,由于知识掌握不牢,因此每一步都要共同商量,其中源程序由我们参考大量资料而成。 3本人负责程序调试及其他有关工作。

流程图主要内容 简单计算器

程序代码如下: /*代码文件名:E4_6.C*/ /*计算器的模拟*/ #include #include double add (double a,double b) {return a+b;} double sub (double a,double b) {return a-b;} double multi(double a,double b) {return a*b;} double divis(double a,double b) {return a/b;} Void main() { double x,y; int select; printf("input two numbers:"); scanf("%lf,%lf",&x,&y); printf("1------add\n"); printf("2------sub\n"); printf("3------multi\n");

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

【报告】汇编语言程序设计报告

【关键字】报告 汇编语言程序设计报告 计算机学院 2011/6/7 题目要求 分支程序设计: 1、编写程序,键入学生成绩(百分制),按A、B、C、D显示在屏幕上。 子程序设计: 2、给定一个数组存放5个小写字母,用地址表传递方法编写子程序,将其 转换成大写字母,并显示在屏幕上。 循环程序设计: 3、设有一段文字,编写一段程序查找字母a出现的次数,并显示在屏幕上。 DOS功能调用: 4、在图形方式下,在屏幕中央绘制一个用“*”表示的等腰三角形。 5、编写一个生成ASCII码表的程序,并显示在屏幕上。 6、根据提示输入任意年份,编写判断闰年的程序,如果是闰年, 则在屏幕上显示“Y”,否则显示“N”。 7、显示杨辉三角形。要求: (1)从键盘接收正整数n; (2)屏幕显示杨辉三角形,显示n行信息; 编程思路: 1. 在数据段设置提示信息,成绩ABCD的显示信息,并预留空间。 利用DOS中断,取得输入的字符,输入字符的ASCII值在30H-39H之间为‘0-9’,不是则报错,值存入SCORE中,将SCORE的高位分别与9,8,7,6相比, 跳转到设置好的代码区,输出对应成绩(A,B,C,D).若为3位数,则跳到A区,输出A. 2. 在数据段设置ADDRESS存放数据偏移量和COUNT计数器 利用DOS中断,取得输入的字符串存入DX中,偏移量存入STRING,并存入ADDRESS中。COUNT存入ADDRESS+2地址中,调用子程序TURN,利用SI指针与ADDRESS配合将每个字母由大写转为小写。 3. 在数据段设置STRING用于存放键盘输入字符,COUNT存放字符个数,利用DOS中断,输入字符串存入STRING.编写CHECK模块用于检查输入的字符是否为a,循环执行CHECK模块,为a 则BL+1,不为a,SI+1继续检查,直至CX=0,最后输出结果。 4. 堆栈段预留128字节空间存放*.设置SI控制空格数,BX为输出*个数.设置3层循环,分别输出空格数,*数,回车.首先将保护CX行数,将其压入栈中,外层循环按CX列数,输出每行之前的空格数,之后根据BX输出*,此时一行输入完,输出回车换行后,BX+2即*数+2, CX出栈,加入外循环,输出下一行信息。 5. 初始化时设置行列数,第一个字符的ASCII值,设置两层循环,首先CX入栈保护输出行数,外层循环控制输出行数,内循环输出列个数对应的字符数,将要输入的字符存入DL,每输出完一次DL+1,SI值即列数给CX,当CX=0时,输出回车换行,CX出栈,加入外循环准备下

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

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.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H +

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

c语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013—2014学年第3学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号:1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。

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

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.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. 函数可以带参数,也可以不带参数。

c语言程序设计题目及答案

一、程序设计共113 题第1 题题 号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i #include #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;jpp[j]) pp[j]=tt[i][j]; } 第3 题题号:375 功能:从键盘上输入任意实数, 求出其所对应的函数值。 z=e 的x 次幂( x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4 题题号:334 功能:求给定正整数n 以内的素数之积。( n<28) #include #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k #include"conio.h" void wwjt(); long int fun(int n) { long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; } 第6 题题号:50 功能:求出菲波那契数列的前一项与后一项之比的极限的 近似值例如:当误差为0.0001 时,函数值为0.618056 。 #include #include "math.h" void wwjt(); float fun() { float f1=1,f2=1,f3; float r1=2,r2; do {r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3; }while(fabs(r1-r2)>1e-4); return r1; } 第7 题题号:394 功能:产生20个[30,120] 上的随机整数放入二维数组 a[5][4] 中, 求其中的最小值。 #include "stdlib.h" #include void wwjt(); int amin(int a[5][4]) { int i,j,s; s=a[0][0];

《汇编语言程序设计》学习心得自主学习报告.doc

自主学习报告书 题目:学习汇编语言程序设计报告学习课程:《汇编语言程序设计》姓名: 专业: 学号: 福建工程学院国脉信息学院教务处制 二○一二年六月

学习汇编语言程序设计报告书 由于实际工作中对汇编语言程序设计应用较多,在业余时间我自主学习了北京大学出版社出版的《汇编语言程序设计》一书。这一本书介绍了80x86汇编语言程序设计的方法和技术,共分为两个部分:第一部分介绍80x86cpu的编程结构,汇编语言程序的格式和伪指令,80x86cpu的寻址方式和指令系统;第二部分深入讨论分支程序、循环程序、子程序基本程序设计方法,以及以中断为主的i/o程序设计,其中包括宏指令、多模块连接技术、汇编语言与高级语言的混合编程、dos和bios提供的常用中断调用,以及文件系统等内容。 通过本书,我深入的掌握了汇编语言的编程方法、思路和技巧,并对计算机的底层编程有一定认识;还对计算机底层运行程序的机制及计算机的工作原理有了深入的了解。 在学汇编的过程中,最重要的就是要掌握汇编语言中的指令的一些基本用法。当然要能够真正的了解其中的内涵,这样在实际的编程中也能够像运用高级语言一样灵活的变通。汇编语言作为一种低级程序设计语言,既然是低级所以应该是最底层的,与计算机内部的结构联系应该联系很密切,而且我在学习中也深刻的了解到了这一点。比如说后来学到的寄存器、中断、还要各种寻址方式以及进栈出栈,好多的就是设计到计算机硬件。前面几章都是对计算机内部结构和一些常用的指令以及寻址方式的寻址方式。到后面学到子程序以及宏的作用才真正发现到其实跟高级语言差别不大。以C语言为例,C语言也

是由一个一个的函数组成的。没想到想汇编这样的低级语言也可以这样。在汇编语言的子程序和宏中,我个人更感觉宏的运用更像我们高级语言的子函数,通过定义好的宏,我们在后面直接调用就可以了。尤其是宏带参数的宏跟C语言中带参数的函数真的很像,根据参数的不同调用宏就能得到不同的结果。而汇编中的子程序没有这个传递参数这个功能。在调用子程序的时候要注意各寄存器中的内容。子程序是在程序执行期间由主程序调用的,它只占有它自身大小的一个空间,他不仅是源程序级别简化,形成的目标代码较短;而宏调用则是在汇编期间展开的,每调用依次进把宏定义体展开一次,它是源程序级的简化。因而它占有的存储空间与调用次数有关,调用次数越多则占有的存储空间越大。如果宏调用次数较多的话,则其空间上的开销也是应该考虑的因素 汇编程序给人感觉最烦的就是好多程序的结果不能直接通过运行EXE文件显示出来,而更多的是经过DEBUG单步调试才能看到其内在变化,看是否正确。汇编程序不像其他的高级语言一样需要编译器,而是直接的就能在记事本上编写,然后进行汇编和连接就可以了。学习汇编调试,关键就是要掌握DEBUG的运用。汇编程序把汇编语言翻译成机器语言的过程称为汇编。是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。

c语言程序设计报告4

课程设计报告 课程名称C语言程序设计 课题名称运动会分数统计系统 专业机械设计及其自动化 班级1185班 学号201113090526 姓名谭信 指导教师王颖 2012年6月22日

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题运动会分数统计系统 专业班级机械设计1185 学生姓名谭信 学号201113090526 指导老师王颖 审批王颖 任务书下达日期2012年6月1日 任务完成日期2012年6月22日

现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。而C 语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

绪论 (1) 第一章需求分析 1.1程序的功能及要求 (5) 1.2系统的性能要求 (5) 1.3测试数据 (6) 第二章概要设计 2.1结构体 (6) 2.2主程序(main) (6) 2.3模块的功能 (6) 2.4程序模块机之间的调用关系 (7) 第三章详细设计 3.1宏定义 (8) 3.2数据类型定义 (8) 3.3函数之间的调用关系图 (8) 3.4算法设计 (9) 第四章调试分析 4.1不足之处 (10) 4.2错误规范 (10) 4.3算法的时空分析 (10) 4.4存在的问题 (10) 第五章测试结果 (11) 第六章用户使用手册 6.1运行环境 (12) 6.2用户界面 (12) 6.3操作过程 (13) 第七章参考文献 (14) 第八章设计体会 (15) 第九章附录 (17) 课程设计评分表 (29)

C语言程序设计试题及答案

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

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