Linux开发之C语言基础

2025-05-04 20:59:44

1、常量:数字 十进制数(Dec) 20八进制(Oct) 024十六进制(Hex) 0x14二进制数(Bin) 0b10100字符 ‘ ‘ man ascii :

Linux开发之C语言基础

3、还有和八进制或者十六进制数字联合一起的转义字符,表示取对应的ASCII码值:

Linux开发之C语言基础

6、%d需要把这个数据当成是带符号的补码,需要显示出其原码:

Linux开发之C语言基础

9、算术运算符:

Linux开发之C语言基础

11、练习:test1输入一个小写字符, ‘a’ ‘z’显示该字符对应大写字符,连续显示4次输入‘a’ ,输出是A帆歌达缒AAA字符的输入和显示 用%cchar c ;scanf(“%c” , &c);for( i=0; i<4; i++ )printf(“%c”, c-32);逻辑运算符逻辑与 &&条件1 && 条件2只有这两个条件都满足(条件为真)整个表达式才为真只要有一个为假就是假如果条件1已经是假,不会处理条件2例:判断输入的是否为小写字符:char c ;scanf(“%c” , &c); // ‘a’ ‘z’ ‘z’ >= c >= ‘a’ 数学上写法if( c >= ‘a’ && ‘z’ >= c )逻辑或 ||条件1 || 条件2只有有一个条件满足(条件为真)整个表达式就为真只有这两个条件都不满足(条件都为假)整个表达式才为假如果条件1已经是真,不会处理条件2if ( 小写字符 || 大写字符 ) ‘a’ ~ ‘z’ ‘A’ ~ ‘Z’判断一个字符是否为英文字符if ( (c >= ‘a’ && ‘z’ >= c ) || (c >= ‘A’ && ‘Z’ >= c ) )练习 test2.c输入一个字符, 英文字符或者数字字符如果是小写字符就显示该字符对应大写字符,连续显示4次如果是大写字符或者数字字符就显示输入出错

12、----------------------------------------------------------------------------scanf(“%c”, &ch) 不管键盘的缓冲区里面有什么数据 都会读取之并当成是字符如果需要清空缓冲区,常用

Linux开发之C语言基础

13、%d只取+-0123456789%x只取xX0123456789abcdef钽吟篑瑜ABCDEF%s 可以取键盘上所有键值,除了空格和回车-幻腾寂埒-------------------------------------------------------------------------逻辑非 !单目运算符!条件 如果条件为真, 整个表达式为假如果条件为假,整个表达式为真非零就是真分析: !val如果val 的值为1 , 请问 !val 判断结果为假如果val 的值为0 , 请问 !val 判断结果为真分析 ! (a>b)如果a的值为10 ,b的值为12,! (a>b) a>b不成立 ,这个表达式是真的如果a的值为15 ,b的值为12,! (a>b) a>b成立 ,这个表达式是假的位运算符 针对bit做操作 1Byte有8bits 位与运算符 & 对应位相与 都为1才为1 ,否则为0如 unsigned char val = 10; val & 0x01 ==》 0000 1010& 0000 0001 0000 00001) 用于判断某一位是为1还是0如 判断一个unsigned char数据的最低位是否为1 unsigned char val ;.........如果 val & 0x01 != 0 说明最后一位是1如果 val & 0x01 == 0 说明最后一位是02) 用来令某一位为0如 令unsigned char val 的第3位为0 val & 0b11110111位或运算符 | 对应位相或 都为0才为0 ,否则为1如 unsigned char val = 10; val | 0x01 ==》 0000 1010| 0000 0001 0000 1011用于把某一位置成1如 保证unsigned char val 的第4位为1val | 0b00010000左移运算 << 把数据按要求向左移动指定位数 直接把高位移走, 低位补0 对数据逐位进行操作 在数据没有越界的情况下, 左移n位就相当于乘以2n右移运算 >> 把数据按要求向右移动指定位数 直接把低位移走, 如果是带符号数 高位补符号位(负数补1, 正数补0) 如果是无符号数,直接高位补0 对数据逐位进行操作 在非负数进行操作的情况下, 右移n位就相当于除以2n思考:如何把无符号char类型的数据对应的十六进制、十进制、八进制、二进制给输出?unsigned char val ;scanf(“%hhu” , &val );printf(“ 0x%hhx , %hhu , 0%hho ”, val , val , val );二进制数: 1)用整除、模除2的方式 2)利用位与、位移操作得到各二进制的值位异或 ^位反 ~其它运算符

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢