语言程序设计复习附答案

合集下载

C语言程序设计期末复习题及答案(1)

C语言程序设计期末复习题及答案(1)
4. 设int i = 5;则语句while (i > = 1) i - -;执行后i的值为_0______。
5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)

汇编语言程序设计复习2(带答案)1

汇编语言程序设计复习2(带答案)1

汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。

A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。

A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。

A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。

A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。

java语言程序设计复习(附答案)

java语言程序设计复习(附答案)

面向对象复习1.以下关于抽象类和接口的说法错误的是()A、接口中的方法都必须加上public关键字。

B、在抽象类中可以没有抽象方法C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。

接口中的方法都不能被实现D、接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

2.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号3下列说法正确的是()A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来4.Java中,在如下所示的Test类中,共有(2)个构造方法。

public class Test{private int x;public Test(){x=35;}public void Test(double f){This.x=(int)f;}public Test(String s){}}5 变量命名规范说法正确的是(F)E、变量由字母、下划线、数字、$符号随意组成;F、变量不能以数字作为开头;G、A和a在java中是同一个变量;H、不同类型的变量,可以起相同的名字;6为一个boolean类型变量赋值时,可以使用(I)方式I、boolean = 1;J、boolean a = (9 >= 10);K、boolean a="真";L、boolean a = = false;7以下(O)不是合法的标识符M、STRINGN、x3x;O、v oidP、de$f2、表达式(11+3*8)/4%3的值是(D)A、31B、0C、1D、23、(A)表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、count = = i;4、运算符优先级别排序正确的是(C)A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;5、以下程序的运行结果是:(B)public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.6766、下列值不为true的表达式有(C)。

语言程序设计试题及答案

语言程序设计试题及答案

语言程序设计试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项不是高级编程语言的特点?A. 抽象性B. 可移植性C. 机器语言D. 可读性答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B3. 在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. static答案:D4. 下面哪个选项不是Python的内置数据类型?A. intB. floatC. stringD. list答案:D5. 在JavaScript中,以下哪个选项不是事件类型?A. clickB. loadC. submitD. print答案:D6. 在C++中,以下哪个关键字用于定义一个类?A. classB. structC. interfaceD. namespace答案:A7. 在PHP中,以下哪个函数用于将字符串转换为小写?A. strtoupper()B. strtolower()C. ucfirst()D. ucwords()答案:B8. 在SQL中,以下哪个关键字用于创建数据库?A. CREATEB. DROPC. SELECTD. INSERT答案:A9. 在HTML中,以下哪个标签用于定义最重要的标题?A. <h1>B. <h2>C. <p>D. <div>答案:A10. 在CSS中,以下哪个属性用于设置文本的颜色?A. colorB. background-colorC. font-sizeD. font-family答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字定义一个结构体。

答案:struct2. 在Java中,所有的类都应该定义在________关键字定义的类中。

答案:public3. Python中的________函数用于计算对象的哈希值。

《C++语言程序设计》复习题及参考答案

《C++语言程序设计》复习题及参考答案

福师1203考试批次《C++语言程序设计》复习题及参考答案本课程复习题所提供的答案仅供学员在复习过程中参考之用,有问题请到课程论坛提问。

福师1203考试批次《C++语言程序设计》复习题及参考答案一本复习题页码标注所用教材为:教材名称单价作者版本出版社C++程序设计教程39.5 钱能2005年9月第2版清华大学出版社(第二版)如学员使用其他版本教材,请参考相关知识点一、选择填空(每小题2分,计16小题,共32分)1、类MyClass的定义如下:class MyClass{public:MyClass() { value = 0;}SetVariable(int i) { value = i; }private:int value;}则对下列语句序列正确的描述是_______。

MyClass *p,my; p=&my;A)语句p=&my;是把对象my赋值给指针变量pB)语句MyClass *p,my;会调用两次类MyClass的构造函数C)对语句 *p.SetVariable(5)的调用是正确的D)语句p->SetVariable(5)与语句my.SetVariable(5)等价【参考答案】:D2、对类的构造函数和析构函数描述正确的是_______。

A) 构造函数不能重载,析构函数可以重载B)构造函数可以重载,析构函数不能重载C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载【参考答案】:B3、在C++中,数据封装要解决的问题是______。

A)数据的规范化 B)便于数据转换C)避免数据丢失 D)防止不同模块之间数据的非法访问【参考答案】:D4、对于拷贝构造函数,正确的描述是________。

A)在C++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数B)必须为每个类定义拷贝构造函数C)如果要使用拷贝构造函数,则必须在类中先定义D)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数【参考答案】:A5、继承具有_____,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

C++语言程序设计期末复习题(含答案)

C++语言程序设计期末复习题(含答案)

C++语言程序设计期末复习题一、单项选择题1、面向对象程序设计数据与_____放在一起,作为一个相互依存、不可分割的整体来处理。

A、对数据的操作B、信息C、数据隐藏D、数据抽象2、已知:int a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?c:d 的值为_____。

A、1B、2C、3D、43、下列while循环的次数是_____。

while( int i=0 ) i- -;A、0B、1C、5D、无限4、以下程序的输出结果是_____。

#include <iostream.h>fuc( char* s){char* p=s;while( *p)p++;return (p-s);}main(){cout<<fuc("ABCDEF");}A、3B、6C、8D、05、_____的功能是对对象进行初始化。

A、析构函数B、数据成员C、构造函数D、静态成员函数6、下列引用的定义中,_____是错误的。

A、int i;B、int i;C、float i;D、char d;int& j=i;int &j;float& j=i;j=i;char &k=d;7、若类A和类B的定义如下:class A{int i,j;public:void get();//...};class B:public A{int k;public:make();//...};void B::make(){k=i*j;}则上述定义中,_____是非法的表达式。

A、void get();B、int k;C、void make();D、k=i*j;8、以下程序段_____。

int x = -1;do{x = x*x;}while( !x );A、是死循环B、循环执行2次C、循环执行1次D、有语法错误9、对定义重载函数的下列要求中,_____是错误的。

程序设计题库及答案详解

程序设计题库及答案详解

程序设计题库及答案详解一、选择题1. 下列哪个选项不是面向对象编程的三大特性?A. 封装B. 继承C. 多态D. 过程化答案:D2. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A3. 以下哪个是Python中的循环结构?A. forB. whileC. both A and BD. none of the above答案:C二、填空题1. 程序设计中的________是用来定义数据的属性和方法的集合。

2. 在C语言中,________关键字用于声明一个函数。

答案:void 或者 int(根据函数返回类型而定)3. 在JavaScript中,________方法用于将字符串转换为数字。

答案:parseInt 或 parseFloat(根据转换类型而定)三、简答题1. 请简述什么是递归函数,并给出一个简单的递归函数示例。

答案:递归函数是指在函数内部调用自身的函数。

递归函数通常用于解决可以分解为相同问题的子问题的问题。

以下是一个计算阶乘的递归函数示例:```cint factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}```2. 解释什么是堆栈,并说明它们在程序设计中的应用。

答案:堆栈是两种不同的数据结构。

堆是一种优先队列,其中最大或最小元素可以在对数时间内被找到。

栈是一种遵循后进先出(LIFO)原则的数据结构。

在程序设计中,堆栈广泛应用于内存管理、函数调用、表达式求值、回溯算法等领域。

四、编程题1. 编写一个函数,实现字符串的反转。

```pythondef reverse_string(s):return s[::-1]```2. 给定一个整数数组nums,请找出数组中最长递增子序列的长度。

答案:```pythondef lengthOfLIS(nums):if not nums: return 0dp = [1] * len(nums)for i in range(1, len(nums)):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)```五、案例分析题1. 描述一个场景,其中使用多线程可以提高程序的效率,并解释为什么。

C语言程序设计期末考试复习题及答案

C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

c语言程序设计(复习资料)

c语言程序设计(复习资料)

c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。

(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。

(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。

int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。

(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。

(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。

(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。

(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。

(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。

《汇编语言程序设计》期末复习题及答案

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。

B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。

C语言考试复习专用三套题附答案

C语言考试复习专用三套题附答案

C语言考试复习专用三套题附答案《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(一)设某为一数字字符,则其所对应的十进制数值为A)某B)某-‘0’C)某某D)&某(二)说明语句char=‘\\t’,使包含了几个字符?A)1B)2C)3D)说明有错(三)设a=6,b=4,则表达式b某=a+3的值为A)3B)18C)27D)36(四)若给定表达式(m)?a++:a--,则其中表达式m和等价。

A)m==0B)m!=0C)m=0D)m=1(五)设有说明语句inta[10],则数组a包括了个数组元素。

A)1B)9C)10D)20(六)以下函数tet返回值类型为tet(int某){printf(“%f\\n”,(float)某);}A)intB)floatC)voidD)不确定或错误(七)C语言规定,main函数的参数A)只能有0个B)只能有0个或一个C)只能有0个或2个D)可有任意个(八)设某为整型变量,p基类型为整型的指针变量,则正确的赋值表达式是A)p=&某B)p=某C)某p=&某D)某p=某某(九)TurboC中,int型数据在存储器中占二个字节,则以下类型数据在存储器中占的字节数为:tructtet{int某;floaty;charz;};A)2B)3C)6D)7(十)rewind()函数的作用是A)重新打开文件B)使文件位置指针重新回到文件的开始C)使文件位置指针重新回到文件的末D)返回文件长度值二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#includevoidmain(){inta=1,b=4,c=2;运行结果:1a=(a+b)/c;printf(“%d\\n”,--a);}[程序2]voidmain(){charc1=67;/某‘A’的ASCII码值为65某/if(‘A’<=c1&&c1<=’Z’)运行结果:67,Dprintf(“%d,%c”,c1,c1+1);eleprintf(“%c”,c1);}[程序3]viodmain(){inta=0,n=5;运行结果:1,5,4,3,2,0for(;;){a++;n--;printf(“%d,”,a);a=n;if(n==0)break;}printf(“%d”,a);}[程序4]main(){inti,j;运行结果:1,2,4,8,16,32,64,128,256,512taticinta[10]={1,1,1,1,1,1,1,1,1,1};for(i=0;i<10;i++)for(j=0; jprintf(“%d,”,a[i]);}[程序5]intk=2;f(intm)运行结果:6,8{m+=k;k+=m;5,9printf(“%d,%d\\n”,m,k++);}main(){inti=4;for(i++);printf(“%d,%d\\n”,i,k);}[程序6]voidmain(){taticinta[10],i;运行结果:13579for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,某(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。

《C语言程序设计》复习 参考答案

《C语言程序设计》复习 参考答案

第一章【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。

答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。

答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。

3.标识符是用来标识程序中的某个对象名字的字符序列。

C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。

对于用户自定义标识符的命名C语言规定:(1)所有的用户标识符必须先定义后使用;(2)用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,并且首字符不能是数字;(3)区分大小写;(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。

4.理论上讲,程序开发过程分为四个步骤,分别为:(1)编辑源程序(2)编译源程序,生成目标程序(3)连接目标程序及其相关模块,生成可执行文件(4)运行可执行文件一.单元练习一.选择题1.构成C语言程序的基本单位是()。

A.框架B.预处理C.函数D.语句2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。

A.编辑B.编译C.连接D.运行3.关于主函数,下列说法不正确的是()。

A.一个完整的C语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数可以被其他自定义函数调用D.C语言程序的运行从主函数开始,以主函数为核心展开4.关于标识符,下列说法不正确的是()。

C 语言程序设计复习题(答案已填写)(填空)

C  语言程序设计复习题(答案已填写)(填空)

C++语言程序设计复习题(答案已填写)(填空)C++语言程序设计复习题(答案已填写)一、单项选择题1. C++源程序文件的默认扩展名为( A )。

A. cppB. exeC. objD. lik2. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。

A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的默认扩展名为( B )。

A. cppB. exeC. objD. lik4. C++程序从上机到得到结果的几个操作步骤依次是( B )。

A. 编译、编辑、连接、运行B. 编辑、编译、连接、运行C. 编译、运行、编辑、连接D. 编辑、运行、编辑、连接5. 以下标识符中不全是保留字的是(B )。

A. case for intB. default then whileC. bool class longD. goto return char6. 能作为C++程序的基本单位是( C )。

A. 字符B. 语句C. 函数D. 源程序文件7. 程序中主函数的名字为(A )。

A. mainB. MAINC. MainD. 任意标识符8. C++程序的基本模块为(D )。

A. 表达式B. 标识符C. 语句D. 函数9. 可用作C++语言用户标识符的一组标识符是( B )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof10. 存储以下数据,占用存储字节最多的是(D )。

A. 0B. ‘0’C. “0”D. 0.011. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。

A. 12B. 144C. 156D. 28813. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( D )。

《C语言程序设计》复习题有答案1

《C语言程序设计》复习题有答案1

《C语言程序设计》复习题有答案1《C语言程序设计》复习题一、填空题1、 C 语言的源程序必须通过编译和链接后,才能被计算机执行。

2、 C 语言的源程序必须通过编译和连接后,才能被计算机执行。

3、C语言中的标示符可分为关键字、拥护标示符和预定义标识符3类。

4、C语言中的标示符可分为关键字、用户标识符和预定义标示符3类。

5、在C语言中,用关键字 float 定义单精度实型变量。

6、在C语言中,用关键字 double 定义双精度实型变量。

7、在C语言中,用关键字 char 定义字符型变量。

8、在C语言的赋值表达式中,赋值好左边必须是变量。

9、设C语言中的一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768--32768 。

10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为 1 。

11、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为-60 。

12、若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。

13、在程序运行过程中,其值不能被改变的量称为常量。

14、C程序中定义的变量,代表内存中的一个存储单元。

15、C语言中,int类型数据字符占内存 2 个字节。

16、C语言中,char类型数据占内存 1 个字节。

17、C语言的字符常量是用单引号括起来的一个字符。

18、语句printf(“\n”);的作用是换行输出。

19、10/3的结果是3 。

20、10%3的结果是 1 。

21、C语句的最后用;结束。

22、要使用putchar函数,在#include命令行中应包含的头文件是#include。

23、要使用getchar函数,在#include命令行中应包含的头文件是#include。

24、为表示关系|x|≥9;应使用的C语言表达式是x<=-9 || x>=9 。

25、为表示关系|x|≤9;应使用的C语言表达式是x>=-9&&x<=9 。

含答案程序设计基础及语言复习提纲

含答案程序设计基础及语言复习提纲

含答案程序设计基础及语言复习提纲一、选择题1•以下叙述中错误的是(A)。

A.使用三种基本结构构成的程序只能解决简单问题(P28)B.结构化程序由顺序、分支、循环三种基本结构组成(P26)C・C语言是一种结构化程序设计语言D・结构化程序设计提倡模块化的设计方法(P34)2.以下叙述正确的是(A)。

A.C语言函数可以嵌套调用,例如:fun(funfx))B.C语言程序是由过程和函数组成的(PIO C语言程序是由函数组成的)C.C语言函数不可以单独编译D.C语言中除了main函数,其他函数不可作为单独文件形式存在3.有以下程序#include <stdio.h>main(){int a=0, b=0;/*给a赋值a=10;b=20; 给b赋值*/printf(',a+b=%d\n,\a+b); /* 输出计算结果 */}程序运行后的输出结果是(E)。

A.出错B.a+b=OC.a+b=10D.a+b=304.以下叙述中正确的是(A)。

A.每个后缀为.C的C语言源程序都可以单独进行编译含答案程序设计基础及语言复习提纲B.每个后缀为.C的C语言源程序都应该包含一个main函数(若在一个项目中,后缀为.C的C语言源可以不包含main)C.在C语言程序中,main函数必须放在其他函数的最前面D.在C语言程序中,只有main函数才可单独进行编译5.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(D)。

A.大写字母 E.下划线 C.数字字符 D.连接符6.以下选项中能表示合法常量的是(D)o (p39)A.1,200B.1.5E2.0C.0118D.”\007"7.有以下程序#include <stdio.h>main(){int sum, pad, pAd;sum = pad = 4;pAd = ++sum, pAd++, ++pad;printf(n%d\n u, pad );}程序的输出结果是( B)oA. 4B.5C.6D.78.有以下程序#include <stdio.h>main(){ int a;含答案程序设计基础及语言复习提纲a = (int)(-1.65*3);prmtf(H%d\n M, a);}程序的运行结果是(B)o (直接取整数部分)A.-3B.-4C.-5D.结果不确定9.关于H while(条件表达式)循环体“,以下叙述正确的是(E)。

语言程序设计题目及解答

语言程序设计题目及解答

一、判断题(12分)1. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。

2分2. 由于宏名与宏体之间以空格相隔,因此宏名中不应再有空格。

2分3. 宏替换就是字符替换,不能进行任何计算。

2分4. 带参的宏替换,在调用时也进行实参与形参的结合,因此它和函数是一回事5. 以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关。

2分6. 以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。

2分二、选择题(24分)1.下列宏定义命令中,哪一个格式是正确的() [D] 2分A. #define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)2.宏定义为#define div(x,y) x/y;若语句printf("div(x,y)=%d\n",div(x+3,y-3));作宏替换后为() [C] 2分A. printf("x/y=%d\n",(x+3)/(y-3));B. printf("div(x,y)=%d\n",x+3/y-3);C. printf("div(x,y)=%d\n",x+3/y-3;);D. printf("x/y=%d\n",x+3/y-3;);3.程序中调用了库函数exit,必须包含头文件() [B] 2分A. string.hB. stdlib.hC. ctype.hD. math.h4.定义带参数的宏计算两个表达式的乘积,下列定义中哪个是正确的() [C] 2分A. #define muit(u,v) u*vB. #define muit(u,v) u*v;C. #define muit(u,v) (u)*(v)D. #define muit(u,v)=(u)*(v)5.下列程序的输出结果是________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择1.下面指令执行后,改变AL寄存器内容的指令是( D )。

A.TEST AL,02HB.OR AL,ALC.CMP AL,BLD.AND AL,BL2.对寄存器AX的内容乘以4的正确指令序列是( B )。

A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A )A.85B92HB.86192HC.BB690HD.12169H4.指令JMP FAR PTR DONE属于 CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址5.将DX的内容除以2,正确的指令是 CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,16.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。

A.CMPB.SUBC.ANDD.MOV7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。

A.名字项B.操作项C.操作数项D.注释项8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B )A. 14HB. 0104HC. 74HD. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D )A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,‘24’MOV DA1+1,34H MOV DA1+1,3411.使用DOS功能调用时,子程序的编号应放在寄存器中( A )A. AHB. ALC. AXD. 任意指定12.下列语句中能实现留空8个字节单元的语句是( D )A. DA1 DT ?B.DA2 DW ?,?C. DA3 DD ?D.DA4 DQ ?13.指令JMP FAR PTR DONE属于CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址14.下列叙述不正确的是BA. 在不改变堆栈段寄存器的情况下,堆栈大小为64KBB. 紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令C. 中断服务程序的返回地址在堆栈中D. 堆栈中数据存放的特点是先进后出15.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是CA.12CSBH B.12B6BH C.12C59H D.12BFEH16.在下列指令的表示中,不正确的是CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL17.在进行二重循环程序设计时,下列描述正确的是AA.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内18.条件转移指令JNE的测试条件为AA.ZF=0 B.CF=0 C.ZF=1 D.CF=119.将DX的内容除以2,正确的指令是CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,120.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(A )中。

A.数据段中偏移量为3236H的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H的字节D.附加段中偏移量为3236H的字节21.执行如下程序:MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后(BX)=CA.99 B.100 C.101 D.10222.上题的程序执行后(AX)=BA.5000 B.5050 C.5100 D.515023.在下列指令中,__D____指令的执行会影响条件码中的CF位。

A.JMP NEXT B.JC NEXTC.INC BX D.SHL AX,124.下面指令序列执行后完成的运算,正确的算术表达式应是 DMOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,ALA.y=x*2+1 B.x=y*2+1 C.x=y*2-1 D.y=x*2-125.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。

B A.占内存空间小,但速度慢B.占内存空间大,但速度快C.占内存空间相同,速度快D.占内存空间相同,速度慢26.在程序执行过程中,IP寄存器中始终保存的是BA.上一条指令的首地址B.下一条指令的首地址C.正在执行指令的首地址D.需计算有效地址后才能确定地址二、简答1.假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。

(3分)(1)SHR DX,1(2)RCR DL,1(3)RCL DX,CL答:(1)005CH(2)00DCH(3)05CCH2.写出完成下述功能的程序段:(8分)(1)传送25H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器(4)AL的内容乘以BL的内容并请写出最后(AX)=?答:(1)MOV AL,25H(2)SHL AL,1(3)MOV BL,15H(4)MUL BLAX=612H3.指出下列指令的错误原因。

(14分)(1)MOV BX,AL操作数类型不同(2)MOV256,CX(3)POP CS(4)MUL45H(5)MOV DS,2000H(6)JMP WORD PIR LOO(7)IN AL,3F8H5.设某数据段:DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB 'COMPUTER'DB 0AH,0DHCOUNT EQU $-DA1DA2 DW 'CO','MP','UT','ER'DATA ENDS试回答:(1)DA1的偏移地址是什么?(2)COUNT的值是什么?(3)DA2+5字节单元的内容是什么?答:(1)0020H(2)002AH-0020H=0AH=10(3)”U”6.某程序段如下:MOV DX,0EFADHMOV AX,1234HMOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL上面的程序段执行完后,DX、AX的内容是什么?DX=FAD0HAX=2340H三、填空1.计算机语言分为机器语言、汇编语言和高级语言。

2.23D= 10111 B,100101011B= 12B H。

3.8086系统的操作数分为立即操作数、寄存器操作数和存储器操作数三种类型。

4.8086 CPU内部共有14 个16 位的寄存器。

5.汇编语言的编译程序一般用Edit ,调试程序一般用debug 。

四、程序分析1.现有如下程序段:DATA SEGMENTORG 0020HDA1 DW 12H,23HDA2 DB 11H,21HDA3 EQU 1234HDA4 EQU $-DA2DA5 DB 31H,32HDATA ENDS请回答:(1)该程序段已占有的存储字节数是多少?(2)符号名DA4的值是多少?符号名DA5的值是多少?答:(1) 该程序段已占有的存储字节数是8个字节。

(2) 符号名DA4的值为2,符号名DA5的值是0026H。

2.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。

ORG 100HBLOCK DW X1,X2, (X)COUNT EQU ($-BLOLOK)/2RESULT DW COUNT,?LEA BX,BLOCK-2MOV CX,RESULTXOR AX,AXGOON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]语言程序设计复习(附答案)NEXT:LOOP GOONMOV RESULT+2,AX程序段执行完,回答下述问题RESULT+2字存储单元的内容=_MAX(X1, X2, … XN)_____BX=__100H + 2×(COUNT-1)____程序循环次数=__COUNT____五、程序填空题1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。

如果总和值超过AX寄存器的容量,则置AX寄存器内容不变。

请在程序中的空格处填入适当指令使其完整。

LEA BX,TABLEMOV CX,10MOV SUM,AXMEXT:(1)ADD AL,[BX]ADC AH,0JNC DON(2)MOV AX,SUMJC END0DON: INC BX(3)LOOP NEXTENDO:HLT2.BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。

请在程序中的空格处填入适当的指令使其完整。

MOV CX,32HLEA SI,BEGMOV DI,SI(1) ADD DI 99DON:MOV AL,[SI](2) XCHG AL,[DI]MOV [SI],AL(3) INC SIDEC DILOOP DONHLT3.下面程序段完成用单个字符输入的1号功能调用,从键盘输入10个字符,然后用2号功能调用以相反的顺序显示输出这10个字符。

请在空白处添上适当的指令(每一空白处只添一条指令)。

MOV CX,10LOP1: MOV AH,1INT 21HPUSH AXLOOP LOP1MOV CX,10LOP2: POP DXMOV AH,2INT 21HLOOP LOP24.下面程序段完成将以BUFF为首地址的内存区域全部存储0FFH数据。

请在空白处添上适当的指令(每一空白处只添一条指令)。

BUFF DB 20H DUP(?)┋LED DI,BUFFMOV AX,0FFFFHMOV CX,10HCLDREP STOSW六、编制程序题1.试编写一个汇编语言子程序,要求将包含任意字符、以0结尾的字符串中的小写字母转换成大写字母。

a ssume cs:code,ds:datadatasg segmentdb 'Beginners All-purpose Symbolic Instruction Code.',0datasg endscodesg segmentbegin:mov ax,datamov ds,axmov si,0call lettercmov ah,4chint 21hletterc:push axs:mov al,[si]mov ah,0mov cx,axjcxz returncmp al,61hjb nextcmp al,91hja nextand al,11011111bmov [si],alnext:inc sijmp short sreturn:pop axretcodesg endsend begin2.写一程序段,求双字长数DX∶BX的相反数。

相关文档
最新文档