一些小总结(杂)

本文介绍了C语言中的strlen函数用于字符串长度计算,sizeof操作符的作用,以及转义字符、printf和scanf的使用方法,包括格式化输入、类型转换和初始化等内容。
摘要由CSDN通过智能技术生成

1.strlen是一个库函数-求字符串的长度,统计的是\0之前的字符个数

strlen返回值是size_t类型的,应该使用%zd

2.

3.注意下面两种转义字符

1)\ddd:ddd表示1~3个八进制的数字

\130  130是八进制,转化成十进制=1*8*8+3*8+0*1(8的一次方)=88

          再对照ASCLL码表可知此处表示的字符就是x

2) \xdd:dd表示两个十六进制数字

\x30   30是十六进制,转化成十进制=3*16+0*1=48

          同理此处表示字符0

十六进制:1 2 3 4 5 6 7 8 9 a b c d e f

4.计算字符串长度--注意转义字符

5.sizeof操作符

sizeof(类型)

sizeof   表达式

1)计算sizeof的操作数的类型长度的,单位是字节

sizeof操作符的操作数可以是类型也可以是变量和表达式 

                                           是类型时要加上(类型)         是表达式时可以省略括号

2)sizeof中如果放的是表达式,表达式不会真实计算

6.有无符号

1)char----有无符号取决于编译器,大部分的编译器上是有符号即signed char

2)我们认为int=signed int

无符号的进行打印我们使用%u

7.前置和后置

前置++:先++后使用                 后置++:先使用后++

前置--: 先--后使用                   后置-- :先使用后--

8.强制类型转换

int a=(int)3.14  ----------------意思是强制类型转换只取整数部分

9.printf()是在标准库的头文件stdio.h定义的

printf()可以在输出文本中指定占位符--就是这个位置可以用其他值代入

printf()参数与占位符是一一对应关系,如果有n个占位符,printf()的参数就应该有n+1个,

如果参数个数少于对应的占位符,printf()可能会输出内存中的任意值

2)printf()允许限定占位符的最小宽度,如果不满该位数,对应的值前面会添加空格,如果希望在输出内容后面添加空格,可以在占位符的%后面插入一个-号----(%-ad\n)

10.

-13.45e12# 0

整数部分打印-13,小数部分打印0.45*10^12(浮点数在内存中可能无法精确保存)

11.初始化

在创建变量时给变量一个初始值称为初始化,如果不初始化有些编译器会报错

1)局部变量不初始化,它的值是随机的

2)全局变量不初始化其数值默认为0

12.

13.

14.可以用*代替要输入的值

printf("%*.*lf\n",a,b,123.45)-----------printf("%*.*lf\n",12,6,123.45)

15.赋值忽略符

把*加在任何占位符的百分号后面,该占位符就不会返回值,解析后将会被丢弃

    第一种写法,输入年月日时要加 - 不然解析数据就会                                                                        失败,而第二种使用赋值忽略符输入时就没有相关限                                                                        制

16.scanf()的语法和printf()类似

1)scanf()处理数值占位符时,会自动过滤空白字符,包括空格,制表符,换行符,所以用户输入的数据之间,有一个或多个空格不影响scanf()解析数据,使用回车也不会影响

2)在VS环境中按三次ctrl+z,才结束了输入

17.占位符

1)            

除了%c以外,都会忽略起首的空白字符,%c不忽略空白字符,总是返回当前第一个字符,无论该字符是否为空格

如果要跳过字符前的空白字符,可以写成scanf(" %c"),在%c前面加一个空格,表示跳过零个或多个空白字符

2)%s

‘’)从当前第一个非空白字符开始读起,直到遇到空白字符(空格,换行符,制表符)为止

‘’)scanf()将字符串读入数组时,不会检测字符串是否超过了数组长度,使用%s占位符时,应该指定读入字符串的最长长度,写成%[m]s,表示读取字符串的最大长度,后面的字符串将会被丢弃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值