第2章 程序结构
c语言程序设计第二章课后参考答案
![c语言程序设计第二章课后参考答案](https://img.taocdn.com/s3/m/9c9c273d3968011ca30091b9.png)
第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。
A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。
A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。
A)标准库文件 B)目标文件C)源程序文件 D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。
A)auto,enum,include B)switch,typedef,continueC)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。
A)print B)I \am C)signed D)if_maf scanf 3mf ty_prmx_2d mx_ a.f x1#aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。
A)表达式语句 B)选择语句 C)循环语句 D)转移语句7、下面描述中,不正确的是________。
A)C语言的函数体由一系列语句和注释组成。
B)注释内容不能单独写在一行上。
C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。
D)scanf和printf是标准库函数而不是输入和输出语句。
8、下面描述中,正确的是________。
A)主函数的花括号必须有,而子函数中的花括号是可有可无的。
B)一个C程序行只能写一个语句。
C)主函数是程序启动时的唯一入口。
D)函数体包含了函数说明部分。
二、填空题1、一个完整的C程序至少要有一个________函数。
(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。
(编译系统)3、C语言是以________为基本单位、整个程序由________组成。
第二章顺序结构程序设计教案
![第二章顺序结构程序设计教案](https://img.taocdn.com/s3/m/6551c39827284b73f3425058.png)
一、实验准备实验准备实验准备实验准备1、C语言程序的上机操作语言程序的上机操作语言程序的上机操作语言程序的上机操作C是编译型语言,设计好一个C源程序后,需要经过编译生成目标文件(扩展名.obj)、连接生成可执行文件(扩展名.exe),然后执行。
一个C程序的具体开发步骤如下: (1) 启动启动启动启动VC++ 6.0:“开始”“程序”“Microsoft Visual C++ 6.0” (2) 新建文件新建文件新建文件新建文件:“文件”“新建”在“新建”对话框中选择“文件”标签列表框中选“C++ Source File”,在右边指定文件名和保存位置。
(3) 编辑编辑编辑编辑:录入或修改源程序并保存(Ctrl+S) (4) 调试运行调试运行调试运行调试运行:编译(Ctrl+F7)连接(F7)运行(Ctrl+F5),若有错需修改源程序后再调试程序 (5) 关闭工作区关闭工作区关闭工作区关闭工作区:“文件”“关闭工作空间”,一个程序调试结束后需关闭当前工作空间,再从第(2)步开始下一个程序的调试 2、、、、C程序的调试程序的调试程序的调试程序的调试调试即是在源程序中查找错误并修改错误的过程。
程序的错误一般分为两类:语法错误和逻辑错误语法错误和逻辑错误语法错误和逻辑错误语法错误和逻辑错误。
①语法错误语法错误语法错误语法错误:指不符合C语言语法规则而产生的错误。
语法错误系统能检测出来并告之原因及位置,设计者可参考修改。
②逻辑错误逻辑错误逻辑错误逻辑错误:指程序的运行结果与预期的结果不符而产生的错误。
这类错误拔除难度较大,一般需祥细分析算法或在程序运行过程中设置断点、追踪程序的运行来纠错。
(1)语法错误调试案例(建立程序名为ex1-1.c)# include <stdio.h> void main() { int i=0 //错误原因:语句结束位置缺分号printf("i=%d\n",i); } 调试并查找以上程序的语法错误并分析原因并改正。
计算机二级vfp 第二章 Visual Foxpro程序基础
![计算机二级vfp 第二章 Visual Foxpro程序基础](https://img.taocdn.com/s3/m/1538df234b35eefdc8d333ea.png)
•Hale Waihona Puke 内存变量的显示:– List memory [like <通配符>] [to printer|to file<文件名>] – Display memory [like <通配符>] [to printer|to file<文件名 >] » 说明: » 1、 List memory 一次性显示与通配符匹配的内存变量, 一屏显示不下自动上滚; Display memory 分屏显示。 » 2、通配符有*和?,*表示多个字符,?表示一个字符
? {^2004/7/15 4:20:10a}-100 04:18:30AM && 显示07/15/04
– 关系表达式
• 运算符
– <、>、<=、>=、=、<>、#、!=、==、$
• 运算符优先级:相同优先级
关系运算符的比较规则:
1、数值型数据按数值大小进行比较;日期型数据按年月日的先后进行比较;字 符型数据按相应位置上两个字符的ASCII码值的大小进行比较;汉字按内码进 行比较。 2、在Set exact off状态下,只要“=”右面字符串与左边的字符串的左端部分一 样,系统就认为相同。注意:左边和右边的左端部分一样时不相同。 y="abce"="ab" ?y y="ab"="abc“ ?y 3、运算符$只能比较两个字符串,若左面的字符串是右面的子串 则结果为.T.,否则为.F.。
4、数值型、货币型数据比较 按数值大小比较,包括正负号 5、日期、日期时间型数据比较 越早的日期或时间越小,越晚的日期或时间越大 6、逻辑型数据比较 .T.大于.F. 7、设置字符的排序次序 字符串比较的时候系统对两个字符串的字符自左向右逐个进行比较,一旦发 现两个对应位置上的字符不相同,就根据这两个字符的大小决定字符串 的大小。VFP中默认按PinYin。可以重新设置。 Set collate to “<排序次序名>” 排序次序名必须放在“”中,次序名称可以是“machine”、 “PinYin”、”Stroke” Machine(机内次序):西文字符按ASCII码排列:空格在最前面,大 写ABCD字母在小写abcd字母的前面。对汉字而言,机内码与 国标码一样,次序由拼音顺序不决定。 PinYin : 对 西 文 字 母 而 言 , 空 格 在 最 前 面 , 小 写 abcd 在 大 写 ABCD的前面。 Stroke:按照书写笔画的多少排序
C++程序设计基础(第二版)[周霭如等编著][课后习题解答]3 (2)
![C++程序设计基础(第二版)[周霭如等编著][课后习题解答]3 (2)](https://img.taocdn.com/s3/m/234d093a87c24028915fc3cc.png)
else cout << i << endl;
}
【答案】
4
7
10
4. #include <iostream.h>
void main()
{ int i = 0 , j = 5;
do
a = c = 0; b = 1; d = 20;
if( a ) d = d-10;
else if( !b )
if( !c )
x = 15;
else x = 25;
cout << d << endl;
{ if( j % 2 ) continue;
x++;
}
x++;
}
cout << "x=" << x << endl;
}
【答案】
x= 16
}
【答案】
20
2. #include <iostream.h>
void main()
{ int a = 0, b = 1;
switch( a )
{ case 0: switch( b )
{ case 0 : cout << "a=" << a << " b=" << b << endl; break;
do{ i--; cout<<i<<endl;}while( i!= 1 );
(a) 1 (b) 2 (c) 3 (d) 无限
C语言程序设计教程第2章程序流程
![C语言程序设计教程第2章程序流程](https://img.taocdn.com/s3/m/58e323cd172ded630b1cb64e.png)
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
C语言程序设计 第2章 顺序结构与分支结构程序设计
![C语言程序设计 第2章 顺序结构与分支结构程序设计](https://img.taocdn.com/s3/m/b70c85b4d15abe23482f4dfd.png)
main() { char op;float x,y;
scanf("%f%c%f",&x,&op,&y); switch (op) { case '+' : printf("=%f\n",x+y); break;
case '-' : printf("=%f\n",x-y); break; case '*' : printf("=%f\n",x*y); break; case '/' : if (y!=0.0)
200,0,0
空语句
空语句是只有分号 ;的语句。示什么操作也不做。 从语法上讲,空语句也是一条语句。 在程序设计中,若某处在语法上需要一条语句,而实际上不需要 执行任何操作时就可以使用它。 例如,在设计循环结构时,有时用到空语句。
int i,s=0; for(i=1;i<=10;s=s+i++);
main() { int a;
scanf("%d",&a); switch(a) { case 3+8:printf("a==11");break; case 90: printf("a==90");break; case 'a': printf("a==97");break; case a>100:printf("a>100");break; default:printf("default"); } }
printf("%c\n",c); }
第二章 C语言程序设计
![第二章 C语言程序设计](https://img.taocdn.com/s3/m/c45d7324b52acfc789ebc9ba.png)
例:整型数据的溢出。 main( ) { int a, b; a=32767; b=a+1;
printf(“%d,%d”,a,b);
}
返回
整型变量的定义
[unsigned][short][long] int <变量名1>, <变量名2>,……<变量名n>;
表达式1,表达式2……表达式n
说明:
1、逗号运算符的结合性为从左到右
2、所有运算符中,逗号运算符的优先级最低
练习题
执行下列语句后,a和b的值 分别为
int a, b; a=1+(b=2+7%-4-’A’)
练习题
执行下列语句后,a和b的值 分别为 -59,-60
int a, b; a=1+(b=2+7%-4-’A’)
练习题
一个C语言的源程序中,
(A)必须有一个主函数
。
(B)可以有多个主函数
(C)必须有主函数和其他函数
(D)可以没有主函数
练习题
1、编程实现,输入一个数,输出其 绝对值。 2、编程实现,输入a,b,c三个数, 输出其中最大者。
题 1、
Void Main()
{
int a, result; /*定义变量*/ scanf(“please input a number:%d”, &a); if (a>=0) result=a; else result=-a;
3、类型转换
例:
void main( )
{ float x, y;
第2章 简单程序设计(C++版)_第五节 数据输入输出
![第2章 简单程序设计(C++版)_第五节 数据输入输出](https://img.taocdn.com/s3/m/1f4d3fa2c77da26925c5b0ad.png)
例2.8 利用getchar函数接收键盘输入。 #include <cstdio> #include <iostream> using namespace std; int main( ) { char ch; ch=getchar(); //读入字符 cout<<"input="<<ch<<endl; }
一、字符输入函数getchar
getchar函数是接收从键盘输入的单个字符数据。它是一个无参
函数,其语法格式为: getchar(); 【说明】 1)通常把输入的字符赋予一个字符变量,构成赋值语句。例如: char ch; ch=getchar(); 2) getchar函数只能接受单个字符,输入数字也按字符处理。 3)输入多于一个字符时,只接收第一个字符。 4) getchar函数等待用户输入,直到按回车键才结束,可用于暂 停程序的运行,直到输入一个回车键。system(“pause”); 5)如果在程序中连续有两个以上getchar()函数,应该一次性输 入所需字符,最后再按回车键,否则会把回车作为一个字符传给后 面的getchar()函数。
f e
用于输入十进制整数 以无符号十进制形式输入十进制整 数 用于输入八进制整数 用于输入十六进制整数 用于输入单个字符 用于输入字符串(非空格开始,空 格结束,字符串变量以′\0′结尾) 用于输入float型实数(小数或指数 均可) 与f相同(可与f互换)
表2-7 scanf函数的附加格式说明符 附加格式 l(字母) h 说 明
例如,对如下程序段 int i=1; long j=123; printf("%d,%2d,%03d,%1d,%-4ld,%05ld",i,i,i,j,j,j); 输出:1, 1,001,123,123 ,00123
C语言程序设计-第2章 简单c程序设计
![C语言程序设计-第2章 简单c程序设计](https://img.taocdn.com/s3/m/9baabc2703d8ce2f0066234d.png)
2.1.3 C语言关键字 • 在C语言中,有些字符串在系统中有特定的含 义与名称,在程序中不能用于其它目的,我 们将这些特殊字符串称为关键字,或称为C语 言保留字。 • C语言关键字共32个
auto double int struct break else long switch case enum char extern const float short unsigned contin ue for signe d void default goto sizeof do if staic
• 变量声明(定义): 语法:变量声明 变量表; 举例: int x,y,z;(多个变量用“,”号隔 开,但必须以“;”结束。(在C语言程序中所有 标点符号必须在英文格式下输入) • 变量的初始化 变量定义后,就可以给变量赋值,这个过程叫 变量的初始化。也可以在变量定义同时进行赋值。
变量类型
原因
2.2.2 常量与变量
1.常量
所谓常量,指程序执行中其值不变的量。C语言中,常 量分为普通常量和符号常量。 普通常量分为数值常量,如128,835.6;字符常量用单引 号,如’a’,S’;字符串常量用双引号表示,如 “Hello”,”world”;
2.变量
其值可以改变的量称为变量。一个变量应该有一个 名字,在内存中占据一定的存储单元。变量定义必须放在 变量使用之前。一般放在函数体的开头部分。变量名和变 量值是两个不同的概念。
C语言程序设计
——第2章
简单C程序设计
本章主要内容提示
C语言标识符命名规则
C语言关键字
C语言常量与变量 常用表达式与优先级 输入输出函数
本章学习目标
• • • • • •
知识目标 掌握C语言标识符命名规则 熟记C语言关键字 正确理解C语言常量与变量 掌握C语言数据类型及转换 掌握常用表达式与优先级 熟练使用输入输出函数 能力目标 • 正确定义常量与变量 • 能根据要求正确输入数 据、输出结果 • 分析问题并根据要求正 确编写简单程序
第二章 顺序结构程序设计
![第二章 顺序结构程序设计](https://img.taocdn.com/s3/m/6c098b669b6648d7c1c746d9.png)
printf("c1+200=%c\n",c1+200);
printf("c1+256=%d\n",c1+256);
printf("c1+256=%c\n",c1+256);
}
11
2.2.2 各种类型数据的输出设计
4.字符串的输出
字符串可以用格式说明符%s输出。
【例2-7】字符串的输出。 #include <stdio.h>
2.2.2 各种类型数据的输出设计
3)对不同类型的数据,要用不同的格式字符提供输出格式。
常用的格式说明,见表2-1。
格式说明
功能
%d 以带符号的十进制形式输出整数(正数不输出符号) %f 以小数形式输出单、双精度数,隐含输出6位小数 %e 按指数格式输出浮点数(规格化表示) %c 以字符形式输出,只输出一个字符 %s 输出字符串
}
%d,按整数的实际长度进行输出,整数有几位就输出几位。
%md,m为指定的输出宽度。如果整数的位数小于m,则左补空格, 如果整数的位数大于m,则按实际的位数输出。
%ld,输出长整型。长整型的输出也可以指定宽度,即%mld。
14
2.2.2 各种类型数据的输出设计
【程例 序2运-行9】结f果格如式下符:使用修饰符 #1d2=i31n.2c43l54u6506d07e18,9<0□s12□t3d1.i42o43..4h45>6001,□□□□123.46,123.46□□□□,123.46 main( )
{ float f=123.456;
double d=1234567890123.11111,d=%f\n",f,d);
第2章 简单C程序设计
![第2章 简单C程序设计](https://img.taocdn.com/s3/m/76783408eff9aef8941e0658.png)
2015-1-18
《解析C程序设计(第2版)》第2章 简单C程序设计
17
标识符
标识符的命名必须遵守以下原则: (1)不能是C语言中的关键字,如int,do,for等等。 (2)只能由字母,数字,和下划线三种字符组成,且第一 个字符必须是字母或下划线。 ( 3 )不要太长。旧的 ANSI C 规定前 6 个字符有效;在 IBM-PC的MSC系统中取8个字符;Turbo C则允许32 个字符。 (4)见名知义。区分大小写。
另外,Turbo C2.0扩展关键字有: asm,_cs,_ds,_es,_ss,cdecl,far, near,huge,interrupt,pascal
2015-1-18
《解析C程序设计(第2版)》第2章 简单C程序设计
16
标识符
标识符分为: 系统预定义标识符(如 main、printf 等) 用户自定义标识符(如Add、r、x, y, sum等) 在程序中使用的常量、变量、语句标号以及函数的名 称等统称为标识符(Identifier) 除库函数的函数名、头文件名和预处理命令由系统定 义外,其余都由用户自定义
2015-1-18
《解析C程序设计(第2版)》第2章 简单C程序设计
21
问题的分析
甲:请给我计算一下圆的周长和面积。 乙:请问半径是多少? 甲:5.3。 乙:圆的周长=2*π*5.3=33.3 圆的面积=π*5.3*5.3=88.25 算法? 开始 1.输入半径 2.计算周长和面积 3.输出计算结果 结束
《解析C程序设计(第2版)》第2章 简单C程序设计
4
第一个C程序的组成
预处理 主函数main 注释
#include <stdio.h> main() /*主函数*/ { printf("hello,world!\n"); }
第2章 结构化程序
![第2章 结构化程序](https://img.taocdn.com/s3/m/c39cbba9284ac850ad024266.png)
正规程序
g
q
p
h
正规程序
(1)
(2)
(3)
正规程序的抽象
一个正规程序可以抽象为一个函数结点。 这个函数结点概括了该正规程序对数据进行运 算和测试的总的作用。
a q p b g
抽象成
p b
抽象成
k
正规子程序
一个正规程序的某些部分仍然是正规程序, 把这些部分称为正规子程序。
a
q p b g
抽象成
基本程序所对应的程序函数
WHILE-DO: [while-do]={(x,y)| k≥ 0((j,0j<k)(p fj(x)) ¬p fk(x)→y= fk(x))} 分析 当k=0时,j不存在, ¬p f0(x)为真,所以
y=x。
当k=1时,j可取0,即p f0(x) ¬p f1(x)为真,所以 y= f1(x),即y= f(x)。 当k=2,j可取0,1,使p fj(x) ¬p f2(x)为真,所以 y= f2(x); ‥‥‥
汇点又叫连接单元,在流程图中, 汇点只是起一个简单的连接作用。
例子
g
q
p
h
例子
T L1: if B1 then goto L2; S1; if B2 then goto L2; S2; goto L1; T
B1 F S1 B2 F S2
L2: S3;
S3
2.1.2 正规程序
一个流程图程序如果满足以下两个条件,称 为正规程序: (1) 具有一个入口线和一个出口线 (2) 对每一个结点,都有一条从入口线到出口线 的通路经过该点。
f(x)为假,y=f(x); k=1时,j=0,则p f(x)为真, p f(g f(x)) 为假,y= f(g f(x)); k=2时,j=0、1时, p f((g f)j(x))为真,p f((g f)2(x) ) 为假,y= f((g f)2(x)); ‥‥‥
第2章 程序基本结构
![第2章 程序基本结构](https://img.taocdn.com/s3/m/8ea933e819e8b8f67c1cb936.png)
else
printf(“%d”,x2); }
三、关系运算符
>
>=
<
<=
==
!=
1. 优先级 : 低于纯算术类, 高于赋值类 2. 结合性 : 左结合性
注意 : (1) 字符数据按其ASCII码值进行比较 (2) 应避免2个实数作 = = 或 != 的比较 四、关系表达式: 用关系运算符连接起来的式子
{ int x, y ; 则输出: 20 scanf(“%d” , &x) ; 30 switch (x) 0 { case 1 : y=10 ; 如果输入x为 6 printf(“%d\n” , y) ; case 2 : y=20 ; 则输出: 0 printf(“%d\n” , y) ; case 3 : y=30 ; printf(“%d\n” , y) ; 注意 : 在执行一个case 分支后, 应用 default : y=0 ; printf(“%d\n” , y) ; break语句结束switch语句
0&&a==0
1&&a==a a&&a==a a&&!a==0 !(a&&b)==!a||!b
四、 条件运算
若if语句中,在表达式为“真”和“假”时, 都只执行一个赋值语句给同一个变量赋值时, 可以使用简单的条件运算符来处理。
例如:
if(a>b) max=a; else max=b;
可以使用条件运算符来处理:max=a>b?a:b; (注:a>b关系运算有没有()都一样)。它这 样执行,a>b为“真”吗?如果为“真”,条件 表达式为a,否则为b。
c语言程序设计教程第二版课后习题答案
![c语言程序设计教程第二版课后习题答案](https://img.taocdn.com/s3/m/ef4cd55cc4da50e2524de518964bcf84b9d52d0c.png)
c语言程序设计教程第二版课后习题答案第一章:C语言基础1. 以下为C语言的特点:- C语言是一种结构化编程语言,可以通过模块化的方式构建复杂的程序。
- C语言具有较高的可移植性,可以在不同的操作系统和硬件平台上运行。
- C语言提供了丰富的库函数,方便开发者进行程序开发。
- C语言对指针的支持较好,可以进行底层的内存操作。
2. C语言中的标识符规则:- 标识符由字母、数字和下划线组成,且第一个字符不能是数字。
- 标识符区分大小写,因此变量名"num"和"Num"是不同的。
- 标识符不能与关键字重名,如"if"、 "for"等。
- 标识符长度一般不超过32个字符。
3. 在C语言中,预处理指令的作用是在程序编译之前对代码进行处理,包括宏展开、文件包含等。
预处理指令以"#"开头,常见的预处理指令有:- #include:用于包含头文件,将头文件中的内容插入到当前文件中。
- #define:用于定义宏,将宏名称替换为指定的值或代码片段。
- #ifdef、#ifndef、#endif:用于条件编译,根据条件是否成立来选择性地编译代码。
4. C语言中的数据类型分为基本数据类型和派生数据类型两种。
基本数据类型包括整型、浮点型、字符型和布尔型,派生数据类型包括数组、指针、结构体和共用体。
5. C语言中的运算符主要分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等。
算术运算符用于执行加减乘除等基本算术操作,关系运算符用于比较两个值的大小关系,逻辑运算符用于组合多个条件的判断结果,位运算符用于对二进制位进行操作,赋值运算符用于将右侧的值赋给左侧的变量。
第二章:C语言程序结构1. C语言程序结构由函数、语句和注释组成。
每个C语言程序至少包含一个main()函数,作为程序的入口。
2. 以下为C语言程序的基本结构:```c#include <stdio.h>int main() {// 程序代码return 0;}```3. C语言中的控制语句包括条件语句和循环语句。
第二章 Fortran程序设计基础
![第二章 Fortran程序设计基础](https://img.taocdn.com/s3/m/fd21d3ada0116c175e0e481e.png)
第二章 Fortran程序设计基础2.1.1字符集“字符集”是指编写Fortran程序时,所能使用的所有字符及符号。
Fortran所能使用Fortran标准中规定,编译器只需要认得大写的英文字母,而如果程序代码中使用小写英文字母,则会把它们视为大写字母。
简单说,Fortran是不区分大小写的语言。
特殊符号除了用来做数学计算符号外,还有其他用法,后面用到时会介绍它们。
2.1.2书面格式Fortran程序代码的编写格式有两种,Free Format(自由格式)及 Fixed format(固定格式)。
Fixed format(固定格式)属于旧式写法,它在编写版面上有很多限制。
Free Format (自由格式)是Fortran90之后的新写法,取消了很多旧的限制。
这里,我们要求用Free Format格式来编写程序。
以*.F90为扩展名的文件,就是用Free Format来编写的程序。
Free Fortran格式基本上允许非常自由的格式,它没有规定每一行的第几个字符有什么作用。
需要注意以下几点:(1)叹号“!”后面的文本都是注释,Fortran90编译程序对源程序进行编译时,对注释区内的内容不予处理。
(2)每行可以编写132个字符。
(3)行号放在每行程序的最前面。
(4)要求以一个“&”作为一个续行标志;一行中可以写多条语句,用“;”隔开。
下面是一个用Free Format格式的编写实例:1.! Free Format2. program main3. write(*.*) “hellow” !这也是注释4. write(*.*) &5. “hellow”6. end这里,读者可发现第一、三行中都有注释,第一行整行都是注释,第三行只有叹号后面的部分是注释。
第四行的最后是连接符号&,所以第五行会连接在它后面。
2.1.3 Fortran的数据类型1.整数(INTEGER)整数的类型又分为两种,长整型与短整型。
C++程序设计基础(第5版)(上)周霭如【2 程序控制结构】
![C++程序设计基础(第5版)(上)周霭如【2 程序控制结构】](https://img.taocdn.com/s3/m/efe77b382f60ddccda38a0d4.png)
2.1.1 if 语句
2.if 语句的嵌套
if 语句中的执行语句如果又是另一个if语句,称为嵌套if语句 if 与 else 的配对关系:C++规定,else 总是与它接近的if 配对 使用复合语句,可以改变条件语句的执行流程
华南理工大学计算机学院 周霭如 2016
2.1.1 if 语句
2.1.1 if 语句
2.1.1 if 语句
1.if 语句的形式和执行流程
执行流程
语句形式(2)
if( 表达式 ) 语句1 ;
else 语句2 ;
true (非0)
表达式
false (0)
语句 1
语句 2
华南理工大学计算机学院 周霭如 2016
2.1.1 if 语句
2.1.1 if 语句
1.if 语句的形式和执行流程
输入要托运的货物重量为 w 吨,托运距离 s 公里,计算总运费 t : t=p*w*s
华南理工大学计算机学院 周霭如 2016
2.1.1 if 语句
2.1.1 if 语句
S < 100?
false
true
S < 200?
控制流图
false false false
true
S < 300?
true
S < 400?
2.1.1 if 语句
例:
:
a
3
b
5
max = a ;
if ( b > a) max = b ; cout << "max = " << max << endl; : max 5
华南理工大学计算机学院 周霭如 2016
C语言程序设计第二章
![C语言程序设计第二章](https://img.taocdn.com/s3/m/7fd71fdf6137ee06eff918f4.png)
2.2常量和变量
变量的类型
2.3 整型数据
2.3.1整型常量 整型常量即整常数。在C语言中,整型常量可以用十进制、八 进制、十六进制3种形式表示。 1.十进制整数 由0~9共10个数码组成。如5234,-78,0等。注意:5234不能 写成5,234。 2.八进制整数 八进制整数必须以数字o开头,组成八进制的数码为0~7。如 o123,o101,o645,o763等。 3.十六进制整数 十六进制整数以0x或0X开头(0为数字),组成十六进制的数码为 0~9,A~F(a~f)。如0x99A,0X97C,0x59ff等。
基本类型 实型 字符类型 (char) 枚举类型 (enum) 数组类型([]) 结构体类型 (struct) 共用体类型 (union) 文件类型 (FILE)
单精度型 (float) 双单精度型 (double)
符号长整型 (unsigned long)
构造类型
C语言提供的数据类型如右所 示:
2.3 整型数据
3.整型变量的定义 整型变量的定义的格式如下: 类型标识 变量名1,变量名2,变量名3…… 类型标识符可以是int、short、long、unsigned,或是它们的组合,例 如: int x,y; //指定变量x、y为整型变量 long c,d; //指定变量c、d为长整型变量 unsigned age,hight; //指定变量age,hight为无符号整型变量 变量的定义,一般放在一个函数开头的声明部分。 4.整型变量的赋值 可以将一个整型常量或整型变量赋值给整型变量,例如: int x=456;
2.4 实型数据
2.4.1实型常量 在C语言中,实型表示实数的集合,实型常量又称为实数。实 型常量只能用十进制形式表示,不能用八进制或十六进制形式表示。 实型常量有两种表示形式 1.十进制小数形式 十进制小数形式由数码0~ 9和小数点组成。如0.123,.123, 0.0,0.1,-267.8230,0.,.0等。 2.十进制指数形式 由十进制数码,“e”或“E”(代表×10)组成。如1e5, 139.5E2,-1.99e-3(代表1×105,139.5×102,-1.99×10-3)等。 格式如下: 小数或整数e(或E)+(或-)整数
C语言程序设计第二章
![C语言程序设计第二章](https://img.taocdn.com/s3/m/53f59ba2dd3383c4bb4cd2a1.png)
2.2 理论知识
运行结果:
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串常量是用一对双引号括起来的零个或多个字符
如"","Hello,world!","123"等
双引号仅起定界作用,本身并不是字符串中的内容
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串的长度 指一个字符串中所包含的字符个数 C语言规定在存储字符串常量时,由系统在字符串的末 尾自动加一个'\0'作为结8.539815
2.2 理论知识
符号常量的两个好处
1. 修改程序方便 2. 见名知意,便于理解程序
符号常量的使用
1. 其值在它的作用域内不能改变,也不能再被赋值 2. 符号常量名用大写,变量名用小写,以示区别
2.2 理论知识
举例:
#define PI 3.1415
void main() { int PI; PI=3.1415; PI=3.14159; }
指针类型 构造类型 空类型
数组类型
结构体类型
共用体类型
2.2 理论知识
C语言的基本数据类型 整数类型
数据类型 有符号整型
短整型 长整型
int a,b,sum; a=32768;
数据类型符 int
short long [int] [int]
占用字节数 2
2 4
取
值
范
围
-215~(215-1) 即-32768~32767
2.2 理论知识
常量和变量 变量的赋值
在定义变量时赋值 float data1=1.5,data2=2.6;
“先定义后赋值
C语言第二章 顺序结构
![C语言第二章 顺序结构](https://img.taocdn.com/s3/m/1ba14a096edb6f1aff001fab.png)
第二章 顺序结构程序设计
程序基本结构:DICO
声明 Declaration 输入 Input int ia,ib,isum; scanf("%d%d",&ia,&ib);
计算
输出
Compute
Output
isum = ia+ib;
printf("%d+%d=%d\n",ia,ib,isum);
第二章 顺序结构程序设计
在程序语句中使用较为复杂的表达式时,请尽 量多的使用括号来保证准确的计算顺序。
第二章 顺序结构程序设计
2.7 实型数据
第二章 顺序结构程序设计
实型变量 实型变量的分类 单精度(float):占4字节,提供7位有效数字 双精度(double):占8字节,提供15~16位有效 数字 长双精度(long double)
第二章 顺序结构程序设计
其他格式符 (1)%ld,输出长整型数据 (2)%o,以八进制无符号形式输出整数。
例如:int a=65;
printf(“%o”,a);
输出结果:101
(3) x格式符,以十六进制无符号形式输出整数。 int a=255; printf(“%x”,a); 输出结果:ff
第二章 顺序结构程序设计
A+B问题:计算两个整数之和
#include <stdio.h> void main() { int ia,ib,isum; printf("input two integer please:"); scanf("%d%d",&ia,&ib); isum = ia+ib; printf("%d+%d=%d\n",ia,ib,isum); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章程序结构COBOL程序在编写时需要遵循严格的程序结构规则。
每个完整的COBOL程序代码都是由4个部组成的。
这4个部依次为标志部、环境部、数据部、以及过程部。
并且部与部之间的先后顺序不可更改。
下面依次对COBOL程序结构里的这4个部进行讲解。
2.1 标志部标志部是COBOL程序中的第一个部。
标志部通过“IDENTIFICATION DIVISION”标识,主要用来描述与程序本身相关的信息。
任何一个COBOL程序中都必须包含有标志部。
标志部中主要包含以下字段。
❑PROGRAM-ID❑AUTHOR❑INSTALLATION❑DATE-WRITTEN❑DATE-COMPILED❑SECURITY其中,第一个字段PROGRAM-ID用于指明程序名,是必须具备的字段。
其他字段则都是可选的。
但通常情况下,除以上第一个字段以外,还会包含有第二个字段。
第二个字段用于指明开发该程序的程序员名。
因此,通常情况下,COBOL程序在标志部中的格式如下。
IDENTIFICATION DIVISION.PROGRAM-ID. SAMPLE-PGM.AUTHOR. XXX.……以上代码指定了该程序的程序名为“SAMPLE-PGM”,开发该程序的程序员为“XXX”。
需要注意的是,程序名通常应该选择一个比较有意义的名字,最好能反映出该程序的大体功能。
在规范的开发部门中,程序名通常是由公司所指定的。
对于标志部中的程序员名字段,虽然不是必须要求具备的,但通常都会包含在内。
注明程序员名,对于该程序的后期维护是很重要的。
本书中该字段通常都指定为“XXX”。
在实际编写自己的程序时,可以署上自己的名字或代号。
关于标志部中其他几个字段简要介绍如下。
❑INSTALLATION:通常指设计该程序的公司或部门。
❑DATE-WRITTEN:指明程序编写或修改的日期。
❑DATE-COMPILED:指明程序编译的日期。
❑SECURITY:通常用于列出具有访问该程序权限的用户。
·2·2.2 环境部环境部紧接在标志部之后,主要用于指定该程序同外部系统环境之间的各种对应关系。
这种对应关系主要体现在程序的逻辑部分和环境的物理部分的对应。
环境部包含有两个节(也可称作“区”),其中一个为配置节,另一个为输入/输出节。
以下分别予以讲解。
2.2.1 配置节在讲解配置节之前,首先需要了解一下该节所在的环境部特征。
环境部通过“ENVIRONMENT DIVISION”标识。
同标志部不一样,如果该部没有任何内容,是可以省略不写的。
不过通常按规范至少应该加上该部的标识字段。
环境部在程序中的格式如下。
IDENTIFICATION DIVISION.PROGRAM-ID. SAMPLE-PGM.AUTHOR. XXX.*ENVIRONMENT DIVISION.……环境部中的配置节由“CONFIGURATION SECTION”标识。
该节主要用于指定程序同外部环境之间的一些配置信息。
该节也是可以省略不写的。
对于该节所包含的字段简要介绍如下。
❑SOURCE-COMPUTER:指示编译程序的计算机。
❑OBJECT-COMPUTER:描述运行程序的计算机。
❑SPECIAL-NAMES:指定货币符号选择小数点、提供开关名和定义字母表。
2.2.2 输入/输出节在COBOL程序中,数据主要是保存在文件中的。
数据的输入和输出通常是以文件为对象进行的。
因此,输入/输出节主要用于指定程序中所用到文件同外部环境之间的对应关系。
也就是说,输入/输出节主要是将程序中的逻辑文件同环境中的物理文件相对应起来。
输入/输出节由“INPUT-OUTPUT SECTION”标识。
在输入/输出节中,包含有两个字段,分别简要介绍如下。
❑FILE-CONTROL:用于指定文件的对应关系,是该节中主要用到的字段。
❑I-O-CONTROL:用于定义程序返回点,不同文件共享的内存区,以及多文件卷中文件的位置。
下面重点讲解输入/输出节中的FILE-CONTROL字段。
该字段在COBOL程序中基本的使用格式如下所示。
IDENTIFICATION DIVISION.PROGRAM-ID. SAMPLE-PGM.AUTHOR. XXX.*ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT CUSTOMER-FILEASSIGN TO S-SYSIN.SELECT PRINT-FILEASSIGN TO S-SYSOUT.·3·……在以上代码中,通过SELECT语句指定了两条文件对应关系。
其中第一条将CUSTOMER-FILE文件同S-SYSIN文件相对应。
第二条将PRINT-FILE文件同S-SYSOUT文件相对应。
以上4个文件所处位置分别如下。
❑在COBOL程序中的逻辑文件:CUSTOMER-FILE、PRINT-FILE;❑在外部环境中的物理文件:S-SYSIN、S-SYSOUT。
需要注意的是,对于S-SYSIN和S-SYSOUT,必须同相应JCL中指定的文件名一致。
而对于CUSTOMER-FILE和PRINT-FILE,通常需要在接下来的数据部中对其进行相关定义。
此处实际上主要是在程序里的逻辑名称和环境中的相应物理设备之间建立起了一定的联系。
2.3 数据部数据部紧接在环境部之后,由“DATA DIVISION”标识。
COBOL程序中所用到的各项数据都统一在数据部中定义,因此数据部十分重要。
数据部中常用的有3个节,分别为文件节、工作存储节、以及连接节。
此处主要讲解文件节和工作存储节。
连接节将在后面的子程序调用和CICS伪会话程序中具体讲解到。
下面对数据部的几个节作详细介绍。
2.3.1 文件节文件节由“FILE-SECTION”所标识,用于对程序中用到的文件里的数据进行定义。
需要注意的是,此处所说的文件指的是程序中的逻辑文件。
其文件名必须和环境部输入/输出节中由SELECT语句指定的文件名一致。
在文件节中,主要是通过FD语句实现对文件的定义。
在FD语句下,则通过PIC语句依次定义文件中每条记录所包含的数据项。
任何在程序中所使用到的文件都需要在此处定义。
以下代码反映了文件节在程序中的大致用法。
IDENTIFICATION DIVISION.PROGRAM-ID. SAMPLE-PGM.AUTHOR. XXX.*ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT CUSTOMER-FILEASSIGN TO S-SYSIN.SELECT PRINT-FILEASSIGN TO S-SYSOUT.*DATA DIVISION.FILE SECTION.FD CUSTOMER-FILERECORDING MODE IS F.01 CUST-RECORD.05 ACCOUNT-NO PIC 9(10).05 CLIENT-NAME PIC X(20).·4·05 PRI-FINANCE.10 F-SALARY PIC 9(5).10 F-STOCK PIC 9(7).10 F-FUND PIC 9(7).10 F-FOREX PIC 9(7).FD PRINT-FILERECORDING MODE IS FLABEL RECORDS ARE OMITTEDRECORD CONTAINS 132 CHARACTERSDATA RECORD IS PRINT-LINE.01 PRINT-LINE PIC X(132).……以上代码在环境部中指定了两个文件,因此在数据部中也相应的有两条FD语句用于对其定义。
其中FD是“File Descrtptor”的缩写,即文件描述符的意思。
关于在数据部文件节中的FD语句,有以下两点需要注意。
❑FD语句主要用来描述与文件记录相关的物理信息,如记录实际的格式、长度等等。
❑FD语句通过句点表示结束。
此外,可以看到,以上代码中的FD语句实际上是通过各种从句描述文件记录信息的。
关于这些从句分别介绍如下。
❑RECORDING MODE IS F:该从句用于指明文件记录的格式。
其中F表示“Fixed-length records”,即定长记录的意思。
通常情况下所用到的文件记录大多都为定长的。
当其不为定长时,也可通过其他字符进行指明。
❑LABEL RECORDS ARE OMITTED:表明忽略文件记录的标号。
当缺省时,OMITTED处为STANDARD。
其中手工指定为OMITTED时,将对应于用作输出打印的文件。
❑RECORD CONTAINS 132 CHARACTERS:表明每条文件记录包含132个字符。
标准情况下输出文件中的记录是包含132个字符的。
同时,此处所指定的字符个数需要与后面由PIC语句指定的总字符个数一致。
❑DATA RECORD IS PRINT-LINE:指明该文件所包含的记录名。
该从句是在COBOL-85版本中新创建的。
实际上,关于FD语句,其完整的语法格式如下。
FD file-nameBLOCK CONTAINS n RECORDSRECORD CONTAINS n CHARACTERSLABEL RECORD IS OMITTED/STANDARD(or: LABEL RECORDS ARE OMITTED/STANDARD)RECORDING MODE IS FDATA RECORD IS record-name.对于以上格式,主要需要补充的是关于BLOCK CONTAINS n RECORDS这条从句。
该从句用于指明在一个数据块中包含有多少条数据记录。
通常情况下,此处的数值n为0,表示在程序执行过程中动态地对数据记录组块。
对于所定义的数据,可以看到,实际上主要分为两大类型。
其中一类为数据组,另一类则为单元数据项。
数据组是由多个单元数据项或数据分组所组成的。
FD语句下所有的数据组和数据项组成了该文件的一条记录。
实际上,在文件节中各条FD语句下所定义的数据组和数据项是对相应文件记录逻辑上的一个划分。
在以上示例代码,对于CUSTOMER-FILE文件记录中各项数据的定义如下。
·5·……DATA DIVISION.FILE SECTION.FD CUSTOMER-FILERECORDING MODE IS F.01 CUST-RECORD.05 ACCOUNT-NO PIC 9(10).05 CLIENT-NAME PIC X(20).05 PRI-FINANCE.10 F-SALARY PIC 9(5).10 F-STOCK PIC 9(7).10 F-FUND PIC 9(7).10 F-FOREX PIC 9(7).……首先关注一下数据定义中的层。