首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
执行指令时,以寄存器的内容作为操作数的地址,这种寻址方式称为()寻址。
查看本题答案
包含此试题的试卷
初级程序员《单选题》真题及答案
点击查看
你可能感兴趣的试题
计算机指令系统往往具有多种寻址方式直接寻址方式指111立即数寻址方式指112寄存器寻址方式是指113
操作数在CPU中
操作数地址在指令中
操作数地址在寄存器
操作数就是指令的一部分
操作数所处的位置可以决定指令的寻址方式操作数包含在指令中寻址方式为4操作数在寄存器中寻址方式为5操作
立即寻址
相对寻址
寄存器寻址
寄存器间接寻址
执行指令时操作数存放在某一寄存器中指令中给出存放操作数的寄存器名的寻址方式称为3
变址寻址
寄存器寻址
相对寻址
寄存器间接寻址
根据操作数所在的位置指出其寻址方式操作数在寄存器中1操作数地址在寄存器中2操作数在指令中3操作
立即数寻址方式
寄存器寻址方式
寄存器间接寻址方式
直接寻址方式
操作数所处的位置可以决定指令的寻址方式操作数包含在指令中寻址方式为操作数在寄存器中寻址方式为操
相对寻址
直接寻址
寄存器寻址
寄存器间接寻址
操作数所处的位置可以决定指令的寻址方式操作数包含在指令中寻址方式为4操作数在寄存器中寻址方式为5操作
立即寻址
直接寻址
寄存器寻址
寄存器间接寻址
在计算机指令系统中通常采用多种确定操作数的方式当操作数直接给出时这种寻址方式叫作当操作数的地址
变址寻址
相对寻址
间接寻址
立即数寻址
执行指令时操作数存放在某一寄存器中指令中给出存放操作数的寄存器名的寻址方式称为
变址寻址
直接寻址
相对寻址
寄存器寻址
操作数所处的位置可以决定指令的寻址方式操作数包含在指令中寻址方式为4操作数在寄存器中寻址方式为5操作
相对寻址
直接寻址
寄存器寻址
寄存器间接寻址
操作数所处的位置可以决定指令的寻址方式操作数包含在指令中寻址方式为操作数在寄存器中寻址方式为操
立即寻址
相对寻址
寄存器寻址
寄存器间接寻址
操作数所处的位置可以决定指令的寻址方式操作数包含在指令中寻址方式为操作数在寄存器中寻址方式为操
立即寻址
直接寻址
寄存器寻址
寄存器间接寻址
执行指令时以寄存器名作为一个操作数这种寻址方式称为11寻址
寄存器
相对
基址变址
寄存器间接
计算机指令系统往往具有多种寻址方式直接寻址方式指23立即数寻址方式指24寄存器寻址方式是指25假设基
操作数在CPU中
操作数地址在指令中
操作数地址在寄存器
操作数就是指令的一部分
根据操作数所在的位置指出其寻址方式操作数在寄存器中1操作数地址在寄存器中2操作数在指令中3操作
立即数寻址方式
寄存器寻址方式
寄存器间接寻址方式
直接寻址方式
执行指令时以寄存器的内容作为操作数的地址这种寻址方式称为什么寻址
寄存器
相对
基址变址
寄存器间接
执行指令时以寄存器名作为一个操作数这种寻址方式称为9寻址
寄存器
相对
基址变址
寄存器间接
根据操作数所在的位置指出其寻址方式操作数在寄存器中1操作数地址在寄存器中2操作数在指令中3操作
立即数寻址方式
寄存器寻址方式
寄存器间接寻址方式
直接寻址方式
热门试题
更多
[说明] 现需要统计某企业员工的月平均工资即该企业本月发给员工的工资总和除以员工人数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [Java代码] importJava.util.Scanner; publicclassJavaMain staticfloataveragefloatXintYthrowsException ifY==0thrownewException1; returnX/Y; StaticVoidcaculatethrowsException floatsumSalary; intemployeeNumber; ScannerSC=newScanner2; try System.out.println"请输入当月工资总和与员工数"; sumSalary=sc.nextFloat;//从标准输入获得工资总和 employeeNumber=SC.nextInt;//从标准输入获得员工数 floatk=averagesumSalaryemployeeNumber; System.out.println"平均工资"+k; 3Exceptione ife.getMeSSage.equalSIgnoreCase"zero" System.out.println"请重新输入当月工资总和与员工数"; sumSalary=sc.nextFloat; employeeNumber=sc.nextInt; floatk=averagesumSalaryemployeeNumber; System.out.println"平均工资"+k; publicStaticvoidmsinString[]argS try caculate; 4Exceptione ife.getMessage.equalsIgnoreCase"zero" system.out.println"程序未正确计算平均工资!"; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 6--
[说明] 现需要统计某企业员工的月平均工资即该企业本月发给员工的工资总和除以员工人数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [Java代码] importJava.util.Scanner; publicclassJavaMain staticfloataveragefloatXintYthrowsException ifY==0thrownewException1; returnX/Y; StaticVoidcaculatethrowsException floatsumSalary; intemployeeNumber; ScannerSC=newScanner2; try System.out.println"请输入当月工资总和与员工数"; sumSalary=sc.nextFloat;//从标准输入获得工资总和 employeeNumber=SC.nextInt;//从标准输入获得员工数 floatk=averagesumSalaryemployeeNumber; System.out.println"平均工资"+k; 3Exceptione ife.getMeSSage.equalSIgnoreCase"zero" System.out.println"请重新输入当月工资总和与员工数"; sumSalary=sc.nextFloat; employeeNumber=sc.nextInt; floatk=averagesumSalaryemployeeNumber; System.out.println"平均工资"+k; publicStaticvoidmsinString[]argS try caculate; 4Exceptione ife.getMessage.equalsIgnoreCase"zero" system.out.println"程序未正确计算平均工资!"; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 4--
计算机感染可执行文件一旦直接或间接执行了被该病毒感染的程序该病毒会按照编制者的意图对系统进行破坏
[说明] 现需要统计某企业员工的月平均[资即该企业本月发给员工的工资总和除以员工数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [C++代码] #include usingnamespacestd classDepartment protected floataveragefloatxinty ifY==Othrow1; returnx/y; public voidcaculatevoid floatsumSalary; intemployeeNumber; try cout<<"请输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; 2inte ife==0 cout<<"请重新输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber; floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; ; VOidmsin try 3; d.caculate; 4inte ife==0 cout<<"程序未正确计算平均工资!"<<endl; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 1--
阅读以下说明C函数和问题将解答填入答题纸的对应栏内 【说明】二叉查找树又称为二叉排序树它或者是一棵空树或者是具有如下性质的二叉树若它的左子树非空则其左子树上所有结点的键值均小于根结点的键值若它的右子树非空则其右子树上所有结点的键值均大于根结点的键值左右子树本身就是二叉查找树设二叉查找树采用二叉链表存储结构链表结点类型定义如下 函数find_keyrootkey的功能是用递归方式在给定的二叉查找树root指向根结点中查找键值为key的结点并返回结点的指针若找不到则返回空指针【C函数】 请将函数find_key中应填入1~4处的字句写在答题纸的对应栏内
阅读以下说明和流程图填补流程图中的空缺1~5将解答填入答题纸的对应栏内 下面的流程图采用公式计算ex的近似值设x位于区间01该流程图的算法要点是逐步累积计算每项xn/n!的值作为T再逐步累加T值得到所需的结果S当T值小于10-5时结束计算
已知某字符的编码为0100101若最高位增加一个偶校验位则其编码变为
图像文件格式可以分为静态格式和动态格式属于动态图像文件格式
对于n个元素的关键字序列{kk…k}若将其按次序对应到一棵具有n个结点12n的完全二叉树上使得任意结点都不大于其孩子结点若存在孩子结点则称其为小顶堆根据以上定义是小顶堆
[说明] 现需要统计某企业员工的月平均[资即该企业本月发给员工的工资总和除以员工数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [C++代码] #include usingnamespacestd classDepartment protected floataveragefloatxinty ifY==Othrow1; returnx/y; public voidcaculatevoid floatsumSalary; intemployeeNumber; try cout<<"请输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; 2inte ife==0 cout<<"请重新输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber; floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; ; VOidmsin try 3; d.caculate; 4inte ife==0 cout<<"程序未正确计算平均工资!"<<endl; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 7--
操作系统的任务是
某循环队列的容量为M队头指针指向队头元素队尾指针指向队尾元素之后如下图所示M=8则队列中的元素数目为MOD表示整除取余运算
[说明] 基于管理的需要每本正式出版的图书都有一个ISBN号例如某图书的ISBN号为“978-7-5606-2348-1” ISBN号由13位数字组成前三位数字代表该出版物是图书前缀号中间的9个数字分为三组分别表示组号出版者号和书名号最后一个数字是校验码其中前缀号由国际EAN提供已经采用的前缀号为978和979组号用以区别出版者国家地区或者语言区其长度可为1~5位出版者号为各出版者的代码其长度与出版者的计划出书量直接相关书名号代表该出版者该出版物的特定版次校验码采用模10加权的算法计算得出 校验码的计算方法如下 第一步前12位数字中的奇数位数字用l相乘偶数位数字用3相乘位编号从左到右依次为13到2 第二步将各乘积相加求出总和S 第三步将总和S除以10得出余数R 第四步将10减去余数R后即为校验码V若相减后的数值为10则校验码为0 例如对于ISBN号“978-7-5606-2348-1”其校验码为1计算过程为 S=9×1+7×3+8×1+7×3+5×1+6×3+0×1+6×3+2×1+3×3+4×1+8×3=139 R=139mod10=9 V=10-9=1 函数checkcharcode[]用来检查保存在code中的一个ISBN号的校验码是否正确 若正确则返回true否则返回false例如ISBN号“978-7-5606-2348-1”在code中的 存储布局如表3-1所示书号的各组成部分之间用“-”分隔 表3-1数组code的内容示例 下标 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 字符 9 7 8 - 7 - 5 6 O 6 - 2 3 4 8 - 1 //0 在函数checkcharcode[]中先将13位ISBN号放在整型数组元素tarr[0]~tarr[12]中如表3-2所示对应ISBN号的位13~位1由tarr[0]~tarr[11]计算出校验码放入变量V再进行判断 表3-2数组tarr的内容示例 下标 0 l 2 3 4 5 6 7 8 9 10 11 12 字符 9 7 8 7 5 6 0 6 2 3 4 8 1 [C函数] boo1cheCkcharcode[] intik=0; intS=0temp=0 intV inttarr[13]=0; ifStrlencode<17returnfalSe; fori=0;i<17;i++/*将13位ISBN号存入tarr*/ ifcode[i]!=’-’ tarr[1]=code[i]-’0’; fori=0;2;i++; ifi%2 S+=3; else S+=4; v=5==C0:10-s%10; iftart[12]==v returntrue; returnfalse; 3--
[说明] 现需要统计某企业员工的月平均[资即该企业本月发给员工的工资总和除以员工数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [C++代码] #include usingnamespacestd classDepartment protected floataveragefloatxinty ifY==Othrow1; returnx/y; public voidcaculatevoid floatsumSalary; intemployeeNumber; try cout<<"请输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; 2inte ife==0 cout<<"请重新输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber; floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; ; VOidmsin try 3; d.caculate; 4inte ife==0 cout<<"程序未正确计算平均工资!"<<endl; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 5--
阅读以下两个说明C函数和问题将解答写入答题纸的对应栏内 【说明1】函数main的功能旨在对输入的一个正整数n计算12+22+32+…+n2但是对该函数进行测试后没有得到期望的结果【C函数1】 1.输入5测试上述mam函数时显示结果如下所示 2.将行号为7的代码修改为printf"n=%d/nresult%d/n"nsum并再次输入5测试mam函数显示结果如下所示 请给出上述mam函数中需要修改的代码行号并给出修改后的整行代码 【说明2】函数test_f2编译时系统报告有错修改后得到函数f2_B对函数f2_B进行编译时顺利通过在某些C系统中执行时却由于发生异常而不能正确结束【C函数2】
采用哈希或散列技术构造查找表时需要考虑冲突碰撞的处理冲突是指
[说明] 现需要统计某企业员工的月平均工资即该企业本月发给员工的工资总和除以员工人数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [Java代码] importJava.util.Scanner; publicclassJavaMain staticfloataveragefloatXintYthrowsException ifY==0thrownewException1; returnX/Y; StaticVoidcaculatethrowsException floatsumSalary; intemployeeNumber; ScannerSC=newScanner2; try System.out.println"请输入当月工资总和与员工数"; sumSalary=sc.nextFloat;//从标准输入获得工资总和 employeeNumber=SC.nextInt;//从标准输入获得员工数 floatk=averagesumSalaryemployeeNumber; System.out.println"平均工资"+k; 3Exceptione ife.getMeSSage.equalSIgnoreCase"zero" System.out.println"请重新输入当月工资总和与员工数"; sumSalary=sc.nextFloat; employeeNumber=sc.nextInt; floatk=averagesumSalaryemployeeNumber; System.out.println"平均工资"+k; publicStaticvoidmsinString[]argS try caculate; 4Exceptione ife.getMessage.equalsIgnoreCase"zero" system.out.println"程序未正确计算平均工资!"; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 2--
设初始栈为空s表示入栈操作x表示出栈操作则是合法的操作序列
对高级语言源程序进行编译时可发现源程序中的错误
计算机能直接识别和执行机器语言程序该语言的基本元素是
[说明] 现需要统计某企业员工的月平均[资即该企业本月发给员工的工资总和除以员工数假设企业本月发给员工的工资总和为sumSalary该企业的员工总数为employeeNumber下面的程序代码计算该企业员工本月的平均工资其中需要处理employNumber为0的情况 [C++代码] #include usingnamespacestd classDepartment protected floataveragefloatxinty ifY==Othrow1; returnx/y; public voidcaculatevoid floatsumSalary; intemployeeNumber; try cout<<"请输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; 2inte ife==0 cout<<"请重新输入当月工资总和与员工数"<<endl; cin>>sumSalary>>employeeNumber; floatk=averagesumSalaryemployeeNumber; cout<<"平均工资"<<k<<endl; ; VOidmsin try 3; d.caculate; 4inte ife==0 cout<<"程序未正确计算平均工资!"<<endl; [问题1] 程序运行时若输入的员工工资总和为6000员工数为5则屏幕输出为 请输入当月工资总和与员工数 60005 5 [问题2] 若程序运行时第一次输入的员工工资总和为6000员工数为0第二次输入的员工工资总和为0员工数为0则屏幕输出为 请输入当月工资总和与员工数 60000 6 00 7 3--
[说明] 某旅游服务应用程序运行时根据输入的两个城市名查找其问的距离各城市问的距离如表4-1所示表格中的第一行和第一列表示城市名表中的每个元素是一个整数代表该元素所在行和列对应的城市之间的距离单位km 表4-1 Beijing Chengdu Chongqing Dalian Guiyang Lanzhou Nanjing Sanva Beijing 1697 2695 937 1784 1356 926 2543 Chengdu 1697 313 1840 533 940 1409 1505 Chongqing 2695 313 1734 343 1117 1206 1306 Dalian 937 1840 1734 1995 1594 818 2602 Guiyang 1784 533 343 1995 lll3 1346 976 Lanzhou 1356 940 1117 1594 lll3 1654 2075 Nanjing 926 1409 1206 818 1346 1654 1806 Sanya 2543 1505 1306 2602 976 2075 1806 在程序中城市名用一维全局数组cityTable存储城市之间的距离矩阵用二维全局数组kmTable表示并用相应的值对这两个数组进行初始化 #defineNCities8/*城市个数*/ #defineTRUE1 staticchar*cityTable[NCities]=/*城市名按字典序升序排列*/ "Beijing" ……/*其他城市名略去*/ "Sanya" ; StatiCintkmTable[NCities][NCities]= 016972695937178413569262543 16970313184053394014091505 ……/*剩余元素的初始值略去*/ ; 程序执行时首先按提示输入两个城市名然后在cityTable中查找与城市名对应的下标最后用该下标在kmTable中找到这两个城市之间的距离 程序中定义的函数FindCitylnSortedArray和GetCity说明如下 1函数FindCitylnSortedArray的功能是用二分查找法在全局数组cityTable中查找城市名所对应的下标值 2函数GetCity的功能是读入城市名调用函数FindCityInSortedArray来获取城市所对应的下标值如果该城市名不存在则提示用户重新输入 [C程序] intmain intcity1city2; city1=GetCity"输入第1个城市名"; city2=GetCity"输入第2个城市名"; printf"%S和%s之间的距离为%dkm./n”cityTable[city1] cityTable[city2] kmTable[cityl][city2]; return0; StatiCintGetCitychar*prompt char*CityName; intindex; cityName=char*malloc20*sizeofchar; whileTRUE printf"%S"prompt; getscityName;/*获取输入字符串*/ index=FindCityInSortedArraycityName; if1break; printf"城市名不存在请重新输入/n"; freecityName; return2; StaticintFindCityInSortedArraychar*key intlhrhmidcmp; lh=0; rh=NCities-1; while3 mid=1h+rh/2; cmp=strcmp4;/*比较两个城市名是否相同*/ ifcmp==0return5;/*两个城市名相同*/ ifcmp<0rh=mid-1; elselh=mid+1; return-1;/*城市名不存在时返回-1*/ 4--
阅读以下说明和C++代码将应填入__n__处的字句写在答题纸的对应栏内 C++标准模板库中提供了map模板类该模板类可以表示多个"键一值"对的集合其中键的作用与普通数组中的索引相当而值用作待存储和检索的数据此外C++模板库还提供了pair模板类该类可以表示一个"键一值"对pair对象包含两个属性first和second其中first表示"键-值"中的"键"而second表示"键一值"中的"值"map类提供了insert方法和find方法用于插入和查找信息应用时将-个pair对象插入insert到map对象后根据"键"在map对象中进行查找find即可获得一个指向pair对象的迭代器下面的C++代码中使用了map和pair模板类将编号为100110021003的员工信息插入到map对象中然后输入一个指定的员工编号通过员工编号来获取员工的基本信息员工编号为整型编码员工的基本信息定义为类employeemap对象与员工对象之间的关系及存储结构如图5-1所示
[说明] 某旅游服务应用程序运行时根据输入的两个城市名查找其问的距离各城市问的距离如表4-1所示表格中的第一行和第一列表示城市名表中的每个元素是一个整数代表该元素所在行和列对应的城市之间的距离单位km 表4-1 Beijing Chengdu Chongqing Dalian Guiyang Lanzhou Nanjing Sanva Beijing 1697 2695 937 1784 1356 926 2543 Chengdu 1697 313 1840 533 940 1409 1505 Chongqing 2695 313 1734 343 1117 1206 1306 Dalian 937 1840 1734 1995 1594 818 2602 Guiyang 1784 533 343 1995 lll3 1346 976 Lanzhou 1356 940 1117 1594 lll3 1654 2075 Nanjing 926 1409 1206 818 1346 1654 1806 Sanya 2543 1505 1306 2602 976 2075 1806 在程序中城市名用一维全局数组cityTable存储城市之间的距离矩阵用二维全局数组kmTable表示并用相应的值对这两个数组进行初始化 #defineNCities8/*城市个数*/ #defineTRUE1 staticchar*cityTable[NCities]=/*城市名按字典序升序排列*/ "Beijing" ……/*其他城市名略去*/ "Sanya" ; StatiCintkmTable[NCities][NCities]= 016972695937178413569262543 16970313184053394014091505 ……/*剩余元素的初始值略去*/ ; 程序执行时首先按提示输入两个城市名然后在cityTable中查找与城市名对应的下标最后用该下标在kmTable中找到这两个城市之间的距离 程序中定义的函数FindCitylnSortedArray和GetCity说明如下 1函数FindCitylnSortedArray的功能是用二分查找法在全局数组cityTable中查找城市名所对应的下标值 2函数GetCity的功能是读入城市名调用函数FindCityInSortedArray来获取城市所对应的下标值如果该城市名不存在则提示用户重新输入 [C程序] intmain intcity1city2; city1=GetCity"输入第1个城市名"; city2=GetCity"输入第2个城市名"; printf"%S和%s之间的距离为%dkm./n”cityTable[city1] cityTable[city2] kmTable[cityl][city2]; return0; StatiCintGetCitychar*prompt char*CityName; intindex; cityName=char*malloc20*sizeofchar; whileTRUE printf"%S"prompt; getscityName;/*获取输入字符串*/ index=FindCityInSortedArraycityName; if1break; printf"城市名不存在请重新输入/n"; freecityName; return2; StaticintFindCityInSortedArraychar*key intlhrhmidcmp; lh=0; rh=NCities-1; while3 mid=1h+rh/2; cmp=strcmp4;/*比较两个城市名是否相同*/ ifcmp==0return5;/*两个城市名相同*/ ifcmp<0rh=mid-1; elselh=mid+1; return-1;/*城市名不存在时返回-1*/ 2--
在软件开发中使用函数库可
[说明] 基于管理的需要每本正式出版的图书都有一个ISBN号例如某图书的ISBN号为“978-7-5606-2348-1” ISBN号由13位数字组成前三位数字代表该出版物是图书前缀号中间的9个数字分为三组分别表示组号出版者号和书名号最后一个数字是校验码其中前缀号由国际EAN提供已经采用的前缀号为978和979组号用以区别出版者国家地区或者语言区其长度可为1~5位出版者号为各出版者的代码其长度与出版者的计划出书量直接相关书名号代表该出版者该出版物的特定版次校验码采用模10加权的算法计算得出 校验码的计算方法如下 第一步前12位数字中的奇数位数字用l相乘偶数位数字用3相乘位编号从左到右依次为13到2 第二步将各乘积相加求出总和S 第三步将总和S除以10得出余数R 第四步将10减去余数R后即为校验码V若相减后的数值为10则校验码为0 例如对于ISBN号“978-7-5606-2348-1”其校验码为1计算过程为 S=9×1+7×3+8×1+7×3+5×1+6×3+0×1+6×3+2×1+3×3+4×1+8×3=139 R=139mod10=9 V=10-9=1 函数checkcharcode[]用来检查保存在code中的一个ISBN号的校验码是否正确 若正确则返回true否则返回false例如ISBN号“978-7-5606-2348-1”在code中的 存储布局如表3-1所示书号的各组成部分之间用“-”分隔 表3-1数组code的内容示例 下标 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 字符 9 7 8 - 7 - 5 6 O 6 - 2 3 4 8 - 1 //0 在函数checkcharcode[]中先将13位ISBN号放在整型数组元素tarr[0]~tarr[12]中如表3-2所示对应ISBN号的位13~位1由tarr[0]~tarr[11]计算出校验码放入变量V再进行判断 表3-2数组tarr的内容示例 下标 0 l 2 3 4 5 6 7 8 9 10 11 12 字符 9 7 8 7 5 6 0 6 2 3 4 8 1 [C函数] boo1cheCkcharcode[] intik=0; intS=0temp=0 intV inttarr[13]=0; ifStrlencode<17returnfalSe; fori=0;i<17;i++/*将13位ISBN号存入tarr*/ ifcode[i]!=’-’ tarr[1]=code[i]-’0’; fori=0;2;i++; ifi%2 S+=3; else S+=4; v=5==C0:10-s%10; iftart[12]==v returntrue; returnfalse; 5--
依据我国著作权法的规定不可转让不可被替代不受时效的约束
使用技术计算机的微处理器可以在完成一条指令前就开始执行下一条指令
因特网最高层域名分为机构性域名和地理性域名两大类目前主要有14种机构性域名其中是教育机构域名
某页式存储管理系统中的地址结构如下图所示则
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术