《C和指针》章节后编程练习解答参考——第10章

10.1

 1 #include <stdio.h>
 2
 3 typedef struct
 4 {
 5     unsigned char QuHao[5];
 6     unsigned char Exchange[10];
 7     unsigned char StnNum[10];
 8 }TelphoneNumber;
 9
10 typedef struct
11 {
12     unsigned char date[10];
13     unsigned char time[10];
14     TelphoneNumber    UserTelphone;
15     TelphoneNumber    CallTelphone;
16     TelphoneNumber    PayTelphone;
17 }Telphone_Call;
18
19 int main (void)
20 {
21
22     getchar();
23     return 0;
24 }

10.2

 1 #include <stdio.h>
 2
 3 #define    NAMELENGTH    21
 4 #define    ADDRLENGTH    41
 5 #define    MODLLENGTH    21
 6 #define NAMEOFBANKLEN    21
 7
 8 typedef struct
 9 {
10     float    ManufacturerSuggestedRetailPrice;
11     float    ActualSellingPrice;
12     float    SalesTax;
13     float    LicensingFee;
14 }CashSale;
15
16 typedef struct
17 {
18     float    ManufacturerSuggestedRetailPrice;
19     float    ActualSellingPrice;
20     float    DownPayment;
21     float    SecurityDeposit;
22     float    MonthlyPayment;
23     int        LeaseTerm;
24 }Rent;
25
26 typedef struct
27 {
28     float    ManufacturerSuggestedRetailPrice;
29     float    ActualSellingPrice;
30     float    SalesTax;
31     float    LicensingFee;
32     float    DownPayment;
33     int        LoanDuration;
34     float    InterestRate;
35     float    MonthlyPayment;
36     char    NameOfBank[NAMEOFBANKLEN];
37 }LoanSale;
38
39 typedef struct
40 {
41     char    CustomerName[NAMELENGTH];
42     char    CustomerAddr[ADDRLENGTH];
43     char    Model[MODLLENGTH];
44     CashSale    CashSal;
45     Rent        RentSal;
46     LoanSale    LoanSal;
47 }SaleRecord;
48
49 int main (void)
50 {
51
52     getchar();
53     return 0;
54 }

10.3

 1 #include <stdio.h>
 2
 3 typedef struct
 4 {
 5     unsigned int    dst_reg        : 3;    //0-2
 6     unsigned int    dst_mode    : 3;    //3-5
 7     unsigned int    opcode        : 10;    //6-15
 8 }SingleOperat;
 9
10 typedef struct
11 {
12     unsigned int    dst_reg        : 3;    //0-2
13     unsigned int    dst_mode    : 3;    //3-5
14     unsigned int    src_reg        : 3;    //6-8
15     unsigned int    src_mode    : 3;    //9-11
16     unsigned int    opcode        : 4;    //12-15
17 }DoubleOperat;
18
19 typedef struct
20 {
21     unsigned int    offset        : 8;    //0-7
22     unsigned int    opcode        : 8;    //8-15
23 }Branch;
24
25 typedef struct
26 {
27     unsigned int    dst_reg        : 3;    //0-2
28     unsigned int    dst_mode    : 3;    //3-5
29     unsigned int    src_reg        : 3;    //6-8
30     unsigned int    opcode        : 7;    //9-15
31 }RegistSrc;
32
33 typedef struct
34 {
35     unsigned int    opcode        :16;    //0-15
36 }MiscCmd;
37
38 typedef struct
39 {
40     unsigned short    addr;
41     SingleOperat    sgl_op;
42     DoubleOperat    dbl_op;
43     Branch            branch;
44     RegistSrc        reg_src;
45     MiscCmd            misc;
46 }machine_inst;
47
48 machine_inst    x;
49
50 int main (void)
51 {
52
53     getchar();
54     return 0;
55 }
时间: 2024-10-03 05:56:40

《C和指针》章节后编程练习解答参考——第10章的相关文章

《C和指针》章节后编程练习解答参考——第9章

9.1 1 #include <stdio.h> 2 #include <ctype.h> 3 #include <string.h> 4 5 #define N 100 6 7 int main (void) 8 { 9 int i = 0; 10 char strarray[N+1]; //= "Hello world! \t3I'm here!"; 11 char *input = strarray; 12 char ch; 13 unsign

《C和指针》章节后编程练习解答参考——6.3

<C和指针>——6.3 题目: 编写一个函数,把参数字符串中的字符反向排列. 函数原型: void reverse_string(char *string); 要求: 使用指针而不是数组下标 不要使用任何C函数库中用于操纵字符串的函数 不要声明一个局部数组来临时存储参数字符串 解答代码: #include <stdio.h> void reverse_string(char *string) { int i, n=0; while (*(string+n) != '\0') //计

Accelerated C++:通过示例进行编程实践——练习解答(第10章)

我的Github地址:https://github.com/CNhoward/Accerlerated-C-plus-plus 10-0. Compile, execute, and test the programs in this chapter. Ans:见Github. 10-1. Rewrite the student-grading program from §9.6/166 to generate letter grades. Ans:见Github. 10-2. Rewrite

《Unix环境高级编程》读书笔记 第10章-信号

1.引言 信号是软件中断. 信号提供了一种处理异步事件的方法. 2. 信号概念 信号的名字都是以3个字符SIG开头. Linux3.2.0支持31种信号.FreeBSD.Linux和Solaris作为实时扩展都支持另外的应用程序定义的信号. 在头文件signal.h(其中include的bits/signum.h)中,信号名都被定义为正整数常量,不存在编号为0的信号.kill函数对信号编号0有特殊的应用. 很多条件可以产生信号: 用户按下某些终端键时:Ctrl+C.Ctrl+\.Ctrl+Z 硬

python编程快速上手之第10章实践项目参考答案

  本章主要讲了python程序的调试,当程序有BUG或异常的时候,我们如何调试代码找出问题点.其实在本章之前的章节我们做练习的时候都会遇到各种各样的错语和异常,最初当不知道程序哪里出错的情况下不可否认的都使用了print语句进行输出并调试代码.没错print也是调试代码的一种工具,直观简单,便也有缺点,就是调试好后要进行删除,也是件麻烦事,于是就有了本章介绍的assert(断言),logging(日志)以及各种调试工具的出现. 首先来回顾一下python的异常. 一.python常见的异常类型

python编程快速上手之第10章实践项目参考答案(11.11.3)

from selenium import webdriver from selenium.webdriver.common.keys import Keys import time browser = webdriver.Firefox() url = 'https://gabrielecirulli.github.io/2048/' browser.get(url) game_ele = browser.find_element_by_class_name('game-container')

python编程快速上手之第10章实践项目参考答案(11.11.2)

#!/usr/bin/env python # -*- coding:utf-8 -*- import os import re import urllib import json import socket import urllib.request import urllib.parse import urllib.error # 设置超时 import time timeout = 5 socket.setdefaulttimeout(timeout) class Crawler: # 睡

python编程快速上手之第10章实践项目参考答案(12.13.1)

#! python3 # multiplicationTable.py import openpyxl,os from openpyxl.styles import Font, NamedStyle os.chdir('C:\\Users\\Administrator\\Python35-32') num=int(input()) wb = openpyxl.Workbook() sheet = wb.get_active_sheet() for n in range(1,num+1): for

上海华为的一道关于指针方面的编程题(C/C++)

int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标. 尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路 注:我的方法的复杂度为O(n),大家如果有其它方法希望可以交流一下. /* author: jiangxin Blog: http://blog.csdn.net/jiangxinnju */ #include <ios