admin 管理员组文章数量: 1086019
2024年4月22日发(作者:jdk16安装教程)
C语言程序设计教程第一章练习题题目(精选5篇)
第一篇:C语言程序设计教程第一章练习题题目
单选题
1、下列语言中不属于计算机语言的三大类的是(C)。A.机器语
言 B.汇编语言 C.脚本语言 D.高级语言
2、下列说法中不正确的是(C)
A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级
语言
B.C语言是一种通用的、过程式的编程语言,具有高效、灵活、可
移植等优点 C.C语言属于汇编语言
D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记
忆和使用
3、以下开发工具中不属于主流的开发工具的是(B)
Studio ::Block e
4、下列选项是对主流开发工具的介绍,其中错误的是(B)
Studio支持C/C++、C#、F#、VB等多种程序语言的开
发和测试 ::Block是一个免费的跨平台IDE,支持C、C++和
Fortan程序的开发 e是一种被广泛使用的免费跨平台IDE,最
初由IBM公司开发 是一款功能非常强大的IDE(和其他IDE不同
的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功
能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。)
5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤
的是(A)A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序
6、下列选项中,关于main()函数叙述不正确的是(C)
A.一个完整的C语言程序中,有且只能有一个main()函数
()函数是程序的主入口,程序总是从main()函数开始执行
C.如果没有声明main()函数,程序将从第1行开始执行 ()函数
可以有返回值,也可以没有返回值
7、下面程序中,合法的选项是(D)
A.#includeint main(){ printf(“hello worldn”);return 0;}
B.#includeint
C.#includeint
man(){
main(){
printf(“hello
printf(“hello
worldn”);return
worldn”)return
0;}
0;}
D.#includeint main(){ print(“hello worldn”);return 0;}
8、下面程序中,运行结果为“1,2”的是(A)
A.#includeint
1;int b =
main(){ int a = 1;int b =
0;}
=
2;printf(“%d %dn”,a,b);return 0;} B.#includeint main(){ int a =
2;printf(“%d,”a);printf(“%dn”,b);return
main(){ int a = 1, b C.#includeint
2;printf(“%d,%dn”,a,b);return 0;} D.#includeint main(){ int a =
1,a= b = 2;printf(“%d,%dn”,a,b);return 0;}
9、下列关于注释的描述中,错误的是(B)
A.C语言中的注释有两种类型:单行注释和多行注释 B.所有的注
释都可以嵌套使用
C.单行注释用“//”符号表示,“//”后面为被注释的内容 D.多
行注释以符号“/*”开头,以符号“*/”结尾
解析:在C语言中,有的注释可以嵌套使用,有的则不可以,例
如:
多行注释“/*„*/”中可以嵌套单行注释“//”; 多行注释“/*„*/”
中不能嵌套多行注释“/*„*/”。
10、下列关于注释的描述中,正确的是(C)
A.注释只在C语言源文件中有效,在编译时会被编译器忽略 B.注
释只能对程序中的某一行代码进行解释 C.注释不可以嵌套使用
D.单行注释以符号“/*”开头,以符号“*/”结尾
11、C语言可执行程序的开始执行点是
(D)A.程序中第一条可执行语句 B.程序中第一个函数 C.程序中的
main函数 D.包含文件的第一个函数
12、一个完整的C语言程序是
(B)A.要由一个主函数或一个以上的非主函数构成
B.由一个且仅由一个主函数和零个以上(含零)的非主函数构成 C.
要由一个主函数和一个以上的非主函数构成 D.由一个且只有一个主函
数或多个非主函数构成
13、以下说法正确的是(A)
A.c语言程序总是从第一个函数开始执行
B.在c语言程序中,要调用的函数必须在main()函数中定义 C.c语
言程序总是从main()函数开始执行
D.c语言程序中的main()函数必须放在程序的开始部分
14、在c语言程序中,注释部分从哪开始,到哪结束?(D)A.从
“(”开始到“)”结束 B.从REM开始无结束标志 C.无起始标志
D.从“/*”开始,“*/”结束
15、关于#include这句代码,下列描述中错误的是(A)A.“#”
是预处理标志,用来对文本进行预处理操作 e是预处理指令 C.
一对尖括号可以去掉
.h是标准输入输出头文件
16、关于printf(“hello worldn”);,下列描述中错误的是(C)
()是格式化输出函数,用于输出信息 ()括号中的内容为
函数的参数
()括号中的内容会全部输出到控制台 D.n表示换行
17、关于注释,下列描述中错误的是(C)
A.注释只是对代码的解释说明,只在源文件中有效 B.注释可分为
单选注释与多行注释 C.单选注释的符号为// D.多行注释间可以嵌套使
用
18、下列是多行注释的符号是(D)A.// B./ C./* D./**/ 判断题
1、计算机不需要翻译就能直接识别的语言被称为汇编语言。()
2、C语言只适用于系统软件的开发。()
3、根据功能和实现方式的不同,C语言属于高级语言。()
4、Visual Studio仅支持C/C++语言的开发和测试。()
5、Visual Studio系列的IDE是跨平台的。()
6、在C语言程序中,以分号“;”作为结束标记的代码都可称为
语句。()
7、注释在编译时也会被编译到程序中。()
8、/printf(“hello worldn”);*/ 是合法的注释。()
9、机器语言是由二进制数0和1组成的一串指令。()
10、汇编语言的可移植性较好。()
11、计算机语言可分为四大类:机器语言、汇编语言、脚本语言
和高级语言。()
12、C语言属于机器语言。()
13、C语言的主流开发工具包括:Visual Studio、Code::Block、
Eclipse、Vim。()
14、编写C语言程序的流程是:新建项目、添加源文件、编写代
码、运行程序。()
15、C语言中的注释有两种类型:单行注释和多行注释。()
16、Visual Studio只支持C/C++程序语言的开发和测试。()
17、在C语言程序中,一个语句的结束用”;“来标记。()
18、注释会影响程序的运行。()
19、多行注释之间不能嵌套调用。()
填空题
1、根据功能和实现方式编程语言可分为三大类,分别是:(),
(),()。
2、计算机语言主要由一些指令组成,这些指令包括()、符号和
语法等内容。
3、计算机语言可分为三大类,即机器语言、汇编语言和()。
4、C语言中的注释有两种类型,分别单行注释和()。
5、单行注释用()符号表示。
6、注释在编绎时会被编绎器忽略,它只在C语言()文件中有效。
简答题
1、简单介绍C语言的特点。
2、为了使下面的程序能够正常运行,请在空格处填写相应的代码。
3、请编写一个helloworld程序,要求如下:
4、请编写一个程序,实现两个变量a和b的求和操作,要求如下:
5、请阅读下面的程序,在空白处填写正确的代码,实现换行。
6、请阅读下面的程序,分析代码是否能够编译通过,如果能编译
通过,请列出运行的结果,否则请说明编译失败的原因。
7、请编写一个程序,在控制台输出一句话:中国欢迎你!
8、请编写一个程序,实现从键盘输入两个数据,然后将两个数据
相加,结果输出到控制台上。
9、请简述C语言的特点。
10、请简述机器语言、汇编语言和高级语言。
第二篇:C语言程序设计教程第五章练习题题目
单选题
1、关于数组的定义与初始化,下列哪一项是错误的()
arr[5] = {1,2,3,4,5}; arr[] = {1,2,3,4,5}; arr[5] = {1,2,3};
arr[5] = {1,2,3,4,5,6};
2、在定义数组intarr[10]后,下列选项中对arr的引用正确的是()
[10] [6.3] (6)[0]
3、在C语言中,引用数组元素时,其数组下标的数据类型允许是
()A.整型常量 B.整型表达式
C.整型常量或整型表达式 D.任何类型的表达式
4、若intarr[5] = {1,2,3};则arr[2]的值为()A.1 B.2 C.3
5、在执行intarr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为()
A.4 B.1 C.2 D.5
6、关于二维数组,下列选项能正确定义并赋初值的是() n
= 5,b[n][n]; a[1][2] = {{1},{3}}; c[2][] = {{1,2},{3,4}};
a[3][2] = {{1,2},{3,4}};
7、阅读下列程序段: char s[18] = “a
book!”;printf(“%.4sn”, s);其输出结果为()A.a book!B.a book
D.a
8、阅读下列程序:
int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } };
printf(“%d%d%d%dn”, a[0][0], a[1][1], a[2][2], a[3][3]);正确
的输出结果为()A.0650 B.1470 C.5430 D.输出值不定
9、阅读下面程序: int i;
int x[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16 };for(i = 0;i<4;i++)
printf(“%3d”, x[i][3-i]);下列选项中哪一项是正确的输出结果()
A.1 5 9 13 B.1 6 11 16 C.4 7 10 13 D.4 8 12 16
10、下列描述中不正确的是()。A.字符型数组中可以存放字符
串
B.可以对字符型数组进行整体输入、输出 C.可以对整型数组进行
整体输入、输出
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体
赋值
11、以下定义语句中,错误的是()。 a[]={1,2};
*a[3];[10]=“test”; n=5,a[n];
12、下列选项中,合法的数组定义是()。
a[]=“string”;
s=“string”;[]={0,1,2,3,4,5};
13、int类型变量在内存中占用四个字节,其有定义:int
x[10]={0,2,4};那么数组x在内存中所占字节数是()。A.3 B.10 C.12
D.40
14、C语言中数组下标的下限是()。A.1 B.0 C.视具体情况 D.无
固定下限
15、以下程序的输出结果是()。void main(){
} int i, a[10];for(i=9;i>=0;i--)a[i]=10-
i;printf(“%d%d%d”,a[2],a[5],a[8]);A.258 B.741 C.852 D.369
16、若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;那么数值为
4的表达式是()。A.a[g-c] B.a[4] C.a['d'-'c'] D.a['d'-c]
17、C语言中数组名作为参数传递给函数,作为实在参数的数组
名被处理为()。A.该数组的长度 B.该数组的元素个数 C.该数组中各
a[5]={0,1,2,3,4,5};
元素的值 D.该数组的首地址
18、当调用函数时,实参是一个数组名,则向函数传送的是()。
A.数组的长度 B.数组的首地址
C.数组每一个元素的地址 D.数组每个元素中的值
19、以下程序的输出结果是()。void main(){ int
a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%dn”,a[0][3],a[1
][2],a[2][1],a[3][0];} A.0650 B.1470 C.5430 D.输出值不定
多选题
1、关于数组类型的定义,下列描述中正确的是()A.数组的大小
一旦定义就是固定的 B.一个数组中的各元素类型可以不一样 C.数组的
下标类型为整型 D.数组元素的下标从1开始
2、下面对数组描述正确的是()A.数组的长度是不可变的
B.数组不能先声明长度再不赋值 C.数组只能存储相同数据类型的
元素 D.数组没有初始值
判断题
1、在C语言中,只有一维数组和二维数组()。
2、数组的索引是从1开始的()。
3、数组属于构造类型的数据()。
4、数组名的命名较为特别,它不符合标识符的命名规范()。
5、数组在初始化时不可以只赋值一部分,必须全部赋值初始化
()。
6、对于一维数组,例如intarr[3];则arr[2]表示数组的第2个元素
()。
7、数组的下标范围是0-[数组长度-1]()。
8、二维数组进行定义与初始化时,行下标与列下标均不能省略
()。
9、在程序设计中,一组具有相同数据类型的变量集合称为数组
()。
10、数组元素的下标用于表示元素在数组中的位置序号,该下标
是从1开始的()。
11、数组元素下标的个数也称为维数,根据维数的不同,可将数
组分为一维数组、二维数组、三维数组、四维数组等()。
12、一维数组指的是只有一个下标的数组,用来表示一组具有相
同类型的数据()。
13、数组初始化的常见方式有三种:直接对数组中的所有元素赋
值、只对数组中的一部分元素赋值、对数组全部元素赋值但不指定长
度()。
14、数组中的元素可以通过数组名和下标来引用()。
15、数组的下标都有一个范围,即“0 ~ 数组长度”()。
16、初始化二维数组时,如果对全部数组元素置初值,则二维数
组的第一个下标可省略,但第二个下标不能省略()。
填空题
1、C语言中数组名代表数组的()地址。
2、数组是一组具有()类型的数据的集合。
3、对于二维数组intarr[3][4],其中3为()下标,4为()下
标。
4、若定义二维数组intarr[5][6];则数组的列下标的取值范围为
()。
5、二维数组是通过数组名和()来引用其元素的。
6、C语言中数组必须先()再使用。
7、二维数组的定义格式为()。
8、一维数组指的是只有一个()的数组,用来表示一组具有相同
类型的数据。
9、数组的下标是用()括起来的,而不是圆括号。
10、假设定义一个3行4列的二维数组,那么共包含()个元素。
11、二维数组同一维数组一样,也是通过()和下标的方式来引
用数组元素。
12、假设定义数组int a[3][4],数组a可用的行下标范围是(),
列下标范围是()。简答题
1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如
果不能,说明原因;如果能,请写出运行结果。void main(){ int
i;chararr[5] = { 'h', 'e', 'l', 'l', 'o' };for(i = 0;i < 5;i++)
printf(“%c”, arr[i]);}
2、请阅读下面的程序,在空白处填写正确的代码,只打印出数组
偶数位上的元素。int main(){ int i;intarr[8] = { 1, 0, 1, 0, 1, 0, 1,
0 };for(i = 0;i < 8;i++){
;
printf(“%dn”, arr[i]);} return 0;}
3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如
果不能,说明原因;如果能,请写出运行结果。void
main(){ floatarr[6] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };inti,t;t = arr[0];for(i
= 0;i < 5;i++)
arr[i] = arr[i + 1];
arr[5] = t;for(i = 0;i < 6;i++)
printf(“%-6.2f”, arr[i]);}
4、请阅读下面的程序,在空白处填写正确的代码,输出数组中最
大元素的下标。int main(){ int i, p;intarr[] = { 1,-3, 0,-9, 8, 5, 20,
3 };for(i = 0, p = 0;i < 8;i++){
if()
;} printf(“p = %dn”, p);return 0;}
5、请阅读下面的程序,在空白处填写正确的代码,该程序的功能
是:删除字符串s中的所有数字字符。void dele(char *s){ int
n=0,i;for(i=0;s[i];i++)
if(_______)
s[n++]=s[i];s[n]=_______ }
6、请阅读下面的程序,在空白处填写正确的代码,该程序的功能
是:在一个初始化数组中查找与x相同的元素,如果找到就将该元素
置为
if(a[i]==x)
-x。void main(){ int
a[]={8,4,2,7,3,9},i,x;scanf(“%d”,&x);for(i=0;_______;i++)
_______ for(i=0;i<6;i++)
printf(“%d ”,a[i]);}
7、请阅读下面的程序,在空白处填写正确的代码,该程序的功能
是:计算str所指字符串的长度,并作为函数值返回。
intmystrlen(char *str){ int i;for(i=0;_______!='';i++);
return _______;}
8、请阅读下面的程序,在空白处填写正确的代码,该程序的功能
是:在5个数中,找出最大的元素及位置。#define size 5 void
main(){ int a[size]={4,6,3,9,23};intmax,p,i;_______
} p=0;for(i=1;imax){
max=a[i];
_______ }
9、请阅读下面的程序,在空白处填写正确的代码,该程序的功能
是:对N个数用直接插入排序法进行由小到大排序。
#define N 10 //待排序元素的个数
void insertsort(int R[N+1])//直接插入排序
{ inti,j;for(i=2;i<=N;i++){
R[0]=R[i];//设置监视哨
j=i-1;
while(_______)
{
R[j+1]=R[j];
_______
}
R[j+1]=R[0];} }
10、定义一个大小为10的char类型数组,从键盘输入其元素,
然后将其倒序输出。
11、定义一个大小为10的int类型数组,从键盘输入其元素,然
后将其从小到大排序后输出。
12、定义一个大小为10的int类型数组,从键盘输入其元素,然
后输出其中最大值。
13、定义一个二维数组intarr[3][4] =
{12,2,45,36,2,10,86,0,54,666,58,400};将数组中的元素按每一行每一
列输出;
14、有一个二维整型数组,每一行都有一个最大值,编程求出每
一行的最大值;
15、请简要说明如何定义一个一维数组并为之赋值。16请简要说
明一维数组与二维数组的区别。17简要描述数组有哪些特点。18请简
述什么是数组。
19请简述什么是多维数组的维数。
第三篇:语言程序设计练习题 2
汇编语言程序设计练习题
一、单项选择题:在每小题列出的四个备选项中只有一个是符合题
目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无
分。
1.CPU要访问的某一存储单元的实际地址称()C
A.段地址
B.偏移地址
C.物理地址
D.逻辑地址
2.某存储单元的物理地址是12345H,可以作为它的段地址有()
D
A.2345H
B.12345H
C.12340H
D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令
是()A
A.XOR BX,BX
B.OR BX,BX
C.AND BX,BX
D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环
继续执行的条件是()B
A.CX≠0且ZF=1
B.CX≠0且ZF=0
C.CX≠0或ZF=1
D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正
时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()
C
A.DAA校正指令的功能已自动加在AH中
B.进位值在AF中,校正后根据AF内容再加在AH中
C.进位值在CF中,校正后根据CF内容再加在AH中
D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH
中
6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正
确的是()C
A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位
B.指令OR DX,1000H执行后,将DX最高位置1,其余各位
置0
C.指令AND AL,OFH执行后,分离出AL低四位
D.NOT AX,执行后,将AX清0 7.在执行下列指令时,需要
使用段寄存器DS的指令是()D
A.STOSW
B.ADD AL,CL
C.NEG BX
D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使
BH中的数一定为奇数,应执行的指令是()B
A.ADD BH,01H
B.OR BH,01H
C.XOR BH,01H
D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操
作是()C
A.ROL CL,1
B.MUL 4
ROL CL,1
C.SHL CL,1
D.MOV CL,2
SHL CL,1
SHL CL,CL 10.下面各传送指令中,正确的是()C
A.MOV [DI],[SI]
B.MOV[DX+DI],AL
C.MOV WORD PTR [BX],0100H
D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,
请找出其中错误的说法()BD
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符
D.在名字中不允许出现$ 12.要实现使BETA的值为56,应采
用语句为()C
A.BETA DB 56
B.BETA DB 56H
C.BETA EQU 56
D.BETA EQU 56H 13.REPZ CMPSW指令,重复执行的终止
条件是()A
A.CX=0或ZF=0
B.CX=0且ZF=0
C.CX=0或ZF=1
D.CX=0且ZF=1 14.下面程序段执行后,AL中的内容是()
B
MOV AX,8833H
ADD AL,AH
DAA
A.21
B.21H
C.0C1H
D.0DDH 15.比较两个带符号的数A、B,当A=B时程序转移,
测试的条件为()A
A.ZF=1
B.ZF=0
C.SF=1
D.SF=0 16.检查二个无符号数的关系,若要实现AL≥BL时分
支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()
A
A.JNC LOP1
B.JA LOP1
C.JC LOP1
D.JGE LOP1 17.在下列串操作指令中,同时使用源串和目的串
地址指针的指令是()D
A.STOSW
B.LODSW
C.SCASW
D.CMPSW 18.设AL=0AH,下列指令执行后能使AL=05H的
是()C
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH 19.DA1 DW‘AB’,‘CD’,‘EF’,
‘GH’()D ┇
MOV AX,DA1+3 指令执行后AX中的内容是
A.‘EF’
B.‘CD’
C.‘BC’
D.‘FC’
20.使用DOS系统功能调用时,使用的软中断指令是()
A.INT 21
B.INT 10H
C.INT 16H
D.INT 21H
二、填空题请在每小题的空格中填上正确答案。错填、不填均无
分。
1.十六进制数0FFF8H表示的十进制正数为________,表示的十
进制负数为________。
2.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,
[SI+COUNT]中,源操作数的有效地址EA为________,其物理地址为
________。
3.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为
________标志位,另一类称为________标志位。
4.当标志位________=1时表示无符号数运算产生溢出,而当标志
位________=1是表示带符号数运算产生溢出。
5.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中
存放有转移地址,其中前两个字节存放的是________,而后两个字节存
放的是________。
6.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,
选用的串操作指令是________或________才有实际意义。
三、简答题
1.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,
分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,
[BX](2)MOV CS:[BX+DI],AH
2.0P1 DB 1,2 0P2 DW 3412H,5678H ┇
MOV AX,OP1+1;字单元(OP1+1)AX MOV BL,OP2+1;
字节单元(OP2+1)BL 上述二条传送语句有语法错误,请根据注释字
段的说明,将其改正。
3.下列语句在存储器中分别为变量分配多少字节?
(1)AD2 DW 10 DUP(?),10(2)AD3 DD 100 DUP(?)
4.简述下面两条指令分别是什么语法错误? MOV [BX],[SI]
MOV AX,DL
四、程序分析题 1. MOV DL,AL NOT DL TEST DL,04H JE
NEXT ┇ NEXT:„
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?
程序段执行后CF是多少?
2.DA1 DB‘ABCDEFGHI’ DA2 DB 9 DUP(0)
┇
LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP: LODSB
SUB AL,10H STOSB 试问:①写出程序执行后DA2各
字节中的数据。
②保持程序功能情况下,程序中 可否改写为
3.已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段
执行后,BX=________,CF=________。
4. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD
AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的
功能是:
(2)AX=________。
5.已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,
WORD PTR DAT1 MOV CL,DAT1+3 当程序段执行完后
AX=________,CX=________。
6.DA1 DB 83H,72H,61H,94H,5AH ┇
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3
SHL AL,CL 上述指令序列执行后,AL=_______,CL=_______。
五、程序填空题(本大题共2小题,每小题6分,共12分)
1.在NUMW单元存放有一个0-65535范围内的整数,将该数
除以500,商和余数分别存入QU1和REM单元,请在空行处各填上
一条指令完善该程序。
┇
MOV AX,NUMW _____________ XOR DX,DX DIV BX MOV
QUI,AX _____________ 2.某程序欲用单个字符显示的2号功能调用去
显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试
在空白处填上适当的一条指令。STRING DB‘COMPUTER’,‘$’
┇
MOV BX,0FFSET STRING LOP:MOV DL,[BX] MOV AH,
02H INT 21H ____________________ ____________________ JNE LOP
六、编程序题
1.试编制一程序段,用串操作指令实现以DA_BY为首址的20H
个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。
2.试编制一源程序,统计DA1字单元中含0的个数,如统计的
个数为奇数,则将进位位置1,否则进位位清0。DATA SEGMENT
DA1 DW XXXX DATA ENDS
汇编语言程序设计练习题答案
一、1、C;
2、D;
3、A;
4、B;
5、C;
6、C;
7、D;
8、B;
9、C;
10、C;
11、B;
12、C;
13、A;
14、B;
15、A
16、C;
17、D;
18、C;
19、D;20、B
二、1、+65528;-32760 2、20A8H;11488H
3、状态;控制
4、CF;OF
5、IP;CS
6、STOS;CMP
三、1、(1)21357H;(2)43357H
2、MOV AX,WORD PTR(OP1+1)MOV BL,BYTE PTR
(OP2+1)
3、(1)22;(2)400
4、MOV指令不能在两个存储器操作数之间进行;
操作数类型不匹配
四、1、第2位;CF=0 2、123456789;不能更改
3、BX=4565H;CF=1
4、AX=012CH,将AX内容乘3送BX中
5、AX=3412H,CX=0078H
6、AL=0A0H,CL=03H
五、1、MOV BX,500 MOV REM,DX
2、INC BX CMP byte ptr [BX],24H
六、1、LEA DI,DA_BY MOV CX,32 MOV AL,‘Y’ CLD
REP STOSB
2、CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV
AX,DATA MOV DS,AX LEA SI,DA1 MOV CX,16 XOR BL,BL AGAIN:
MOV AL,[SI] HL AL,1 JC NEXT INC BL NEXT:INC SI LOOP AGAIN
TEST BL,01H JNE L1 CLC JMP DONE L1: STC DONE: MOV AH,4CH
INT 21H CODE ENDS END START
第四篇:C语言程序设计教程课程设计
《C语言程序设计教程课程设计》计划 类别:课程设计
适用于三年制专科计算机应用专业 学分:1 周数:1
一、设计目的与要求
《高级语言程序设计课程设计》是《高级语言程序设计》课程的
实践环节,其教学目的是通过一些中小规模程序的编程,使学生对c语
言程序设计的基本规则与方法有比较全面的理解和认识,熟练掌握高
级语言程序设计技术,为以后学习更高层次的程序设计和软件开发奠
定坚实基础。
通过本课程设计,应达到下列基本要求: 能够结合c语言来理解
程序设计的基本概念;
掌握用c语言解决问题的基本方法和步骤,能够熟练地使用c语言
编写中小型应用程序; 熟练掌握c语言编程规则,掌握函数的应用方
法和编写; 熟练掌握面向过程程序设计方法; 掌握结构化程序设计思
想和方法; 培养和提高学生的程序调试能力;
培养学生查阅手册、图表和文献资料的能力; 培养学生撰写报告
文档的能力。
二、课程设计题目
每个题目的限选人数根据班级总人数平均后确定,但要求同一题
目的学生独立完成设计题目,以下10个题目任选其一。1。职工信息
管理系统设计 1.1问题描述
试设计一职工信息管理系统,职工信息包括职工号、姓名、性别、
年龄、学历、工资、住址、电话等(职工号不重复)1.2基本要求
1.系统以菜单方式工作(2.职工信息录入功能(3.职工信息浏览
功能(4.查询和排序功能:(至少一种查询方式)--算法(((1)按工
资查询((2)按学历查询等
5.职工信息删除、修改功能(任选项)(2.图书信息管理系统设计
1.1问题描述
试设计一图书信息管理系统,图书信息包括:登录号、书名、作
者名、分类号、出版单位、出版时间、价格等。1.2基本要求
1.系统以菜单方式工作(2..图书信息录入功能(3..图书信息浏
览功能(4..查询和排序功能:(至少一种查询方式)--算法(((1)按
书名查询((2)按作者名查询
5..图书信息的删除与修改(3。学生信息管理系统设计 3.1问题描
述
试设计一学生信息管理系统,学生信息包括:学号、姓名、年龄、
性别、出生年月、地址、电话、E-mail等。3.2基本要求
1..系统以菜单方式工作 2..学生信息录入功能 3..学生信息浏
览功能 4..查询、排序功能(1)按学号查询(2)按姓名查询
5..学生信息的删除与修改 4。学生选修课程系统设计 4.1问题描
述
试设计一选修课程系统,假定有n门课程,每门课程有课程编号,
课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,
开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
4.2基本要求
1.系统以菜单方式工作(2.课程信息录入功能(3.课程信息浏览
功能(4.查询功能:(至少一种查询方式)--算法((1)按学分查询
((2)按课程性质查询(5.学生选修课程(可选项)(5。销售管理系统
5.1问题描述
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:
1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每
张便条包含内容:(1)销售员的代号,(2)产品的代号。(3)这种
产品的当天的销售额。每位销售员每天可能上缴0-5张便条。假设,
收集到了上个月的所有便条,5.2基本要求
编写一个处理系统,读取上个月的销售情况(自己设定),进行
如下处理。1.计算上个月每个人每种产品的销售额。
2.按销售额对销售员进行排序,输出排序结果(销售员代号)
3.统计每种产品的总销售额,对这些产品按从高到底的顺序,输
出排序结果(需输出产品的代号和销售额)4.输出统计报表
版权声明:本文标题:C语言程序设计教程第一章练习题题目(精选5篇) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713791656a651692.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论