学习日志以及个人总结 (第四天)

发布时间:2024年01月19日

1. 起名字(编程时)


?1 尽量用的单词
?2 禁止拼音
?3 驼峰命名法
? eg MoutherSon(大驼峰)
?? ? moutherSon(小驼峰)

第三天遗漏的
赋值运算:
=
一般要求左右两边做到类型匹配

不同类型的数据间混合赋值:
int = double //高精度给低精度赋值 精度丢失(损失)
比如 int a = 12.456 ;
? ? ? a输出 12
double = int //没啥影响

short = int ? //长类型数据给到段类型数据
2字节 ? 4字节
?!1个字节对应2个字符
int = short ?//符号位拓展 若是无符号短类型 此时补0
? ? ? ? ? ? ?// ? ? ? ? ? 若是有符号短类型 符号位拓展
※※※※※※※※※※※※※※※※※※※※※※※※

三条规则 : 高精度给到低精度 精度丢失
?? ??? ??? ?长类型 给到 短类型 高位截断 //0x87654321 仅留下0x4321
?? ??? ??? ?短类型给到长类型 若是无符号类型(0001)则补0 ? ? ? 0x123?? ??? ??? ? ?

2.C语言第四章


?输入输出
?4.1 4.2 介绍语句?
?语句
?1控制语句
?if()
?{
?
?}else
?{
?
?}
?2函数调用语句
?printf("hello world");
?
?3表达式语句
?
?4.空语句
?;
?5复合语句
?{
?? ?多条语句
?}
?
?
赋值语句?
a = 1 ;

输入输出

payattention
1.C语言本身并不提供输入输出功能
?是由输入输出函数库
?
why? 没有输入输出语句课以避免在编译阶段处理与硬件有关的问题
? ? ? ?,可以让编译系统简化,便于在各种计算机上实现。
2.标准的输入输出库
#include<stdio.h> // 标准输入输出库函数

3.三组函数 (总)

单个字符的输入输出
getchar
putchar

格式化的输入输出
printf
scanf

字符串的输入输出
gets // ?string ?一串
puts //

(分)
1.单个字符的输入输出

getchar()//

int getchar(void);//
功能:
?? ?获取一个字符
参数:
?? ?void ---空类型//表示没有参数
返回值;
?unsigned short ----> int ? ?无字符位 短类型 给到长类型
?
?成功 返回读到的字符的 ASCII码值
?失败 eof(-1)
?
int putchar(int c);
功能 输出一个字符
参数 @c 要输出的 字符的 ASCII码值
返回值 成功 输出ascii码值
? ? ? ?失败 eof

printf ?
putchar();//
格式化的输入输出
printf //格式化输出函数
int printf(const char * format,...);


格式:
printf("格式化控制字符串",输出列表);

格式控制字符串:
printf("b= %d\n",10);
普通字符:?
? ? ? ?原样输出?
占位符:
? ? ? ?占了一个位置,最终输出效果,将 输出列表中对应的参数,以占位符指定的格式输出
? ? ? ?
?? ? ? 占位符 与 输出列表的匹配?
?? ? ? 从左到右逐个对应的?
?? ? ??
?? ? ? 如果 占位符个数 大于 输出列表参数个数 , 多的 输出是随机值?


占位符:
// 整型 ??
%d ?十进制 有符号
%u?? ?十进制 无符号
%x?? ?十六进制?? ?也可%X 即为 abcdef 对应的都是大写
%o?? ?八进制
//浮点型
%f 6位小数 小数形式输出
%g 以更简洁的方式输出 不会输出无意义的0
%e 科学计数法形式输出
//字符
%c 以字符的格式输出 ?//将对应的ASCII码值的字符形式输出
%s 以字符串的格式输出

辅助控制符;
%[辅助控制符]d
#只能在这两种使用
%#x //输出十六进制的前缀 ?
%#o //输出八进制的前缀
m ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
数字----输出的宽度
实际的参数的宽度>m 则以实际参数的宽度位准
?? ??? ??? ??? ?<m 默认右对齐 ,前面的空位补空格
?? ??? ??? ??? ?左对齐 加一个 符号(-)
.n
?? ?浮点数
?? ?表示控制输出的小数位数

?? ?字符串
?? ?表示输出字符串的前n位
?? ?
l //long 类型
ll //long long 类型
?? ?
h // half--一半 2个字节
hh //一半的一半?? ?一个字节

-----------------------------
scanf?
int scanf(const char *format, ...);
格式:
scanf("格式控制字符串",地址列表)

格式控制字符串:

普通字符:?
? ? ? ?原样输入?
占位符:
? ? ? ?占了一个位置,将输入的数据,转换为占位符
?? ? ? 指定的格式,放到 地址列表对应的一块内存空间上?
? ? ? ?占位符 也决定能识别的字符的范围?

占位符:
??
? //整型?
? %d ?将输入的数据 转换为 有符号 十进制 格式?
? %u ?将输入的数据 转换为 无符号 十进制 格式?
? %x ?将输入的数据 转换为 ?十六进制 格式 输出
? //%X ?将输入的数据 转换为 ?十六进制 格式 输出 ,但是对应的a b c d e f 都是大写
? %o ?将输入的数据 转换为 ?八进制 格式 输出
? //浮点数?
? %f ?将输入的数据 转换为 小数的形式
? %g ?
? %e ?
? %E ?
? //字符 ? ?
? %c ?以 字符的 格式 输出 //将对应的ASCII码值的 字符形式输出?
? %s ?以 字符串 格式 输出?
注意:
1.第二个参数注意一定要写 &(取地址)

segmentation

2.多个数据输入时
以空白符号作为分隔符号
空白符: 空格 回车 tab
3.浮点型数据输入时
double --%lf

4.辅助控制符?
?? ? ?m.宽度 -- 输入的宽度?
?? ? ?
?? ? ?达到宽度时,输入匹配结束?
?? ? ?只能获取到前m个数据?
5.scanf匹配结束的条件
?123 456 789
scanf ("%d%d%d",&a,&b,&c);

a 空白符
b 指定宽度
123456
scanf("%3d",&a); //只识别123
c 非法字符
123a45
scanf("%d",&a);//只读到123 ?读到a时属于非法字符 所以不继续向后
? ? ? ? ? ? ? ? ? ? ? ? ? 读取
6.%c字符占位符
?几乎可以识别键盘的任何字符
?scanf("%c %c %c",&a,&b,&c);// 一个空白符--匹配任意多个空白符

基本将第四章消化完毕 .

文章来源:https://blog.csdn.net/xxx64646649/article/details/135667632
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。