1.初识C语言---回忆型笔记(随笔 不适合0基础看哦)

1.数据类型

//1个字节8个bit位 //bit是最小存储单位
1.字符型--一个字节--用于储存单个字符
  char;
2.整形--用于存储整数
  short;(短整型)--二字节--
  int;(整型)--四字节--%d
  long;(长整型)--四字节/八字节--%ld
  long long;(更长整型)--八字节--%lld
3.浮点型--存放浮点数
  float--四字节--%f
  double--八字节--%lf
  long double--更多字节
4.布尔类型--专门表示真假
  bool;
等等等....

2. 变量与常量 (本质是向内存申请空间)

2.1全局变量与局部变量(*局部优先)

局部变量--“{}”内定义的【变量必须初始化才能使用

全局变量--“{}”外定义的【整个工程,跨文件可使用】-->不初始化默认为0

2.2常量不可改变

3.printf 与 scanf 函数

3.1 printf:将参数文本输出到屏幕

// “\n”表示自动换行;

“printf”是在标准库的头文件<stdio.h>下定义的,所以使用 printf 时须在源码头部引入该头文件即

#include<stdio.h>

3.2 占位符(这个位置可以用其它值代入)

%c--单个字符(char)
%d--十进制整数
%e--科学计数法的浮点数
%f--浮点数(float)
%g--6个有效数字的浮点数(自动去除无效零),整数部分超过6位会自动转为科学计数法
%lf--(double)
%s--字符串,如“Tom”
%zd--size_t类型
%%--输出一个%
等等....

3.3 输出格式(printf可以定制占位符的输出格式)

3.3.1 限定宽度---限定占位符最小宽度

printf("%5d", 123);//输出为"__123"
//%5d-->宽度至少为5位,若不满则会自动在前面填空格
//若想左对齐--printf("%-5d", 123);

3.3.2  正负号

默认不对正数显示+号,若想显示,则可:

printf("%+d", 12);//输出+12
printf("%+d", -12);//输出-12

3.3.3 限定小数位数(会四舍五入)

小数默认精度为6位,如:

%12f-->"___123.450000"
printf("%12f", 123.45);

小数点后仅保留两位,则可:

printf("num is %.2lf", 1.356);//则会输出1.36

4.输出部分字符串

%s默认全部输出,若只想输出开头部分,可用:%.5s 来指定输出长度, 如:

printf("%.5s\n", "hello, world");

3.4 scanf 函数(传递的是值不是地址)

3.4.1 用法:用于读取用户的键盘输入(它的原型定义在头文件stdio.h中)形如:

scanf("%d%lf%s", &i, &j, &k);

有空格不影响读取;回车分行也不影响读取。

注:解读用户输入时,会从上一次解读遗留的第一个字符开始,直到读完缓存/遇到第一个不符合条件的字符为止(缓存--用户的输入会先放入缓存,按回车后按占位符对缓存进行解读)

int x;
float y;
scanf("%d", &x);
scanf("%f", &y);

//用户输入“___-13.45e12#_0”
//scanf读取用户输入数据时,%d会忽略起首空格,读取到-13为止,因为后面的不属于整数的有效字符

//第二次调用scanf时,会从上一次停止解读的地方 %f--会读到.45e12 ,因为#不属于浮点数会停止
(科学技术法)3.0e3---4.0*10^3;

3.4.2 复制忽略符

要求:输入格式 2020-01-01;
用户输入:2020|01|01;
则不符合会报错,所以为解决该问题则可:
把*加在任何占位符%后面,该站位符就不会返回值,解析后丢弃。如:
1.scanf("%d-%d-%d", &a, &b, &c);
  printf("%d-%d-%d", a, b, c);
2.scanf("%d%*c%d%*c%d", &a, &b, &c);//把1换成2即可解决问题

 4. strlen与sizeof的区别

1. strlen是一个函数(用于计算字符串长度)从字符串头开始计数,直到遇见 ‘\0’ .需要头文件

<string.h>. 如:strlen(“abc”)的结果为 ‘3’ .

关键是没找到  \0  则会越界

2. sizeof是一个运算符,用于计算变量和数据类型所占用的字节数。同于数组时如:

int arr[10];
int sz = sizeof(arr);//得到的是数组整体所占空间的大小 即:40字节(4*10);

用于指针时根据不同的操作系统为4/8字节;

5. 操作符

5.1 ‘/’ 号俩边有小数才会进行小数除法,不然仅会进行整数除法。

5.2 强制转化 

double a = 3.14;
printf("%d", (int)a);//把a由浮点型转化为整型

5.3 二进制和进制转换

5.4 源码,反码,补码

5.5 移位操作符

5.6位操作符

5.7 整型提升

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值