C语言第三章
printf函数常用类型格式符表
格式字符含义
以十进制形式输出一个带符号的整数(默认正数不输出符号) 以八进制形式输出一个无符号的整数(默认不输出前导符0) 以十六进制形式输出一个无符号的整数 ( 默认不输出前导符 0x 或 0X) 以十进制形式输出一个无符号的整数 以小数形式输出带符号的实数(包括单、双精度) 以指数形式输出带符号的实数 选择%f或%e格式输出实数 输出一个单字符 输出一个字符串
8
公共计算机教学部
顺序结构
A
顺 序 结 构
顺序结构是程序设计中最简单、 最基本的结构,其特点是程序 运行时,按语句书写的次序依 次执行,其结构如右图所示。 顺序结构一般由函数调用语句、 说明语句、表达式语句和输入 输出语句组成。
B
图 顺序结构流程图
9
公共计算机教学部
【例1】分析下面程序
预处理命令 变量a,b,c声明
公共计算机教学部
- 0
16
数 据 输 入 和 输 出
printf函数常用附加格式符
[输出最小宽度m]:m是十进制整数,它表示用十进制 输出的最少位数,当需要输出的数据长度超过该数时, 该选项不起作用,数据按实际位进行输出,当需要输出 的数据长度小于该数时,则在该数的左边补空格或0。 [.精度n]:是“.”加上十进制整数n。其含义是:如果输 出的是数值,则该数表示小数位数,若实际位数大于所 定义的精度,则截去超过部分;如果输出的是字符,则 表示输出字符的个数。
公共计算机教学部
C
5
练习
以下能正确定义且赋初值的语句是 ( ) A. int n1=n2 B.char c=”m” C. float x ; D. int x=3; 。
顺 序 结 构
6
公共计算机教学部
赋值语句
赋值语句是一个应用十分普遍且最简单 的语句。赋值语句的一般形式:
顺 序 结 构
x=e;
其中:x是变量名,“=”前面已介绍过, 是赋值号,e是表达式。
公共计算机教学部
29
练习:输入abc 分析下面程序结果
数 据 输 入 和 输 出
#include <stdio.h> main() { char ch1,ch2; scanf("%c%c",&ch1,&ch2); printf("%c %c\n",ch1,ch2); }
30
公共计算机教学部
scanf函数常用类型格式符表
本章导读
程序结构:顺序结构、选择结构、循环结构 顺序结构 : 最简单的也是最基本的程序结构, 其特点是按语句书写的顺序依次执行 本章介绍:C语言中的语句类型、程序结构、 赋值语句、字符输入/输出函数、格式输入/输出 函数、格式控制符等 学习目标: 理解顺序结构的程序执行过程 掌握赋值语句和基本输入/输出函数的使用, 能够用正确的格式进行输入与输出
公共计算机教学部
第 三 单 元 顺 序 程 序 设 计
一、C语言语句 二、顺序结构(重点)
三、数据输入与输出(重难点)
四、程序举例
公共计算机教学部
语 言 基 本 语 句
C语句可分为以下5种类型: 1.表达式语句 由表达式组成,其一般形式是: 表达式; 典型例子 :赋值语句 x=5; 2.函数调用语句 由一个函数调用加上一个分号构成,其作用是完 成特定功能。它的一般形式是: 函数名(参数列表); 典型例子 :printf(“%d”,x);
顺 序 结 构
#include <stdio.h> main() { int a,b,c; a=123;b=456; c=a+b; printf("\nc=%d\n",c); }
a,b赋初值 赋值语句c=a+b 输出变量c的值
例1的流程图
公共计算机教学部
10
从例3-1可以看出,顺序结构的程序框架如下:
赋值语句的功能是将赋值号右边表达式 的值计算出来,再赋给赋值号左边变量。
7
公共计算机教学部
程序结构分为顺序、选择、循环三种。任何复杂 的程序都是由这三种基本结构组成。
顺 序 结 构
顺序结构,按语句出现先后顺序依次执行的程序结构。 选择结构,又称选取或分支结构,根据给定条件是否成立,以 决定程序的分支转向的程序结构,详见第4章。 循环结构,又称重复结构,根据条件反复执行某一部分语句的 程序结构,详见第5章。
17
公共计算机教学部
数 据 输 入 和 输 出
printf函数常用附加格式符
[数据长度]:是字符,它有两种形式:h、l。h 表示按短整型量输出,l表示按长整型量输出。 类型:是格式说明符中必须要有的,它表示输 出列表里要输出的数据类型。表3-2给出了常 用的类型格式符及含义。
18
公共计算机教学部
表3-2
公共计算机教学部
C
4
语 言 基 本 语 句
4.复合语句 是用大括号{……}将若干语句组合在一起,在语 法上相当于一条语句。用于if语句的一个分支或循环 语句的循环体等。由于复合语句中还可以定义变量, 因此又称分程序。 注意:复合语句外没有分号,其中最后一个语句 的分号不能省略。 5.空语句 只有一个分号没有其他内容的语句。其形式为: ; 常用于循环中,表示循环体什么都不做。
数 据 输 入 和 输 出
格式字符 d o x u 格式字符含义 表示以十进制形式输入一个整数 表示以八进制形式输入一个整数 表示以十六进制形式输入一个整数 表示以十进制形式输入一个无符号的整数
return 0; }
公共计算机教学部
2、格式化输入函数 scanf 数 据 输 入 和 输 出
scanf()函数的功能是从键盘上将数据按用户指定的 格式输入并赋给指定变量。 1.scanf()函数调用形式 scanf(格式控制字符串,地址列表);
格式控制字符串的定义与使用方法和printf函数相 似,但不能显示非格式字符串。
(1) 可以在格式控制字符串中包含前面所讲的“转义 字符”,如“\n”、“\t”、“\r”、“\b”、“\377”等。 (2)控制输出类型除X、E、G外,必须是小写字母。 如%d不能写成%D。 (3) 若想输出字符“%”,则在格式字符串中用连续两 个%表示。如: printf("%f%%",1.0/4); 则输出:0.250000%
C
3
公共计算机教学部
语 言 基 本 语 句
3.控制语句 用于完成一定的控制功能,以形成程序的各种结构 和流程控制。C语言有9种控制语句,分三类: (1)条件判断语句,构成选择结构: if语句、switch语句 (2)循环语句,构成循环结构: for语句、while语句、do-while语句 (3)转向控制语句 ①限定转向语句:break、continue、return语句 ②无条件转向语句:goto语句
地址列表是要赋值的各变量地址,地址是由地址运 算符“&”后跟变量名组成,如&x表示变量x的地址。
公共计算机教学部
27
输入11 22 33
分析下面程序结果
数 据 输 入 和 输 出
#include <stdio.h> main() { int x,y,z; scanf("%d%d%d",&x,&y,&z ); /*按长度m进行输入*/ printf("\nx=%d,y=%d,z=%d\n",x,y,z); }
注意:调用输入输出函数时,一般在程序开头加头文件: #include <stdio.h>。
12
公共计算机教学部
printf函数简例 数 据 输 入 和 输 出 printf("a=%d\n",a);
一般字符 按原样输出 格式说明 输出列表 转义字符 作用:换行
13
公共计算机教学部
说
数 据 输 入 和 输 出
数 据 输 入 和 输 出
格式字符
d o x,X u f e,E g,G c s
19
公共计算机教学部
练习 数 据 输 入 和 输 出
分析下面程序运行结果
#include <stdio.h> main() { int x=88,y=89; printf("%d %d\n",x,y); printf("%d,%d\n",x,y); printf("%c,%c\n",x,y); printf(“a=%d ,b=%d\n",x,y); }
括号里都是函数的参数。
明
(1) 格式控制字符串是用双撇号括起来的字符串,它包括两个 信息: ①格式说明。由“%”开头格式字符结尾,如%d,%c,%f 等。它的作用是将要输出的数据转化成指定的格式输出。 ②一般字符。即按原样输出的字符,在显示时起提示作用。 printf(“\nc=%d\n”,c);中双撇号内的换行符、字符c=。 (2) 输出列表是需要输出的变量、函数、表达式。
24
公共计算机教学部
顺序结构
课 堂 小 结
输出函数printf
25
公共计算机教学部
实验三
1.改正下列程序中的错误,计算某个数x的平方y, 并分别以“y=x*x”和“x*x=y”的形式输出x和y的值 。(error03_1.cpp) #include <stdoi,h> int main(void) { int y; y=x*x; printf("%d=%d*%d", x); /* 输出 printf("d*%d=%d", y);
15
公共计算机教学部
数 据 输 入 和 输 出
表3-1 printf函数常用附加格式符
字符形式 字 符 含 义
合集下载
C语言课件第三章
三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }
c语言第三章ppt课件
§3.3 赋值语句
“=“是一个运算符 注意赋值表达式与赋值语句的区别
§3.4 输入输出在c中的实现
输入输出是以计算机主机为主体而言 输入输出是由函数来实现的
库函数:由厂商预先编写好,并编译成目标文件 使用库函数时,用预编译命令“#include”将有
关的“头文件”包含到用户源文件中。
#include <stdio.h> printf,scanf可不加#include命令
%m.ne和%-m.ne ,n指小数部分的小数位数 printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f, f,f); 设f=123.456,输出结果为
1.23456e+02 1.23456e+02 1.2e+02 1.2e+02 1.2e+02 ❖g格式符,用来输出实数,根据数值的大小,自动选
printf(“%f %10f %10.2f %.2f %-10.2f \n”,f,f,f,f,f) ;
运} 行结果:
123.456001 123.456001 123.46 123.46 123.46
❖e格式符:以指数形式输出实数 %e ,不指定输出数据所占宽度和数字部分的小数位数。 数值按规范化指数形式输出。 如:printf(“%e”,123.456);输出结果为1.23456e+02
❖格式控制:包含两种信息 格式说明: %格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
❖输出表列:要输出的数据(可以没有,也可以是表达 式,多个时以“,”分隔
printf(参数1,参数2,参数3……参数n )
格式字符
❖d格式符:输出十进制整数 %d ,按整型数据的实际长度输出 %md,m为指定的输出字段的宽度。如果数据的位数 小于m,则左端补空格,否则按实际位数输出 例:printf(“%4d,%4d”,a,b); 若a=123,b=12345,则输出结果为▂123,12345 %ld,输出长整型数据 例:long a=135790;printf(“%ld”,a); 也可以指定字段宽度,如%8ld
C语言_第3章
第3章 顺序结构程序设计
简单程序的流程一般分为顺序结构、选择结构和循环结 构。其中顺序结构是最基本的控制结构,其包含的语句 是按照书写的顺序执行,且每条语句都将被执行。
程序流程如图3.1所示, #include<stdio.h> 语句按书写顺序执行。 main( ) 先执行A,再执行B。 {int a=10,x=5,y=6;
三、复合语句
用一对花括号,把若干条语句括起来,
就形成了一条复合语句。形式如下:
{[内部数据描述语句]
其中定义的变量是
语句1; …… 语句n;}
复合语句结束的 “}”之后,不需
局部变量,仅在复 合语句中有效。
要再加分号。
花括号中的语句,可以是简单语句、空语句、复合 语句、流程控制语句,所有这些语句括在一起,在 语法上看成是一条语句,执行时顺序执行花括号中 的每条语句。复合语句多用于流程控制语句中。
printf(“\n%d,%d”,a+i,i++);}
四、格式输入函数 格式输入函数一般形式 scanf(“格式控制字符串”,地址列表); 功能:按指定的格式从键盘上把数据输入到指定的 变量之中 。 在scanf语句的格式控制字符串中,有两类字符: 普通字符:必须按原样输入,不能省略; 格式说明部分:由%引导的格式字符串组成。
scanf语句格式说明部分的一般格式为: %[*][width][F|N][h|L]type type是必须的,表示输入后转换的数据类型。
d(D) o(O) x(X) i(I) u(U)
c s f,e,g F,E,G n
%
十进制整数 八进制整数 十六进制整数 自动根据数头分辨十、八、十六进制 无符号十进制整数 单个字符 字符串 实数
简单程序的流程一般分为顺序结构、选择结构和循环结 构。其中顺序结构是最基本的控制结构,其包含的语句 是按照书写的顺序执行,且每条语句都将被执行。
程序流程如图3.1所示, #include<stdio.h> 语句按书写顺序执行。 main( ) 先执行A,再执行B。 {int a=10,x=5,y=6;
三、复合语句
用一对花括号,把若干条语句括起来,
就形成了一条复合语句。形式如下:
{[内部数据描述语句]
其中定义的变量是
语句1; …… 语句n;}
复合语句结束的 “}”之后,不需
局部变量,仅在复 合语句中有效。
要再加分号。
花括号中的语句,可以是简单语句、空语句、复合 语句、流程控制语句,所有这些语句括在一起,在 语法上看成是一条语句,执行时顺序执行花括号中 的每条语句。复合语句多用于流程控制语句中。
printf(“\n%d,%d”,a+i,i++);}
四、格式输入函数 格式输入函数一般形式 scanf(“格式控制字符串”,地址列表); 功能:按指定的格式从键盘上把数据输入到指定的 变量之中 。 在scanf语句的格式控制字符串中,有两类字符: 普通字符:必须按原样输入,不能省略; 格式说明部分:由%引导的格式字符串组成。
scanf语句格式说明部分的一般格式为: %[*][width][F|N][h|L]type type是必须的,表示输入后转换的数据类型。
d(D) o(O) x(X) i(I) u(U)
c s f,e,g F,E,G n
%
十进制整数 八进制整数 十六进制整数 自动根据数头分辨十、八、十六进制 无符号十进制整数 单个字符 字符串 实数
c语言第3章 数据类型及表达式
•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值
C语言第03章--数据类型和表达式
通常不被初始化的变量,其值为危险的随机数 通常不被初始化的变量,其值为危险的随机数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数
C语言教程第3章 数据类型、运算符与表达式
#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); } 运行结果为 a+u=22,b+u=-14
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )
C语言课件_第三章_数据类型
第三章 数据类型
引言 1、计算机中的数据不单是简单的数字,所有计算机处理的信息,包括文字、 声音、图像等都是以一定的数据形式存储的。数据在内存中保存,存放的情况 由数据类型所决定。
2、数据类型即数据结构,决定了数据在内存中的存储形式。不同类型数据在 内存中所占存储空间的大小不同(同一类型数据在不同字长的计算机中所占存 储空间大小也不同),从而导致不同类型可存放数据的大小范围不同。但不论 何种数据类型,其在内存中都是以补码的形式存在的。 3、C语言提供的数据类型包括基本类型、构造类型、指针类型和空类型等,由 这些数据类型可构造出其它更复杂的数据结构(eg:表、栈、树等)。
C、存储:2个字节(Byte)即16位(bit),补码形式
第三章 数据类型
二、整型数据(描述的数据是整数的一个子集) 2、整型变量(分为基本整型、拓展整型) (1)基本整型 D、运算操作 a、算术运算 +(加法) -(减法) *(乘法) /(除法) %(求余)
运算规则:除了除法外,与数学中相同 eg:1+1=2 1-1=0 1*1=1 5%3=2
注意:由于字符在内存中是以二进制存放的,因此char和int可相互赋值,但必 须在一定范围内(0~255)。 (自学:P50 例3.6 向字符变量赋予整数、P51 例3.7 大小写字母的转换)
eg:char 型与 int 型互相赋值
#include <stdio.h> void main( )
{ int i; char c;
问题:用什么变量来存放字符串?
第三章 数据类型
五、变量与常量的定义 (符号常量和变量必须先定义,后使用) 1、常量(符号常量) 通过宏定义预处理命令来实现。 格式: #define 标识符 常量 例如: #define PRICE 30
引言 1、计算机中的数据不单是简单的数字,所有计算机处理的信息,包括文字、 声音、图像等都是以一定的数据形式存储的。数据在内存中保存,存放的情况 由数据类型所决定。
2、数据类型即数据结构,决定了数据在内存中的存储形式。不同类型数据在 内存中所占存储空间的大小不同(同一类型数据在不同字长的计算机中所占存 储空间大小也不同),从而导致不同类型可存放数据的大小范围不同。但不论 何种数据类型,其在内存中都是以补码的形式存在的。 3、C语言提供的数据类型包括基本类型、构造类型、指针类型和空类型等,由 这些数据类型可构造出其它更复杂的数据结构(eg:表、栈、树等)。
C、存储:2个字节(Byte)即16位(bit),补码形式
第三章 数据类型
二、整型数据(描述的数据是整数的一个子集) 2、整型变量(分为基本整型、拓展整型) (1)基本整型 D、运算操作 a、算术运算 +(加法) -(减法) *(乘法) /(除法) %(求余)
运算规则:除了除法外,与数学中相同 eg:1+1=2 1-1=0 1*1=1 5%3=2
注意:由于字符在内存中是以二进制存放的,因此char和int可相互赋值,但必 须在一定范围内(0~255)。 (自学:P50 例3.6 向字符变量赋予整数、P51 例3.7 大小写字母的转换)
eg:char 型与 int 型互相赋值
#include <stdio.h> void main( )
{ int i; char c;
问题:用什么变量来存放字符串?
第三章 数据类型
五、变量与常量的定义 (符号常量和变量必须先定义,后使用) 1、常量(符号常量) 通过宏定义预处理命令来实现。 格式: #define 标识符 常量 例如: #define PRICE 30
C语言 第3章 最简单的C程序设计
3.2.3 整型数据
1. 整型数据的分类 2. 整型变量的符号属性
整型变量的值的范围包括负数到正数 可以将变量定义为“无符号”类型 扩充的整形类型:
3.2.3 整型数据
扩充的整型类型:
➢ 有符号基本整型 [signed] int; ➢ 无符号基本整型 unsigned int; ➢ 有符号短整型 [signed] short [int]; ➢ 无符号短整型 unsigned short [int]; ➢ 有符号长整型 [signed] long [int]; ➢ 无符号长整型 unsigned long [int] ➢ 有符号双长整型 [signed] long long [int]; ➢ 无符号双长整型 unsigned long long [int]
3.2.2 数据类型
C语言允许使用的数据类型:
➢基本类型 ➢枚举类型
算术类型
➢空类型 ➢派生类型
纯量类型
指针类型
数组类型
结构体类型
共用体类型
函数类型
3.2.3 整型数据
1. 整型数据的分类 ➢最基本的整型类型
基本整型(int型):占2个或4个字节 短整型(short int):VC++6.0中占2个字节 长整型(long int):VC++6.0中占4个字节 双长整型(long long int):C99新增的
area s(s a)(s b)(s c)
其中s=(a+b+c)/2
编译系统为float型变量分配4个字节 数值以规范化的二进制数指数形式存放
参见主教材图3.11
3.2.5 浮点型数据
浮点型数据是用来表示具有小数点的实数 ➢float型(单精度浮点型) ➢double型(双精度浮点型)
C语言第3章_数据的输入输出
如: scanf(“%c%c%c”,&c1,&c2,&c3); 若输入a• b• c 则ac1, • c2, b c3
17/22
例:有以下程序 #include<stdio.h> main() { int a1,a2; char c1,c2; float x,y,z; char a,b,c; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); printf("%d,%c,%d,%c",a1,c1,a2,c2); } 若想通过键盘输入,使得al的值为12,a2的值为34 ,cl的值为字符a,c2的值为字符b,程序输出结果是 :12,a,34,b则正确的输入格式是(以下□代表空格, <CR>代表回车)( A )。 A)12a34b<CR> B)12□a□34□b<CR> C)12,a,34,b<CR> D)12□a34□b<CR>
4/22
d(int) o x(X)
以带符号的10进制形式输出整数 以8进制无符号形式输出整数 以16进制无符号形式输出整数
u(unsighed) 以无符号10进制形式输出整数
c(char) s f(float) e(E) 以字符形式输出一个字符 输出字符串
注意: long(%ld) double(%lf)
23/22
16/22
实数不许规定小数精度,像%10.4f不合法 输入格式中不能含有\n,如: scanf(“%d%d\n”,&a,&b); long型数据一定要用%ld格式输入,double型数 据一定要用%lf格式输入,否则运行结果错误。 用‚%c”格式符时,空格和转义字符作为有 效字符输入
C语言第3章数据类型、运算符、表达式
例如
➢字符常量‘a’占一个字节 ➢字符串常量"a" 占2个字节
‘a’ → “a” →
0110 0001 ……
0110 0001 0000 0000
(97)10
(97)10 (0)10
7.变量赋初值
变量赋初值
C语言允许定义变量时赋予初值。
➢int i = 6;
也可对某个变量赋初值:
➢int a, b, c = 6;
如: 0x16, 0x28
4.整型数据
整型变量
分类:
➢基本型 用“ int ”定义; ➢短整型 用“ short int ”或 “ short ”定义; ➢长整型 用“ long ”或 “ long int ”定义; ➢无符号型 用“ unsigned ”定义,不存放符号;
整型变量定义方式
➢基本整型:int a, b, c; ➢短整型 : short int 或 short a, b, c; ➢长整型: long int 或 long a, b, c; ➢无符号型:unsigned a, b; unsigned short a, b
10+‘a’+1.5–8765.1234 ‘b’
8.各种数值型数据间的混合运算
转换方法(自动转换)
double float
高
long
unsigned
低 int char, short
图中“ ” 表示必定转换。如'a' +' b',先转换为int,结果为 int。
既使是同一种类型也按" "转换。
对于“++”和“--”的使用要避免二义性
10.赋值运算符和赋值表达式
