顺序程序设计和基本输入输出
字符及字符串输入输出与顺序程序设计实验报告

字符及字符串输入输出与顺序程序设计实验实验报告2.2.1 实验目的1、学习和掌握字符及字符串的输入输出方法。
2、掌握顺序程序的设计方法。
3、进一步掌握调试工具的使用方法。
2.2.2 实验预习要求1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。
2、复习BCD码运算调整指令。
3、根据“2.2.3 实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。
4、从“2.2.4 实验习题”中任选一道题目,编写源程序,以便上机调试。
2.2.3实验内容从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。
1、问题分析比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。
由于数字0 9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。
综上所述,需要考虑以下问题。
(1)从键盘输入一个一位十进制数的方法通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:MOV AH, 01HINT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中SUB AL, 30H ;减去30H后得到键入数字所代表的数值(2)提示信息字符串的显示通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为’$’。
计算机二级 C语言第四章-第五章

逻辑或
逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
C语言程序设计
第五章 选择结构程序设计
逻辑运算真值表
a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),
优先次序:高(2) 结合方向:从右向左 (11) 从左向右
4.00, c=
6.00 s=
6.50
C语言程序设计
第四章 顺序程序设计
例4.11 从键盘输入大写字母,用小写字母输出
#include "stdio.h" void main() { char c1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
第五章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年
判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0
Python程序设计实验报告二顺序结构程序设计

Python程序设计实验报告二顺序结构程序设计Python程序设计实验报告二:顺序结构程序设计一、实验目的本实验旨在通过编写Python程序,熟悉和掌握顺序结构程序设计的基本方法和技巧,加深对变量、表达式、数据类型以及基本输入输出的理解。
二、实验内容本次实验要求编写一个Python程序,实现以下功能:1. 提示用户输入一个年份,并将其存储到一个变量中。
2. 根据给定年份,计算该年份是否为闰年,并将计算结果存储到一个变量中。
3. 提示用户输入一个月份,并将其存储到一个变量中。
4. 根据给定月份,计算该月份有多少天,并将计算结果存储到一个变量中。
5. 输出计算结果,告诉用户给定年份是否为闰年,以及给定月份有多少天。
三、实验步骤下面是程序的详细步骤:1. 使用input函数提示用户输入一个年份,并将用户输入的值存储到一个名为year的变量中。
2. 根据闰年的定义,判断年份是否为闰年。
判断的条件是:年份能够被4整除但不能被100整除,或者能够被400整除。
如果年份是闰年,则将一个名为is_leap_year的变量设为True,否则设为False。
3. 使用input函数提示用户输入一个月份,并将用户输入的值存储到一个名为month的变量中。
4. 使用if语句判断月份,根据月份的不同,设置一个名为days的变量,表示给定月份的天数。
根据不同的情况,设置不同的值。
5. 使用print函数输出计算结果,告诉用户给定年份是否为闰年以及给定月份有多少天。
输出的格式为:“给定的年份XX是闰年/不是闰年,给定的月份XX有XX天。
”四、实验代码下面是按照顺序结构程序设计的要求,编写的Python程序:```# 提示用户输入年份year = int(input("请输入一个年份:"))# 判断年份是否为闰年if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:is_leap_year = Trueelse:is_leap_year = False# 提示用户输入月份month = int(input("请输入一个月份:"))# 根据月份计算天数if month in [1, 3, 5, 7, 8, 10, 12]:days = 31elif month == 2:if is_leap_year:days = 29else:days = 28else:days = 30# 输出计算结果print("给定的年份", year, "是闰年" if is_leap_year else "不是闰年", ",给定的月份", month, "有", days, "天。
数据的输入和输出及顺序结构程序设计

一、格式化输出
格式: 格式控制串” 输出项列表) 格式:printf(“格式控制串”,输出项列表 格式控制串 功能: 功能:按指定格式向显示器输出数据
一、格式化输出
例ch4_001 main() {int a; 输出变量的值 float b; char c; a=12; b=123.456; c='d'; printf(“a=%d,b=%f,c=%c",a,b,c); }
一、格式化输出
例ch4_002 main() {int a=4; float b=2; char c=‘a’; printf("a=%5d,b=%5.1f,c=%5c\n",a,b,c); printf("a=%-5d,b=%-5.1f,c=%-5c\n",a,b,c); } %[修饰符 格式字符 修饰符]格式字符 修饰符 格式字符: 修饰符常用的有:整数、 、 、 (小写字母) 修饰符常用的有:整数、-、 +、l(小写字母) %ld.表示输出十进制长整型 表示输出十进制长整型 %lf:表示按 型输出。 :表示按double型输出。 型输出 %-5d,表示输出整数占 个字符宽,左对齐。 表示输出整数占5个字符宽 表示输出整数占 个字符宽,左对齐。 %+d,表示在整数前加 号 表示在整数前加+号 表示在整数前加
运行结果:A B 注意 :putchar()函数本身没有换行 的功 能!
字符的输入和输出
/*ch4_010.c*/ #include <stdio.h> void main() { int c; printf("Enter a character:"); c=getchar(); printf("%c--->hex%x\n",c,c); }
总结顺序控制设计法的编程方法。

总结顺序控制设计法的编程方法。
顺序控制设计法是一种编程方法,它类似于烘焙蛋糕的过程——每个步骤按照特定的顺序完成,最终形成一个完整的蛋糕。
在编程中,顺序控制设计法非常实用,因为它能够确保每个步骤都按照正确的顺序执行,最终生成正确的输出结果。
下面是一些顺序控制设计法的编程方法:1. 定义目标:在开始编程之前,要明确自己的目标是什么。
这样可以帮助我们理解需要如何分解问题,以及需要哪些步骤和顺序执行这些步骤。
2. 设计输入与输出:设计程序的输入和输出格式。
这有助于我们明确需要哪些输入和输出,并确保它们符合实际需求。
3. 分解任务:将任务分解成小而可控的部分,例如,创建函数和子程序,以实现代码的复用。
这样可以简化复杂问题,并使编程更加有效。
4. 确定执行顺序:确定各个部分的顺序,如何组合它们以实现我们所需的结果。
这有助于我们对整个问题进行建模,找到最佳解决方案,并确保步骤以正确的顺序执行。
5. 编写代码:基于以上步骤,编写代码以实现程序的功能。
要测试代码是否按照正确的顺序执行,并检查是否存在任何错误和漏洞。
6. 调试程序:测试程序是一个很关键的步骤。
这有助于我们找到错误和漏洞,并确保程序在各种情况下都能够工作得很好。
7. 优化程序:在完成编码和调试之后,可以进一步优化程序。
例如,优化算法、改进代码、加速程序等。
这有助于提高程序性能和效率。
尽管顺序控制设计法看起来很简单,但它是编写高效和可靠程序的关键步骤。
遵循上述步骤可以帮助我们更有效地开发程序,确保代码能够按照正确的顺序执行,同时尽可能地减少错误和漏洞的出现。
第三章 输入输出函数与顺序结构程序设计

3.1格式化输出函数printf( )
案例3-1 计算三个学生的平均成绩 存放三个学生的考试成绩 显示三个学生的成绩 计算平均分后显示该信息
程序代码
/*代码文件名:code3_1.c*/ #include <stdio.h> main() { int score1=12,score2=23,score3=25; /*定义并初始化三个学生成绩 */ float avg; /*输出三个学生成绩*/ printf("score1=%d, score2=%d, score3=%d\n", score1, score2, score3); avg=( score1+ score2+ score3)/3.0;/*计算平均分*/ printf("平均分avg=%f\n",avg); /*输出平均分*/ }
非格式字符
如果格式控制串中有非格式字符则输入时也要 输入该非格式字符。 例如: scanf("%d,%d,%d",&a,&b,&c); 其中用非格式符“ , ”作间隔符,故输入 时应为: 5,6,7 又如: scanf("a=%d,b=%d,c=%d",&a,&b,&c); 则输入应为: a=5,b=6,c=7
尽量不要在输出语句中改变输出变量的值,因 为可能会造成输出结果的不确定性。例如:int k=8;printf(“%d,%d\n”,k,++k);输出结果不是8, 9,而是9,9。这是因为调用函数printf时,其 参数是从右至左进行处理的,将先进行++k运 算。 输出数据时的域宽可以改变。若变量m、n、i 和f都已正确定义并赋值,则语句 printf(%*.*f,m.n,f);将按照m和n指定的域宽 输出浮点型变量f的值,并不输出m、n的值。
第04章基本输入输出和顺序程序设计

第04章基本输入、输出和顺序程序设计1.填空题(1)在C语言中,格式化输入库函数为 ,格式化输出库函数为 .(2)printf函数中的格式控制字符串的作用是 ,它包含两类字符,即和 .(3)格式转换符中,除了以外,其他均为小写字母.(4)getche函数和getch函数在功能上的主要区别是 .(5)在输入数据类型和字符类型的两个scanf函数调用之间通常要使用库函数以清楚键盘缓冲区中的字符.(6)算法是 .(7)算法的描述方法有、、、和PAD图等。
(8)任何复杂的程序都可以由、和这三种基本结构组成。
2.选择题(1)在16位C编辑系统上,下列程序执行后的输出结果是()。
void main (){ int a = -32769; printf (“%8U\n”,a); }A.32769 B.8U C.32767 D.-32767(2)下面程序段执行后的输出结果是()。
(“□”表示一个空格)int a = 3366;printf (“∣%-08d∣”,a);A.∣-0003366∣ B. ∣00003366∣ C. ∣3366□□□□∣ D. 输出格式非法(3)以下程序的输出结果是()。
void main (){printf (“s1 = ∣%15s∣ s2 = ∣%-5s∣”,“chinabeijing”,“chi”);}A.s1 = ∣chinabeijing□□□∣ s2 = ∣chi∣B.s1 = ∣chinabeijing□□□∣ s2 = ∣chi□□∣C.s1 = ∣□□□chinabeijing∣ s2 = ∣□□chi∣D.s1 = ∣□□□chinabeijing∣ s2 = ∣chi□□∣(4)在16位C编译系统上,以下程序的输出结果是()。
void main (){long y = -43456;printf(“y = ∣%-8ld∣ y = ∣%-08ld∣ y = ∣%08ld∣ y = ∣%+8ld∣”,y,y,y,y);}A.y = ∣□□-43456∣ y = ∣-□□43456∣ y = ∣-0043456∣ y = ∣-43456□□∣ B.y = ∣□□-43456∣ y = ∣-43456□□∣ y= ∣-0043456∣ y = ∣-□□43456∣ C.y = ∣-43456□□∣ y = ∣-43456□□∣ y= ∣-0043456∣ y = ∣□□-43456∣ D.y = ∣-43456□□∣ y = ∣-4345600∣ y = ∣-0043456∣ y = ∣□□-43456∣(5)在16位C语言编译系统上,以下程序的输出结果是()。
C语言电子教案第3章 输入输出及顺序结构

o
o
o
在%与格式符之间插入一个整数表示指定输出的宽度.若 指定的输出宽度大于实际数据的宽度,那么数据向右靠齐, 左边补空格;若指定的宽度小于实际数据的宽度,那么按 实际数据的宽度输出. 可以采用"m.n"的格式修饰格式符来输出一个实数,这里m 和n是两个整数. 对于字符串,采用"m.n"的附加格式符来修饰格式符表示 指定字符串的总宽度为m,不足m则向右靠齐,左补空格.n 表示指定截取实际字符串的前n个字符输出.也可以省略m, 不指定总宽度. 可以在宽度之前加一个""来指定输出的数据向左靠齐.
输出表列 o 输出表列是需要输出的数据,可以是变量,常量或表达 式.输出表列可以是零项,一项或多项,若多于一项则 各项之间用逗号分隔. o 输出表列和格式说明符在个数与类型上应相匹配. 例如,printf("\n x = %d , y = %f ", x , y+1);
3.2 常用输出与输入函数 printf的格式说明符
3.2 常用输出与输入函数
程序的运行结果是: 57 5 7 67.856400,-789.124023 67.856400,-789.124023 67.86,-789.12,67.856400,789.124023,67.856400,-789.124023 6.785640e+01,-7.9e+02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER,COM
3.2 常用输出与输入函数
printf函数在使用时的注意事项
printf函数可以输出常量,变量和表达式的值.但 格式控制中的格式符必须按从左到右的顺序,与 输出项表中每个数据在类型上一一匹配,否则将 导致数据输出错误. 类型转换字符x,e,g可以用小写字母,也可以用大 写字母.使用大写字母时,输出数据中包含的字 母也要大写.除x,e,g外,其他类型转换字符必须 用小写字母,例如%f不能写成%F. 在输入long整型数据时,一定要使用格式%ld.如 果只用了%d,将输出错误数据. 若需要输出百分号"%",则应在格式串中用连续 的两个百分号"%%"表示. 类型转换字符紧跟在"%"后面时作为类型转换字 符,否则将作为普通字符处理. printf函数的返回值通常是本次调用中输出字符的 个数.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2) 格式符: 由%字母(多为小写)组成,用来控制输出表达 式的类型。 例如: %d —— 十进制int %ld —— 十进制long %u —— unsigned %lu —— unsigned long %f —— float %lf —— double %e —— 指数显示
在格式符%字母中可插入整数或实数,用来指 定输出数据的宽度。 例如:printf(“%5ld ,%3d,%5.2f”,1234,5678,3.145 ); 结果: 1234, 1234, 3.14
输入:a 显示:a 输入:b 显示:b
}
3.4 格式输出
1. printf函数的格式及功能: printf( “ 格式符,控制符,普通字符”, 若干表达式 ); 输出表达式的值;原样显示。 2. 说明: 1) 控制符: 由\字母(小写)组成,用来控制输出内容的位置。 例如:\n —— 换行 \b —— 退1列 \t —— 往前跳8列 \a —— 响铃 见p.38 表3.3
例程 3-3:输入弧度值,将弧度转换成角度值(度、
分、秒的形式) 。 void main() { int d, f, m; float hd, t ; printf(“Input hd: ”); scanf(“%f”,&hd); t=hd*180/3.1415926; d=t; t=(t-d)*60; f=t; m=(t-f)*60+.5; printf(“hd=%f d=%d f=%d m=%d”,hd,d,f,m); }
1. 字符输入函数: getchar( ) 功能:读取用户的按键信息。一般该函数与赋 值语句配合使用。 2. 字符输出函数: putchar( 字符变量或数据) 功能:显示单个字符变量的值或字符数据。
例程3-1:
#include<stdio.h> #include<conio.h> void main( ) { char ch1,ch2,ch3; ch1=getchar(); putchar(ch1); putchar('\n'); ch2=getche(); putchar('\n'); putchar(ch2); ch3=getchar(); putchar(ch3);
指定宽度>实 际宽度,多余 位填充空格 指定宽度<实 际宽度,按实 际位显示
3) 普通字符: 原样显示,提高可读性。
例如: printf(“x=%d, y=%f\n”,4*3, sin(2) );
结果:x=12, y=0.909297
3.5 格式输入
1.内存的访问方式: 为了便于内存管理,内存中的每一个字节有一 个编号,这个编号被称为“地址”。根据变量类 型的不同,若干字节组成一个存储单元,存放一 个数。 每个存储单元对应一个地址,除了字符型单 元外,每个存储单元有多个地址,规定将存储单 元的首字节地址作为存储单元地址。
3.6 顺序结构程序设计
例程 3-2:输入一个三位正整数,按反向输出对应 的数,如输入123,则输出321。
算法1:
分离每位数据的算法:
个位数:x%10 十位数:( x/10)%10 百位数: (x/100)%10
算法2:
#include<stdio.h> void main() { int x, bw,sw,gw; printf(“输入一个3位正整数:”); scanf(“%d”, &x); bw=x/100 ; sw=(x-bw*100)/10 ; gw=(x-bw*100-sw*10); y=gw*100+sw*10+bw; printf(“x=%d y=%d”, x, y); }
3. scanf函数使用说明: 1) 在%后加“ *”表示跳过相应的数据 scanf("%2d %*3d%2d", &a, &b); 则当输入为1234567↙ a=12 345不存 b=67
2) 输入数据不能指定精度(与输出不同)。
scanf (“ %7.2f ”, &a);
3) 在格式控制中除格式说明符外若还有其它字 符, 则应按顺序原样输入。见 P.88-89 例如: scanf(“a= %d, b=%c", &a, &ch);
2) 选择结构 根据条件P, 若P为真, 则执行A, 否则执行B。
T
P
F
表示为
T A
P
B
F
A
B
另外: 由选择结构可以派生出另一种基本 结构––—多分支结构。
K=K1
K
K=K2
K=Ki
A1
A2 … Ai … An
3) 循环结构 当P条件成立时, 反复执行A, 直到P不满足时才 停止循环。 P T A
编译给变量分配存储单元时,自动把变量名
与其地址联系起来,程序中通常用变量名来代表
那个存储单元,无需涉及地址。 例如:short x; char c; float y; 通知编译共有3个变量,根据类型为每个变量 分配相应的字节作为存储单元,建立变量名与其 单元地址的对应关系。当用户使用变量时,计算 机通过变量名很快找到其存储单元。
例如:为了使大家了解某菜是如何制作的,需写 出制作过程: 1、需买什么原料 若一项工作需计算 机来完成,就要事先 2、如何准备原料 编写好程序,即告诉 3、设置火的大小 计算机完成工作的顺 4、放锅、加油 序,计算机按照人规 定的顺序一步步完成 5、何时依次放入佐料 工作。 6、何时依次放入原料 在完成工作的过程 中主要步骤必须严格 7、放入调料 按顺序执行,小步骤 8、何时出锅 则没有严格的要求。 9、如何装盘
第3章顺序程序设计和基本输入/输出
3.1 C语句概述
3.2 结构化程序设计
3.3 基本输出函数 3.4 基本输入函数 3.5 顺序结构程序设计
3.1
C语言概述
C语句用来向计算机系统发出操作指令,C函数是 由若干语句组成,C语句可分为五类: 1)表达式语句: 表达式; 例如:x=10+y; i++; 2)函数调用语句: 函数名(参数表); 例如:printf(“x=%d\n”,x);
3)控制语句:if,switch等
4)复合语句:用Biblioteka }将多条语句括起来,组成一个复合语句。
5)空语句: ;
空语句什么也不执行。有时用在判断或循环语 句中,以保证查询语法结构的完整。 例如: if(x>0) printf(“x=%d”,x); else ;
3.2 结构化程序设计
1. 算法的基本概念 什么是程序?可用一个简单的公式表示: 程序=数据结构+算法 要计算机完成某项工作就要执行一个相应的程 序,如动画程序、计算程序、管理程序等。
实际上,程序就是对计算机工作规则的描述,
即要求计算机做什么?如何做?按什么顺序?
什么是程序设计? 设计完成工作规则(步骤)的过程。
什么是数据结构?
用来反映一个数据的内部构成,即一个数据
由那些成分数据构成,以什么方式构成,这些数
据在内存中以什么样的结构存放。如:定义变量、 类型。 什么是算法?
编程过程中完成一件事采用的方法。
2. 程序设计的基本结构 一个程序由若干条语句组成,语句是构成程 序的基本成分,程序的功能就是通过执行这些语 句得以实现的。 程序中的语句显然不能随便摆放。C语言提供 了三种基本结构,按照算法并利用基本结构,完
成程序的编写。
1) 顺序结构 按语句排列的先后顺序执行。
A
表示
A B
B
本章介绍的是顺序结构。
F
表示为 P为T A
上述三种结构组成的程序可以解决全部的问题 , 所以任何一种高级语言都具备上述三种结构。
3.3 字符数据输入输出
C语言没有提供输入/输出语句,输入和输出 操作是通过函数来完成,所以C语言函数库中提
供了多个IO函数,用于不同的IO操作。
IO函数的源程序均放在stdio.h文件中,故在使 用IO函数前要利用include命令将stdio.h文件的内 容调入内存,才能使用IO函数。
键盘输入: a= 23 , b= A ↙
4. scanf函数执行过程: 例如:int x; float y;
1001
scanf(“%d%f”,&x); 1). 找到x的起始地址1001
1002 1003 1004 1005 1006 1007 …
x y
2). 将从键盘上输入的值存
入1001和1002对应的单元中 在其它函数或语句中对变量 的访问过程均相同。
2. scanf函数格式及功能: scanf( “格式控制序列”, 地址表列 ) ; 接收从键盘输入的数据并将它们存入地址表列
所对应的单元中。
例如: scanf(“%d%f", &a, &b); printf("a=%d, b=%f", a, b); 键盘输入: 12 结果: 5.23 ↙ // 数据间用空格分隔 a=12, b=5.230000