第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语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
C语言程序设计教程-第2章
2.2.2 变量 1.变量及定义 一个变量有三个要素:变量名、数据类型和存储类型。 变量的数据类型包括char,int,float,double,void五种。 存储类型决定了变量的生命期和作用域。它包括自动型变量(auto)、 寄存器变量(register)、静态型变量(static)、外部参照变量(extern) 四种。 存储类型符 数据类型符 变量名 例如: static int a float b double a,b 2.变量的初始化 存储类型符 数据类型符 变量名=初值 变量赋初值示例如下: static int a=100; double b=3.245;
2.自增自减运算符 自增运算符记为“++”,其功能是使变量的值自增1。自减1运算符记为“--”, 其功能是使变量值自减1。自增自减运算符均为单目运算,都具有右结合性。 可以有以下几种形式: ++i,i自增1后再参与其他运算。 --i,i自减1后再参与其他运算。 i++,i参与运算后,i的值再自增1。 i--,i参与运算后,i的值再自减1。 main() { int i=5,p,q; printf("%d\n",i++); printf("%d\n",i--); printf("%d\n",++i); printf("%d\n",--i); p=(i++)+(++i); q=(--i)+(i--); printf("%d,%d,%d\n",i,p,q); }
13
2.逻辑运算符 逻辑运算符是对逻辑量进行操作的运算符。逻辑量也只有两个值,1和0, 分别表示“真”和“假”。 C语言的逻辑运算符有: !(逻辑非) &&(逻辑与) ||(逻辑或)
C语言程序设计 第2章 数据类型
2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);
第2章_Java基本数据和运算
5 % 2= 1 5/2=2
分析运行结果
public class OperatorTest { public static void main(String[] args) { int i =7/3; int j =2+7%i; double k = 7.8/i+5; System.out.println("i="+i); System.out.println("j="+j); System.out.println(”k="+k); } }
算术运算符应用
某学生有3门课成绩,编程实现求平均分。
public class Test1 { public static void main(String[ ] args) { String name= "刘星"; //姓名 int javaScore=90; //Java成绩 int webScore=86; // Web成绩 int sqlScore=88; //Sql 成绩 double avgScore; //平均成绩 avgScore= (webScore+javaScore+sqlScore)/3; System.out.println("学生姓名:"+name); System.out.println("平均成绩:"+avgScore); } }
?
常见错误
下面语句正确吗?
int a = 10; int b = 10.2; double c = 10; c = a; int d = c; double不可以自动转化成int
分析运行结果
public class TypeTest1 { public static void main(String[] args) { int a = 5; float x = a; //自动类型转换 double y= 5.8; int b=(int)y; //强制类型转换 System.out.println("a="+a); System.out.println("x="+x); System.out.println("y="+y); System.out.println("b="+b); } }
第2章数据类型、运算符和表达式
(2)预定义的标识符 预定义的标识符在C语言中都有特殊含义,如 scanf和 printf 是库函数名,系统中用来作为输入输出函数。用户一般不要用 它们作为自定义标识符。 (3)用户自定义标识符 在程序中使用的变量名、符号常量名、函数名、数组名、类 型名、文件名、标号名等有效的字符序列,除库函数的函数名、 关键字由系统定义外,其余都由用户自定义,统称为用户自定 义标识符。 例如: total,area,_ab,sum,average,student_name,等 都是合法的标识符。 标识符虽然可由程序员随意定义,但标识 符是用于标识某个量的符号。因此,命名应尽量有相应的意义, 以便阅读理解,做到“见名知义”。 变量名要用小写字母,符号常量名要用大写字母。即在标识 符中,大小写是有区别的。例如:A和a是两个不同的标识符。
数据类型 类型说明符 数值范围
整型 int -32768~32767 -215~215-1 0~65535 -32768~32767 -215~215-1
字节
2 2 2 2 4
无符号整型 unsigned int 短整型 short
无符号短整 unsigned short 型 long 长整型 无符号长整 unsigned ong 型
2.2.4 字符串常量
字符串常量是由一对双引号括起的字符序列。例如: "CHINA" ,"C program." , "$12.5" 等都是合法的字符串常 量。字符串常量和字符常量是不同的量。它们之间主要有以下 区别: ①字符常量由单引号括起来,字符串常量由双引号括起来。 ②字符常量只能是单个字符,字符串常量则可以含零个或多个 字符。
3、十进制整常数 十进制整常数没有前缀。其数码为0~9。 以下各数是合法的十进制整常数:237,-568 ,65535 4、整型常数的后缀 在16位字长的机器上,基本整型的长度也为16位,因此表 示的数的范围也是有限定的。十进制无符号整常数的范围为 0~65535,有符号数为-32768~+32767。如果使用的数超过了 上述范围,就必须用长整型数来表示。长整型数是用后缀“L” 或“l”来表示的。例如: 十进制长整常数 158L (十进制为158) 358000L (十进制为358000) 八进制长整常数 012L (十进制为10) 077L (十进制为63) 0200000L (十进制为65536) 十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536
第2章 C语言,数据类型、运算符和表达式
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例
C语言 第2章
2.2.2 整型变量
整型变量在计算机中占两个字节。 整型变量在计算机中占两个字节。 用以说明整型变量的关键字( 用以说明整型变量的关键字(也称为数据类型 int。 符)为int。 定义变量数据类型语句的一般格式为: 定义变量数据类型语句的一般格式为: 数据类型符 变量名1,变量名2,……; 变量名1 变量名2
第2章 基本数据类型、操作符和表达式 基本数据类型、
2.1 数据类型 2.2 整形数据 2.3 实型数据 2.4 字符型数据与字符串 2.5 变量说明与初始化 2.6 运算符和表达式
2.1
数 据 类 型
在C语言中,数据的类型分为基本数据 语言中, 类型、构造类型、指针类型和空值类型。对 类型、构造类型、指针类型和空值类型。 于每一种数据类型的数据,又有分成几种不 于每一种数据类型的数据, 同类型,如图2.1所示。 所变量用来存储实型数据。 实型变量用来存储实型数据。实 型变量分为如下两种。 型变量分为如下两种。
(1)单精度实型变量或简称实型变量或浮点型 变量,其类型标识符为float 变量,其类型标识符为float; float; (2)双精度实型变量或称双精度浮点型变量, 双精度实型变量或称双精度浮点型变量, 其类型标识符为double 其类型标识符为double 。
\ddd
例 main() 3位8进制数代表的字符 { }
\xhh
printf(“Y\b=\n”);
2位16进制数代表的字符 运行结果:
屏幕显示:= 打印机输出:¥
2.4.2 字符型变量
字符型变量是C语言的一种数据类型, 字符型变量是C语言的一种数据类型, 用关键字( 类型符) char说明 说明, 用关键字 ( 类型符 ) char 说明 , 用于存储 字符常量或数值。 字符常量或数值。 一个字符型变量只能存储一个字符, 一个字符型变量只能存储一个字符,它 是以该字符的ASCII 码值存储的 码值存储的, 是以该字符的 ASCII码值存储的 , 并占一 个字节的宽度。例如,字母a ASCII码是 个字节的宽度。例如,字母a的ASCII码是 97,在变量的内存中存储的就是97。 97,在变量的内存中存储的就是97。
第二章 C语言的基本数据类型及运算
解决的方法是: 使用反码或补码的表示方法(按前述
表示的编码称为原码),即能将减法一律 转换为加法。
2020/12/11
原码、反码和补码
11
正数:原码、反码、补码相同
– 符号位为0,数值为对应的二进制数。 +109
[01101101]原 = [01101101]反 = [01101101]补
• 指数只能是整数,而尾数则可以是整数也可以是 小数 ,无论指数或尾数均不能省略 例如:1e、E.5、E-3 非法
• 实型常量的类型:默认为double型,后面加F (或f),则强调表示该数是float类型 例如:3.5f、1e2F
2020/12/11
3. 字符型常量
22
可视字符常量 – 单引号括起来的单个可视字符 例如:'a'、'A' 、'+' 、'3'、' ' 等
例如: #define LEN 2.5
定义符号常量
main( )
{ float a,b;
a= 2*3.14 *LEN;
使用符号常量
b=3.14*LEN*LEN;
printf("a=%f,b=%f\n",a,b);
}
编译前系统进行替换
2020/12/11
5. 符号常量
25
main( )
{ float a,b;
负数:
– 原码符号位为1,数值为绝对值的二进制
数。
-109 [11101101]原
– 反码符号位为1,数值为绝对值的二进制
数各位变反。 -109 [10010010]反
– 补码符号位为1,数值为绝对值的二进制
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。
第2章 数据类型、运算符与表达式
注意事项:
八进制的数码范围为0--7; 则:018、091、0A2 都是错误的数据表示方法。
十六进制的数码除了数字0-9外, 还使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是错误的。
第二章 2.2 常量和变量
二、定义方法
整型变量分别以下列方式定义 1. 基本整型 int a, b, c;
2. 短整型 3. 长整型 short int 或 short a, b, c; long int 或 long a, b, c;
4. 无符号型 unsigned a, b, c;
unsigned short a, b, c; unsigned long a, b, c;
4. 一个非负整数<32768 则可赋给 unsigned int。
5. 一个常数后加 'l',或'L',表示长整数. 如123l. 主要
用于函数调用时形、实参数传递。
练习:请补充完整下列程序,使之符合给定的运行结果
Main( ) {int a,b, sep,tim; a=7;b=2; tim=a*b; sep=a/b; printf(“ ”); printf(“ ”); }
c1=97;
c2=98;
printf ("%c %c", c1, c2)
} 运行结果 a b
例2: main ( ) { char c1, c2; c1= ' a ';
c2=' b ';
c1=c1– 32; c2=c2– 32;
printf ("%c %c", c1, c2)
C语言 基本数据类型、运算符和表达式剖析
2018/10/25
第2章 基本数据类型、运算符和表达式
13
《C语言程序设计》
2.2.1 变量
1.变量的定义和赋值 C语言要求程序中使用的每个变量都必须先定义, 然后才能使用。定义变量需要用变量定义语句进 行,其形式为: 类型 变量名[=初值][,变量名[=初值],……];
2018/10/25
第2章 基本数据类型、运算符和表达式
2018/10/25
第2章 基本数据类型、运算符和表达式
18
《C语言程序设计》
2.2.2 常量
3.字符常量 字符型常量是由一对单引号括起来的单个字符构成, 在C语言中,字符常量有以下特点: (1) 字符常量只能用单引号括起来,不能用双引号或其 它括号。 (2) 字符常量只能是单个字符,不能是字符串。 (3) 字符可以是字符集中任意字符。一个字符型常量的 值是该字符集中对应的ASCII编码值。显然'5'和5 是不 同的。
2018/10/25
第2章 基本数据类型、运算符和表达式
17
《C语言程序设计》
2.2.2 常量 2.实型常量 在C语言中,把带小数的数称为实数或浮点数。实型常 量只能用十进制形式表示,不能用八进制和十六进 制形式表示。实型常量有两种表示方法: (1) 小数形式:由数字和小数点组成,如3.1415926、 -0.12、.4、3.等都是实数。 (2) 指数形式:如1.23e5或12.3E4都代表1.23x105。 注意:字母e(或E)之前必须有数字,且e后面指数必须 为整数,如e3、2.1e3.2、e等都不是合法的指数形式。
2018/10/25
第2章 基本数据类型、运算符和表达式
10
《C语言程序设计》
第2章
第2章基本数据类型及运算符原始解读
在C语言中,大小写字母有不同的含义,例如:num, Num,NUM为三个不同的标识符。 在构造标识符时,应注意做到“见名知意”,即选择 有含义的英文单词(或汉语拼音)作标识符,以增加程 序的可读性。如表示年可以用year,表示长度可用 length,表示和可以用sum等。 C语言中有一些标识符被称为关键字,在系统中具有 特殊用途,不能作为一般标识符使用,如用于整型变量 定义的int关键字,就不能再用作变量名。 有些标识符虽不是关键字,但C语言总是以固定的形 式用于专门的地方,因此,用户也不要把它们当做一般 标识符使用,以免造成混乱。这些常用的标识符有: define,include,ifdef,ifndef,endif,elif。
2. 实型(浮点型)常量
实型常量是由整数部分和小数部分组成的,它只有十 进制的两种表示形式。 (1)定点数形式。它由数字和小数点组成。整数和小 数部分可以省去一个,但不可两者都省,而且小数点不 能省。如:1.234,.123,123.,0.0等。 (2)指数形式(或称科学表示法)。它是在定点数形 式表示法后加e(或E)和数字来表示指数。指数部分可 正可负,但须为整数,且应注意字母e(或E)之前必须 有数字。如:1.234e3,12.34e2均合法地代表了 1.234×103;而e3,1e2.3,.e3,e均不合法。 另外,实型常量的后缀用F(或f)表示单精度型,而 后缀用L(或l)表示长双精度型。如:0.5e2f表示单精 度数,3.6e5L表示长双精度数。
变量
在程序运行过程中,其值可以被改变的量称为变量。变量有两个要素: 变量名。每个变量都必须有一个名字,即变量名。变量命名应遵循标识符的命名规 则。 变量值。在程序运行过程中,变量值存储在内存中;不同类型的变量,占用的内存 单元(字节)数不同。在程序中,通过变量名来引用变量的值。 【程序2-3】用来输出两个整数相加、相减和相乘的结果,代码如下。 /* 文件名:chap02_3.cpp */ #include <stdio.h> void main(){ int x,y; printf("请输入两个整数,中间用空格隔开:"); scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*10%d=%d\n",x,y,x*y); } 程序运行结果: 请输入两个整数,中间用空格隔开:10 5↙ 10+5=15 10-5=5 10*5=50 本程序中,x和y定义成整型变量,用于接受用户输入的值。
C语言基本数据类型及运算8节
2015/11/29
【例2.4】静态局部变量的使用
f(){ static int a=1; auto b=0; a=a+1; b=b+1; printf("a=%d,b=%d\n",a,b);
main(){ f(); f();
f();
}
运行结果为: a=2,b=1 a=3,b=1
在字符串中有转义字符。 例如:“ab\072cdef” 长度为7 ; 8
2015/11/29
“\\\n33abcd”
长度为
8
2.3 变量
变量是指在程序运行过程中其值可以发生变化的量。 2.3.1变量的数据类型及其定义 1.变量的数据类型(基本) 字符型、整型、单精度实型、双精度实型,它们分别用 关键字char、int、float、double进行定义。另外,还有无 符号整型和无值型,它们分别用关键字unsigned和void进 行定义。 见表2,表3
2015/11/29
3
限制在本区间使用
1.基本整型常量和短整型-32768~32767。
2.长整型常量-2147483648~2147483647,整数后面 加上字母l(或 L)。
3.无符号整型常量表示的数据全部是正数,没有符号 位。
int , short int,long int ,unsigned int
printf("\na=%d,b=%d\n",a,b);
17
(4) 外部变量
Tubro C系统规定在某一个源程序中定义的全局变量,其 它的多个文件可以使用,这就是所说的程序间的数据交 流。
《新概念C语言能力教程》第2章基本数据类型
• 其中的l(long)和h(short)称为长度修饰符,是附加的格式说明符。
格式字符串与数据类型
• unsigned short a = -1u; • 语句printf("%hu", a);中格式字符串hu(无符号短整型)准确地匹配了变量a
printf函数的输出结果不会是22亿。这条语句有逻辑错误。
分析下面语句的输出结果。
• printf("%lu", 2200000000); • printf("%ld", -1); • printf("%lu", -1u); • printf("%hd", -1); • printf("%hu", -1u); • printf("%hu", -2);
编码和解码
• 现实世界中的数据转换成由0和1组成的二进制串,计算机才能存储和处理。 由数据得到01串称为编码;由01串得到数据称为解码。
• 每类数据都各有特点,只用一种编码规则统一编码是不现实的。不同类型的 数据如整数和小数,采用了不同的编码规则。
• 多种编码规则导致不同数据的编码结果可能相同,因此,只有确定了编码规 则,才能正确解码。
功的识别的16。 • 当用户输入32789↙时,全部识别成功,但短整型变量m的实际值不会是
的类型,printf函数正确地输出变量a的实际值65535。 • 语句printf("%hd", a);中格式字符串hd(短整型)与变量a的类型不匹配,
2006C程序设计-第2章(补充)
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch);
••••1234,1234 123.456000,123.456000,•••123.5,123.46,1.23e+02 ••a
程序设计 –庞振平等 华南理工大学出版社
第二章 基本数据类型及运算
(9)g格式符,用来输出实数,自动选择f格式或e格式 例:g格式输出 f=123.456 printf(“%f\n”,f); printf(“%e\n”,f); printf(“%g\n”,f); 输出结果: 123.456000 1.234560e+002 123.456
C程序设计 –庞振平等 华南理工大学出版社
第二章 基本数据类型及运算
(5)c格式符,用来输出一个字符 char c=‘a’;printf(“%c”,c); #include <stdio.h> main() { char c=‘a’;int i=97; printf(“%c,%d”,c,c); printf(“%c,%d”,i,i); }
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 16位 16位
//0000123.46
//000+1234
//000+123.46
例: #的使用方法 例 int a=123; printf(“%o,%#o,%X,%#X\n”,a,a,a,a); 例: l的使用方法 //173,0173,7B,0X7B //0, • 65536
c程序设计第三版笔记
c程序设计第三版笔记C程序设计第三版笔记C语言是一种广泛使用的计算机编程语言,以其高效性、灵活性和强大的功能而闻名。
《C程序设计》第三版是一本经典的C语言教材,由Brian W. Kernighan和Dennis M. Ritchie共同编写,后者也是C语言的共同创造者。
以下是根据该教材整理的一些关键笔记。
第1章:C语言简介- C语言的特点:简洁、结构化、高效。
- 程序的基本结构:预处理器指令、函数、变量声明、语句和表达式。
- 基本数据类型:整型(int)、字符型(char)、浮点型(float)和双精度型(double)。
第2章:数据类型、运算符和表达式- 变量声明:类型说明符和变量名。
- 常量:整数常量、浮点常量、字符常量和字符串常量。
- 运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。
- 表达式求值:优先级和结合性。
第3章:控制语句- 条件语句:if、if...else、switch。
- 循环语句:while、do...while、for。
- 跳转语句:break、continue、goto、return。
第4章:函数- 函数定义:返回类型、函数名、参数列表、函数体。
- 函数调用:参数传递、返回值。
- 作用域规则:局部变量、全局变量。
- 递归函数:递归调用和基础情况。
第5章:指针- 指针变量:声明和初始化。
- 指针与数组:数组名作为指针使用。
- 指针与函数:指针作为参数、返回指针的函数。
- 指针的指针和动态内存分配。
第6章:结构体和其他数据类型- 结构体:定义、初始化、访问成员。
- 联合体:内存共享特性。
- 枚举类型:定义和使用。
- 位字段:存储位模式。
第7章:预处理器- 宏定义:#define和#undef。
- 文件包含:#include。
- 条件编译:#ifdef、#ifndef、#endif。
第8章:输入和输出- 标准库函数:printf、scanf。
- 格式化输出:格式说明符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
须写出正确的表达式。而一个表达式中往往包含多个运算符,
所以必须熟悉每一种运算符的性质(优先级别和结合性),才能
写出2020有/10/正6 确求解结果的表达式。
3
第二章 数据类型、 运算符与表达式
➢ 常量与变量
➢ 整型、浮点型、字符型数据
➢ 变量的初始化
➢ 各类数值型数据间的混合运算
➢ 算术运算符与算术表达式
(数字开头) (包含非法字符$) (包含空格) (系统关键字)
14
.关键字 预先定义的具有特定含义的标识符 。也 称为保留字,不能另作他用。如: int char float double unsigned struct if do while switch return goto define include undef sizeof
➢ 赋值运算符与赋值表达式
2020/10/6 ➢ 逗号运算符与逗号表达式
4
2.1 基本数据类型
2020/10/6
5
数据类型
• 数据类型:数据存在的组织和形式。
• 数据类型是数据的基本属性
• 描述的是数据的存储格式和运算规 则.
• 不同数据类型的数据,在内存中所需 的存储空间大小、存储格式均有所 不同,能支持的运算以及相应的运算 规则也会有所不同.
2020/10/6
15
变量的命名习惯
C语言中,变量(标识符)的命名习惯:
▪ 避免使用无意义的名字,应尽量做到“见名知意”; ▪ 尽量使用代表变量实际含义的英文单词或缩写作标识符名; ▪ 当名字包含多个单词时,通常使每个单词的首字母大写; ▪ 以下划线开头的名字通常是系统内部保留的标识符名; ▪ 在整个程序中保持统一的命名方式。
2020/10/6
11
变量
程序运行期间,值可以被改变的量称为变量
▪ C允许把值存放在变量中,每个变量都由一个变量名来标识。
▪ 每个变量都必须有一个变量类型。
▪ 每个变量根据它的类型不同,在内存中占据一定数目的字节
单元,该变量的值就存放在这些内存单元中。
变量名 prod 实际 上是一个符号地址
内存单元 的地址
unsigned int
unsigned char
输出浮点型数有效位为 67位十进制数位
输出双精度型数有效位为1516位十进制数位
数据分为常量和变量。
2020/10/6
9
2.2 常量与变量
2020/10/6
10
常量
程序运行期间,值不能被改变的量称为常量
❖ 直接常量:1, 2, 3; 0.1, 10.0; ‘a’, ‘1’; “hello”
这里的运算功能可以是算术运算(加减乘除)、逻辑运算(与 或非)或比较运算(大于小于等于),等等。
C语言共有34种运算符。
❖ 表达式:按照运算符的性质,用运算符把数据连接起来以 达到数据运算目的而构成的式子。
写表达式的最终目的是要进行计算它求出它的值。求解表达式
的过程是由计算机完成的,因此,要想得到正确的结果,就必
2 第二章
基本数据类型及运算
第二章 基本数据类型及运算
本章主要内容: 数据类型、常量、变量、基本运算、
类型转换及运算的优先级与结合性等。
2020/10/6
2
数据类型、运算符和表达式的概念
❖ 数据类型:数据存在的组织和形式。 程序中用到的所有数据都必须指定其数据类型。
❖ 运算符:一些具有事先规定的运算功能的特定的符号。
数据类型 关键字 长度 位数
范围
字符型
char
1
8
-128—127
整型
int
2 16
-32768—32767
浮点型
float 4
双精度型 double 8
32 +(10 -38—10 38) 64 +(10 -308—10 3)08
2020/10/6
8
类型修饰符:
short int
long int
整型常量 浮点型常量 字符型常量
❖ 符号常量:用一个标识符代表一个常量 实现方式:使用 #define 预处理命令 宏定义
字符串常量
使用符号常量的好处是: ▪ 从标识符名可以清楚地看出该常量的含义,做到“见名知意” ▪ 在需要修改常量的值时可以做到“一改全改”,容易调整 ❖ 常变量:C++中,可以使用 const 关键字定义常变量
好的C变量名:
CircleArea, TotalScore, UserSelection, choice, StudentNumber, AverageScore, SampleFrequency
2020/10/6
不是很好的C变量名:
a, aa (不知何意) numberofstudent
(全部小写难以辨认) total totals (名字太相似)
▪ 名字的长度不能超过系统的规定。
的名字。
合法的C变量名:
area, sum, answer, month, name, Name, Step1, step2, number_of_student, average_score, _class1
2020/10/6
非法的C变量名:
3rd_entry all$done the end int
2020/10/6
6
C的数据类型
基本类型
C的 数据 类型
构造类型
指针类型
整型 浮点 型 字符型
单精度型 双精度型
枚举类型
数组类型
结构体类型 联合类型
空类型
2020/10/6
7
2.1 基本数据类型
数据是程序处理的基本对象。根据数据的不同性质和用 途可分为不同的数据类型。
不同的数据类型具有不同的存储长度、取值范围、允许 的操作。
123是变量 prod的变量值
prod
123
在对程序编译时由系统给 每一个变量按其类型分配 内存单元,同时,系统内 部维护着变量名和它的内 存单元地址的对应信息。
变量prod 所占 据的内存单是命名的内存单元
12
• 在程序中使用一个变量之前,先要对它 进行定义:为每个变量取一个名称(变 量名),同时还要规定它的数据类型, 以便编译程序根据不同的数据类型分配 内存空间。
2020/10/6
13
变量的命名规定
C语言中,变量(标识符)的命名规定:
标识符是用来
▪ 只能由大小写字母、下划线和数字组成;
为变量、符号 常量、函数、
▪ 开头的第一个字符只能是大小写字母或下划线; 数组、类型、
▪ 大小写是敏感的; ▪ 不能与C的关键字重复; ▪ 名字在整个程序中必须是唯一的;
文件取名字的 有效字符序列 即用户为程序 中各种对象取