第04章_简单程序
微机原理与应用-04 汇编语言
例:把片外RAM2200H单元中的数送入片内70H单元中。
BEGIN:MOV
MOV MOVX MOV
13
DPTR,#2200H ;(DPTR)=2200H
R0,#70H A,@DPTR @R0,A
南京航空航天大学机电学院机械电子工程系 2005年
《微机原理及应用》课件
1、标号字段
后必跟“ :”号; 首字符必是字母,由1~8个ASCII 码 字符组成; 同一标号在一个程序中只能定义一次; 不能使用指令助记符、伪指令、寄存器 的符号名称; 一条语句的标号可有可无,取决于本程 序的其他语句是否访问该条语句。
《微机原理及应用》课件
(2) 机器汇编
汇编语言 源程序
汇编
机器语言 目标程序
汇编程序
用机器汇编,方便快捷,并能在汇 编过程中发现语法错误。
8
南京航空航天大学机电学院机械电子工程系 2005年
《微机原理及应用》课件
Medwin汇编环境示例
9
南京航空航天大学机电学院机械电子工程系 2005年
《微机原理及应用》课件
《微机原理及应用》课件
2. 汇编语言
面向机器的符号语言,指令用助记符表示; 指令直接访问CPU的寄存器、存储单元和 I/O端口,响应速度快,程序的存储空间 利用较高; 汇编语言是面向机器的语言,因此使用者 必须对机器的硬件结构和指令系统比较熟 悉。
5
南京航空航天大学机电学院机械电子工程系 2005年
33
南京航空航天大学机电学院机械电子工程系 2005年
《微机原理及应用》课件
(2)子程序的参数传递
a. 利用寄存器(R0~R7和A)传递参数
第四章 最简单程序设计--顺序程序设计
开始
输入三边长 计算s 计算面积 结束
13
C语言程序设计
北京工业大学实验学院 陈洪丽
顺序结构程序设计举例
#include<stdio.h> #include<math.h> 数学函数库 void main( ) 因为要用到 {float a,b,c,s,area; 其中的sqrt scanf(″%f,%f,%f″,&a,&b,&c); 函数 s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); 运行情况: printf(″a=%7.2f, b=%7.2f, c=%7.2f, 3 ,4,6 n″,a,b,c,s); s=%7.2f\ a= 3.00, b= 4.00, c= 6.00, s= 6.50 printf(″area=%7.2f\n″,area);}
C语言程序设计
第四章 最简单程序设计 --顺序程序设计
北京工业大学实验学院 陈洪丽
C语言程序设计
北京工业大学实验学院 陈洪丽
本章主要内容
C语句概述
赋值语句
算法的基本控制结构
顺序结构程序设计举例
2
C语言程序设计
北京工业大学实验学院 陈洪丽
C语句概述
C程序
源程序文件1
源程序文件2
源程序文件n
5
分支 循环
辅助控制
C语言程序设计
北京工业大学实验学院 陈洪丽
04第四章售价金额法核算
四、已销商品进销差价的核算
(二)分类(或分柜组)差价率计算法
某类(柜)商品月末 分摊前商品进销差价余额 ① 分类差价率 是按企业各类 (柜)商品的存销比例,平均 某类(柜) 某类(柜)本月 分摊全部进销差价的一种方法 。 主营业务收入 库存商品 月末余额 贷方发生额 定 义 公 式
② 本月某类(柜)已销商品应摊的进销差价 某类(柜)本月商品销售收入 分类差价率 ③ 某类(柜)本月已销商品应摊进销差价的账务处理
一、“进价记账”的核算
④ 月末以存计销,一次计算结转本月已销商品成本。 期末库存商 品进价总额
本期已销商 品进价成本
=
期末库存 商品盘存数
期初库存商 品进价总额
×
单位 进价
=
+
本期进货 进价总额
-
期末库存商 品进价总额
一、“进价记账”的核算
例、诚道百货肉食柜09年1月份期初库存商品8000元,本月购进总额 240 000元,本月含税销售总额336 960元, 月末盘存库存商品为9500元。请进行相应的账务处理。 ① 月内平时进货的账务处理: 借:在途物资 — 肉食组 240 000 应交税费 — 增值税(进项) 40 800 贷:银行存款 280 800 ② 月内平时销售,按售价进行账务处理:
借:主营业务成本 238 500 贷:库存商品——肉食组 238 500
二、进价记账,售价控制
具体内容
每日营业终了,各实物负责 人盘点存货,填制“商品销 售日报表”, 计算本日应 收销货款金额,再将本日应 收销货款与本日实收销货 款相核对,若有不符应及时 查明原因。对溢余或短缺数 额不做账务处理只作为分析 研究时的参考。
×
× -
已销商品 进销差价
04第四章决策
典型的风险型决策,直接应用损益期望值法 决策。
解:计算各方案的损益期望值:
E(A1)=30×0.5 + 10×0.3 +(-15) ×0.2=15万元
E(A2)=20×0.5 + 6×0.3 + 2×0.2=12.2万元
E(A3)=15×0.5 + 4×0.3 + 4×0.2=9.5万元
方案A1损益期望值最大,因此,大批生 产(A1)方案满意方案。
2019/11/22
3.按决策活动结果的确定性划分
确定性决策:事先可以肯定只有唯一一种结 果的决策。
风险性决策:对未来情况不完全确定,但是 能够确知各种决策后果以及各种后果出现概 率的决策。这种估计结果的能力来源于个人 经验或是对第二手资料的分析。(常见类型)
不确定性决策:无法把握其后果的多少和概 率的决策。这种情况下的选择,主要取决于 决策者的经验与态度。(后果未知、各种状 态的发生概率也未知)。
后悔值法就是计算出各方案的最大后悔值, 从中选出最小值对应的方案为入选方案。
2019/11/22
步骤: (1)找出各状态下最大损益期望值; (2)计算各状态下不同方案的后悔值; (3)找出每一方案所对应的最大后悔值; (4)从第三步结果中找出最小值,对应方
案入选。
2019/11/22
B企业的可 B1 能反应
(4)科学性--决策要通过科学的分析判断、 评价进行选优。
2019/11/22
二、决策的类型
2019/11/22
1.按决策活动的层次划分
战略决策——确定组织方针、组织机构的调 整、产品的更新换代、重大的技术改造等涉 及全局性、长期性、方向性的决策。(高层)
第04章 汇编语言程序设计 39页 0.2M PPT版
MOV AL,10100000B OR 00000101B ;(AL)←10100101B
例4-4 关系运算符的应用
MOV AX,5 EQ 101B ;(AX)←0FFFFH
MOV BH,10H GT 16 ;(BH)←0
例4-5 数值返回运算符的应用
K1 DB 30H,31H,32H
K2 DW 4041H,4043H
(4)STACK
(5)MEMORY
(6)AT表达式
4. 类别名
返回
4.2.4 段寻址伪指令
格式:
ASSUME 段寄存器名:段名,段寄存器名:段名,……
例4-15 求从NUM开始的12个无符号字节数的和,结果放在SUM字单元中。
DATA SEGMENT NUM DB 95H,83H,36H,2DH DB 33H,22H,1AH,34H DB 62H,45H,75H,49H SUM DW ?
例4-13
STR1 DB ‘COMPUTER’ ;定义一个字符串,字符串的首地址为STR1 STR2 DW ‘AA’,‘BC’,‘DE’ ;给两个字符组成的字符串分配两个字节存储单元 DATA DW ?,?,? ;为DATA预留6个存储单元
例4-14
DATA1 DB 20 DUP(?) ;为变量DATA1分配20个字节的空间,初值为任意值 DATA2 DW ? ;为变量DATA2分配2个字节的空间,初值为任意值 DATA3 DB 20 DUP(30H) ;为变量DATA3分配20个字节的空间,初值均为30H
K3 DW 20H DUP(0)
K4 DD 50515253H
MOV AL,TYPE K1 ;等效于MOV AL,1
MOV AH,TYPE K2 ;等效于MOV AH,2
第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语言程序设计第4章
能够使用if语句和switch语句,进行 选择结构程序设计 会利用多分支结构解决较复杂逻辑 判断问题
目录
CONTENTS
00 案例4 百分制转换等级制 01 4.1 选择结构判定条件的构成 02 4.2单分支和双分支选择结构程序设计 03 4.3 多分支选择结构程序设计
目录
CONTENTS
04 4.4 小结 05 4.5 拓展案例
案例4 百分制转换等级制
问题描述
学生成绩管理系统中需要对老师录入的百分制转换为等 级制。百分制与等级制的对应关系如下:90-100 对应A、 80-89对应B、70-79对应C、60-69对应D、0-59对应E。
问题分析
这是一个需要根据不同条件作出相应选择的程序,根据 描述,我们可以定义float变量fScore用来存放成绩值, 从而根据题目列出下列条件表达式: fScore>=90&&fScore<=100 your grade is A fScore>=80&&fScore<=89 your grade is B fScore>=70&&fScore<=79 your grade is C fScore>=60&&fScore<=69 your grade is D fScore>=0&&fScore<=59 your grade is E
4.4 小结
(1)嵌套if-else语句和switch语句都是用来实现多分支选择结构的,它们的 应用环境不同,嵌套if-else 语句用于对多条件并列测试,从中取一的情形; switch语句用于单条件测试,从其多种结果中取一种的情形。 (2)一般情况下用switch能解决的问题,用嵌套if-else 也一样能解决,反 之用嵌套if-else 语句能解决的问题用switch也能解决,在使用时要根据具体 问题灵活运用。 (3)如果多分支选择结构中需要判断的逻辑关系只是是否相等,则最好用 switch语句。switch语句的执行效率高于嵌套if-else语句。
人力资源管理第4版第04章——招募与甄选
• 效标效度和内容效度都很高
• 开发成本高
第3节 甄选
三、甄选的主要方法
• (三)评价中心技术
由多位评价者对于求职者在一系列练习中的表现进行评价的过程。与➢ 评价中心技术是若干种不同的测试手段综合运用于管理类职位候选人甄选的一整套综合测试。
2.甄选测试
4.初步雇用决策
5.雇用候选人背景核查
7.发出雇用通知书
➢ 所有甄选步骤并非千篇一律 ➢ 并非所有组织都会完全采用所有步骤 ➢ 许多组织也会发出不雇用通知书
3.面试 6.体检
第1节 招募与甄选概述
二、招募和甄选的程序
• (三)招募甄选效果评估
对招募和甄选工作的最终效果以及招募甄选的每个环节的实施情况进行评价
甄选是指运用一定的工具和手段对已经招募到的求职者进行鉴别和考察,从而最终挑选出最符合组织 需要、最为恰当的填补当前或未来职位空缺的候选人的过程。
员工配置(staffing)一词在狭义上大致相当于招募和甄选,广义的员工配置不仅包括招募和甄选,还 延伸到了员工在组织内的职位调整甚至员工保留等更广泛的内容。
➢ 缺点:打击组织内部员工的积极性、成本高、为组织带来损失
高薪战略 优:快速吸引高质量求
职者
劣:未来人工成本较高
培训战略
优:对求职者经验要求 少,易获得合格求职者
劣:未来培训成本较高
广泛搜寻战 略
搜寻合适求职者的时间 成本太高
第2节 招募
二、招募来源与招募渠道
• (二)内部招募渠道
1.继任管理
➢ 强化组织的人才储备 ➢ 以组织的长期经营战略和目标为导向
MBTI人格类 型测试
加州心理问卷
投射法
明尼苏达多相人格问 卷
第04章 C程序设计
2.逻辑运算符的运算优先级 (1)逻辑非的优先级最高,逻辑与次之,逻辑或最低, 即: !(非) → &&(与) → ||(或) (2)与其它种类运算符的优先关系 !→ 算术运算 → 关系运算 → &&→ || → 赋值运算 4.2.2 逻辑表达式 1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达 式连接起来,进行逻辑运算的式子。在c语言中,用逻辑表 达式表示多个条件的组合。 例如,(year%4==0)&&(year%100!=0)||(year%400==0)就 是一个判断一个年份是否是闰年的逻辑表达式。
程序运行情况如下: Please input three numbers:11,22,18↙ Three numbers after sorted: 11,18,22
1.if语句的一般格式
if(表达式) {语句组1;} [else {语句组2;} ] (1)if语句中的“表达式”必须用“(”和“)”括起来。 (2)else子句(可选)是if语句的一部分,必须与if配对使用,不 能单独使用。 (3)当if和else下面的语句组,仅由一条语句构成时,也可不使 用复合语句形式(即去掉花括号)。
main() {int year,leap=0; /* leap=0:预置为非闰年*/ printf("Please input the year:"); scanf("%d",&year);
if (year % 4==0) {if (year % 100 != 0) leap=1;} else {if (year%400==0) leap=1; } if (leap) printf("%d is a leap year.\n",year); else printf("%d is not a leap year.\n",year);
第04章 程序的控制结构
第 4 章
程序的控制结构
计算机中的问题求解过程
Example :银行定期存款 已知年利率rate,存款期为n年,本金为capital,n年后得 到的本利之和是多少?
Input
• 存款年数 • 本金 •利率
Process
deposit = capital* (1+rate)n
Output
deposit
Page 3
C语言程序设计
第 4 章
程序的控制结构
算法的概念及其描述方法
一个程序应包括两个方面的内容:
对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm)
著名计算机科学家沃思提出一个公式:
数据结构 + 算法 = 程序
计算机中的算法( Algorithm )
}
_ 15 Input a,b: 20
没有输入或有多个输入 有一个或多个输出
计算机与信息工程学院
Page 5
C语言程序设计
第 4 章
程序的控制结构
算法的描述方法
自然语言描述
传统流程图(Flowchart)
在1966年,Bohra 与 Jacopini 提出
N-S结构化流程图
1973年,美国学者I.Nassi 和 B.Shneiderman 提 出
为解决一个具体问题而采取的确定的有限的操作
步骤,仅指计算机能执行的算法。
计算机与信息工程学院
Page 4
C语言程序设计
第 4 章
程序的控制结构
算法的特性
有穷性 在合理的时间内完成 确定性,无歧义
C语言简明教程第04章最简单C程序设计
getchar函数 功能:从标准输入设备上(键盘)输入一个且只
能是一个字符,并将该字符返回为函数的值。
格式:getchar();
没有参数 例:
#include <stdio.h>
注意:
main()
(1)只有在按“回车”键之后输入的字
{
符才有效.
int i;
(2)此函数只接受一个字符,而非一
i=getchar(); printf(“%c:%d\n”,i,i);
格式字符
说
明
l
用于长整型,可加在格式符d、o、x、u前面
%lf将修正为double型
h
将整型格式d、o、x、u修正为short型
m(正整数) 数据最小宽度
n(正整数) 对实数表示输出n位小数;对字串表示截取的字符个数
-
输出的数字或字符在域内向左靠
0
用“0”来填充数字前面的空位
长度修饰符:l(长),h(短),放在(1)格式字符前面。 域宽和精度描述符:m(域宽).n(精度),放在长度修饰符的前面。
格式控制符:规定 数据的输入格式, 必须由“ ”括起来 ,其内容包括格式 说明(修饰符)和 格式符两部分。
地址列表:由一个或多个 变量的地址组成,变量地 址之间以“,”分隔。也 可以是字符串的首地址。
在C语言中一个变量的地址 可以通过&地址运算符得到。 例如:int a,b;
则a,b的地址为&a,&b。
❖ 4.空语句。下面是一个空语句: ;
即只有一个分号的语句,它什么也不做。有时用来作被转向点,或 循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。
❖ 5.可以用{ }把一些语句括起来成为复合语句,如下面是一个复合 语句。 {z=x+y; t=Z/100; printf(”%f”,t); }
VFP_04第四章Visual FoxPro 数据库及其操作
在项目管理器中打开数据库。(选中库后,库自动打 开)
通过“打开”对话框打开数据库。 命令法:OPEN DATABASE 库文件名 [EXCLUSIVE|SHARED][NOUPDATE][VALIDATE] (在工具栏中间显示打开的库名)
二级VFP程序设计教程
CLOSE DATABASE——关闭所有工作区被打 开的表文件
CLOSE ALL ——关闭所有工作区中的所有文件; QUIT——关闭所有文件,且退出系统
窗口菜单法:在“窗口”菜单中选择“数据工作期”, 选择欲关闭的表,单击“关闭”。
现象:突然断电,数据丢失。
二级VFP程序设计教程
第四章 V FP 数据库及其操作
二级VFP程序设计教程
第四章 V FP 数据库及其操作
六、使用浏览窗口操作表
1、打开浏览器窗口 项目管理器:列表中选择表,单击“浏览”。 数据库设计器:选中表,单击“浏览”,或者右击表, 选择“浏览”。 使用命令:打开表以后,Browse。
二级VFP程序设计教程
第四章 V FP 数据库及其操作
浏览器窗口有两种显示方式:编辑方式和浏览方式
二级VFP程序设计教程
第四章 V FP 数据库及其操作
BEFORE:表示在当前记录前插入新记录,否则在当前记录
后插入;
BLANK:表示插入一条空记录,不进入全屏幕输入状态,反
之则进入全屏幕输入状态输入数据。 如:在第5条记录后插入一条记录: GO 5 INSERT 在第10条记录前插入一条空记录: GO 10 INSERT BEFORE BLANK
二级VFP程序设计教程
第四章 V FP 数据库及其操作
微机原理第04章4子程序
mov ah,9
;;宏定义体
lea dx,message
int 21h
endm
…
dispmsg string ;宏调用(宏指令)
…
1 mov ah,9
;宏展开
1 lea dx,string
1 int 21h
第4章:宏与比子程序的比较
宏
较
子程序
仅是源程序级的简化: 宏调用在汇编时进行 程序语句的展开,不 需要返回;不减小目 标程序,执行速度没 有改变
第4章:例4.16 显示以“0” 结尾字符串的嵌套子程序
msg
;数据段 db 'Well, I made it !',0 ;代码段(主程序) mov si,offset msg ;主程序提供显示字符串 call dpstri ;调用子程序
第4章:例4.16 子程序
;子程序dpstri:显示DS:SI指向的字符串(以0结尾)
第4章:4.6 子程序设计
把功能相对独立的程序段单独编写和调 试,作为一个相对独立的模块供程序使 用,就形成子程序
子程序可以实现源程序的模块化,可简 化源程序结构,可以提高编程效率
主程序(调用程序)需要利用CALL指令 调用子程序(被调用程序)
子程序需要利用RET指令返回主程序
第4章:4.6.1 过程定义和 子程序编写
dpstri proc
push ax
dps1: mov dl,[si] ;取显示字符
inc si
cmp dl,0
;是结尾,则显示结束
jz dps2
call dpchar ;调用字符显示子程序
jmp dps1
dps2: pop ax ret
dpstri endp
04_第四章 常用NC Code 介绍
第四章常用NC Code 介绍前提:为避免造成操作人员之意外伤害或机械之损坏,操作人员应先形行将欲执行之加工程序,作一测试,亦即先行执行该加工程序,但不做任何切割。
壹、程序结构概要程序是由许多“区间语”所组合形成,而各区间语是“EOB ;”来分别一行区间语的结束。
例:N10 G09 G01 X-100. Y-100. F3000;N20 G91 G02 X-50. Y-50. R50 F200;;一.、O 指令a 、O 指令是指程序号码。
b 、该程序号码最多可输入4 位数,0000~9999。
如O0035,0099…..等。
c、在编辑某一程序时,是不可用已存在控制器内之任一程序号码。
二、N指令程序是由许多区间语(BLOCK)组合而成,为了易于区分,在每一区间前编上N CODE.a.、N 指令表示行号。
b、此行号最多可使用至4 位数。
(N0001~9999)c、由于此行号并不影响加工程序之执行,且占据控制器之记忆空间,因此建议无须使用此行号。
三.、G 指令G 指令可分6 组,分述如下,但在叙述每一组之前,请注意。
a、每一G指令,其后均接2位数,如G00、G91等。
b、每一组内之G指令,不能用于同一行内。
c、若同一组内之G指令被编辑在同一行内,则后出现之G指令者有效,如其余各G Code 请参阅FANUC 操作手册贰、以下为各G Code 之简介一:坐标系统a、G90:绝对坐标系统(ABSOLUTE)当此指令被使用于某一程序内,则其后所出现之坐标系统,均是使用绝对坐标系统,亦即控制器于判读每一移动指令之数值时,均考虑该数值为绝对坐标数值,此数值均是相对于工作原点。
b、G91:相对坐标系统(INCREMENTAL)当此指令被使用于某一程序内,则其后所出现之坐标系统,均是使用绝对坐标系统,,亦即控制器于判读每一移动指令之数值时,均考虑该数值为绝对坐标数值,此数值均是相对于前一点之位置距离。
例:如下图所示设定工作原点为(0,0)则加工时输入坐标时有下列两种方法:1:使用G90系统G90G01X0.Y-100.F2000;G01X-100.Y-100.F3000;G01X-;;2:使用G91系统G91G01X0.Y-100.F2000;G01X-;;;c、G92 :工作坐标系统(PROGRAMMING OF ABSOLUTE ZERO POINT)定义某一点坐标为工作原点格式:G92 X(数值) Y(数值) Z(数值) ;本指令建立加工坐标系,一旦坐坐标系建立,以后绝对值指令均用此位置。
C语言讲义第04章-数组
数组
《C语言程序设计》
主要内容
• • • • • 数组的概念 一维数组 多维数组 字符数组 小结
4.1
• •
数组的概念
4.1.1 数组的一般概念: 数组是有序数据的集合,数组中的每一个数据都具有 相同的数据类型。每个数组都用一个统一的标识符来 标识,称为数组名。数组中的每一个数据称为数组元 素,数组元素由数组名和下标(数组元素在数组中的 序号)唯一确定。数组元素也可称为下标变量。
4.3 多维数组
• 实现在一维存储器中存放二维数组,可有两种方式: 一种是按行优先存储,另一种是按列优先存储。 • 在C语言中,二维数组是按行存储的。 • 上面的二维数组的存储情况如图所示 :
4.3 多维数组
• 多维数组的定义:
类型说明符 数组名[常量表达式1][常量表达式2] …
• 多维数组在内存中的存放顺序为:按第一维的下标变 化最慢,最后一维的下标变化最快的规则存储
•
注意:
两个字符串比较大小时,只能用strcmp函数,而不能用条件 语句。
4.4 字符数组
6. 测字符串长度函数strlen(strlen为STRing LENgth 的缩写)
1. “下标”可以是非负的整型常量或其值为非负整型数据 的表达式,取值范围是0~(元素个数 - 1)。 2. 一个数组元素,实质上就是一个变量,它具有和相同类 型单个变量一样的属性,可以对它进行赋值和参与各种 运算 3. 在C语言中,数组不能作为一个整体参加数据运算,只 能对单个的元素进行处理
4.2
4.2
一维数组
– 对全部数组元素赋初值。例如:
float fscore [10] = { 85 , 76.5 , 92 , 65 , 82.5 , 76 , 58 , 46 , 69 , 83 } ;
西工大C语言课件第四章
(8)goto语句:跳转语句
(9)return语句:函数返回语句
5
第四章
4.1.2 C语句的分类
2. 函数调用语句,由函数调用和分号组成。 3. 表达式语句,由表达式和分号组成。 4. 空语句,由分号形成,空语句表示无任何计算机指令。
14
第四章
例4-2
4.4.2 getchar函数(字符输入函数)
getchar输入
#include <stdio.h>
int main()
{ char c;
c = getchar() ;
putchar(c); return 0;
}
SX04-2
15
第四章
4.4.2 getchar函数(字符输入函数)
例如:
#include <stdio.h> stdio.h头文件就包含了printf函数原型,因此C程序均应有下面的形式:
#include <stdio.h>
…… main()
由于printf等函数是常用的函数,因而大多数编译器能够自动包含 stdio.h文件来编译,所以有时可以不写 #include <stdio.h>。
printf( “Line one\n\t\tLine two\n”);
产生如下的运行结果:
1 L 2 i 3 n 4 e 5 6 o 7 n 8 e L ▁ i n e t w o 9 0 1 2 3 4 5 6 7 8 9 0 1
注意:屏幕上TAB”站”如下示意(从第一列开始,加八为下一个TAB):
.prec
04-第四章 Lingo的输入输出及界面
Excel07版:在公式-》定义 的名称-》名称管理器 中
第四章 Lingo的输入输出及界面
输入输出函数
Lingo函数
4.@ranged(variable_or_row_name) 为了保持最优基不变,变量的费用系数或约束行的右端项允许减 少的量。 5.@rangeu(variable_or_row_name) 为了保持最优基不变,变量的费用系数或约束行的右端项允许增 加的量。
第四章 Lingo的输入输出及界面
输入输出函数
Lingo函数
! Here is the data; DATA: CAPACITY = 60 55 51 43 41 52; DEMAND = 35 37 22 32 41 32 43 38; COST = 6 2 6 7 4 2 5 9 49538582 52197433 76739271 23957265 红色的数据部分应该从程序中分离! 5 5 2 2 8 1 4 3; ENDDATA
第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面lingo的选项第四章lingo的输入输出及界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§ 4.1
C语句概述
C程序
源程序文件1
源程序文件2
源程序文件n
预处理命令
数据声明
函数1
函数n
函数首部
函数体
数据声明
执行语句
§ 4.1
C语句概述(续) 控制语句 函数调用语句 表达式语句 空语句 复合语句
• C语句分为 5类
(一)控制语句
完成一定的控制功能
6 break 间断语句 7 switch() 开关语句 8 goto 转向语句 9 return 返回语句
4.5
格式输入与输出
(一).格式输出函数 • 函数作用:向终端(或系统隐含指定的输出设备)输 出若干个类型任意的数据。 • 一般格式:printf(格式控制,输出表列) • 格式控制:用“”括起来的字符串,也称:转换控制 字符串。它包括两种信息。
①格式说明。由%+格式字符组成。作用是将输出的数据转 换为指定的格式输出。 ②普通字符。需要原样输出的字符。
说明:
• 除了X,E,G外,其他各式字符必须用小写。 • 可以在printf函数中的“格式控制”字符串中包 含转义字符。 • 一个格式说明必须以“%”开头,以9个格式字符之 一为结束,中间可以插入附加格式字符。 • 想输出%,则应该在格式控制字符串中用连续两个 %表示 如:printf(“%f%%”,1.0/3)
运行结果:BOY
例子 #include<stdio.h> void main() { char c1,c2; c1=„b‟; c2=98; putchar(c1);putchar(c2); putchar(„b‟);putchar(98); }
运行结果:bbbb
putchar(„\101‟) putchar(„\‟‟) putchar(„\015‟)
(二).字符输入函数
• 一般形式:getchar() • 函数作用:从终端(或系统隐含指定的输入 设备)输入一个字符。 • 函数值: 从输入设备得到的字符。
例4.2 输入单个字符。 #include<stdio.h> 运行程序: void main() 从键盘输入字符‘a‟ { char c; 按Enter键 c=getchar(); 屏幕上将显示输出的字 putchar(c); 符‘a‟ putchar(„\n‟); a } a
第四章
主要内容
•C语句概述 •赋值语句 •基本的数据输入输出函数 •简单的C程序设计
§ 4.1
C语句概述
• 1、C语句
–用来对数据进行加工(完成操作任务)。是构成 程序的基本单位。通常一个C程序由若干个函数 (系统、用户)组成。
–每一个函数由若干条语句组成。每条语句总是以 ”;“结束,分号是语句中不可缺少的组成部分 ,而不是两个语句间的分隔符号。
• 输出列表:需要输出的数据,可以是表达式。 如:printf(“%d %d”,a,b) printf(“a=%d b=%d”,a,b)
4.5
格式输入与输出
(一).格式输出函数 • 函数调用的一般形式 printf(格式控制, 参数2,…,参数n) • 功能:按格式控制所指定的格式,在标准输出设备上 输出参数2、…、参数n的值。 • 格式控制符的完整格式 % m.n l 格式字符
例4.5字符串的输出。 #include<stdio.h> void main() { printf(“%s,%7.2s,%.4s,%-5.3s\n”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); }
运行结果: CHINA,
CH ,CHIN,CHI
例4.7输出双精度数时的有效位数。 #include <stdio.h> void main() { double x,y; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%lf”,x+y); } 运行结果: 3333333333333.333010
例4.1 输出单个字符。 #include<stdio.h> void main() { char a,b,c; a=„B‟;b=„O‟;c=„Y‟;
运行结果:B O Y
putchar(a);putchar(„\n‟); putchar(a);putchar(b);putchar(c);putchar(„\n‟); putchar(b);putchar(„\n‟); } putchar(c);putchar(„\n‟);
用一对{}括起来的语句
z=x+y; t=z/100; printf(“%f”,t);
} 注意:复合语句中,最后一个语句的分号不能不写。 复合语句{}后,不能写分号。
4.2
赋值语句
•赋值语句是由赋值表达式加上一个分号构成 例:a=100 赋值表达式 a=100; 赋值语句
•表达式中不能含有赋值语句,但是可以包含 赋值表达式 例: if((a=b)>0) t=a; 正确 if((a=b;)>0) t=a; 错误 if(a=b) t=a; 错误
4.3
数据输入输出及在C语言中的实现
(一).所谓输入输出是以计算机主机为主体而言的
输出:从计算机向外部输出设备(显示器,打印机) 输出数据 输入:从输入设备(键盘,鼠标,扫描仪)向计算机 输入数据.
(二).C语言本身不提供输入输出语句,输入和输出 操作是由C函数库中的函数来实现的 例如: 字符输入函数: getchar 字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字符串输出函数:puts
(三)表达式语句 有一个表达式加一个分号构成一个语句
例: a=3; (赋值表达式;) i++; i=i+1 (自增表达式+;) x+y;
(四)空语句
只有一个分号的语句
;(什么也不做) • 用来做流程的转向点 • 用来作为循环语句中的循环体 eg:for(i=0;i<10;i++);
(五)复合语句
{
几种常见的格式符的修饰符:
L:用于长整型整数,可加在格式符d,o,x,u,f前面 M(代表一个正整数):数据最小宽度 N(代表一个正整数):对实数,表示输出n位小数; 对字符串,表示截取的字符个数 —:输出的数字或字符在域内向左靠
例:若a=123,d=12345,c=-1234 printf(“a=%4d,b=%4d,c=%d”,a,b,c); 则输出结果为: a= 123,b=12345,c=1234
• 注意: –输入是要从键盘敲入数据,并输入回车确 认; –getchar()只能接收一个字符,当输入多 个字符时,多余字符作废(按回车键才开 始接收字符); –用getchar()得到的字符可以赋给字符型 变量、整形变量、或作为表达式的一部分 。 • 例:c=getchar()+32; putchar(c); 若输入的时:A 则输出的是:a
1 if() ~else 条件语句 2 for()~ 循环语句 3 while()~循环语句 4 do ~while();循环语句 5 continue 继续语句
4.1
C语句概述(续)
(二)函数调用语句 有一个函数调用加一个分号构成一个语句
例:printf(“This is a C statement.”);
(二).格式输入函数 • 函数作用:按照变量在内存的地址将 变量值存进去。 • 一般格式:scanf(格式控制,地址表 列)
同printf函数 是由若干个地址组成的表列,可以 是变量的地址,或字符串的首地址
尽量不要出现普通字符
例4.9 用scanf函数输入数据。 #include<stdio.h> void main() a在内存中的地址 { &是地址运算符 int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%d\n”,a,b,c); } 运行情况: 3 4 5 3,4,5
(三).在使用系统库函数时,要用预编译命令 “#include”将有关的“头文件”包括到用户源文 件中. 例如:在调用标准输入输出库函数时,文件开头 应该有: 头文件 #include “stdio.h” 或: #include <stdio.h>
4.4
字符数据的输入输出
(一).字符输出函数 • 一般形式:putchar(c) • 函数作用:向显示器上输出一个字符(将C 的值输出到显示器上)c可以是字符型和整 型的常量、变量、表达式
§ 4.5
格式输入与输出
注意的问题:
• scanf中要求给出变量地址,如给出变量名则会出错。 如:scanf(“%d”,a);是非法的, 应改为scnaf(“%d”,&a);才是合法的。 • 在“格式控制”字符中,若有格式说明以外的其它字符,输入 时照原样输入。 如:scanf(“a=%d,b=%f”,&a,&b); 输入:a=123,b=34.567; • 在用“%c”输入时,空格和“转义字符”均作为有效字符。 如:scanf("%c%c%c",&c1,&c2,&c3); 输入:a b c 错误 abc 正确 • 输入数据时,遇以下情况结束一个数据的输入:(不是结束该 scanf函数,scanf函数仅在每一个数据域均有数据,并按回车 后结束)。 –遇空格、“回车”、“跳格”键。 –遇宽度结束。 –遇非法输入。
例:long a=135790;/* 定义a为长整型变量*/ printf(“%ld”,a);
例4.3 无符号数据的输出。
#include<stdio.h> void main() { unsigned int a=65535;int b=-2; printf(“a=%d %o,%x,%u\n”,a,a,a,a); printf(“b=%d,%o,%x,%u\n”,b,b,b,b); } 运行结果: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534