计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式

上传人:ali****an 文档编号:110007831 上传时间:2019-10-28 格式:DOC 页数:9 大小:54.50KB
返回 下载 相关 举报
计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式_第1页
第1页 / 共9页
计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式_第2页
第2页 / 共9页
计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式_第3页
第3页 / 共9页
计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式_第4页
第4页 / 共9页
计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式》由会员分享,可在线阅读,更多相关《计算机C语言程序设计(第3版)何钦铭 颜 晖 第6章回顾数据类型和表达式(9页珍藏版)》请在金锄头文库上搜索。

1、第6章 回顾数据类型和表达式【练习6-1】 输入一个十进制数,输出相应的八进制数和十六进制数。例如:输入 31,输出 37 和 1F。解答:#include int main(void)int x;scanf(%d, &x);printf(%o %xn, x, x);return 0;【练习6-2】 在程序段:printf(input a, b: );scanf(%o%d, &a, &b); printf(%d %5dn, a, b); /* %5d 指定变量 b 的输出宽度为 5 */中,如果将scanf(%o%d, &a, &b) 改为 scanf(%x%d, &a, &b),仍然输入 _

2、17 _17_,输出是什么?解答: 23 17(中间有三个空格)【练习6-3】 如果字符型变量 ch 的值是大写字母,怎样的运算可以把它转换为小写字母?解答:ch=ch-A+a;【练习6-4】 证明下列等价关系。(1)a&(b|c) 等价于a&b|a&c。(2)a|(b&c)等价于(a|b)&(a|c)。(3)!(a&b)等价于 !a|!b。(4)!(a|c)等价于!a&!b。解答:(1) a b c a&(b|c) a&b a&c a&b|a&c 0(假) 0(假) 0(假) 0 0 0 0 0(假) 0(假) 非 0(真) 0 0 0 0 0(假) 非 0(真) 0(假) 0 0 0 0

3、0(假) 非 0(真) 非 0(真) 0 0 0 0非 0(真) 0(假) 0(假) 0 0 0 0非 0(真) 0(假) 非 0(真) 1 0 1 1非 0(真) 非 0(真) 0(假) 1 1 0 1非 0(真) 非 0(真) 非 0(真) 1 1 1 1 (2) a b c b&c a|(b&c) a&b a|c (a|b)&(a|c) 0(假) 0(假) 0(假) 0 0 0 0 0 0(假) 0(假) 非 0(真) 0 0 0 1 0 0(假) 非 0(真) 0(假) 0 0 1 0 0 0(假) 非 0(真) 非 0(真) 1 1 1 1 1非 0(真) 0(假) 0(假) 0 1

4、 1 1 1非 0(真) 0(假) 非 0(真) 0 1 1 1 1非 0(真) 非 0(真) 0(假) 0 1 1 1 1非 0(真) 非 0(真) 非 0(真) 1 1 1 1 1 (3) a b a&b !a&b !a !b !a|b 0(假) 0(假) 0 1 1 1 1 0(假) 非 0(真) 0 1 1 0 1非 0(真) 0(假) 0 1 0 1 1非 0(真) 非 0(真) 1 0 0 0 0 (4) a b a|b !(a|b) !a !b !a&!b 0(假) 0(假) 0 1 1 1 1 0(假) 非 0(真) 1 0 1 0 0非 0(真) 0(假) 1 0 0 1 0

5、非 0(真) 非 0(真) 1 0 0 0 0 习题61设 float x=2.5, y=4.7; int a=7;,printf(“%.1f”, x+a%3*(int) (x+y)%2/4)的结果为 A A2.5 B2.8 C3.5 D3.82执行下列程序段的输出结果是 D 。int num =1234,s=0;while(num!=0) s+=num%10; num/=10;printf(%d, s);A4 321 B1 234 C0 D103设字符型变量x的值是064,表达式“ x x 2 & x”的值是 A 。A0333 B333 C0x333 D0204设 a 为整型变量,不能正确表

6、达数学关系:10a15 的 C 语言表达式是 A 。A10a10 & a15 D!(a=15) 5设以下变量均为 int 类型,表达式的值不为 9 的是 C 。A (x=y=8,x+y,x+1) B (x=y=8,x+y,y+1)C (x=8,x+1,y=8,x+y) D (y=8,y+1,x=y,x+1)二填空题1 -127 的 原 码 为 1000000001111111 、 反 码 为 1111111110000000 、 补 码 为1111111110000001。2. 逻辑表达式 x & 1 等价于关系表达式 x!=0 。3设 int a=5, b=6; 则表达式(+a=b-)? +

7、a : -b 的值是 7 。4设 c = w, a = 1, b = 2, d = -5, 则表达式 x+1c, y!=c+2, -a-5*b=d+1, b=(a=2)的值分别为 1 、 0 、 1 、 1 。5运行以下程序后,如果从键盘上输入 china#,则输出结果为 c1=2,c2=5 。#include int main(void) int c1 = 0, c2 = 0; char ch; while(ch = getchar() !=#)switch(ch) case a:case h: c1+;default: c2+;printf(“c1=%d,c2=%dn”, c1, c2);

8、return 0;三程序设计题1.分类统计字符个数:输入一行字符,统计出其中的英文字母、空格、数字和其他字符的个数。试编写相应程序。解答:#includeint main(void)char op;int letter,blank,digit,other;printf(Input characters:);op=getchar();letter=blank=0;digit=other=0;while(op!=n)if(op= )blank+;else if(op=a&op=A&op=0&op=9)digit+;else other+;op=getchar();printf(blank=%d,o

9、ther=%d,letter=%d,digit=%d,blank,other,letter,digit);return 0;2.使用函数累加由n个a构成的整数之和:输入两个正整数 a 和 n,求 a+aa+aaa+aaa(n个a)之和。要求定义和调用函数fn(a,n),它的功能是返回aaa(n个a)。例如,fn(3,2)的返回值是33。试编写相应程序。解答:#include int main(void)int a, i, n; long sn; long fn(int a, int n); scanf(%ld%d, &a, &n); sn=0; for(i=1;i = n; i+) sn =

10、sn + fn(a, i); printf(%ldn, sn);return 0;long fn(int a, int n) int i; long tn; tn = 0; for(i = 1; i = n; i+) tn = 10 * tn + a; return tn;3.使用函数输出指定范围内的函数:输入两个正整数m和n(1=m,n=1000),输出mn之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数 factorsum(number),它的功能是返回 number 的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)。试编写相应程序。解答:#

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号