第4章 键盘输入和屏幕输出

合集下载

键盘录入数据的转换与显示程序设计说明书

键盘录入数据的转换与显示程序设计说明书
INPUT2DB 0DH,0AH,'PLEASE IUPUT THE SECOND NUMBER FROM -9999 TO 9999!$';输入第二个数,在-9999 至 +9999范围
OUT_ASC_SUMDB 6 DUP(?),'$';将二个数的和转换为ASCII码后,放于此 处,以供9号调 用显示
DATAENDS
MOV AX,DATA
MOV DS,AX;设置DS
MOV DX,OFFSET INPUT1;取第一个输入数的首地址
MOV AH,09H
INT 21H;提示输入一个数
MOV DX,OFFSET IN_ASC_BUF
MOV AH,0AH
INT 21H;读取第一个数
MOV CX,3;设置次数
在程序得到正确的结果之前,会产生一些错误,只有经过调试阶段才能纠正程序中的错误,从而的到正确的结果。在程序编译过程中会提示语法错误,可再用编辑程序来修改源程序中的错误。当没有语法错误而得不到正确结果时,可用调试程序DEBUG来调试。它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
LOOP LP循环LP,读取出第一个数
模块二:输入第二个数
MOV B_BUF1,AX
MOV DX,OFFSET INPUT2;取第二个输入数的首地址
MOV AH,09H
INT 21H;提示输入二个数
MOV DX,OFFSET IN_ASC_BUF
MOV AH,0AH
INT 21H;读取第二个数
MOV CX,3;设置次数
ADD AX , BIN_BUF1;计算这二个数之和
CALL BIN_TO_ASCII;将和转换为ASCII码,以供显示用

高级C语言程序设计(高级免费版)

高级C语言程序设计(高级免费版)

1 文本的屏幕输出和键盘输入[问题的提出] 编制一个程序,将屏幕垂直平分成两个窗口,左边窗口为蓝色背景,白色前景,右边窗口为绿色背景,红色前景。

两个窗口都设计为文本输入,即在窗口中可以输入文字,在窗口屏幕中显示出来。

使用tab 键在左右两个窗口中切换,每个窗口都有光标,活动窗口光标进行闪烁。

[分析] 在这个问题中我们遇到了在初学C 时不曾接触到的新概念,如文本窗口、前景色、背景色,以及围绕它们要解决的新问题:(1)如何在屏幕中开文本输入的窗口?(2)如何设置窗口的前景色、背景色或闪烁等显示属性?(3)如何通过按键来控制窗口的切换?[解答] 要解决这一编程问题,要求有两方面的学习过程:一是对于分析中的前两个问题,要求大家了解有关文本的屏幕输出的知识;二是对于第3 个问题,要求对键盘的输入有所了解。

下面先就这两个方面的内容做一介绍。

1.1 文本的屏幕输出显示器的屏幕显示方式有两种:文本方式和图形方式。

文本方式就是显示文本的模式,它的显示单位是字符而不是图形方式下的象素,因而在屏幕上显示字符的位置坐标就用行和列表示。

Turbo C 的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。

这些函数的有关信息(如宏定义等)均包含在conio.h 头文件中,因此在用户程序中使用这些函数时,必须用include 将conio.h 包含进程序。

1) 文本窗口的定义Turbo C 默认定义的文本窗口为整个屏幕,共有80 列25 行的文本单元。

如图3-1 所示,规定整个屏幕的左上角坐标为(1,1),右下角坐标为(80,25),并规定沿水平方向为X 2轴,方向朝右;沿垂直方向为Y 轴,方向朝下。

每个单元包括一个字符和一个属性,字符即ASCII 码字符,属性规定该字符的颜色和强度。

除了这种默认的80 列25 行的文本显示方式外,还可由用户通过函数:void textmode(int newmode);来显式地设置Turbo C 支持的5 种文本显示方式。

什么是计算机的输入和输出设备常见的输入和输出设备有哪些

什么是计算机的输入和输出设备常见的输入和输出设备有哪些

什么是计算机的输入和输出设备常见的输入和输出设备有哪些计算机的输入和输出设备是与计算机进行信息交互的重要组成部分。

输入设备用于向计算机输入数据和指令,而输出设备用于将计算机处理后的结果显示或打印出来。

在计算机科学领域,有很多常见的输入和输出设备。

一、输入设备1. 键盘:键盘是最常见的输入设备之一,用于输入文字和命令。

它包含一组按键,用户可以通过敲击不同的按键来输入数据。

2. 鼠标:鼠标是另一种常见的输入设备,它通过移动指针和点击操作来与计算机交互。

用户可以通过鼠标在屏幕上选择、拖拽或点击对象。

3. 扫描仪:扫描仪可以将纸质文档或图片转换为数字形式,以便计算机进行处理。

它通过光学扫描或激光扫描的方式将图像转化为二进制数据。

4. 数字相机:数字相机将拍摄的照片转换为数字图像,可以通过连接到计算机或存储介质来将照片传输到计算机上。

5. 麦克风:麦克风是用于录制声音的设备,可以将声音转换为数字形式输入到计算机中。

它常用于音频录制或语音识别应用。

6. 触摸屏:触摸屏可以通过直接触摸屏幕来输入指令和数据。

它常用于智能手机、平板电脑和一些电脑设备上。

二、输出设备1. 显示器:显示器是最常见的输出设备,用于显示计算机处理后的图像和文字。

常见的显示器包括液晶显示器、LED显示器和CRT显示器等。

2. 打印机:打印机用于将计算机中的数据打印到纸张上,可以输出文字、图像和其他图形。

常见的打印机类型包括喷墨打印机、激光打印机和针式打印机。

3. 音频设备:音频设备包括耳机、音箱和扬声器等,用于输出计算机处理后的声音。

它们常用于音频播放、语音通讯和多媒体应用。

4. 投影仪:投影仪将计算机中的图像通过光学投影技术投射到投影屏上,实现大屏幕显示效果。

它常用于教育、商务演示和家庭影院等领域。

5. 绘图仪:绘图仪可以将计算机中的图形和图像输出到纸张上,常用于工程制图、设计和制造等专业领域。

6. 存储设备:存储设备如硬盘、光盘和USB闪存驱动器等,可以将计算机处理后的数据保存起来,供以后使用或传输到其他设备上。

与电脑沟通----输入、输出语句

与电脑沟通----输入、输出语句
3.键盘输入语句
一般格式INPUT[“提示信息”;]<变量表>
4.读入语句
一般格式:READ <变量表>DATA <数据表
5.恢复数据指针语句RESTORE
6.结束语句和暂停语句(1)END语句(2)STOP语句
作业设计
1、INPUT "a,b,c=";a,b,c
V=(a+b+c)/3
PRINT "average="; v
V=(a+b+c)/3
PRINT "average="; v
END
四、读入语句
1、格式:
READ <变量表>
DATA <数据表
例:READ a,b,c,
DATA 75,60,90
V=(a+b+c)/3
END2、说明:
(1)<数据表>中的数据个数不能少于<变量表>中的变量个数。
(2)DATA语句可放在程序的任何位置,可使用 多个DATA语句来存放数据,这时将按DATA语句的先后顺序,把数据放数据区。
(4)PRINT <....>,不换行(光标到下一区)
PRINT <....>;不换行(光标在输出项后)
PRINT <....>换行
PRINT空行
4、打印输出
LPRINT
其使用方法与PRINT相同
二、赋值语句
1、一般格式
[LET]<变量名>=<表达式>
LETa=100
LETa$="BOOK"
2、作用
END

C语言输入输出函数全解

C语言输入输出函数全解

文章1Turbo C2.0标准输入输出函数和文件的输入输出函数。

通过本节的学习可以使读者掌握Turbo C2.0的屏幕输出、键盘输入输出以及磁盘文件的读写函数1.1 标准输入输出函数1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入、输出函数printf( ) 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。

printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。

下面详细介绍这两个函数的用法。

一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

在编写程序时经常会用到此函数。

printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。

1. 格式化规定符Turbo C2.0提供的格式化规定符如下:━━━━━━━━━━━━━━━━━━━━━━━━━━符号作用──────────────────────────%d 十进制有符号整数%u 十进制无符号整数%f 浮点数%s 字符串%c 单个字符%p 指针的值%e 指数形式的浮点数%x, %X 无符号以十六进制表示的整数%0 无符号以八进制表示的整数%g 自动选择合适的表示法━━━━━━━━━━━━━━━━━━━━━━━━━━说明:(1). 可以在"%"和字母之间插进数字表示最大场宽。

c语言学习知识地4章课后题

c语言学习知识地4章课后题

一、第四章p56-58页的习题4.1—4.3。

4-1(1)分析并写出下列程序运行结果#include <stdio.h>main(){char c1='a',c2='b',c3='c'; /*定义三个字符*/printf("a%cb%cc%c\n",c1,c2,c3); /*格式化输出三个字符*/}结果:(2)#include <stdio.h>main(){int a=12,b=15;printf("a=%d%%,b=%d%%\n",a,b); /*格式化输出a=12%,b=15%*/}结果:(3)假设程序输入123456#include <stdio.h>main(){int a,b;scanf("%2d%*2s%2d",&a,&b); /*对输入的数取前两位赋给a,跳过长度为2 的字符串,再取两位数赋给b*/printf("%d,%d\n",a,b);}结果:4-2分析下面程序,请指出错误原因和程序错在哪里,并改正错误改正后:#include <stdio.h>main(){long a,b;float x,y;scanf("%ld,%ld",&a,&b);getchar();scanf("%5f,%5f",&x,&y);printf("a=%ld,b=%ld\n",a,b);printf("x=%f,y=%f\n",x,y);}错误分析:1、定义long 型,输入时要写成%ld ,输入时不能加入\n ,取址符号& 丢掉,scanf 函数中不.n,规定精度2、输出a,b对应为long型,输出格式符为%ld ,x,y对应为float型,输出格式为%f,%f3、在两个scanf() 函数中,输入4个数时,会在两个整数和两个浮点型数之间加入逗号,但加入逗号后,第二条scanf() 语句会认为逗号也为有效输入项,后面的浮点型数就不会被读入,所以要加入getchar() 函数将逗号吸收掉。

c语言输入和输出

c语言输入和输出
的方式提供,并存放在一个C标准函数库中。
每一个标准库都有一个相应的头文件,该头文件包含了该库中所 有函数的函数原型及其相关信息。在调用这些库函数时,要用预处理 命令“#include”将有关的“头文件”包括到用户源程序中。标准输入输出库 函数对应的头文件是“stdio.h”。stdio是standard input & output的
3.1 概述
通过终端输入(如键盘、鼠标等),也称为标准输入(standard input),直接向终端输出(如显示器、打印机等),也称为标准输出 (standard output)。
C语言本身没有提供输入输出语句,C语言中的所有I/O操作都是通过函 数调用来实现,而这些并非C语言一部分的输入输出函数均以目标级程序
int main()
{Байду номын сангаас
int *ptr;
/* 定义一个指针 */
scanf(“%[^\n]”, ptr);
printf(“ptr=%s\n”,ptr);
}
设输入为:
How are you!↙
程序输出为:
How are you!
C语言程序设计---第3章
17
第17页,共21页。
3.4.4 scanf()函数应用中两个最常见的问题
printf(“%s\n”,ptr);
}
设输入为:
How are you,John!↙ 程序输出为:
How are you
注:这是由于逗号作为不可接受字符,而作为
字符串的定界符. C语言程序设计---第3章
16
第16页,共21页。
/* 本程序可接收任意字符串的输入 */
#include<stdio.h>

微型计算机原理与接口技术第五版(中国科学技术大学出版社)第4章

微型计算机原理与接口技术第五版(中国科学技术大学出版社)第4章

(3)检验键盘状态 0BH功能调用:检验是否有键按下,若 有键按下AL=0FFH,若没有键按下,AL=0, 无论检测到是否有键按下,程序将继续执行 例 4-53 检测键盘工作,若用户未按键,程序 下一条指令。 循环执行,若用户按下任何键,程序转去调 用发声子程序。 LOOP:MOV AH,0BH INT 21H CMP AL,0FFH JNZ LOOP CALL SOUND
第四章 宏汇编语言程序设计 4-4 DOS系统功能调用和BIOS中断调用 此外, DOS还具有对I/O设备管理及磁盘 和所有的计算机一样,微型计算机的硬 DOS向用户提供了许多命令及系统功能, 表4-6 DOS常用的软中断命令 与文件管理的功能,它们一部分被固化在系 表4-6 列出了DOS常用的软中断指令,主 件环境必须在操作系统的管理下,才能进行 其中命令有内部命令,如 DIR,TYPE,CD 软中断指令 功能 入口参数 出口参数 统的 ROM 中,可作为 ROM BIOS模块。另一 要有 INT 20H ~INT 2FH 。调用这些软件中断 工作。缺少操作系统的计算机,即所谓裸机, 等,用户可以在 DOS 提示符下键入这些命令 INT 20H 程序正常退出 部分存放在系统磁盘上,在系统启动时被装 时,只要给定入口参数,接着写一条中断指 是一个无生命的壳体。微机上所配的磁盘操 来使用。另外有外部命令,如 PRINT、 INT 21H 系统功能调用 AH=功能号 入内存,用户的应用程序及 MS-DOS 的大部分 令 INT n 就可以了。 作系统( XCOPY 、 Disk FORMAT Operating 等,用户也可以键入它们 System )简称 DOS或 INT 22H 结束退出 命令都将通过软件中断来调用它们。 MS-DOS 的名称由磁盘调入内存执行。 INT 23H 。 Ctrl-Break处理
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


16/36
【例4.3】计算圆的周长和面积
#include <stdio.h> main() { const double pi = 3.14159; double r, circum, area; printf("Input r:"); scanf("%lf", &r); circum = 2 * pi * r; area = pi * r * r; printf("printf WITHOUT width or precision specifications:\n"); printf("circumference = %f, area = %f\n", circum, area); printf("printf WITH width and precision specifications:\n"); printf("circumference = %7.2f, area = %7.2f\n", circum, area); }
29/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b;
scanf("%d %*c %d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题6:设计程序使得用户可以以任意字符(回车、空格、 制表符、逗号、其他字符)作为分隔符进行数据的输入

5/36
4.1.1 字符常量(续)
表4-1 常用的转义字符来自6/364.1.1 字符常量(续)
字符型变量的取值范围取决于计算机系统所使 用的字符集。 目前计算上广泛使用的字符集是ASCII码(美 国标准信息交换码)字符集。该字符集规定了 每个字符所对应的编码,即在字符序列中的“ 序号”。 也就是说,每个字符都有一个等价的整型值与 其相对应,这个整型值就是该字符的ASCII码 。例如:字符‘A’的ASCII码为65。 从这个意义上讲,可将char型看成是一种特 殊的int型。
31/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b;
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题8:如果用户输入了非法字符,例如输入了12 那么程序运行结果如何? 12 3a↙ 3a,

23/36
举例:利用*跳过一个输入项
#include <stdio.h> main() { int a, b;
跳过一个输入项
printf("Please input a and b:"); scanf("%2d%*2d%2d", &a, &b); printf("a=%d, b=%d, a+b=%d\n",a,b,a+b); } Please input a and b: 123456↙ a=12, b=56, a+b = 68

举例:
scanf(格式控制字符串, 地址列表);
scanf("%d,%f", &a, &b);
21/36
2. 函数scanf()中的格式修饰符

与printf()类似,在函数scanf()的%和格 式符之间也可以插入如表4-5所示的格式修饰 符。

表4-5 函数scanf()的格式修饰符
22/36
第4章 键盘输入 和屏幕输出
本章学习内容
字符常量与转义字符 字符输出函数putchar() 字符输入函数getchar() 数据的格式化输出函数printf() 数据的格式化输入函数scanf()
2/36
第4章 键盘输入和屏幕输出
4.1 单个字符的输入/输出 4.2 数据的格式化屏幕输出 4.3 数据的格式化键盘输入
17/36
第4章 键盘输入和屏幕输出
4.1 单个字符的输入/输出 4.2 数据的格式化屏幕输出 4.3 数据的格式化键盘输入

18/36
1. 函数scanf()的一般格式
一般格式 scanf(格式控制字符串,参数地址表) 其中,格式控制字符串是用双引号括起来的字 符串,它包括格式转换说明符和分隔符两个部 分。 格式说明符通常由%开始,并以一个格式字符 结束,用于指定各参数的输入格式。
24/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b;
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题1:当要求程序输出结果为 a = 12, b = 34 时,用户应该如何输入数据?

4.1.2 字符的输入/输出
getchar()和putchar()是C标准函数库中 专门用于字符输入/输出的函数。 函数putchar()的作用是把一个字符输出到 屏幕的当前光标位置。 函数getchar()的作用是从系统隐含指定的 输入设计输入一个字符,按回车表示输入结束 ,读入的字符会自动被回显到屏幕上。

14/36
1.函数printf()的一般格式(续)

举例:
printf(格式控制字符串, 输出项列表); printf("a=%d b=%f", a, b);
函数名 普通 字符

格式 说明
可选输 出列表
可以输出若干任意类型的数据
15/36
2.函数printf()中的格式修饰符

在函数printf()的格式说明中,可在%和格 式符中间插入如表4-3所示的格式修饰符,用 于对输出格式进行微调,如指定输出数据域宽 、显示精度、左对齐等。 表4-3函数printf()的格式修饰符
2. 函数scanf()中的格式修饰符(续)
在用函数scanf()输入数值型数据时,遇到以 下几种情况都认为数据输入结束: (1)遇空格符、回车符、制表符(Tab); (2)达到输出域宽; (3)遇非法字符输入。 注意:如果scanf()的格式字符串中存在除格式 说明以外的其他字符,那么这些字符必须在输入 数据时由用户从键盘原样输入。

表4-4函数scanf()的格式转换说明
19/36
1. 函数scanf()的一般格式(续)

参数地址表是由若干变量的地址组成的列表, 这些参数之间用逗号分隔。 函数scanf()要求必须指定用来接收数据的变 量的地址,否则数据不能正确读入指定的内存 单元。

20/36
1. 函数scanf()的一般格式(续)
a = 12, b = 3
32/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b;
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题9:如果用户输入的是123a,那么结果又会如何呢?
30/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b;
scanf("%d%*2d%d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题7:输入123456时程序的输出结果是什么?
a = 12, b = 56
28/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b; scanf("%d %d", &a, &b); == \"%d\" printf("a = \"%d\" %d , ,b b %d \n", a, b); } 问题5:限定用户输入数据为以下格式 12↙ 34↙ 同时要求程序输出结果为a = "12" ,b = "34"

3/36
4.1.1 字符常量
C中的字符常量是用单引号括起来的一个字符 。 例如,‘a’是字符常量,而a则是一个标识符 。再如,‘3’表示一个字符常量,而3则表示 一个整数。

4/36
4.1.1 字符常量(续)
把字符放在一对单引号里的做法,适用于多数 可打印字符,但不适用于某些控制字符(如回 车、换行符等)。 因此,C语言引入了另外一种特殊形式的字符 常量—转义字符。它是以反斜线(\)开头的字 符序列,它有特殊的含义,用于描述特定的控 制字符。 作为字符使用时,同样要放到一对单引号内。
a = 12, b = 34↙
27/36
输入数据的格式控制——例4.4
#include <stdio.h> main() { int a, b; %2d%2d scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b); } 问题4:限定用户输入数据为以下格式 1234↙ 同时要求程序输出结果为a = 12, b = 34
4.1 单个字符的输入/输出 4.2 数据的格式化屏幕输出 4.3 数据的格式化键盘输入
相关文档
最新文档