我的C语言学习记录一-编程初步

我的C语言学习记录


第一次尝试用写博客的方法来记录自己的学习。希望自己以后能慢慢坚持下去
参考书目是《C语言入门经典》 作者:Ivor Horton

C语言-编程初步

标准库: 头文件(.h)标准输入/输出文件
main()函数: 每个程序必须有一个(每个程序从这个函数开始执行)
delay()函数: 延时函数


//或/*…*/: 注释
符号# :预处理指令
stdio.h : 输入输出函数的头文件,头文件的后缀 .h


limits.h: 每种类型的极限值

类型最小值最大值
charCHAR_MINCHAR_MAX
shortSHRT_MINSHRT_MAX
intINT_MININT_MAX
longLONG_MINLONG_MAX
longlongLLONG_MINLLONG_MAX

float.h: 每种类型的极限值(浮点型)

类型最小值最大值
floatFLT_MINFLT_MAX
doubleDBL_MINDBL_MAX
long doubleLDBL_MINLDBL_MAX

stdbool.h 头文件
可以直接将bool用作类型名。存储0或1;
定义了符号true和false,分别对应1或0;非0也是true;
存储布尔值的变量:stdbool.h头文件_Bool()(变量值可以是0或1,ture或false)


数学函数
math.h(double类型)

函数名说明
floor(x)返回不大于x的最大整数
ceil(x)返回不小于x的最小整数
fabs(x)返回x的绝对值
log(x)返回x的自然对数(底为e)
log10(x)返回x的对数(底为10)
exp(x)返回e^x的值
sqrt(x)返回x的平方根
pow(x)返回x^y的值

给函数名的末尾添加f或l,就得到处理float和long double类型的函数。


main函数:每个程序必须有的函数
print()函数 :输出函数,末尾必须有分号
#define 宏替换名 宏替换体


转义序列说明
\n换行
\r回车键
\b退后一格
\f换页
\t水平制表符(空格)
\v垂直制表符
\a发出鸣响
\?插入问号
\"插入双引号
\’插入单引号
\\插入反斜杠
\ddd表示1~3个八进制的数字
\xdd表示两个十六进制的数字

\ddd:输出字符为:八进制转换为十进制所对应得ASCII码字符。
\xdd:输出字符为:十六进制转换为十进制所对应得ASCII码字符。


三字母序列转换符号
??=转换为#
??(转换为[
??)转换为]
??/转换为\
??<转换为{
??>转换为}
??’转换为^
??!转换为|
??-转换为~

一个字节(byte)有8位(bit),位只能是0或1
变量的命名:只能由字母,数字,下划线组成,但要以字母开头,区分大小写。
数据类型关键字: Int 整数型,存储整数值
转换说明符: %d:十进制
要想输出%字符,必须用转义序列%%
不能在字符串的中间换行,需要将字符串拆开成两行或多行时,一行上的每一段字符串必须有自己的一对双引号。


基本算术运算

  1. +加
  2. - 减
  3. * 乘
  4. / 除
  5. % 取模(余数):模数运算符结果和左操作数的符号相同。(应用 整数型运算符 才有意义)

带符号的整数类型:

类型字节数
signed char1字节=8位
short int2字节=16位
int4字节=32位
long int4字节=32位
long long int8字节=64位

无符号的整数类型:

类型字节数
unsigned char1字节=8位
unsigned short int2字节=16位
unsigned int4字节=32位
unsigned long int4字节=32位
unsigned long long int8字节=64位

将整数常量指定为long类型,应添加一个L
将整数常量指定为long long类型,应添加两个L
将整数常量指定为无符号类型,应添加一个U
要存储取值范围最大的整数,应添加ULL


二进制数:如果有n位,就可以表示2n个指数,0~2n-1
转换为十进制:1111=1*23 +1*22+1*21+1*20=15
十六进制:一个十六进制对应4位二进制(以0x开头,二进制从右边开始分为四个一组)
八进制:一个八进制数对应3位二进制(以0开头的整数常量,会被编译器看作八进制数)


浮点数: 数字E表示指数
浮点数变量:

类型字节数
float4字节=32位(精确到6到7位小数)
double8字节=64位(精确到15位小数)
long double12字节=96位(精确到18位小数)

编写一个类型为float的常量,需要添加一个f
因为它(默认为double类型
控制输出中的小数位数: 格式说明符%.xf:输出的小数点后有x位数。
控制字符宽度:%width.precision f:width值是一个整数,指定输出的总字符数(包括空格),即字段宽度。precision值也是一个整数,指定小数点后的位数。
指定字段宽度时,数值默认为右对齐,如果希望数值左对齐,只需在%后添加一个负号。


格式说明符

读取无符号整数值%u
读取char类型的数值%c
读取short类型的数值%hd
读取int类型的数值%d
读取long类型的数值%ld
读取float类型的数值%f或%e
读取double类型的数值%lf或le

scanf_s相比于scanf更安全
scanf_s("%",&变量): 将键盘输入的值读取存到变量中,有时候需要指定字节数sizeof()
使用头文件#pragma warning(disable:4996)可使用scanf
如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔。
若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
scanf在使用输入字符时,需要在%c前加上空格,防止误操作,忽略空格输入,接受第一个非空格输入。
scanf在使用时,如果只有一个%d,输入的数据不能按空格,否则只会输入第一个数据。如果循环使用scanf时,存储数据会依次存储。
比如3 4 5,第一次存储3,第二次存储4,第三次存储5.


定义命名常量
#define X y:#define语句中标识符都是大写
在变量名前加上const关键字,可以固化变量的值。


sizeof运算符:可以确定给定的类型占据多少字节(结果是一个无符号整数,用%u输出它)
使用size_t变量存储sizeof运算符生成的值(stddef.h)


强制类型转换
1:(变量类型)变量名(在变量名称前加上转换的变量类型)
隐式类型转换的规则
long double>double>float>long long>long>int>short>signed char


字符类型
1:char
可以给char类型的变量指定字符常量,字符常量是一个放在单引号中的字符。


字符的输入输出
使用scanf()函数和格式说明符%c,可以从键盘上读取单个字符
用格式说明符%x替代%d,就可以把char类型变量的整数值输出为十六进制值


标准库ctype.h 头文件提供的toupper()和tolower()函数可以把字符转换为大写和小写。
枚举:enum 枚举类型{枚举常量}


赋值操作的op= 形式
lhs op= rhs;等价于lhs = lhs op (rhs)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值