当前位置:文档之家› 第二章变量和数据类型

第二章变量和数据类型

将参数按长整数形式转换输出,对应参数应是long 类型
输出一个字符,对应参数应该是一个字符 输出一个字符串,对应参数应该是一个字符串 将参数按带小数点数形式输出,对应参数应是double 类型,默 认情况下精确到 6 位小数
格式化输入scanf
#include <stdio.h>
输入/输出函数 (printf/scanf) 用于接受和显示数据或信息
int scanf( const char *format, ... );
是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。
例:使用scanf函数输入数据。 #include<stdio.h> int main() { int a,b,c;
scanf("%d%d%d", &a, &b, &c);
例如:char c = ‘A’;//字符‘A’的ASCII代码为65 c = c + 2;//65+2 = 67字符‘C’的ASCII码
基本数据类型之字符型

符号

符号

符号
0
空字符
44
,
91
[
' ' 32
空格
45
-
33
!
46
.
34 '" 5'
47
/
"2" 92
\
93
]
94
^
35 '# p'
36
$
C语言中的基本元素之量
变量:是指没有固定的值,可以改变的数。
变量用于开放句子,表示尚未清楚的值(即变数),或一个可代入的值 变量能够作为某特定种类的值中任何一个的保留器。 变量通常用一个英文字母表示
常量:是指在程序运行过程中其值不能改变的量。
常量分为直接常量和符号常量。 一旦确定以后是不能改的
例如,计算圆面积的 C 语句: S=3.14159*r*r; 中的 S 和 r 都是变量,其中,r 可以有不同的值,S 的值因 r 的值不 同而不同。
参数变量的类型 int long float double
要求的实际输入 十进制数字序列 十进制数字序列 十进制数,可以有小数点及指数部分 十进制数,可以有小数点及指数部分
格式化输出printf
int printf(const char *format,[argument]);
通过标准输出设备输出一组数据。
32
0 至 65,535
-2,147,483,648 至 2,147,483,647
0 至 4,294,967,295
基本数据类型之整型
定义:
int page_number; long int population; unsigned int age;
在同一语句中可以声明多个类型相同的变量: int page_number, copies = 0, paper_width;
要求掌握: 1. 字符变量的范围与整数的范围掌握 2. putchar()与printf()的用法 3. 什么是字符的ASCII码值
本章结构
变量和数据类型
简介 基本数据类型
符号常量 输入输出函数 算术运算符
类型转换 接收并显示字符
C语言中的基本元素之总体
程序
指令

标识符 关键字 运算符 分隔符

C语言中的基本元素之改变变量
初始化: 定义时初始化变量 int before = 1; 定义后初始化变量 Int middle; middle = 0x4591;
通过运算赋值 int programmer = 1; programmer = (left + right)/2;
格式化输入scanf
格式化输入/输出函数之scanf
内存
ห้องสมุดไป่ตู้
tax_rate
float tax_rate;
scanf (" %f" 一,旦确&定t以a后x是_不ra能t改e的);
• 在内存中分配一块 32 位存储空间 • 存储空间使用名称“tax_rate”标识
• 提示用户输入一个值
• 输入的值存储在变量中(因为 scanf 提供此变量的
int main()
{
int num;
printf("请输入一个数:");
scanf("%d",&num);
printf(" \n%d 的平方为 %d \n",num,num*num);
}
转换字符串
转义序列
格式化输入/输出函数之printf
int visitor_count = 150; printf (" %d" , visitor_count);
内存
ch1 ch2
格式化输入/输出函数之printf
char ch1 = 65; Char ch2 = ‘A’ printf (" ch1=%c, ch2=%c" , ch1, ch2);
输出结果: ch1=A, ch2 = A
基本数据类型之字符型
那么,怎么判断得到的字符是不是一个小写字母? 接下来,怎么知道他是26个字母中的第几个字母,他 下一个字母又是什么? 最终,怎么得到这个字母的大写字母呢? 于是‘a’+5,‘a’+‘5’与a + 5的区别。。。
37 '% $'
38
&
48 ~ 57 58 59 60
0~9 : ; <
95
-
96
`
'2' 97 ~ 122 a ~ z 正确
123
{
39
'
61
=
124
|
'2' + '2' = 4 40
(
41
)
62
>
63
?
125
}
126
~
42
*
64
@
127
DEL (Delete键)
43
+
65 ~ 90 A ~ Z
基本数据类型之字符
本章目标
若a=3,h=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765, c1=’a’,c2=’b’。想得到以下的输出格式和结果,请写出程序,包括定 义变量类型和设计输出。要求输出的结果如下:
编写程序,用getchar函数读入两个字符给c1与c2,然后分别用putchar()函数 和printf()函数输出这两个字符,并思考以下问题:(1)变量C1、C2应定义 为字符型或整型?还是两者皆可?(2)、要求输出C1 、C2的值ASCII码, 应如何处理?用putchar()函数还是printf()函数?
第1章内容回顾
程序是为执行一项任务而编写的有序指令集 算法是解决问题的具体方法和步骤 流程图是算法的图形化表现形式 C程序的编译和运行过程 编译器将源程序转换成机器能理解的程序 连接器用于连接相关的目标文件以生成可执行程序
第2章
变量和数据类型
预习检查
在printf函数中%d打印什么类型的数据,%f呢? double型该用什么打印? 那么,如果真的想打印“%d”,该怎么办? ‘2’+ ‘2’=? 如何打印一个浮点数的整数部分 我想把%运算符用于浮点数,但程序无法通过编译。 该怎么办?
输出结果: 168.23
宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。 精度(精确到小数点后多少位)
格式化输入/输出函数之printf
float circumference = 798..45738;6789; printf (" %f" , circumference);
输出结果:789..543708060709
格式化输入/输出函数之printf
int visitor_count = 150; printf (""%%dd"" , vviissiittoorr__ccoouunntt);
将一些信息按照指定的格式送到标准输出(显示器) 将按指定的格式显示该变量的值
转换字符串
%d %ld %c %s %f
说明 将参数按整数形式转换输出,对应参数应是int 类型
32
0 至 2^32-1
短整型
short int
short
16 -32768 至 +32767
无符号短整型 长整型
仅限于32位机! unsigned short int unsigned short
16
long int
long
32
无符号长整型 unsigned long int unsigned long
数据类型
数据类型
基本类型
整型 字符型 实型(浮点型)
单精度型 双精度型 枚举类型 构造类型
数组类型 结构体类型 共用体类型 指针类型 空类型
基本数据类型之整型
名称
全称类型说明符 缩写类型说明符 位数 范围
整型
int
int
32
-2^31 至 +2^31-1
无符号整型
unsigned int
unsigned
字符型
字符变量是用来存放字符常量的,一个字符变量中只 能存放一个字符.
占用1个字节。 系统并不是将字符本身的形状存入内存,而只是将字符的
ASCII码存入内存 字符类型看作一种特别短的整数类型。允许参与算术运算 分为:有符号字符型: [signed] char, -128—127
相关主题