第4章顺序结构程序设计习题与答案.doc
第4章 汇编语言程序设计习题解答

习题4.10 习题
• 下面程序段是实现从键盘输入十个一位 进制数后 下面程序段是实现从键盘输入十个一位10进制数后 累加,最后累加和以非压缩BCD码形式存放在 码形式存放在AH 累加,最后累加和以非压缩 码形式存放在 高位) 低位) (高位)和AL (低位)中。试把程序段中所空缺 的指令填上。 的指令填上。 XOR BX ,BX ;BX清零 清零 MOV CX,10 ; 传送数据长度 LOP:MOV AH,01H;中断 中断INT 21H的01H号调用 中断 的 号调用 INT 21H ;中断调用 中断调用P172, 键入值送入 中 键入值送入AL中 中断调用 MOV AH,BH ;将BH的内容传 的内容传AH 将 的内容传 ADD AL,BL ;BL与AL的值相加 结果在 中 的值相加,结果在 与 的值相加 结果在AL中 AAA ;非压缩 非压缩BCD码加法调整 非压缩 码加法调整 MOV BX,AX ;累加结果送 累加结果送BX 累加结果送 LOOP LOP ;CX-1→CX,判断 判断CX≠0,下列要求在数据段中依次书写各数据定义语句: 试按下列要求在数据段中依次书写各数据定义语句: 为首字节的连续存储单元中存放20H个重 (1)以DA1为首字节的连续存储单元中存放 ) 为首字节的连续存储单元中存放 个重 复的数据序列: , , 个 ,一个7。 复的数据序列:2,3,10个4,一个 。 为字符串变量, (2)DA2为字符串变量,用字变量(DW)设置一字 ) 为字符串变量 用字变量( ) 符串; 符串;‘STUDENTS’(按次顺序存放在各单元中)。 (按次顺序存放在各单元中)。 赋值以DA1为首地址 (3)用等值语句给符号 )用等值语句给符号COUNT赋值以 赋值以 为首地址 的数据区共占有的字节数, 的数据区共占有的字节数,此等值语句必须放在最 后一语句。 后一语句。 解答: 解答: ),7) (1)DA1 DB 20H DUP(2,3,10 DUP(4), ) ) ( , , ( ), (2)DA2 DW ‘TS’, ‘DU’,‘NE’,’ST’, ) , , , , (3) COUNT EQU DA2- DA1 )
C语言 第三章 顺序结构程序设计期末测试习题与答案

B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;
C语言习题答案1-7章

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3.以下叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
计算机组织与系统结构第四章习题答案

第 4 章 习 题 答 案3. 已知某机主存空间大小为64KB ,按字节编址。
要求: (1)若用1K×4位的SRAM 芯片构成该主存储器,需要多少个芯片? (2)主存地址共多少位?几位用于选片?几位用于片内选址? (3)画出该存储器的逻辑框图。
参考答案: (1)64KB / 1K×4位 = 64×2 = 128片。
(2)因为是按字节编址,所以主存地址共16位,6位选片,10位片内选址。
(3)显然,位方向上扩展了2倍,字方向扩展了64倍。
下图中片选信号CS 为高电平有效。
A 15A 10A 9A 0D 0D 7……WE…4. 用64K×1位的DRAM 芯片构成256K×8位的存储器。
要求:(1) 计算所需芯片数,并画出该存储器的逻辑框图。
(2) 若采用异步刷新方式,每单元刷新间隔不超过2ms ,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍最少用多少读写周期? 参考答案:(1)256KB / 64K×1位 = 4×8 = 32片。
存储器逻辑框图见下页(图中片选信号CS 为高电平有效)。
(2)因为每个单元的刷新间隔为2ms ,所以,采用异步刷新时,在2ms 内每行必须被刷新一次,且仅被刷新一次。
因为DRAM 芯片存储阵列为64K=256×256,所以一共有256行。
因此,存储器控制器必须每隔2ms/256=7.8µs 产生一次刷新信号。
采用集中刷新方式时,整个存储器刷新一遍需要256个存储(读写)周期,在这个过程中,存储器不能进行读写操作。
A 17A 16A 15A 0D 0D 7………5. 用8K×8位的EPROM 芯片组成32K×16位的只读存储器,试问:(1)数据寄存器最少应有多少位? (2) 地址寄存器最少应有多少位? (3) 共需多少个EPROM 芯片? (4) 画出该只读存储器的逻辑框图。
c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。
#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。
大学《Python程序设计》试题及答案

大学《Python程序设计》试题及答案大学《Python程序设计》试题及答案一、选择题1、在Python中,以下哪个选项可以正确表示小于等于操作符? A) <=B) <* C) .≤ D) 以上都不是答案:A) <=2、下列哪个模块可用于绘制图形? A) math B) plot C) canvas D) none of the above 答案:C) canvas3、在Python中,如何将字符串转换为整数? A) str() B) int() C) float() D) 以上都不是答案:B) int()4、若要打印出所有的素数,以下哪个循环结构可以实现? A) whileB) for C) do-while D) switch-case 答案:B) for5、以下哪个选项可以用于导入模块? A) import math as m B) include math as m C) #include <math.h> D) #import <math.h> 答案:A) import math as m二、填空题1、Python中的注释符号是_____。
答案:#2、在Python中,所有变量都必须具有_____。
答案:类型(types)3、Python中的逻辑运算符用于执行_____运算。
答案:逻辑(logical)4、以下哪个函数可以用于将字符串转换为浮点数? A) str() B) int() C) float() D) none of the above 答案:C) float()5、以下哪个循环结构可以用于打印出所有的偶数? A) for i in range(0, 10): print(i2) B) for i in range(0, 10): if i % 2 == 0: print(i2) C) for i in range(0, 10): if i % 2 != 0: print(i2) D) none of the above 答案:B) for i in range(0, 10): if i % 2 == 0: print(i2)三、编程题编写一个Python程序,打印出所有的水仙花数(Narcissistic Number)。
第4章 控制结构习题(含答案及解析)

第4章控制结构习题一、选择题。
1.关于程序设计所要求的基本结构,以下选项中描述错误的是( )A)循环结构B)分支结构C)goto 跳转D)顺序结构正确答案: C解析:为了表示更复杂的处理逻辑,在Python程序中存在三种基本结构,它们分别是:顺序结构;分支结构;循环结构。
2.下面代码的输出结果是for s in “HelloWorld”:if s==“W”:continueprint(s,end="")A)HelloB)WorldC)HelloWorldD)Helloorld正确答案: D解析:Python通过保留字for实现“遍历循环”,for语句的循环执行次数是由遍历结构体中元素的个数确定的。
遍历循环可以理解为从要遍历的结构中逐一提取元素,并赋值给循环变量,对于所提取的每个元素执行一次循环体。
Python 提供了两个保留字:break和continue,用来辅助控制循环执行。
continue语句只结束本次循环,而不终止整个循环的执行。
3.关于Python循环结构,以下选项中描述错误的是()A)遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等。
B)break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行C)每个continue语句只有能力跳出当前层次的循环D)Python通过for、while等保留字提供遍历循环和无限循环结构正确答案: C解析:continue用来结束当前当次循环,但不跳出当前循环;每个break语句只有能力跳出当前层次的循环。
4.以下程序的输出结果是:()for i in "CHINA":for k in range(2):print(i, end="")if i == 'N':breakA)CCHHIINNAAB)CCHHIIAAC)CCHHIAAD)CCHHIINAA正确答案: D解析:每个break语句只有能力跳出当前层次的循环。
计算机科学导论(第4版)习题答案-第3、4章

第3章程序设计语言习题一、选择题1. A2. A3. D4. A5. AB6. C7.D8.C9.D 10. D11.ABCD 12.B 13.A 14.A二、简答题1.简述程序的概念。
答:一个程序就是能够实现特定功能的一组指令序列的集合。
或者程序=算法+数据结构。
2. 简述程序设计语言的发展阶段。
经历了机器语言、汇编语言和高级语言三个发展阶段。
机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。
相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。
由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。
利用汇编指令编写得到的程序称为汇编语言程序。
通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。
为了解决这个问题,人们引入了高级语言。
高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。
高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。
3. 简述程序设计过程的一般步骤。
程序设计的过程一般有四个步骤。
(1)分析问题在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。
(2)设计算法算法是解题的过程。
首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。
这是一个自上而下、逐步细化的过程。
(3)编码利用程序设计语言表示算法的过程称为编码。
何钦铭-C语言程序设计(第3版)部分课后习题参考答案.docx

何钦铭《C语言程序设计》(第3版)课后习题参考答案习题11.对C 语言来说,下列标识符中哪些是合法的,哪些是不合法的?total, _debug, Large&Tall, Counter1, begin_解答:合法标识符:total, _debug, Counter1;不合法标识符:Large&Tall, begin_。
2.改写本章1.4 节中的流程图1.2,求1~100 中能被6 整除的所有整数的和。
解答:3.改写本章1.4 节中的程序,求1~100 中能被6 整除的所有整数的和,并在编程环境中验证该程序的运行结果。
解答:#include <stdio.h>int main(void){int i, sum = 0;for(i = 1; i <= 100; i++)if (i % 6 == 0)sum = sum + i;printf("%d", sum);return 0;}4.对于给定的整数n(n>1),请设计一个流程图判别n 是否为一个素数(只能被1 和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构与循环结构。
解答:在流程图中,分支结构和循环结构如图1.2 所示,自上而下的2 个实线框和2 个虚线组成了顺序结构。
习题21.求整数均值:输入4 个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后1 位。
试编写相应程序。
解答:#include <stdio.h>int main (void){int num1, num2, num3, num4;double average, sum;scanf ("%d%d%d%d", & num1, & num2, & num3, & num4);sum = num1+ num2+ num3 + num4;average = sum / 4;printf ("Sum = %.0f; Average = %.1f\n", sum, average);return 0;}2.阶梯电价:为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50 千瓦时(含50 千瓦时)以内的,电价为0.53 元/千瓦时;超过50 千瓦时的,超出部分的用电量,电价上调0.05 元/千瓦时。
(第4章进程及进程管理)习题四答案介绍

沈华
湖北工业大学计算机学院
P 对公共变量 Q 的访问 V
end coend 信号量 mutex 的取值范围为:mutex.value ∈[1, - (n-1)]。 ①值为 1 时,表示没有进程访问公共变量 Q; ②值为 0 时,表示有一个进程正在访问公共变量 Q; ③值<0 时,表示有一个进程正在访问公共变量 Q,同时又| mutex.value |个进程 等待访问公共变量 Q。
沈华
湖北工业大学计算机学院
19. 20. 21. }
} }//while
4-6 进程有哪几个基本状态?在一个系统中为什么必须区分出这几种状态。 答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、 睡眠) 。 因为多道程序设计技术的引入,使得多个进程可以并发执行。并发执行的进程 之间由于合作具有直接制约关系或由于共享资源具有间接制约关系,使得它们 的执行过程具有“执行——暂停——执行——暂停——执行——…”的动态特 征,因此需要对进程在其生命周期内所处于的不同状态进行区分,以便对进程 进行分析、管理和控制。
4-4 图 4-2 标明程序段执行的先后次序。其中 I 表示输入操作、C 表示计算操作、 P 表示打印操作,下角标说明是对哪个作业进行上述操作。请指明: (1)哪些操作必须有先后次序,其原因是什么? (2)哪些操作可以并发执行,其原因又是什么? 答: (1)Ii 必须先于 Ci 执行,Ci 必须先于 Pi 执行,这是因为同一个作业的这三 个操作之间具有逻辑上的严格的先后执行次序;Ii 必须先于 Ii+1 执行,Ci 必须先 于 Ci+1 执行,Pi 必须先于 Pi+1 执行,这是因为 Ii 和 Ii+1 共享输入设备、Ci 和 Ci+1 共享 CPU、Pi 和 Pi+1 共享输出设备。 (2)Ii+1 和 Ci、Pi-1 可以并发执行,因为这三个进程分属于不同的作业,且它们 占据的是不同的资源。
顺序结构、选择结构和循环结构的程序设计典型例题分析与解答

顺序结构、选择结构和循环结构的程序设计典型例题分析与解答1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。
【答案】多分支2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。
次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。
只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。
【答案】直到型3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。
【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。
系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。
【答案】#include"stdio.h"或#include<stdio.h>4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( )①'A'/②A/③x=A/ ④x=A,y=12/12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符,在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。
C语言第4章程序题

c语言程序设计练习题第三章顺序结构一、选择题1、下面程序的输出是______main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=13B) k=11,k=13,k=13C) k=11,k=013,k=oXbD) k=11,k=13,k=b2、以下合法的C语言赋值语句是A)a=b=58; B)k=int(a+b) ; C)a=58,b=58; D)-- i;3、以下程序的输出结果是A)0 B)1 C)3 D)不确定main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);5、执行下面程序段后,c3中的值是_____A)0B)1/2 C)0.5 D)1int c1=1 , c2=2 , c3;c3=c1/c2;6、若执行以下程序段,其输出结果是______A)3,0,-10 B)0,0,5C)-10,3,-10 D)3,0,5int a=0 , b=0 , c=0;c=(a-=a-5) , (a=b,b+3) ;printf(“%d , %d , %d\n” , a,b,c);7、以下程序段的输出是_______A)*0000057.66* B)* 57.66*C)*0000057.67*D)* 57.67*float a=57.666;printf(“*%010.2f*\n”, a);8、若有以下定义和语句:int a=5a++;此处表达式a++的值是____A) 7 B) 6C) 5 D) 49、若有以下定义和语句:char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A")则输出结果是_______A) 2,M B) 3,EC) 2,e D) 输出结果不确定10、以下程序的输出结果是______main(){ int x=10,y=10;printf("%d%d\n",x--,--y);}A) 10 10 B) 9 9C) 9 10 D) 10 911、★在C语言中,如果下面的变量都是int类型,则输出结果是______ sum=pad=5;pad=sum++,pad++,++pad;printf("%d\n",pad);A) 7 B) 6C) 5 D) 412、★以下程序的输出结果_____#include<stdio.h>main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A) 11,10 B) 9,10C) 010,9 D) 10,913、请读程序int i =65536printf("%d\n",i);上面程序的输出结果是_____A) 65535 B) 0C) 有语法错误,无输出结果 D) 114、已知字符A的ASCII码为十进制的65,下面程序的输出是_____main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,CC) C,D D) 不确定的值15、★若有定义和语句:char s[10]; s="abcd"; printf("%d\n",s);则结果是_____A) 输出 abcd B) 输出 aC) 输出 adcb D) 编译不能通过16、★若有定义:int x,y; char a,b,c; 并有以下输入数据(此处<CR>代表换行,代表空格):1 2 <CR>A B C<CR>则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______A) scanf("x=%d y=%d",&x,&y); a=getchar(); c=getchar();B) scanf("%d%d",&x,&y); a=getchar(); b=getchar(); c=getchar();C) scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);D) scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);17、★两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____ main(){int x;scanf("%d",&x);if (x++>5) printf("%d",x)else printf("%d\n",x--);}A) 7和5 B) 6和3C) 7和4 D) 6和418、★若执行下面的程序从键盘输入3和4,则输出是_______main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if (a<b) s=b;s=s*s;printf("%d\n",s);}A) 14 B) 16C) 18 D) 2019、★设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>20、★以下程序的输出结果是____#include<stdio.h>main(){printf("%d\n",NULL);}A) 不确定B) 0C) –1 D) 1二、填空题1、复合语句在语法上被认为是___分程序_____,空语句的形式是___;___。
二级C语言习题汇总及答案

计算机二级C语言习题集汇总及答案目录第一章C语言基础知识第二章C语言程序设计的初步知识第三章顺序结构程序设计第四章选择结构程序设计第五章循环结构程序设计第六章数组第七章函数第八章指针第九章结构体与共用体第十章文件附录1 预处理命令附录2 位运算模拟试题一模拟试题二模拟试题三模拟试题四模拟试题五第一章答案第二章答案第三章答案第四章答案第五章答案第六章答案第七章答案第八章答案第九章答案第十章答案附录1 答案附录2 答案模拟试题一答案模拟试题二答案模拟试题三答案模拟试题四答案模拟试题五答案第一章C语言基础知识一、选择题1.C语言规定,必须用C 作为主函数名。
(0级)A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从 B 开始执行。
(0级)A)过程B) 主函数C)函数D)include3. A 是C程序的基本构成单位。
(0级)A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是C 。
(0级)A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B) 一个函数的函数体必须要有执行部分,可以没有变量定义C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D) 以上都不对5.下列说法正确的是D 。
(0级)A) main函数必须放在C程序的开头B) main函数必须放在C程序的最后C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是 C 。
(0级)A) 在执行C程序时不是从mian函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用C 结束。
C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。
A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。
A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。
A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。
A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。
(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。
(3)一个C语言程序至少应包含一个__主函数或main()__。
(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。
(5)函数体用___{______符号开始,用_____}______符号结束。
(6)注释的开始和结束标志分别为__/*____和____*/____。
为增强程序的__可读性___,应该为程序写上清晰的注释。
3.编程题:参考本章例题,编写一个C程序,输出以下信息。
***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。
第四章80C51的程序设计习题及答案

第四章80C51的程序设计习题及答案第四章80C51的程序设计习题及答案1、80C51单⽚机汇编语⾔有何特点?答:80C51单⽚机汇编语⾔的源程序结构紧凑、灵活,汇编成的⽬标程序效率⾼,具有占存储空间少、运⾏速度快、实时性强等优点。
但它的是⾯向机器的语⾔,所以它缺乏通⽤性,编程复杂繁琐,但应⽤相当⼴泛。
2、利⽤80C51单⽚机汇编语⾔进⾏程序设计的步骤如何?答:在进⾏程序设计时,⾸先需要对单⽚机应⽤系统预先完成的任务进⼊深⼊的分析,明确系统的设计任务、功能要求、技术指标。
然后,要对系统的硬件资源和⼈⼯作环境进⾏分析和熟悉。
经过分析、研究和明确规定后,利⽤数学⽅法或数学模型来对其进⾏描述,从⽽把⼀个实际问题转化成由计算机进⾏处理的问题。
进⽽,对各种算法进⾏分析⽐较,并进⾏合理的优化。
3、常⽤的程序结构有哪⼏种?特点如何?答:常⽤的程序结构有以下⼏种:(1)顺序程序结构顺序结构是按照逻辑操作顺序,从某⼀条指令开始逐条顺序进⾏,直到某⼀条指令为⽌;⽐如数据传送与交换、查表程序和查表程序的设计等;在顺序结构中没有分⽀,也没有⼦程序,但它是组成复杂程序的基础和主⼲;(2)分⽀程序结构它的主要特点是程序执⾏流程中必然包含有条件判断指令,符合条件要求的和不符条件合要求的有不同的处理程序;(3)循环程序结构它在本质上只是分⽀程序中的⼀个特殊形式,它由循环初始化、循环体、循环控制和结束部分构成;在循环次数已知情况下,采⽤计数循环程序,其特点是必须在初始部分设定计数的初始值,循环控制部分依据计数器的值决定循环次数;根据控制循环结束的条件,决定是否继续循环程序的执⾏。
(4)⼦程序它的主要特点是,在执⾏过程中需要由其它的程序来调⽤,执⾏完后⼜需要把执⾏流程返回到调⽤该⼦程序的主程序。
4、⼦程序调⽤时,参数的传递⽅法有哪⼏种?答:在80C51单⽚机中,⼦程序调⽤时,参数的传递⽅法由三种:1、利⽤累加器或寄存器;2、利⽤存储器;3、利⽤堆栈。
C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
程序设计基础(C语言)第3版习题及答案

第1章C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-3】上机运行本章的3个例题。
答:略。
【习题1-4】请从以下的4个选项中选择一个正确答案。
(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。
答:略。
【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。
C语言程序设计教程(第2版)课后习题答案(完美版)

C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
《C语言程序设计(第五版)》习题答案

《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。
答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。
每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。
(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。
函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。
函数体由声明部分和执⾏部分组成。
(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。
函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。
#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。
(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 4 章顺序结构程序设计4-1 C 语言的控制语句有哪些?答: C 语言有九条控制语句:(1)条件语句: if - else 语句。
(2)开关语句: switch 语句。
(3)当循环语句: while 语句。
(4)直到循环语句: do - while 语句。
(5)计数循环语句: for 语句。
(6)中止本次循环语句: continue 语句。
(7)中止整个循环语句: break 语句。
(8)函数返回语句: return 语句。
(9)无条件转移语句: goto 语句。
4-2 程序中使用注释语句有何作用?如何给程序加注释?答:注释语句的作用:注释程序、函数及语句块的功能以及注释变量的作用,增强程序可读性。
给程序加注释通常遵循以下原则:(1)一个程序至少应该有一条注释语句,对整个程序功能进行说明;(2)对程序中主要的变量应该加必要的注释,以说明变量的作用;(3)对程序中重要的语句块应该加必要的注释,以说明语句块的作用。
(4)给程序加注释的方法://注释内容(仅对当前行起作用)/*注释内容*/思考:你在写程序时,是否养成了添加必要注释的习惯?4-3 结构化程序设计方法的基本思想是什么?答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。
思考:你是如何理解:“自顶向下、逐步求精”的?4-4 简述程序设计的基本过程。
答:程序设计的基本过程是:( 1)分析问题;( 2)设计算法;( 3)编写程序。
思考:这几步中,你认为最难的是哪一步?4-5 运行下面的程序时,数据如何输入?#include <stdio.h>main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("x=%f y=%e",&x,&y);scanf("c1=%c c2=%c",&c1,&c2);}假定 a= 3, b= 7, x = 8.5, y= 71.82 , c1= 'A',c2='a' 。
解:输入为:a= 3b= 7 x = 8.5 y= 71.82 c1= A c2=a思考:在输入数据时,数据的输入格式与类型是如何对应的?4-6 阅读下面的程序,给出程序的运行结果。
#include <stdio.h>main(){int a=5,b=7;float x=67.8564,y=-789.124;char c='A';long n=1234567; unsignedu=65535;printf("%d%d\n",a,b);printf("%3d%3d\n",a,b);printf("%f%f\n",x,y);printf("%-10f,%-10f\n",x,y);printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%1d,%1o,%x\n",n,n,n);printf("%u,%o,%x,%d\n",u,u,u,u);printf("%s,%5.3s\n","COMPUTER","COMPUTER");}解: 575 767.1-789.12402367.1 , -789.12402367.86 , -789.12 , 67.8564 , -789.1240 , 67.856400 , -789.1240236.1e+01 , -7.9e+026.2A , 65, 101, 411234567 , 4553207 , d68765535 , 177777 , ffff , -1COMPUTER, COM 思考:在输出数据时,数据的输出格式与输出变量是如何对应的?“\n”的作用是什么?4-7编写程序,实现如下的输出格式和结果:a=3b=4c=5x=1.200000 , y=2.400000 , z=-3.600000x+y= 3.60 y+z=-1.20 z+x=-2.40u= 51274 n= 128765c1= ‘ a’ or97 ( ASCII )c2= ‘ b’ or98 ( ASCII )假定 a=3 ,b=4, c=5,x=1.2 ,y=2.4 ,z=-3.6 ,u=51274 , n=128765 ,c1= ‘ a’,c2= ‘ b’。
解: #include<stdio.h>main( ){int a=3,b=4,c=5;float x=1.2, y=2.4, z=-3.6;char c1= ‘ a’ ,c2= ‘ b’;long n=128765;unsigned u=51274;printf( “a=%d\tb=%d\tc=%d\n ”,a,b,c);printf( “x=%f,y=%f,z=%f\n”,x,y,z);printf( “x+y=%6.2f\ty+z=%-6.2f\tz+x=%-6.2f\n”,x+y,y+z,z+x);printf( “u=%8u\tn=%10ld\n ”,u,n);printf( “c1=‘ %c’or%d(ASCII)\n”,c1,c2);printf( “c2=‘ %c’ or%d(ASCII)\n ”,c2,c2)}思考:在输出格式中,“%”后的数据起什么作用?4-8编写程序,求长方形的面积。
解: #include<stdio.h>main( ) {floata, h, s;printf( “请输入长方形的长与宽:”);scanf( “%f, %f ”, &a, &h);s=a*h;printf( “长为%f 宽为 %f 的长方形面积=%f\n ”,a, h, s);}4-9编写程序,求梯形的面积。
解: #include<stdio.h>main( ){float a, b, h, s;printf( “请输入梯形的上底边长、下底边长与高: ”);scanf (“%f, %f, %f ”,&a, &b, &h );s=(a+b)*h/2;printf( “上底边长为 %f 高为 %f 的梯形面积 =%f\n ”,a, h, s);}4-10 编写程序,由底和高求三角形的面积。
解: #include<stdio.h>main( ){float a, h, s;printf( “请输入三角形的底和高:”);scanf( “%f, %f ”,&a, &h);s=a*h/2;printf( “底为%f 高为 %f 的三角形面积”,a, h,s);}思考:以上三题中,在scanf 语句前的printf 语句的作用是什么?4-11编写程序,由一个人的出生时间计算此人某年的年龄。
解: #include<stdio.h>main( ){int year, n, age;printf( “请输入出生年份 :”);scanf( “%d”, &year);printf( “请输入需要计算年龄的年份(> 出生年份) :”);scanf( “%d”, &n);age=n-year;printf( “%d 年该人的年龄为:%d 岁。
\n”,n, age);}思考:为何要求计算年龄的年份大于出生年份?若不大于,程序运行会错吗?4-12 编写程序,求玲玲同学期末 6 门课程考试成绩的总分与平均分。
解: #include<stdio.h>main( ){int s1, s2, s3, s4, s5,s6, sum;printf( scanf( float average;“请输入 6 门课程的考试成绩:”) ;“ %d,%d,%d,%d,%d,% ”d&s1,&s2,&s3,&s4,&s5,&s6);sum=s1+s2+s3+s4+s5+s6;printf(“总分 =%d,平均分average=sum/6 ;=%f\n ” sum,average) ;}思考:在语句“average=sum/6 ;”中,赋值号左边与右边的数据类型不一致是否可行?将会发生什么操作?4-13 编写程序,计算某个月应发薪水与实发工资,其中的薪水项目、扣款项目自定。
解: #include<stdio.h>main(){float zwgz,gwjt,xygz ; // 薪水项目:职务工资、岗位津贴、效益工资float sdf,bxj,gjj// 扣款项目:水电费、保险金、公积金float yf , sf ; // 应发工资和实发工资printf( “请输入薪水项目:职务工资、岗位津贴、效益工资\n ” ) ;scanf( “ %f,%f,%f ” ,&zwgz,&gwjt,&xygz) ;printf( “请输入扣款项目:水电费、保险金、公积金:\n ” ) ;scanf( “ %f,%f,%f ” ,&sdf,&bxj,&gjj);yf=zwgz+gwjt+xygz ; // 计算应发工资sf=yf-sdf-bxj-gjj ; // 计算实发工资printf( “应发工资为 %7.2f, 实发工资为 %7.2f\n ” ,ys,sf) ; // 输出结果}思考:语句“ printf( “应发工资为 %7.2f, 实发工资为 %7.2f\n ” ,ys,sf) ”中的“ %7.2f ”是什么意思?4-14 编写程序,求空间两点之间的距离。
提示:空间一点(x,y,z ) , 可由三个实数来描述。
解: #include <stdio.h>main(){ float x1,x2,y1,y2,z1,z2,leng;printf(“请输入第一个点坐标:\n ” ) ;scanf( “ %f,%f,%f ” ,&x1,&y1,&z1);printf(“请输入第二个点坐标:\n ” ) ;scanf( “ %f,%f,%f ” ,&x2,&y2,&z2);leng=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));printf(“这两坐标点的距离=%f\n ” ,leng);}思考:若还想求出这两点到原点的距离,程序应如何修改?4-15编写程序,求两个复数的和与差。