C语言基础(2)
(7)字符串常量:
"ab" "hello world"
字符串末尾都有一个用来标识字符串结尾的\0字符
'a'和"a"区别:
'a':字符常量,只有一个字符a
"a":字符串常量,有2个字符'a' + '\0'
"ab\0" 4个字节空间
"ab\\\123ab" 7个字节空间
(8)标识常量
#define N 5
宏只是代码的替换,中间不进行任何数据计算的操作
宏名一般都是大写,用来和变量区分
(9)变量:
数据类型 变量名;
int Num1, Num2, Num3;
初始化:定义变量的时候对变量赋初值
赋值: 定义变量后,对变量的赋值
初始化 != 赋值
注意:1.未经初始化的变量值为随机值
2.定义变量时最好对变量初始化
5.类型转换:
(1)显示类型转换(强制类型转换)
只会转换一次
int Num1;
(double)Num1;
(2)隐式类型转换
表达式:一个多个变量和常量组成的式子
表达式一定有值
表达式一定有类型
低精度转换成高精度
浮点型精度 > 整形精度
同种类型所占内存空间越大精度范围越高
无符号精度 > 有符号精度
float类型进行数据运算和数据处理时会转换为double类型
short、char类型进行数据运算和数据处理时会转换为int类型
3.运算符
(1)算数运算符:+ - *
/ : 不能除以0
% : 不能对浮点数操作
++ 自增运算符
-- 自减运算符
i++; 先用再加
++i; 先加再用
(2)赋值运算符: = += -= *= /= %=
左值:允许放在赋值运算符左边的值,变量 、常量、表达式均不能作为左值
右值:允许放在赋值运算符右边的值,常量、变量、常量变量组成的表达式
左值为浮点数类型,右值为整形,会将值扩展精度
左值为整数类型,右值为浮点数类型,会舍弃精度
左右两边均为整形:将右值直接拷贝到左值空间中
小数据放入大空间:数据扩展,有符号数高位补符号位,无符号高位补0
大数据放入小空间:直接截取数据低位放入小空间
(3)三目运算符(特殊运算符)
表达式 ? 表达式1 : 表达式2
结合方向:自右至左
x > y ? x : (y > z ? y : z)
(4)逗号运算符
从左到右依次执行表达式,并将最后一个逗号表达式的结果作为整体逗号表达式的结果
(5)sizeof运算符
sizeof (数据类型/变量名) 获得数据类型/变量在内存中所占的字节数
C语言中常用的输入输出函数:(1)getchar putchar
(1)putchar
功能:在终端打印一个字符
示例:
putchar('a');
char ch = 'A';
putchar(ch);
putchar(ch + 32);
注意: 1.putchar只能打印一个字符,想打印多个字符需要多次调用putchar
2.putchar只能打印字符
(2)getchar
功能: 从终端接收一个字符
注意:1.getchar会将程序阻塞,直到用户输入数据,程序才能继续向下执行
2.getchar只能接收一个字符,想要接收多个字符需要多次调用
3.getchar只能接收字符
作业
1.定义一个圆的半径,并赋初值,计算圆的周长和面积完成打印
2.利用putchar和getchar实现从终端接收一个小写字母,转换成其对应的大写形式输出
3.定义两个整形变量并对变量赋初值(初值为2位数),要求将两个数合并成一个新数并打印
新数的千位是第二个数的十位
新数的百位是第一个数的十位
新数的十位是第一个数的个位
新数的个位是第二个数的个位
注意:利用四则运算对数字拆分和拼接
Num1: 12
Num2: 34
NewNum: 3124