第2章C语言基础知识
第2章 基本c语言-2

单分支if语句:
if(表达式) 语句;
双分支if语句:
if(表达式) 语句1; else 语句2;
利用goto语句改变程序执行方向的句式如下:
goto 标号;
与goto语句配合使用的标号语句的句式如下:
标号: 语句;
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) {
2.5.1 自动类型转换
double ← float ↑ long ↑ unsigned ↑ int←char,short
高
低
格式:(类型说明符)表达式 功能:把表达式的结果强制转换为类型说明符所
表示的类型。
例如:
(int)a
将a的结果强制转换为整型量。
(int)(x+y) 将x+y的结果强制转换为整型量。 (float)a+b 将a的内容强制转换为浮点数,再与b相加。
time()函数将从1970年1月1日00.00.00到当前时
间所经过的秒数存储到实参指向的变量。
#include<stdio.h> #include<stdlib.h> int main(void) { int x,y; x=rand(); y=rand(); printf("x=%d,y=%d",x,y ); return 0; }
printf("circle's radius is:%d,area is:%f\n",radius,area);
类型 d,i
说明 带符号十进制整数
类型 c
C语言基础知识第二章概述

2019/3/14
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
12
例如:字符A的ASCII码为: 65D(十进制)=41H(十六进制)=101Q(八 进制) ∴字符A可以表示为‘A’、’\x41’、’\101’。 2、分类: char 和 unsigned char; 3、值域: 每个字符型数据在内存中占一个字节;包括 ASCII字符表中的所有字符(可显示字符和非显 示字符)。
– 例如: 某计算机允许表示具有七位有效数字的十进制数,计算 333.3333+0.0002222222,若计算时没有位数的限制,则结果应当 是3.3335222222。 计算机由于字长位数的限制,只能表示七位有 效数字,于是只得将小数点后的七个数字全部删掉,而仅保留其 整数部分,得到和值333.3335。 (4)根据实际要求选择单精度或双精度。
2019/3/14
C语言程序设计教程
13
• 注意: • • • • (1)字符常量只能用单引号括起来,不能用双引号 或其他括号。 (2)字符常量只能是单个字符, 不能是字符串。 ‘ab’ 不是字符常量 (3)字符可以是字符集中任意字符,但数字被定义为 字符型之后就以ASCII码值参与数值运算。 如,‘6’和6是不同的,‘6’是字符常量,而6是整型 常量。
注意
‘a’与“a”的区别。
2019/3/14
C语言程序设计教程
15
• 字符常量与字符串常量的区别:
– ⑴ 定界符不同。 – 字符常量使用单引号,而字符串常量使用双引号。 – ⑵ 长度不同。 – 字符常量的长度固定为1,而字符串常量的长度可以是0,也可以 是某个整数。 – ⑶ 存储要求不同。 – 字符常量存储的是字符的ASCII码值,而字符串常量除了要存储 字符串常量的有效字符外,还要存储一个字符串结束标志‘\0’。
第二章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语言程序设计

例:整型数据的溢出。 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;
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语言基础知识第二章

• •
说明: 在C语言中,没有专门的字符串变量,字符串常量如 果需要存放在变量中要用字符数组来处理。
2013/6/5
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
16
请 判 断 这 些 常 量 正 确 与 否 :
120 、 -100、 0; 0120、 072; 0xFFFF、 0x1e、0X28AF,0XED4 ; 120L, 200L ; 长整型常量 3.14、 -3.1、 5.12E-6 ; 'a' 、'#'、'\n'、'\101' ; 099、12f、 0xg 、48EA ; 019.5 、1e-08; 实型常量只能用十进制形式表示 2.1E10.2、E-6、6.4E+4.8、E9 ; "changsha" 、"+++\\?ab" ; ' \' 、'\p' 、'''、'ab' ;
2013/6/5
C语言程序设计教程
18
• 注意: • 1、符号常量与变量不同,它的值在其作用 域内不能改变,也不能再被赋值。 • 2、使用符号常量的好处: • (1)含义清楚、见名知意。 • (2)修改方便、一改全改,如现在想将符 号常量PI的值修改成3.15的话,只需要将宏 定义语句改为: #define PI 3.15 即可。
C语言程序设计教程
1
第2章 基本数据类型、运算符和表达式 2.1 C语言的数据类型 2.2 常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 变量赋初值 2.7 各类数据之间的混合运算 2.8 C运算符简介
计算机二级第2章 语法基础

16
字符串常量和字符常量的区别
字符常量'A'与字符串常量 是两回事: 字符常量 与字符串常量"A"是两回事: 与字符串常量 是两回事
1. 定界符不同:字符常量使用单引号,而字符串常量使 定界符不同:字符常量使用单引号,
用双引号; 用双引号;
2. 长度不同:字符常量的长度固定为 ,而字符串常量 长度不同:字符常量的长度固定为1,
2.
3.
13
程序举例
main( ) { char ch1,ch2; ch1='a'; ch2='b'; printf("ch1=%c,ch2=%c\ printf("ch1=%c,ch2=%c\n",ch1,ch2); printf("ch1=%d,ch2=%d\ printf("ch1=%d,ch2=%d\n",ch1,ch2); } 程序运行结果: 程序运行结果: ch1=A,ch2=b ch1+200=297 ch1+200=) ch1+256=353 ch1+256=a
程序运行结果: 程序运行结果: ch1=a,ch2=b ch1=97,ch2=98
main( ) { char ch1,ch2; ch1='a'; ch2='B'; /*字母的大小 写转换*/ printf("ch1=%c,ch2=%c\n",ch132,ch2+32); /*用字符形式输出一个大于256的数值*/ printf("ch1+200=%d\n", ch1+200); printf("ch1+200=%c\n", ch1+200); printf("ch1+256=%d\n", ch1+256); 14 printf("ch1+256=%c\n", ch1+256);}
C语言第2章基本数据类型与表达式

2.1.3 关键字
关键字(又称保留字)是一种语言中规定具有特定含义的标识符。 C语言可使用以下32个关键字:
auto
double int struct
break
else long switch
case
enum
char
extern
const
float short
continue default
for signed goto sizeof
例: main() { int x,y,z,w; /*定义x,y,z,w为整型变量*/ unsigned int k; /*定义k为无符号整型变量*/ x=10; y=-20; k=30; z=x+k;w=y+k; /*不同类型的整型变量x、y、k可运算*/ printf(″x+k=%d,y+k=%d\n″,z,w); } 程序运行结果为: x+k=40,y+k=10
3. 字符常量
C语言的字符常量是用单撇号括起来的一个字符。如 ′x′,′+′,′\n′,′\101′都是合法的字符常量。 字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储 形式类似。因此可以通用。例如: #include <stdio.h> main() { char c1,c2; c1=97; c2=98; printf(″%c ,%c\n″c1,c2); printf(″%d, %d\n″c1,c2); } 在程序中我们将整数97和98分别赋给c1和c2,它的作用相当于以 下两个赋值语句: c1=′a′; c2=′b′; 运行时输出结果如下: a,b
4. 字符串常量
• C语言没有专门的字符串类型变量,但有字符串 常量。字符串常量是由一对双撇号括起来的字符 序列。 如:″changsha″, ″central south university″,″+++ \\?ab″都是合法的字符串常量。 • 不要将字符常量与字符串常量混淆。如: ′a′是字符常量, ″a″是字符串常量
《c语言程序设计基础》第二章

2.3.3 2.3.3 2.3.3 2.3.3
input x: 2.5 f(2.50)=0.4 input x: 0 f(0.00)=0.0
分 支 结 构
语 句
软件测试的基本思想
程序运行时为什么输入2.5和 两个数 两个数? 程序运行时为什么输入 和0两个数?
根据程序的逻辑结构和功能设计,选取一些有代表性 的测试用例!
常量:在程序运行过程中,其值不能被改变 常量
——一个确定的数值(3.14)、字符(‘a’)或字符串(“Hi”)
常 量 、 变 量 和 数 据 类 型
变量:在程序运行过程中,其值可以被改变 变量
——数学公式中的自变量、因变量(y=2x+1)
变量使用
C规定:变量必须先定义后使用 变量必须先定义后使用 定义方法:
C解决方案: 解决方案: 解决方案 1. scanf( )-格式化输入 2. if 结构的使用 3. printf( )进阶
2.3 计算分段函数
2.3.1 2.3.1 2.3.1 2.3.1 格式
scanf(格式控制,地址表列) (格式控制,地址表列)
功能
将用户从键盘输入的数据存放至变量所代表的内存 的地址
常 量 、 变 量 和 数 据 类 型
基本数据类型
整型:int-4字节, long( int)-8字节 字符型:char-1字节 实型:float-4字节, double-8字节
常量、 常量、变量都有对应的数据类型
2.2 华氏温度与摄氏温度相互转换
算术运算
算术表达式
用算术运算符 运算对象 算术运算符将运算对象 算术运算符 运算对象连接起来的符合C语言语法 规则的式子
格 式 化 输 入 函 数
C语言_各章_重点知识_总结

C语言各章重点知识总结第一章C语言概述1、C程序的组成和形式的基本特点(P6-7)(1)C程序是由函数构成的,一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。
(2)一个函数由两部分组成①函数的首部:即函数的第一行,包括函数名、函数类型、函数属性、函数参数名、参数类型例:int max (int x,int y)一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。
函数可以没有参数,如main()。
②函数体:即函数首部下面的花括号内的部分。
如果一个函数内有多个花括号,则最外层的一对花括号为函数体的范围。
函数体一般包括:声明部分、执行部分2、运行C程序的步骤及每个步骤生成文件的类型及特点(P7)第二章算法1、算法的定义一个程序应包括①数据结构即对数据的描述;②算法也就是操作步骤。
计算机算法可分为两大类:数值运算算法和非数值运算算法。
2、算法的特性(P19)1.有穷性;2.确定性;3.有零个或多个输入;4.有一个或多个输出;5.有效性。
3、描述算法的常用方法(P20-33)1.自然语言;2.用流程图表示算法。
3.N—S图4.计算机语言5.伪代码4、C程序算法的3种基本结构及其共同特点(P24-25)三种基本结构:1.顺序结构:最基本;2.选择结构:又称选取结构或分支结构;3.循环结构:又称重复结构;①当(while)型循环;②直到(until)型循环。
共同特点:1. 只有一个入口;2. 只有一个出口;3. 结构内的每一部分都有机会被执行到;4. 结构内不存在“死循环”。
5、结构化程序设计的设计原则(P34)1.自顶向下;2.逐步细化;3.模块化设计;4.结构化编码。
第三章数据类型、运算符与表达式1、C语言的基本数据类型和构造数据类型(P37)在程序中对用到所有数据都必须制定其数据类型。
数据有常量和变量之分,它们分别属于以上这些类型。
2、字面常量和符号常量(P37-38)在程序运行过程中,其值不能被改变的量称为常量,常量区分为整型常量和实型常量,常量一般从其字面形式即可判别,这种常量称为字面常量或者直接常量。
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型变量。
第2章_C语言的基础知识

①小数表示法
127.3 ②科学计数法 36. .75 0.0
4.50e3
1.273E2
非法的浮点常量
e1 2e3.5 e
float 型浮点数的取值范围
最大值:3.402823466×1038
最小正值:1.175494351×10-38
double 型浮点数的取值范围
最大值:1.7976931348623158×10308
void main()
{
int x, y, sum;
printf("\n请以 a+b= 的形式输入两个整数\n");
scanf("%d+%d=", &x, &y); sum = x + y; printf("%d\n", sum); }
如何输入?
int a, b, c;
scanf("%d%d%d", &a, &b, &c); scanf("%d, %d, %d", &a, &b, &c);
void main()
{
int a, b, total; a = 18; b = 12; total = a * b; /*变量定义*/ /*每个月的费用*/ /*一年12个月*/ /*计算*/ /*输出*/
printf("一年的费用是%d元\n", total); }
/* 在函数内部定义的普通变量,在没有用赋值号 对其赋值之前,其初始值为不定值 */ #include <stdio.h> void main() { int a, b, total; total = a * b; printf("一年的费用是%d元\n", total);
第二章 C语言快速入门

第二章C语言快速入门1、C语言第一个简单实例在信息化、智能化的世界里,可能很早很早我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子:#include<stdio.h> /*引入头文件*/int main(void) /*一个简单的C程序*{int number; /*定义个名字叫做number的变量*/number=2014; /*给number赋一个值*/printf("Hello ! I am \n"); /*调用printf()函数*/printf("This year is %d\n",number);return 0;}这个简单的程序作用是向屏幕上输出两句话,如果想看到实际的运行结果的话,我们需要使用编译器编译这段代码然后运行最后的可执行程序,如果顺利话,将看到运行结果为:Hello ! I am <br>This year is 2014怎么样?一切如我们所预料吧?可是...为什么...也许您还有很多个疑问,很多个为什么,比如什么头文件、main、int、\n、%d都是什么东西?都是干什么用的?以及您可能感觉为什么写的这么奇怪?不用着急~ 好,让我们一起先来大致看一遍。
#include<stdio.h> /* 包含另一个文件*/本行代码将告诉编译器引入一个stdio.h的文件(就像我们电脑中的123.txt一样)的全部内容。
stdio.h文件是所有C语言编译器的标准部分,用来提供输入和输出的支持。
int main(void) /*主函数*/C程序规定一个程序中有一个或多个函数,他们是C程序的基本模块。
但必须有且只有一个main函数。
因为C程序的执行将从main函数开始,到main函数结束而停止。
再回头看看我们的这个简单实例吧,他只有一个名为main的函数,名字后面的圆括号()表明main()是一个函数的名字,括号里面的void表示空的,这里指不接受任何参数。
C语言程序设计第二章

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语言程序设计实例教程第2版习题答案作者李红第2章C语言基础知识.doc

13.设整型变量i,j值均为4,则下列语句冃++,j++, ++i执行后,i, j的值分别是(B
(A)3, 3(B)6, 5(C)4, 5(D)6, 6
14.设有inti; chare; float f;以卜■结果为整型的表达式是(B)。
(A) i+f(B) i*c
表达式a=5*3, a*9的值是(15),表达式
10.0)。
表达式5%(-3)的值是(2),表达式-5% 3的值是(
设a为int型变聚,则运算表达式a=36/5%3后,a的值为(
而字符串常量使用一对
% ),
5.8一5/2
最低是(
+2.2
三种字符
*_
定义单
双引
)0
的值是
10.设x=5.6,y=4.6,b=12;则表达式x+
11.设
1x和y中有一个小于z(
2y是偶数(y%2=0
-2
1
b%4*(int)(x + y)%3/5的值为(
)o
)o
5.6
)o
x, y, z均为int型变量,请用C语言描述下列命题:
(x<z)11(y<z))
)
③ 三个数中有两个为非负数((xvO&&yvO&&z>0)11(z<0&&yv0&&x>0)||
17.为表示“a和b都不等于0”,应使用的C语言表达式是(
(A) (a!=0)11(b!=0)
)o
D)o
)o
18.执行下列程序段时输出结果是
第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 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
第02章 C语言程序设计基础

处理框 连接线
流程图
计算 两数 之积
num1
num2
num1
num2>0?
Result=num1×num2
Result
程序、算法、 程序、算法、流程图的关系
程序设计离不开算法,算法指导程序设计, 程序设计离不开算法,算法指导程序设计, 是程序实现的过程、方法,是程序的灵魂。 是程序实现的过程、方法,是程序的灵魂。 流程图是算法的一种表示方式,用流程图表 流程图是算法的一种表示方式, 示算法,可以使算法更加直观、易于理解。 示算法,可以使算法更加直观、易于理解。
的
1.1 C语言的发展
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 Ada Modula-2 Pascal ALGOL60 ALGOL68 CPL BCPL B
C
Smalltalk 80 C++ Java
Simula 67 BASIC FORTRAN PL/1 COBOL LISP PROLOG ANSI-BASIC QBASIC VB FORTRAN90 FORTRAN77
既支持对底层硬件操 BCPL语言 BCPL语言 作,具有汇编语言的 特点, 特点,又具有丰富的 数据类型
B语言
C语言
C语言发展史
产生过程 时间: 1972~ 时间: 1972~1973 地点: 地点: 美国贝尔实验室 目的: UNIX操作系统 目的: UNIX操作系统 设计人: Ken.Thompson和 设计人: Ken.Thompson和 Dennis.M.Ritchie C标准 标准C: K&R合著《The 标准C: K&R合著《The C Programming Language》 Language》 ANSI C: 1983年 1983年 87 ANSI C: 1987年 1987年 1990年国际标准的ANSI 1990年国际标准的ANSI C
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章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!”就是一个字符串常量。
符号常量,是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。
它是在编译预处理阶段使用#define来进行定义,也就是程序的开头来定义。
常量名的类型由所给的常量值的类型来定,不再单独指明。
符号常量的定义形式为:#define 常量名常量值如实例中的定义语句“#define C 'x'”定义了一个符号常量,常量名为C。
3.变量变量是指在程序运行过程中其值可以被改变的量,C语言变量遵循先定义后引用的原则。
变量的定义形式为:数据类型<变量名列表>变量在定义时,可以先定后,后赋值,也可以定义的同时赋初值。
如实例中合法的定义形式:int a=10; /*定义整型变量,同时为变量赋初值*/float b; /*先定义单精度型变量,然后再赋初值*/b=10.5;char c='x'; /*定义字符型变量,同时赋初值*/double d=3.14e15; /*定义双精度类型变量*/变量定义时很灵活,允许在定义的同时对部分变量赋初值,如下列合法的定义语句:int a,b,c=6;但不允许同时对几个变量赋同一个值,如下定义语句是错误的:int a=b=c=13;/*这是错误的语句*/【课堂精练】1.已知频率求波长。
光的速度为3×108米/秒,已知频率为50HZ,求此频率光波的波长。
程序的运行结果如图2-2所示。
图2-2 程序的运行结果根据程序的运行结果,请将下面程序补充完整并调试。
#include "stdio.h"main(){ _________________________________float f=50.0;x=c/f;printf("此光波的波长为:%.2lf米",x);getch(); }2.摄氏温度和华氏温度的转换。
已知摄氏温度与华氏温度的转换公式为:C=5(F-32)/9,输入摄氏温度的值,请输出华氏温度的值,程序的运行结果如图2-3所示。
图2-3 程序的运行结果根据程序的运行结果,请将下面程序补充完整并调试。
#include "stdio.h"main(){ float F,C; /*F为摄氏温度,C为华氏温度*/printf("请输入摄氏温度的值:\n");___________________________________getchar();C=5*(F-32)/9;printf("摄氏温度%.1f所对应的华氏温度为:%.1f",F,C);getch(); }2.2 数据类型【学习目标】(1)掌握几种常用的数据类型(2)理解不同数据类型间的转换实例6 基本数据类型——输出不同数据类型的值【实例任务】定义不同类型的变量,并进行一定的简单运算,要求输出不同类型表达式的值。
程序的运行结果如图2-4所示。
图2-4 程序运行结果【程序代码】【相关知识】1.整型数据根据占用内存字节数的不同,整型变量又分为4类:(1)基本整型(类型关键字为int)。
(2)短整型(类型关键字为short [int])。
(3)长整型(类型关键字为long [int])。
(4)无符号整型。
无符号型又分为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种,只能用来存储无符号整数。
整型数据或变量占用的内存字节数,随系统而异。
在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。
显然,不同类型的整型变量,其值域不同。
占用内存字节数为n的(有符号)整型变量,其值域为:-215~(215-1);无符号整型变量的值域为:0~(21 6-1)。
不同整型变量的长度和取值范围如表2-2所示。
表2-2 整常数类型的字节长度和取值范围2.实型数据C语言的实型变量,分为两种:(1)单精度型:类型关键字为float,一般占4字节、提供7位有效数字。
(2)双精度型:类型关键字为double,一般占8个字节、提供15~16位有效数字。
实型常量即实数,在C语言中又称浮点数,其值有两种表达形式:(1)十进制形式:例如3.14、10.5等。
(2)指数形式:它靠字母e或E连接两边的数字组成,如2.3e-7代表2.3x10-7。
e的两边必须有数值,且e后的指数部分必须是整型数,6.1e、.e+5、e-3、1.3e4.8都是非法的。
3.字符型数据字符型数据是用一对单引号括起来的单个字符,如'A'、'+'、'5'等。
另外,还有一类转义字符,也属字符型数据。
这在上一节已经讲解过。
字符变量的类型关键字为char,一般占用1字节内存单元。
字符变量通常也分为两类:一般字符类型(char)和无符号字符类型(unsigned char)。
字符型数据的字节长度和取值范围见表2-3。
表2-3 字符数据的字节长度和取值范围对于字符型数据,既可以字符形式输出,也可以整数形式输出。
实例中,输出变量c1、c2的值,采用两种格式,读者可以对比一下。
4.字符串数据字符串常量是用一对双引号括起来的若干字符序列。
字符串中字符的个数称为字符串长度。
长度为0的字符串(即一个字符都没有的字符串)称为空串。
C语言规定,在存储字符串常量时,由系统在字符串的末尾自动加‘\0’作为字符串的结束标志。
如果有一个字符串为“CHINA”,则它在内存中的实际存储为6个字符,最后一个字符'\0'是系统自动加上的,它占用6字节而非5字节内存空间。
对于字符型指针变量可按下列形式定义:char *p="C language";语句中符号*是指针运算符,表示p为指针变量,整个语句表示指针a指向这个字符串。
printf()函数中,可以用%s这一格式控制符进行字符串输出。
实例7 不同数据类型间的转换——不同类型数据身份的转换【实例任务】定义一些不同类型的变量,并进行简单运算。
根据不同要求将运算结果强制类型转换。
程序的运行结果如图2-5所示。
图2-5 程序运行结果【相关知识】1.数据类型的自动转换不同类型数据间进行混合运算时,数据类型要一致后才能参与相应的运算,这种转换属自动完成的,称为类型的自动转换,转换时遵循如下原则:(1) 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
(2) 转换按数据长度增加的方向进行,以保证精度不降低。
如int型和long型运算时,先把int量转成long型后再进行运算。
(3) 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
(4) char型和short型参与运算时,必须先转换成int型。
(5) 在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。
如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
2.数据类型的强制转换强制类型转换是根据程序的需要,通过类型定义符来完成的,其形式如下:(类型说明符) (表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
如实例中:(int)b1,把b1转换为整型,把a1+a2的结果转换为单精度型赋值给变量c。
在强制类型转换时,一定要注意要将类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(float)(a1+a2)写成(float)a1+a2,相当于把a1转换成float型之后再与a2相加了。
【课堂精练】1.定义两个字符型变量,输出相应的字符及对应的ASCII值。
程序运行结果如图2-6所示。
图2-6 程序运行结果根据以上程序运行结果,请将程序填充完整并调试。
#include "stdio.h"main(){char cl,c2;c1='a' c2='b';printf("%c %c\n",cl,c2);___________________________________getchar();}2.定义不同类型的变量,然后进行输出。
程序的运行结果如图2-7所示。
图2-7 程序的运行结果根据程序的运行结果,请将程序补充完整并调试。
main(){ int a,b; unsigned c,d;_____________________________________a=100; b=100; e=50000; f=32767;c=a; d=b;printf("%d,%d\n",a,b);printf("%u,%u\n",a,b);printf("%u,%u\n",c,d);c=a=e; d=b=f;printf("%d,%d\n",a,b); printf("%u,%u\n",c,d);getch(); }2.3 常用的运算符和表达式【学习目标】(1)掌握几种常用运算符(2)掌握由运算符和数据构成的表达式的运算过程(3)熟练掌握常用运算符的优先级别关系实例8 运算符及表达式——输出各表达式的结果【实例任务】定义一些变量,并用运算符构成各种不同类型的表达式,输出各个表达式的运行结果如图2-8所示。