学自于尚硅谷
布尔类型(char类型)
//
// Created by Administrator on 2025/1/9.
//
#include <stdio.h>
/*
*C语言中,使用 char 关键字来表示字符型,用于存储一个`单一字符`。
* 字符型变量赋值时,需要用一对英文半角格式的单引号(`''`)把字符括起来。
* 每个字符变量,在16位、32位或64位编译器中都是`占用 1 个字节(=8位)`。
* char类型中的每个字符对应一个ASCII码,以为ASCII是一个数值,所以char类型的变量可以参与运算
*/
int main(){
//表示方式1:使用'',表示一个单独的字符
char c1 = 'A';
printf("c1 = %c\n",c1); //A
printf("c1 = %d\n",c1); //65
//表示方式2:使用具体字符对应的ASCII码表示
char c2 = 66;
printf("c2 = %c\n",c2);
//区分:’1‘ 和 1
char c3 = '1';
char c4 = 1;
printf("c3 = %d, c4 = %d",c3, c4);
return 0;
}
转义字符
| 字符形式 | 含义
| -------- | --------------------------------------------------
| `\n` | 换行符(光标移动到下行行首)
| `\t` | 水平制表符,光标移到下一个Tab位置
| `\'` | 单引号字符 '
| `\"` | 双引号字符 "
| `\\` | 反斜杠字符 ’\’
| `\r` | 回车符,光标移到本行开头
| `\0` | null 字符,代表没有内容。注意,这个值不等于数字0。
| `\b` | 退格键,光标回退一个字符,但不删除字符
变量间的运算规则
//
// Created by Administrator on 2025/1/9.
//
#include <stdio.h>
int main(){
//规则1 隐式类型转换 窄类型转换为宽类型
short s1 = 10;
int i1 = s1;
long l1 = s1;
double d1 = s1;
float f1 = 123.4;
double d2 = f1;
char c1 ='A';
int i2 = c1 + i1;
//如果是char类型的,short类型之间做运算,运算的结果是int类型
// short s2 = c1 + s1; //导致编译器警告
int i3 = c1 + s1;
//情况2:宽类型赋值给窄类型
float f2 = 12.3; //将double类型的2.3转换为float,会警告
double d3 = 12.3;
int i4 = d3; //将double类型转换为int类型,会警告
//为了避免警告,引入强制类型转换
//强制类型转换,显示的宽类型转换为窄类型,需要使用强制符
double dd1 = 12.3;
int ii1 = (int)dd1; //没有警告
printf("ii1 = %d\n",ii1);
//注:强制类型转换会导致精度损失
int i = 4000;
short s = (short)i;
printf("%d\n",s);
return 0;
}
常量
//
// Created by Administrator on 2025/1/9.
//
#include <stdio.h>
#define ZERO 0
#define PI 3.1415
//使用enum定义枚举类
enum Sex{
//括号中的MALE,FEMALE,SECRET是枚举常量
MALE,
FEMALE,
SECRET
};
int main(){
//1.字面常量
3.14;
1000;
//#define 符号常量名 常量值
printf("zero = %d\n",ZERO);
//ZERO = 1 //不可重新赋值
//PI = 3.14159; //不可重新赋值
double radius = 2.3;
double area = PI * radius * radius;
printf("area = %.2lf\n",area);
//枚举常量
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//注:枚举常量默认是从0开始,依次向下递增1的
return 0;
}
输入输出函数
//
// Created by Administrator on 2025/1/9.
//输入输出函数测试
#include <stdio.h>
#define PI 3.14
/*
* 1. 何为输入?何为输出?
* - 输出:从计算机向外部输出设备(显示器、打印机)输出数据。
* - 输入:从输入设备(键盘、鼠标、扫描仪)向计算机输入数据。
*
*
* */
int main(){
/*
* 2. scanf()的使用
* 格式:scanf("格式控制字符串",参数地址列表)
*
*/
// 练习:计算圆的面积,其半径由用户指定
float radius;//圆的半径
printf("enter radius:");
scanf("%f",&radius); //理解为阻塞式函数
float area = PI * radius * radius;
printf("area = %.2f\n",area);
//练习:输入多个变量的值,求乘积
// int a,b,c;//用于接收从键盘输入的三个值
// printf("enter three numbers:");
scanf("%d%d%d",&a,&b,&c); //输入数据时,使用空格、Tab、回车操作分隔
// scanf("%d,%d,%d",&a,&b,&c); //输入数据时,使用逗号分隔
//
// int result = a * b * c;
// printf("result = %d\n",result);
/*
* 3. getchar()与putchar()的使用
* > putChar():输出一个字符
* > getChar():输入一个字符
* */
// char c1 = 'A';
// putchar(c1);
//
// char c2 = getchar(); //是一个阻塞式的函数
// putchar(c2);
/*
* 4. gets()与puts()的使用
* > puts() : 输出一个字符串
* > gets() : 输入一个字符串
* */
//超纲:
//输出字符串
char str[] = {"China"};
puts(str);
char str1[] = {"Beijing"};
puts(str1);
//读入字符串
char str2[15];
printf("enter your name:");
gets(str2); //从键盘读入字符串,并将字符串数据保存在str2数组中
puts(str2);
return 0;
}