目录
·变量及数据类型
变量定义为字符变量,可看作存储数据的容器。C语言中的数据类型包括基本数据类型和派生数据类型。
基本数据类型
C语言中的基本数据类型有四种,分别是:
int:表示整数类型,通常占用4字节空间(32位系统),取值范围为-2^31~2^31-1。
char:表示字符类型,占用1字节空间,取值范围为0~255。
float:表示单精度浮点数类型,占用4字节空间,可表示小数部分6到7位有效数字。
double:表示双精度浮点数类型,占用8字节空间,可表示小数部分15到16位有效数字。
派生数据类型
C语言中的派生数据类型有数组、指针和结构体等。
数组:是一组同类型数据的集合,在定义时需要指定元素类型和元素个数。例如int a[10]定义一个含有10个整数元素的数组。
指针:是一个地址值,它存储了某个变量或对象的内存地址。通过指针可以访问所指向的值。例如int *p定义了一个指向整数类型的指针变量p。
结构体:是一种自定义数据类型,由多个不同类型的变量组成。例如struct student{ char name[20]; int age; float score;}定义了一个包含学生姓名、年龄和成绩的结构体类型。
格式字符对照表
格式字符 含义
%c 读取一个字符
%d 以十进制形式读取一个有符号整数
%e 以指数形式输出单、双精度实数
%f 以小数形式输出单、双精度实数(默认显示小数点后六位)
%g 自动选择合适的表示法输出单、双精度实数
%i 与%d相同
%o 以八进制形式读取一个无符号整数
%s 读取一个字符串
%u 以十进制形式读取一个无符号整数
%x 以十六进制形式读取一个无符号整数(小写字母)
%X 以十六进制形式读取一个无符号整数(大写字母)
%% 打印一个百分号
·标准输入函数scanf()
函数使用:
调用标准的输入输出函数库“#include <stdio.h>”;
调用形式:
scanf("<格式控制字符串>",<变量地址列表>);
单个字符的输入:
程序中用scanf("%c",&confirm);来实现单个字符的输入。需要注意的是,空格和回车都会作为有效的字符获取。
数据输入格式控制:
1.输入格式控制:
在“%”与格式字符之间还可以加入附加格式符,对格式做进一步要求,一般形式为:
%[*][宽度][h|l]格式字符
[宽度]:指定输入数据的转换宽度,必须是一个十进制非负整型常量。宽度表示读入多少个字符就结束本数据项的转换。若没有指定宽度,则遇到空格、Tab键、回车/换行符、非法输入结束数据项的转换。(%c格式除外)
[h|l]:附加修饰符。附加修饰符,输入长整型和double类型表达式时必加字母l,当输入短整型表达式时必加字母h。
[*]:表示数据输入项要按指定格式进行转换,但不保存到变量中,即该%没有对应的变量。一般用%*c来吸收字符。
2.运行时的输入格式:
运行程序时,输入严格按照输入语句中的格式字符串进行,格式字符串中的所有字符原样输入,遇到格式控制字符,则对照数据类型格式符输入相应的数据。
·标准输出函数printf()
函数使用:
调用标准的输入输出函数库“#include <stdio.h>”;
信息显示:
要显示的文本信息只需放入到小括号中用英文双引号引起来即可;
显示内容的控制:
1.一般情况:
通过设置参数输出非固定内容,将输出项的值以特定格式进行显示。一般形式为
printf("格式控制字符串",输出项);
2.附加格式符:
在“%”与格式字符之间还可以加入附加格式符,对格式做进一步要求如下:
%[flag][输出最小宽度][.精度][长度] [h|l]格式字符
[flag]:"+"表示显示数值的正负符号,“-”表示左对齐,0表示如果指定的域宽大于数据的实际位数,默认在数据的左边输出空格的位置用0来补充。
[宽度]:用来指定输出的数据项占用的字符列数,也称输出域宽。若指定输出宽度小于数据的实际位数,则突破域宽的限制,按实际位数输出;若域宽大于数据的实际位数,默认右对齐。
[h|l]:附加修饰符,输出长整型和double类型表达式时必加字母l,当输出短整型表达式时必加字母h。
特殊符号显示:
转义字符 特殊处理方式,程序运行时将其转化为特殊的显示内容。
\n //换行
\t //水平制表(跳8列至第9列开始)
\v //垂直制表
\b //退格
\r //回车
\0 //字符串结束
\a //响铃
\\ //反斜线
\' //单引号
\" //双引号
\ddd //8进制数代表的字符
\xhh //16进制数代表队字符
字符输入函数getchar()
函数功能:
从键盘缓存中获取第一个字符,并将其赋值给confirm变量。
特殊功能:
取走输入数据后多余的单个字符。(常用getchar()函数放在单个字符输入之前,将前面数据后多余的回车等多余字符取走,以保证后面字符输入的正确执行)
字符输出函数putchar()
宏:
宏定义又称宏代换、宏替换,简称宏。使用宏定义可以防止出错,提高可移植性、可读性、方便性等。符号常量的宏定义格式为 #define 符号常量名 常量
函数功能:
输出单个字符,一般形式为putchar(字符);(在程序中如果多次出现一个常量值,为了后续维护程序方便,可以使用宏定义将其定义为符号常量。如果常量值发生变化,只需要修改宏,而不需要修改代码)
文件打开、读、写、关闭
文件指针定义:
C语言中定义一个变量来存储文件对应的空间地址,这个变量称为指针变量。定义说明文件指针变量的一般形式为 FILE *fp;
打开文件:
fopen()函数用来打开一个文件,其调用的一般形式为
文件指针名=fopen(文件名,使用文件方式); eg:fp=fopen("hongbao.txt","w");
使用文件方式 | 意义 |
“r” | 打开文本文件,进行读操作 |
"w" | 创建文本文件,进行写操作 |
"a" | 向文本文件追加数据 |
"r+" | 打开文本文件,进行读/写操作 |
"w+" | 创建文本文件,进行读/写操作 |
"a+" | 打开文本文件,允许读,或在文件末追加数据 |
文件的读写:
fprintf()函数的作用是对文件进行格式化写入。
eg:fprintf(fp,"发了%d个红包,单个金额%d(元)钱",number,money);
如果写成fprintf(stdout,"发了%d个红包,单个金额%d(元)钱",number,money);则fprintf()向标准输出文件stdout写入数据,在显示器上显示,功能等同于printf()的使用。
关闭文件:
fclose函数用来关闭一个文件,一般形式为fclose(fp);正常完成关闭文件操作时,函数返回值为0;