内容正文:
第二章 顺序结构
C语言程序设计
标识符
标识符:一个对象的名字
C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线
合法的标识符:如sum,average, _total, Class, day, BASIC, li_ling
不合法的标识符:M.D.John,¥123,#33,3D64,a>b
大小写字母是不同的字符
C语言程序设计
常量和变量
在计算机高级语言中,数据有两种表现形式:
常量
变量
C语言程序设计
常量和变量
1.常量是指在程序运行过程中不能发生改变的量。
整型常量
整型常量就是整数,如10,35,0,-340
实型常量
十进制小数形式:如0.34 ,-56. 9
指数形式:如12.3e3 (代表12.3103)
C语言程序设计
常量和变量
字符常量
普通字符,用单引号括起来的一个字符。用于可显示字符,即表示字符常数。如'A','5','?','+'等。
转义字符,以字符\开头的字符序列。用于不可显示字符,主要是那些控制字符如换行符、回车符、换页符等,:如’
’表示换行符。
C语言程序设计
常量和变量
C语言程序设计
转义字符 转义字符的意义 值
回车换行 10
\b 退格,将当前位置移到前一列 8
\r 回车,将当前位置移动到本行的开头 13
\\ 反斜线字符"\" 92
\' 单引号符 39
\” 双引号符 34
常量和变量
字符串常量
字符串常量是由双引号括起来的字符序列。字符串常量与字符常量有严格的不同,编译程序在每个字符串的后面自动加上一个空字符‘\0’以示区别。
如”boy”、”hello”
C语言程序设计
常量和变量
符号常量
符号常量是指以标识符形式出现的常量。C语言中符号常量使用编译预处理命令#define来定义。
如 #define PI 3.1416
C语言程序设计
常量和变量
2. 变量:在程序运行期间,变量的值是可以改变的。
变量有两个要素:
变量名:每个变量名都遵循标识符命名规则,变量名实际上是以一个名字代表的一个存储地址。
变量值:是变量所对应的内存区域内存放的二进制序列。在程序中,通过变量名来引用变量的值。
C语言程序设计
常量和变量
如图中,a是变量名。3是变量a的值,即存放在变量a的内存单元中的数据。
C语言程序设计
变量名
3
变量值
存储单元
a
常量和变量
在C语言所编写的应用程序中,任何变量都必须“先定义,后使用”。
定义变量时指定该变量的类型和名字
变量定义的格式:
C语言程序设计
[存储类型] 数据类型标识符 变量1,变量2, … 变量n;
例: int a;
float b, c, d;
char c1;
常量和变量
C语言程序设计
(1) 初始化:定义的同时赋值
int i=5;
float x=10.1 ;
char c1=‘A’;
(2) 先定义,后赋值。
int i;
float x;
char c1;
i=5; x=10.1;
c1=‘A’;
变量有两种赋值的方法:
常量和变量
C语言程序设计
在程序中使用变量,称为变量的引用。如进行数值计算、数据处理等。使用变量时,先定义,后引用。
变量的引用
例:
main( )
{ int a=55; int b; int c;
b=45;
c=a+b;
printf(“a=%d b=%d c=%d”,a,b,c);
}
对变量的引用
整型数据
1. 整型数据的分类
最基本的整型类型
基本整型(int型):占2个或4个字节
短整型(short int):VC++6.0中占2个字节
长整型(long int):VC++6.0中占4个字节
双长整型(long long int):C99新增的
C语言程序设计
整型数据
1. 整型数据的分类
2. 整型变量的符号属性
整型变量的值的范围包括负数到正数
可以将变量定义为“无符号”类型
C语言程序设计
字符型数据
1.字符与字符代码
大多数系统采用ASCII字符集
字母:A ~Z,a ~z
数字:0~9
专门符号:29个:! ” # & ‘ ( ) *等
空格符:空格、水平制表符、换行等
不能显示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回车(以‘\r’表示)等
C语言程序设计
字符型数据
2.字符变量
用类型符char定义字符变量
char c = ’?’;
系统把“?”的ASCII代码63赋给变量c
printf(”%d %c
”,c,c);
输出结果是:
63 ?
C语言程序设计
浮点型数据
浮点型数据是用来表示具有小数点的实数
float型(单精度浮点型)
编译系统为float型变量分配4个字节
数值以规范化的二进制数指数形式存放
C语言程序设计
浮点型数据
浮点型数据是用来表示具有小数点的实数
float型(单精度浮点型)
double型(双精度浮点型)
编译系统为double型变量分配8个字节
15位有效数字
long double(长双精度)型
C语言程序设计
运算符和表达式
1.基本的算术运算符:
+ :正号运算符(单目运算符)
- :负号运算符(单目运算符)
* :乘法运算符
/ :除法运算符
% :求余运算符
+ :加法运算符
- :减法运算符
C语言程序设计
运算符和表达式
2. 自增、自减运算符:
作用是使变量的值加1或减1
++i,--i:在使用i之前,先使i的值加(减)1
i++,i--:在使用i之后,使i的值加(减)1
C语言程序设计
运算符和表达式
3. 算术表达式和运算符的优先级与结合性:
用算术运算符和括号将运算对象连接起来的、符合C语法规则的式子,称为C算术表达式。
运算对象包括常量、变量、函数等
C语言规定了运算符的优先级和结合性
C语言程序设计
运算符和表达式
例3.3 给定一个大写字母,要求用小写字母输出。
解题思路:
关键是找到大、小写字母间的内在联系
同一个字母,用小写表示的字符的ASCII代码比用大写表示的字符的ASCII代码大32
C语言程序设计
运算符和表达式
#include <stdio.h>
int main ( )
{
char c1,c2;
c1=’A’;
c2=c1+32;
printf("%c
",c2);
printf(”%d
”,c2);
return 0;
}
将字符‘A’的ASCII代码65放到c1中
将65+32的结果放到c2中
用字符形式输出
用十进制形式输出
C语言程序设计
运算符和表达式
4.C运算符
(1) 算术运算符 (+ - * / % ++ --)
(2) 关系运算符 (> < == >= <= !=)
(3) 逻辑运算符 (!&& ||)
(4) 位运算符 (<< >> ~ | ∧ &)
(5) 赋值运算符 (=及其扩展赋值运算符)
(6) 条件运算符 (?:)
C语言程序设计
运算符和表达式
4.C运算符
(7) 逗号运算符 (,)
(8) 指针运算符 (*和&)
(9) 求字节数运算符 (sizeof)
(10) 强制类型转换运算符 ( (类型) )
(11) 成员运算符 (.->)
(12) 下标运算符 ([ ])
(13) 其他 (如函数调用运算符())
C语言程序设计
最基本的语句----赋值语句
在C程序中,最常用的语句是:
赋值语句
输入输出语句
其中最基本的是赋值语句
C语言程序设计
1.赋值运算符
“=”是赋值运算符
作用是将一个数据赋给一个变量
也可以将一个表达式的值赋给一个变量
C语言程序设计
2.复合的赋值运算符
在赋值符“=”之前加上其他运算符,可以构成复合的运算符
a+=3 等价于 a=a+3
C语言程序设计
3.赋值表达式
一般形式为:
变量 赋值运算符 表达式
对赋值表达式求解的过程:
求赋值运算符右侧的“表达式”的值
赋给赋值运算符左侧的变量
C语言程序设计
3.赋值表达式
赋值表达式“a=3*5”的值为15,对表达式求解后,变量a的值和表达式的值都是15
“a=(b=5)”和“a=b=5”等价
“a=b”和“b=a”含义不同
C语言程序设计
4.赋值过程中的类型转换
两侧类型一致时,直接赋值
两侧类型不一致,但都是算术类型时,自动将右侧的类型转换为左侧类型后赋值
定义变量时要防止数据溢出
C语言程序设计
5.赋值表达式和赋值语句
赋值表达式的末尾没有分号,而赋值语句有分号
一个表达式可以包含赋值表达式,但决不能包含赋值语句
C语言程序设计
6.变量赋初值
int a=3,b=3,c;
int a=3; 相当于 int a; a=3;
C语言程序设计
输入输出语句
几乎每一个C程序都包含输入输出
输入输出是程序中最基本的操作之一
C语言程序设计
输入输出语句
C语言本身不提供输入输出语句
输入和输出操作是由C标准函数库中的函数来实现的
printf和scanf不是C语言的关键字,而只是库函数的名字
putchar、getchar、puts、gets
C语言程序设计
输入输出语句
在使用输入输出函数时,要在程序文件的开头用预编译指令
#include <stdio.h>
或
#include ″stdio.h″
C语言程序设计
用printf函数输出数据
在C程序中用来实现输出和输入的,主要是printf函数和scanf函数
这两个函数是格式输入输出函数
用这两个函数时,必须指定格式
C语言程序设计
用printf函数输出数据
1.printf函数的一般格式
printf(格式控制,输出表列)
例如:
printf(”i=%d,c=%c
”,i,c);
格式声明
C语言程序设计
用printf函数输出数据
1.printf函数的一般格式
printf(格式控制,输出表列)
例如:
printf(”i=%d,c=%c
”,i,c);
普通字符
C语言程序设计
用printf函数输出数据
1.printf函数的一般格式
printf(格式控制,输出表列)
例如:
printf(”i=%d,c=%c
”,i,c);
可以是常量、变量或表达式
C语言程序设计
用printf函数输出数据
2. 常用格式字符
d格式符。用来输出一个有符号的十进制整数
可以在格式声明中指定输出数据的域宽
printf(”%5d%5d
”,12,-345);
%d输出int型数据
%ld输出long型数据
C语言程序设计
用printf函数输出数据
2. 常用格式字符
c格式符。用来输出一个字符
char ch=’a’;
printf(”%c”,ch); 或
printf(”%5c”,ch);
输出字符:a
C语言程序设计
用scanf函数输入数据
1. scanf 函数的一般形式
scanf(格式控制,地址表列)
含义同printf函数
可以是变量的地址,或字符串的首地址
C语言程序设计
用scanf函数输入数据
2. scanf函数中的格式声明
与printf函数中的格式声明相似
以%开始,以一个格式字符结束,中间可以插入附加的字符
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
C语言程序设计
用scanf函数输入数据
3.使用scanf函数时应注意的问题
scanf(”%f%f%f”,a,b,c); 错
scanf(”%f%f%f”,&a,&b,&c); 对
对于
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
1 3 2↙ 错
a=1,b=3,c=2↙ 对
a=1 b=3 c=2↙ 错
C语言程序设计
字符数据的输入输出
1.用putchar函数输出一个字符
从计算机向显示器输出一个字符
putchar函数的一般形式为:
putchar(c)
C语言程序设计
字符数据的输入输出
例:先后输出BOY三个字符。
解题思路:
定义3个字符变量,分别赋以初值B、O、Y
用putchar函数输出这3个字符变量的值
C语言程序设计
字符数据的输入输出
#include <stdio.h>
int main ( )
{
char a='B',b='O',c='Y';
putchar(a);
putchar(b);
putchar(c);
putchar ('
');
return 0;
}
向显示器输出字符B
向显示器输出换行符
C语言程序设计
字符数据的输入输出
#include <stdio.h>
int main ( )
{
char a='B',b='O',c='Y';
putchar(a);
putchar(b);
putchar(c);
putchar ('
');
return 0;
}
改为int a=66,b=79,c=89;
C语言程序设计
字符数据的输入输出
2. 用getchar函数输入一个字符
向计算机输入一个字符
getchar函数的一般形式为:
getchar( )
C语言程序设计
字符数据的输入输出
例:从键盘输入BOY三个字符,然后把它们输出到屏幕。
解题思路:
用3个getchar函数先后从键盘向计算机输入BOY三个字符
用putchar函数输出
C语言程序设计
字符数据的输入输出
#include <stdio.h>
int main ( )
{ char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a); putchar(b); putchar(c);
putchar('
');
return 0;
}
输入一个字符,送给变量a
C语言程序设计
字符数据的输入输出
#include <stdio.h>
int main ( )
{ char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a); putchar(b); putchar(c);
putchar('
');
return 0;
}
putchar(getchar());
C语言程序设计
字符数据的输入输出
#include <stdio.h>
int main ( )
{ char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a); putchar(b); putchar(c);
putchar('
');
return 0;
}
putchar(getchar());
putchar(getchar());
C语言程序设计
字符数据的输入输出
#include <stdio.h>
int main ( )
{ char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a); putchar(b); putchar(c);
putchar('
');
return 0;
}
putchar(getchar());
putchar(getchar());
putchar(getchar());
C语言程序设计
今天的课程就讲到这里。
谢谢大家!
C语言程序设计
$$