程序设计基础习题(4)

2018-12-01 16:40

④关闭文件st.dat。

⑤打开可读写文件st.dat。

⑥调用(2)中的函数mudisk(fp,n),对文件st.dat按成绩(grade)从低到高进行冒泡排序。 ⑦调用(3)中的函数nibsrch(fp,n,a,b,m),查找成绩在95.0到100分之间的学生情况。 ⑧根据查找的返回结果,使用函数fread(),从文件中读出成绩在95.0到100分之间的学生情况并输出。输出格式如表12.1所示,但不要表格框线。 ⑨关闭文件st.dat。

13.4 习题

1. 写出下列表达式的值:

(1) 0x13 & 0x17 (2) 0x13 | 0x17 (3) 56 & 056 (4) ~ox13 (5) 3^6<<2 (6) ~(~0<<4) (7) 0x00ff^(~(~0<<4)<<4) (8) -1|0377

2. 编写一个C程序,计算并输出C语言中为一个整型变量所分配存储空间的二进制位数。

3. 阅读下列C程序: #include main()

{ int a=0x95, b, c; b=(a & 0xf)<<4; c=(a & 0xf0)>>4; a=b | c;

printf(\ }

运行上述程序后,输出结果是什么? 4. 阅读下列C程序: #include main()

{ char a=0x95, b, c; b=(a & 0xf)<<4; c=(a & 0xf0)>>4; a=b | c;

printf(\ }

(1) 如果系统为“算术右移”,则运行上述程序后,输出结果是什么? (2) 如果系统为“逻辑右移”,则运行上述程序后,输出结果是什么?

5. 编写一个C程序,分别计算并输出C语言中为一个整型、长整型、无符号整型和字符型变量所分配存储空间的二进制位数。 具体要求:

(1) 编写四个函数,分别计算整型、长整型、无符号整型和字符型变量所分配存储空间

的二进制位数。

(2) 编写一个主函数,调用(1)中的四个函数,输出整型、长整型、无符号整型和字符型变量所分配存储空间的二进制位数。 方法说明:

以整型变量为例。

首先将该整型变量所占的存储空间中按位置1,即为该整型变量赋值-1。然后逐次将该值左移1位,并对移位次数进行计数,直到该值变为非负(即符号位为0)为止。最后的移位次数即是为整型变量所分配存储空间的二进制位数。

利用这种方法也可以确定长整型、无符号整型与字符型变量所占的二进制位数。 6. 设有下列C程序: #include main()

{ int a=0x95, b, c; b=(a & 0xf)<<4; c=(a & 0xf0)>>4; a=b | c;

printf(\ }

具体要求:

(1) 首先阅读分析上述程序。 如果系统为“算术右移”,则运行上述程序后,输出结果是什么? 如果系统为“逻辑右移”,则运行上述程序后,输出结果是什么?

(2) 然后将上述程序输入进计算机,实际运行上述程序。根据实际输出结果,如果系统为“算术右移”,则编写一个实现“逻辑右移”的函数;如果系统为“逻辑右移”,则编写一个实现“算术右移”的函数。

(3) 将上述程序中实现“右移”的操作改为调用自己编写的“算术右移”函数,并运行该程序。

(4) 将上述程序中实现“右移”的操作改为调用自己编写的“逻辑右移”函数,并运行该程序。


程序设计基础习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:税政解读:货物运输发票增值税抵扣政策和实务

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: