第2章 第一个C程式
C语言全国计算机二级等级考试教程第一二章(章节带习题)
2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。
第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案
2.2 标识符、常量与变量
符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }
以下是合法的整型常量:
2.2 标识符、常量与变量
实型常量
实型常量只能用十进制形式表示 表示形式:
小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量
2.2.3 变量
在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量
变量的定义和说明
数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式
掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出
第二章C语言基础-语句-编写简单的C程序
C 语 言 程 序 设 计
putchar函数
调用格式为: putchar(表达式); 功能:将指定表达式的值所对应的字符输出到标准输出设备上
参数 字符变量 字符常量 数值常量 转义序列 函数 putchar(c) putchar(‘#') putchar('5') putchar('\n') 效果 显示字符变量 c 的内容 显示字符# 显示字符# 显示数字 5 在光标位置插入回车
关键是如何分离个位、十位、百位数字? 关键是如何分离个位、十位、百位数字?
ቤተ መጻሕፍቲ ባይዱ
153 153 % 10 = 3 153 / 100 = 1 153 - 1*100 = 53 53 / 10 = 5
C 语 言 程 序 设 计
#include <stdio.h> main() { int x, b0, b1, b2, sum; x = 153; b2 = x / 100; /*计算百位数字 计算百位数字*/ 计算百位数字 b1 = (x - b2 * 100) / 10; /*计算十位数字 计算十位数字*/ 计算十位数字 b0 = x % 10; /*计算个位数字 计算个位数字*/ 计算个位数字 sum = b2 + b1 + b0; printf("b2=%d, b1=%d, b0=%d, sum=%d\n", b2, b1, b0, sum); }
C 语 言 程 序 设 计
任务三
#include <stdio.h> void main() { int n1; char n2; float n3; scanf("%d%c%f",&n1,&n2,&n3); printf("n1=%f,n2=%c,n3=%f\n",n1,n2); } (1)键盘如何输入? )键盘如何输入? 如何输入? (2)修改 )修改scanf(“%d%f%c”,&n1,&n3,&n2);如何输入? “ ” 如何输入
电大C语言程序设计 第2章 基本数据类型和表达式
第2章 基本数据类型和表达式 章 2.2.3 枚举常量
枚举常量是枚举类型中的值,即枚举值。 枚举常量是枚举类型中的值,即枚举值。 枚举类型定义: 枚举类型定义: enum <枚举类型名 枚举类型名>{<枚举表 ; 枚举表>}; 枚举类型名 枚举表 (1)enum color{red,yellow,blue}; (2)enum day{Sun,Mon,Tues,Wed,Thur,Fri,Sat};
第2章 基本数据类型和表达式 章 2.2.5 地址常量 指针类型的值域范围: 指针类型的值域范围:0~(232-1),每一个整数 , 代表内存空间中一个对应单元的存储地址。 代表内存空间中一个对应单元的存储地址。 用户可以直接使用整数0作为地址常量 作为地址常量, 用户可以直接使用整数 作为地址常量,称为 空地址常量,对应的符号号常量在stdio.h中定义,其值为整数 。 中定义, 号常量在 中定义 其值为整数0。
第2章 基本数据类型和表达式 章 2.3 变量 变量是用标识符表示的、 变量是用标识符表示的、其值可以被改变的 量。 1.变量定义语句 变量定义语句 <类型关键字 <变量名 [=<初值表达式 类型关键字> 变量名> 初值表达式>],…; 类型关键字 变量名 初值表达式
第2章 基本数据类型和表达式 章 2.3 变量 2.语句格式举例 语句格式举例 (1)int a,b; (2)char ch1=‘a’,ch2=‘A’; (3)int x=a+2*b; (4)double d1,d2=0.0,d3=3.14159; 3.语句应用举例 见circle.c 语句应用举例
第2章 基本数据类型和表达式 章 2.2.3 枚举常量
(1)enum color c1,c2,c3; (2)enum day today,workday; (3)c1=red; (4)workday=Wed; enum day {Sun=7,Mon=1,Tues,Wed,Thur,Fri,Sat};
C语言入门学习-C第2章_算法
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 13
2.4.6 用计算机语言表示算法
• 概念:用计算机实现算法。计算机是无法 识别流程图的。只有用计算机语言编写的 程序才能被计算机执行。因此在用流程图 或伪代码描述出一个算法后,还要将它转 换成计算机语言程序。
• 特点:用计算机语言表示算法必须严格遵 循所用的语言的语法规则。
• 用处:要完成一件工作,包括设计算法和 实现算法两个部分。设计算法的目的是为 了实现算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 14
写出了C程序,仍然只是描述了算法 ,并未实现算法。只有运行程序才是实 现算法。应该说,用计算机语言表示的 算法是计算机能够执行的算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 15
• 确定性:算法中的每一个步骤都应当是确 定的。
• 有零个或多个输入:输入是指在执行算法 时需要从外界取得必要的信息。
• 有一个或多个输出:算法的目的是为了求 解,“解” 就是输出。
• 有效性:算法中的每一个步骤都应当能有 效地执行,并得到确定的结果 。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 4
美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符 号:
起止框
判断框
处理框
输入/输出框
注释框
流向线
连接点
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 8
2.4.3 三种基本结构的流程图 三种基本结构的图示:
顺序结构
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 2
C语言教材 第2章
第2章 C 语言的基本数据类型本章要点了解C 语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。
本章的难点是数据在内存中的存储形式。
第一节 C 语言的数据类型由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。
例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。
计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。
不同的数据类型具有不同的取值范围和不同的操作。
C 语言提供的数据类型如图2-1所示。
在程序中使用的所有数据都必须指定它的数据类型,C 语言的数据类型由基本类型和非基本类型组成。
其中,基本数据类型是其他数据类型的基础。
C 语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。
本章主要讨论这4种基本类型。
整型、单精度型、双精度型和字符型数据定义的关键字分别为:int 、float 、double 和char 。
除了这四个关键字外,C 语言中还提供了一些数据类型的修饰符,如:long 、short 、signed 和unsigned 。
它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。
结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。
表2-1 各种数据类型及其说明语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C 12void union structenum char double float int -⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎩⎨⎧说明:(1)表中方括号内的部分是可以省略不写的。
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
C语言程序设计-第2章 简单c程序设计
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语言数据类型及转换 掌握常用表达式与优先级 熟练使用输入输出函数 能力目标 • 正确定义常量与变量 • 能根据要求正确输入数 据、输出结果 • 分析问题并根据要求正 确编写简单程序
第2章 简单C程序设计
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"); }
程序设计基础(C语言)第2章 基本IO和基本数据类型
return 0; }
Every C program must have a main function The execution of C program starts from main()function
2.2常量与变量
常量(Constant)
–在程序中不能改变其值的量
变量(Variable)
加、减(整数) 对ASCII码值的运算
指针类型
加、减(整数)和比较运算
(2)不同类型数据占用的内存大小不同
如何计算变量或类型占内存的大小
计算变量占内存空间的大小
用sizeof运算符 一元运算符 用sizeof运算符计算变量占内存空间的大小的好处 增加程序的可移植性 编译时执行的运算符,不会导致额外的运行时间开销
程序的标识符通常采用“大小写混排”方式,如MaxValue,而UNIX 应用程序的标识符通常采用
“小写加下画线”方式,如max_value。不要将两类风格混在一起 使用。
(6)C语言的标识符是区分大小写(对大小写敏感)的。
2.2.3常量的表示形式
在程序中不能改变其值的量
包括:
十进制
长整型 无符号整八型进十制六进制
– const常量有数据类型,编译器能对其进行类型检查 – 某些集成化调试工具可以对const常量进行调试
2.3变量的类型决定了什么?
占用内存空间的大小 数据的存储形式 合法的表数范围 可参与的运算种类
(1)不同数据类型可参与的运算不同
整型
加、减、乘、除、求余
实型
加、减、乘、除
字符型
–其值在程序执行过程中是可以改变的
2.2.1变量的类型和变量的定义
变量的声明(Variable Declaration)
C语言第2章 数据类型及运算符
C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。
C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。
数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。
2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。
#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。
C语言复习资料 第二章重点内容
11
2。 对上述已经定义的实型常量指数形式的说明:
(1)在此的digits是一位或多位十进制数字(0—9)组成。 (2)小数点之前是整数部分,之后是小数部分。 (3)小数点在没有小数时可以省略。如:3E+6 (4)指数部分用E或者e开头,幂指数可以为负,当没有符号时,视为正 指数,且其基数都为10。 (5)在不加说明的情况下,实型常量为正值,如果要表示负值,必须在 常量前使用负号。如:-2.5E-5 (6)字母E或e之前必须有数字,且E或e之后指数必须为整数。 如:e3,2.3e9.5,.e3等都是不合法的。
上述各类型整型变量占用的内存字节数随系统而异。在16位操作系 统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型 (2字节)≥short型(2字节)。
2.占用内存字节数与值域
8
显然,不同类型的整型变量,其值域不同。占用内存字 节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-11);无符号整型变量的值域为:0~(2n*8-1)。(同样适合于 各种不同的类型 ) 例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-11),即-32768~32767;一个unsigned型变量的值域为:0~ (22*8-1),即0~65535。 2.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如0x36。
9
2.分类 (1)基本整型。在16位机中,用2字节存储,其数据范 围与int型变量一样。 (2)长整型(在数值后面加“L(l)”)。对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-231-(231-1)。例如,123l、315L等。 3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以赋 给int型变量和long int型变量;其值在-231--(231-1)的整 型常量,就只能赋给long int型变量。 注意:常量无unsigned型。但一个非负整型常量,只要 它的值不超过相应变量的值域(即取值范围),也可以赋 给unsigned型变量。
第二章_用C语言编写程序
习题参考
分支语句,自己实现习题6 习题11 ex2-11.cpp
程序阅读理解
eg2-1.cpp eg2-2.cpp
2.5计算12!/(5!+7!)
1,问题分析:三个阶乘结果的运算 2,解决方法一:
① 分别计算出12!,5!,7! ② 再计算最后结果 ③ ch2-10.cpp
3,代码冗长,不够清晰简洁
例:求 ∑ i
i =1
100
分析: 1. sum=1+2+3+……+100 累加的过程 2. 共性:sum=sum + i,重复100次 3. 确定使用for循环,循环控制变量如何设定
① ② ③ ④ 初值表达式:i=1 条件表达式:i<=100 步长表达式:i++(或i=i+1) 循环体语句:sum=sum+i
iNum 10 变量名 变量值
存储单元
2.2.3算术运算和赋值运算
1,算术运算
运算符 名称 优先级 + 加 低 减 * 乘 / 除 高 % 模(求余)
① 算术表达式:5*(fahr-32)/9 ② 赋值运算
1,变量=表达式 如 fahr=100 celsius=5*(fahr-32)/9 2,赋值过程(赋值运算符的左边必须是一个变量) ① 计算赋值运算符右边的表达式的值 例子:i=i+1 ② 将求得的表达式值赋值给左侧的变量
函数参数
y=expon(t,a); printf("%f\n",y);
使用函数编写程序—温度转换表
1,不使用自定义函数的代码
2,使用函数的代码:例2-18 ch2-12.cpp
使用函数求解
例2-17:输入x,计算并输出下列分段函 数f(x)的值(保留2位小数)
第2章C语言基础知识
第二章C语言基础知识2.1 常量和变量【学习目标】(1)掌握常用标识符的命名规则(2)掌握常量和变量的定义与引用方法实例5 常量和变量——输出常量与变量的值【实例任务】定义不同类型的几个变量,然后对应输出相应的常量值和变量值。
程序的运行结果如图2-1所示。
图2-1 程序运行结果【相关知识】1.标识符标识符是用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等,其基本构成元素源自字符集。
C语言的字符集包括英文字母、数字字符和一些特殊字符。
用这些基本元素单位命名标识符时,一定要遵循以下四个原则:(1)必须由字母(a~z,A~Z)或下画线(_)开头;(2)由字母、数字或下画线组成的长度不超过32个字符;(3)标识符中的大小写字母有区别;(4)不能与关键字同名。
下面是不合法的标识符和变量名:M.d.,John,y 123,#33,3d642.常量常量是数据在内存中一种表示形式,在程序运行过程中值永远保持不变,常用的类型有5种,包括整型常量、实型常量、字符型常量、字符串常量、符号常量。
整型常量就是整型,常用的表示形式有十进制,如10、30等。
八进制常量表示形式要以0开头,如013、012等。
十六进制常量表示形式要以0x或0X开头,如0x13、0X12等。
实型常量就是指的是一些带小数点的数,包括指数。
如3.14、-1.2、1.2e6、10.5E8等。
其中,1.2e6表示数学上1.2×106,10.5E8表示数学上10.5×108。
字符型常量是单引号引起来的单个字符,这些字符为ASCII字符,对应各有其ASCII 码值。
字符常量包括一些转义字符,字符形式和输出结果对照如表2-1所示。
表2-1 转义字符字符串常量是用双引号引起来的0个或多个字符。
字符串常量形式给出的是字符串在存储空间中的起始地址。
如“Hello World!”就是一个字符串常量。
符号常量,是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。
C语言程序设计第二章
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语言第二章 顺序结构
第二章 顺序结构程序设计
程序基本结构: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); }
C语言程序设计--进阶篇--第2章 运算符与表达式(2)
——进阶篇
2.3.2 关系表达式 用关系运算符将表达式连接起来的式子 优先级 算术 运算符 高 低 < > <= >= 高 低 == !=
结合方向
自左向右 表达式的值
C语言中,真:非0 语言中, 值 , 假 : 0值
关系成立,即为真,结果为1 关系成立,即为真,结果为1; 关系不成立,即为假,结果为0 关系不成立,即为假,结果为0;
C语言程序设计
——进阶篇
(1) 单独使用时 ++i;
等 价
i++;
等 价
i=i+1;
(2) j=++i;
(3) j=i++; 若i的初始值为3 的初始值为3
i程序设计
——进阶篇
【例2.8】自增、自减运算符 自增、 #include <stdio.h> <stdio. main() { int i; i=8; i=8 printf("% n",++i); printf("%d\n",++i); printf("% n",--i); printf("%d\n",--i); printf("% n",i++); printf("%d\n",i++); printf("% n",i--) printf("%d\n",i--); printf("% n",-i++); printf("%d\n",-i++); printf("% n",- --) printf("%d\n",-i--); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上述註解文字是位在「/*」和「*/」符號中的文 字內容。C語言的註解可以跨很多列,如下所示:
/* --------------------------程式範例: Ch2-3.c
------------------------------ */
2-4-3 程式註解-C99
2-4-4 太長的程式碼
C語言的程式碼列太長並不容易閱讀,我們可以 將它分成兩列來編排,如果程式碼需要分成兩列, 直接分割即可,如下所示:
result = compare((void *)ptr, (void *)ptr1, (int (*) (void *, void *))numcmp);
上述第1列程式碼是變數宣告,第2列是指定敘述 的運算式,第3列是呼叫標準函式庫的printf()函 數,最後是空程式敘述(Null Statement)。
2-4-1 程式敘述-結束符號
「;」程式敘述結束符號 C語言的「;」符號代表程式敘述的結束,
告訴編譯程式已經到達程式敘述的最後, 換句話說,使用「;」符號可以在同一列程 式碼撰寫多個程式敘述,如下所示:
2-2-1 C應用程式的開發步驟-說明
編輯程式碼(Editing):C語言的程式碼檔案是 一個標準的ASCII文字檔案,C語言程式碼檔案的 副檔名為.c。
編譯程式碼(Compiling):單純的程式碼檔案 並不能執行,需要使用編譯程式將原始程式碼檔 案轉譯成指定CPU機器語言的目標檔(Object Files),其副檔名為.obj或.o。
• 輸入(Input):沒有或數個外界的輸入資料。 • 輸出(Output):至少有一個輸出結果。 • 明確性(Definiteness):每一個指令步驟都十分明
確,沒有模稜兩可。 • 有限性(Finiteness):這組指令一定會結束。 • 有效性(Effectiveness):每一個步驟都可行,可以
程式語言的「開發環境」(Development Environment)是一組工具程式用來建立、編譯 和維護程式語言建立的應用程式。目前的高階程 式語言大都擁有整合開發環境,稱為「IDE」 (Integrated Development Environment), 在同一個應用程式就可以編輯、編譯和執行特定 語言的應用程式。
沒有建立專案:執行檔案名稱就是原始程式檔案 名稱,例如:Ch2_3.c在Turbo C和Dev-C++ 為Ch2-3.exe。
第2章 第一個C程式
2-1 如何設計C應用程式 2-2 C應用程式的開發環境 2-3 第一個C程式與C程式架構 2-4 C程式的寫作風格 2-6 在Windows作業系統執行C應用程式
2-1 如何設計C應用程式
2-1-1 程式設計的基礎 2-1-2 演算法
2-1-1 程式設計的基礎-說明
2-1-1 程式設計的基礎-撰寫程式 碼
撰寫程式碼(Coding)
現在我們就可以開始使用程式語言撰寫程 式碼,以本書為例是使用C語言,在實際撰 寫程式時,可能發現另一種方法比較好, 因為設計歸設計,有時在實際撰寫程式時 才會發現其優劣,如果這是一個良好的設 計方法,就算改為其它方法也不會太困難。
上述main()主程式的程式碼部分是程式區塊,在 C語言的流程控制敘述和函數都擁有程式區塊。
2-4-3 程式註解-ANSI-C
程式註解是程式中十分重要的部分,因為良好註 解文字不但能夠了解程式目的,並且在程式維護 上,也可以提供更多的資訊。
C語言的程式註解是以「/*」和「*/」符號標示 註解文字,如下所示:
在傳統MS-DOS或UNIX、Linux系統的使用者, 或稱為「終端機」(Terminals),其程式執行 環境輸入資料和輸出資料都是「命令列模式」 (Command-line Interface),即文字模式的 鍵盤輸入或單純文字內容的輸出,在終端機開發 C語言應用程式需要分別使用多個工具程式來完 成上一節C應用程式的開發步驟。
• 除錯:如果程式無法輸出正確結果,除錯是在找出錯 誤的地方,我們不但需要找出錯誤,還需要決定找出 更正錯誤的方法。
2-1-2 演算法-定義
在程式設計的設計階段寫出的解決問題步驟、策 略或方法就是「演算法」(Algorithms),其基 本定義如下:
演算法是完成目標工作的一組指令,這組指令的步 驟是有限的。除此之外,演算法還必須滿足一些 條件,如下所示:
2-4 C程式的寫作風格
2-4-1 程式敘述 2-4-2 程式區塊 2-4-3 程式註解 2-4-4 太長的程式碼 2-4-5 程式碼縮排
2-4-1 程式敘述-說明
C程式是由程式敘述(Statements)組成,一列 程式敘述如同英文的一個句子,內含多個運算式、 運算子或關鍵字,如下所示: int balance = 1000; interest = balance * rate; printf("第一個C應用程式\n"); ;
連結函式庫(Linking):在此步驟將函式庫和模 組的目標檔連結到應用程式,以便建立可執行的 執行檔,Windows執行檔案的副檔名是.exe。
執行應用程式(Executing):在建立C應用程式 的執行檔.exe後,就可以在「命令提示字元」視 窗載入C應用程式來執行。
2-2-2 C語言的開發環境-說明
程式設計是將需要解 決的問題轉換成程式 碼,程式碼不只能夠 在電腦上正確的執行, 而且可以驗證程式執 行的正確性,基本上, 程式設計的過程可以 分成五階段,如右圖 所示:
2-1-1 程式設計的基礎-需求
需求(Requirements)
程式設計的需求是在了解問題本身,以確切獲得 程式需要輸入的資料和其預期產生的結果。例如: 計算出從1加到100的總和,程式輸入資料是相加 範圍1和100,然後執行程式輸出計算結果5050。
2-1-1 程式設計的基礎-分析
分析(Analysis) 在解決需求時只有一種解決方法嗎?例如:如果
有100個變數,我們可以宣告100個變數儲存資 料,或是使用陣列(一種資料結構)來儲存,在 分析階段是將所有可能解決問題的演算法都寫下 來,然後分析比較哪一種方法比較好,選擇最好 的演算法來撰寫程式。 如果不能分辨出哪一種方法比較好,請直接選擇 一種方法繼續下一個階段,因為在撰寫程式碼時, 如果發現其實另一種方法比較好,我們可以馬上 改為另一種方法來撰寫程式碼。
追蹤其結果。
2-1-2 演算法-方法
演算法只是將解決問題的步驟詳細的寫出來,所 以並沒有固定方式,基本上只要能夠描述這組指 令的執行過程即可,常用的方式如下所示:
一般語言文字:直接使用文字描述來說明執行的 步驟。
虛擬碼(Pseudo Code):一種趨近程式語言的 描述方法,它並沒有固定語法,其每一列約可轉 換成一列程式碼。
2-1-1 程式設計的基礎-設計
設計(Design)
在了解程式設計的需求後,我們就可以開始找尋 解決問題的方法和策略,簡單的說,設計階段是 找出解決問題的步驟。例如:1加到100是 1+2+3+4….+100的結果,程式是使用數學運 算的加法來解決問題,因為需要重複執行加法運 算,所以迴圈結構就派上用場。
2-1-1 程式設計的基礎-驗證
驗證(Verification) 驗證是證明程式執行的結果符合需求的輸出資料,
可以再細分成三個小階段,如下所示:
• 證明:執行程式時需要證明它的執行結果是正確的, 程式符合所有輸入資料的組合,程式規格也都符合演 算法的需求。
• 測試:程式需要測試各種可能情況、條件和輸入資料, 以測試程式執行無誤,如果有錯誤產生,就需要除錯 來解決問題。
}
2-5 在Windows作業系統執行C應用
程式-執行檔名稱
有建立專案(Project):Borland C++ Builder替Ch2-3.c建立的專案名稱為 Ch2_3.bpr,執行檔案名稱為Ch2_3.exe。
有建立工作空間(Workspace):Visual C++ 6.0建立有工作空間,Ch2-3.c建立的工作 空間與專案名稱都為Ch2_3.dsw和Ch2_3.dsp, 所以執行檔案名稱為Ch2_3.exe,檔案是位在工 作空間下的Debug資料夾,其完整路徑為 「Ch2_3\Debug\Ch2_3.exe」。
2-3 第一個C程式與C程式架構-步驟
整合開發環境建立C應用程式的基本步驟, 如下所示:
• Step 1:啟動整合開發工具新增原始碼檔案, 某些整合開發環境需要先建立專案(Project) 或工作空間(Workspace),才能新增程式碼 檔案。
• Step 2:在編輯視窗輸入C程式碼後,儲存C 原始程式碼檔案,副檔名為.c。
如果程式碼需要連續列(即其中不可有新行字元 '\n'),可以在程式碼列的最後加上「\」符號 (Line Splicing),將程式碼分成數列,如下所 示:
sum = scores[0] + scores[1] + \ scores[2] + scores[3] + \ scores[4];
2-4-5 程式碼縮排
balance = 10000; rate = 0.04; interest = balance * rate;
2-4-2 程式區塊
程式區塊(Blocks)是由多個程式敘述組成,使 用「{」和「}」符號包圍,如下所示: int main(void) { printf("第一個C程式\n"); getchar(); return 0; }
Borland C++ Builder:Borland公司在Windows作 業系統下開發的C/C++整合開發環境。