当混合赋值时:
左右两边的匹配? ?
右边的精度低于左边的精度,精度丢失? ? ? ? ? :? ? ? ?右边的字节小于左边的字节,否则发生高位截断? ?;? 短类型给到长类型,若是有符号,在二进制中最高位会有0/1的判断,为1出现符号位的拓展,出现输出值的改变? ??--------? 低精度=高精度,发生精度丢失? ? ? ? ? ? ? ? ;? ? ? ?短类型=长类型,发生高截断(存低位)? ?;? 长类型=短类型,会发生符号位的拓展(高位都为符号值)
类型的匹配(若是不匹配发生隐式类型的转换,悄然发生)? ? -----? ? 导致的结果:精度丢失,或是因为符号位的判断,导致结果有二进制最高位符号判断1的数值增加
c语言中的语句
控制语句(if ; elsei f) /? 函数调用语句(? +:) /? ?表达式语句(运算数+运算符+加运算数) /? 空语句? /? 复合语句(多条语句)
注意:1.C语言不提供输入输出功能 , 是由输入输出函数库提供的;
? ? ? ? ? ?2.标准的输入输出库---- #incldue<stdio.h>
? ? ? ? ? ?3.三组函数:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 单个字符输入输出:getchar? ; putchar? ?(可以:putchar(getchar()))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 格式化的输入输出:printf ; scanf
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串的输入输出:gets? ;? string? 输出一段字符(‘abc’)
getchar:用作获取一个字符(只能),void空类型(没有参数),返回值为int,成功 返回读到的字符ASCII,失败则 EOF(-1)
putchar:用作输出一个字符(只能),参数为@(要输出字符的ASCII值),成功 返回输出的字符ASCII,失败则 EOF
普通字符----原形式输出? eg:‘空格’,‘文字’等
占位符-------占了一个位置,最终输出效果,将 输出列表中对应的参数,以占位符指定的格式输出
占位符 :??
? ? ? ? ? ?
普通字符-----形式输入(操作者) , 比较麻烦
占位符-----占用了一个位置,将输入的数据,转换为占位符 指定的格式,放到 地址列表对应的一块内存空间上 ,?占位符 也决定 能识别的 字符的范围。
占位符:
注意:第二个参数注意一定要写 & (取地址)? ;??多个数据输入时,?以空白符作为分割符(等同于多个空格,tab)? ;??浮点型数据输入时 ,类型要匹配(int - %d ; long - %ld ;?long long - %lld)
scanf匹配结束的条件 : 空白符 ; 指定宽度(m---辅助性控制符)? ;? 非法字符(a)?
%c 字符占位符 ,几乎可以识别键盘输入的任何字符
%*c : 表示 跳过一个 数据项?