c语言如何计算敲入键盘的数量,C语言第2章人民邮电张小东.ppt

本文详细解读了C语言中的按位与(&), 按位或(|), 按位异或(^), 求反(~), 左移(<>)和右移(>>)运算符,并探讨了地址和指针的概念,以及如何处理输入函数中的数据输入与“垃圾”问题。通过实例演示了内存地址的管理与输入函数的最佳实践。
摘要由CSDN通过智能技术生成

C语言第2章人民邮电张小东

1.“按位与”运算符(&) 1.“按位与”运算符(&) 2.“按位或”运算符(|) 3.“按位异或”运算符(^) 3.“按位异或”运算符(^) 4.“求反”运算符 (~) 5.“左移”运算符(<>) 6.“右移”运算符(>>) 格式输入函数 输入分隔符的指定 一般以空格、TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符 说明: 用“%c”格式符时,空格和转义字符作为有效字符输入 指针类型 地址和指针的概念 地址和指针的概念 地址和指针的概念 附加格式说明符(修饰符) l 修饰符 功 能 h m * 用于d,o,x前,指定输入为short型整数 用于d,o,x前,指定输入为long型整数 用于e,f前,指定输入为double型实数 指定输入数据宽度,遇空格或不可转换字符则结束 抑制符,指定输入项读入后不赋给变量 例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入 ? 则1999?yy, 10 ?mm, 15 ?dd 例 scanf(“%3d%*4d%f”,&k,&f); 输入 12345678765.43? 则123?k, 8765.43?f 例 scanf(“%2d%*3d%2d”,&a,&b); 输入 1234567? 则12?a, 67?b 例 scanf(“%3c%2c”,&c1,&c2); 输入 abcde ? 则‘a’?c1, ‘d’ ?c2 例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%d\n”,a,b,c); 输入 123 123 123? 输出 a=123,b=83,c=291 例 scanf(“%d:%d:%d”,&h,&m,&s); 输入 12:30:45? 则12 ?h, 30 ?m, 45 ?s 例 scanf(“%d,%d”,&a,&b) 输入 3,4 ? 则3?a, 4 ?b 例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12,b=24,c=36 ? 如 scanf(“%c%c%c”,&c1,&c2,&c3); 若输入abc? 则a?c1, ?c2, b ?c3 输入数据时,遇以下情况认为该数据结束: 遇空格、TAB、或回车 遇宽度结束 遇非法输入 如 scanf(“%d%c%f”,&a,&b,&c); 若输入1234a123o.26 ? 则 1234 ?a, ‘a’ ?b, 123 ?c 输入函数留下的“垃圾”: 例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%d\n”,x,ch); 执行:123? 输出:x=123,ch=10 例 int x; char ch; scanf(“%d”,&x); scanf(“%c”,&ch); printf(“x=%d,ch=%d\n”,x,ch); 执行:123? 输出:x=123,ch=10 解决方法: (1)用getchar()清除 (2) 用格式串中空格或“%*c”来“吃掉” 例 int x; char ch; scanf(“%d”,&x); scanf(“ %c”,&ch); 或 scanf(“%*c%c”,&ch); 格式: scanf(“格式控制串”,地址表) 地址表:变量的地址,常用取地址运算符&指针。 指针是一种数据类型,被称为指针类型。它与加“&”的变量意义相同,即表示地址。 1.内存地址──内存中存储单元的编号 2.变量地址──系统分配给变量的内存单元的起始地址 (1)计算机硬件系统的内存储器中,拥有大量的存储单元(每个存储单元容量为1字节)。为了方便管理,必须为每一个存储单元编号,这个编号就是存储单元的“地址”。每个存储单元都有一个惟一的地址。 (2)在地址所标识的存储单元中存放数据。 注意:内存单元的地址与内存单元中的数据是两个完全不同的概念。 C编译程序编译到该变量定义语句时,将变量nNum1登录到“符号表”中。符号表的关键属性有两个:一是“标识符名(id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值