我们每天都要进行不同文档的处理,范文是我们快速入手写作的重要工具。范文构思可以让自己更加娴熟地运用写作技巧,要怎么样做才能短时间内写出范文的水平?“语言试题参考答案”或许能够帮助您找到对这个问题更好的回答,如果本文能够为您带来一些灵感我会感到非常高兴!
语言试题参考答案 篇1
(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分)
1、 在C语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const
2、 不属于C语言基本数据类型的是( )
A). int B). union C). char D). unsigned
3、 下面是对宏定义的描述。不正确的是( )
A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间
C). 宏替换只是字符串的简单替代
D). 宏替换时先检查类型,类型一致时才可以替换
4、 C语言中,″\xfds″在内存中占用的字节数是( )
A).3 B).4 C).5 D).6
5、 设int x;则执行printf(″%x\n″,~x^x);的结果是( )
A). ffffffff B). ff C). 0 D). 1
6、 对于while( )
A).用条件控制循环体的执行次数 B).循环体至少要执行一次
C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句
7、 执行下列语句后输出的结果是( )
int a=8,b=7,c=6;
if(ac){a=c;c=b;}
printf("%d,%d,%d\n",a,b,c);
A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,8
8、 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )
A).9,19 B).9,20 C).10,19 D).10,20
9、 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′id="article-content1">
我们每天都要进行不同文档的处理,范文是我们快速入手写作的重要工具。范文构思可以让自己更加娴熟地运用写作技巧,要怎么样做才能短时间内写出范文的水平?“语言试题参考答案”或许能够帮助您找到对这个问题更好的回答,如果本文能够为您带来一些灵感我会感到非常高兴!
语言试题参考答案 篇1
(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分)
1、 在C语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const
2、 不属于C语言基本数据类型的是( )
A). int B). union C). char D). unsigned
3、 下面是对宏定义的描述。不正确的是( )
A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间
C). 宏替换只是字符串的简单替代
D). 宏替换时先检查类型,类型一致时才可以替换
4、 C语言中,″\\xfds″在内存中占用的字节数是( )
A).3 B).4 C).5 D).6
5、 设int x;则执行printf(″%x\n″,~x^x);的结果是( )
A). ffffffff B). ff C). 0 D). 1
6、 对于while( )
A).用条件控制循环体的执行次数 B).循环体至少要执行一次
C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句
7、 执行下列语句后输出的结果是( )
int a=8,b=7,c=6;
if(ac){a=c;c=b;}
printf("%d,%d,%d\n",a,b,c);
A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,8
8、 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )
A).9,19 B).9,20 C).10,19 D).10,20
9、 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )
A).x数组的长度等于y数组的长度 B).x数组的长度大于y数组的长度
C).x数组的长度少于y数组的长度 D).x数组与y数组的存储区域相同
10、 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )
for(i=0;i
printf(″%d″,x[i][2-i]);
A).147 B).159 C).357 D).369
11、 执行完下列语句后,n的值是( )
int n;
for (n=0 ; n
A).125 B).126 C).127 D).128
12、 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )
A).–132 B).–60 C). -24 D). 0
13、 为了连接两个字符串s1与s2,应当使用( )
A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )
14、 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )
A).位与运算 B).逻辑与运算 C).取指针内容 D).取变量地址
15、 下面输出的结果为( )
int a=13, b=64;
printf(“%d\n”, !a || (b>>3) ); A).13 B).64 C).1 D).0
16、 下列定义正确的是( )
A).enum t={a,b}x; B). enum t{1,2}x; C). enum {′+′,′-′}x; D). enum t{a,b}x;
17、 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;
则printf(″%d\n″,sizeof(aa));的输出是( ) A).32 B).36 C).12 D).8
18、 数据-54.78在文本文件中占用的字节个数是( )
A).4 B).5 C).6 D).8
19、 在宏定义#define p(r) 3.14*r中,请问宏名是( )
A). p B). p(r) C). 3.14*r D). p(r) 3.14*r 20、 要打开一个已存在的.用于修改的非空二进制文件“hello.txt”,正确语句是( )
A). fp=fopen( "hello.txt ","r" ) B). fp=fopen( "hello.txt ","ab+" ) C). fp=fopen( "hello.txt ","w" ) D). fp=fopen( "hello.txt ","r+" ) 密 封 线 内 答 题 无 效
语言试题参考答案 篇2
(每小题6分,共36分)
1.现有如下程序段:
DATA SEGMENT DA3 EQU 1234H
ORG 0020H DA4 EQU $-DA2
DA1 DW 12H,23H DA5 DB 31H,32H
DA2 DB 11H,21H DATA ENDS
请回答:(1)该程序段已占有的存储字节数是多少?
2.执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1
… MOV CH,TYPE NUM
MOV AX,NUM HLT
请问:(AX)=__0012H____,(BX)=_1221H_____,(CX)=__0200H____。
3.阅读如下程序:
ADRR DB XXH,XXH,……,XXH CMP ADRR[BX],0
NUM EQU $ -ADRR LOOPZ DON
RETT DB? JNZ NEXT
… MOV BL,OFFH
MOV CX,NUM NEXT:MOV RETT,BL
MOV BX,-1 HLT
DON:INC BX
请问:(1)该程序完成的功能是什么?
(2)程序执行后指出RETT字节单元中的内容是什么?
4.现有一子程序:
SUB1 PROC
PLUS:TEST BL,80H
TEST AL,80H
JE EXITO
JE PLUS
XCHANGE:XCHG AL,BL
TEST BL,80H
EXITO:RET
JNE EXITO
SUB1 ENDP
JMP XCHANGE
试回答:(1)子程序的功能是什么?
(2)若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=___
BL=______。
5.阅读程序段:
BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1]
RESULT DB? JNG NEXT
… MOV AL,[SI+1]
START:LEA SI,BLOCK NEXT:INC SI
MOV CX,[SI] LOOP LOP1
INC SI MOV RESULT,AL
MOV AL,[SI] HLT
请问:(1)该程序完成的功能是什么?
(2)该程序循环的次数是多少?
6.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。 ORG 100H
BLOK DW X1,X2,…,XN
COUNT EQU($-BLOLOK)/2
RESULT DW COUNT,?
LEA BX,BLOK-2
MOV CX,RESULT
XOR AX,AX
GOON:ADD BX,2
CMP AX,[BX]
JAE NEXT
MOV AX,[BX]
NEXT:LOOP GOON
MOV RESULT+2,AX
程序段执行完,回答下述问题
RESULT+2字存储单元的内容=______
BX=______
程序循环次数=______
语言试题参考答案 篇3
1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)
A.switch(x)
{
case 1.0: printf("* ");
case 2.0 printf("** ");
}
B.switch((int)x)
{
case 1.0: printf("* ");
case 2.0 printf("** ");
}
C.switch(a+b)
{
case 1: printf("* ");
case 2+1: printf("** ");
}
D.switch(a+b)
{
case 1: printf("* ")
case c: printf("** ");
}
标准答案:C
2. 若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出的结果是( )
int a; a=Y;
printf("%d ",Z);
printf("%d",--a); (2分)
A.7,6 B.12,6 C.12,5 D.7,5
标准答案:D
3. 下面的.符号常量定义中,正确的是 ( ) (2分)
A.#define PI 3.14; B.#include PI 3.14;
C.#define PI=3.14 D.#define PI 3.14
标准答案:D
4. 以下程序的输出结果是( )
int a, b;
void fun()
{ a=100; b=200; }
main()
{ int a=5, b=7;
fun();
printf("%d%d ", a,b);
} (2分)
A.100200 B.57 C.200100 D.75
标准答案:D
5. 若有以下调用语句,则不正确的fun函数的首部是( )
main()
{ …
int a[50],n;
…
fun(n, &a[9]);
…
} (2分)
A.void fun(int m, int x[])
B.void fun(int s, int h[41])
C.void fun(int p, int *s)
D.void fun(int n, int a)
标准答案:D
6. 以下程序的输出结果是( )
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
} (2分)
A.0 B.29 C.31 D.无定值
标准答案:C
7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)
A.auto和static B.auto和register
C.register和static D.extern和register
标准答案:B
8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定
标准答案:B
9. 以下函数值的类型是( )
fun ( float x )
{ float y;
y= 3*x-4;
return y;
} (2分)
A.int B.不确定 C.void D.float
标准答案:A
10. C语言规定函数的返回值的类型是由( ) (2分)
A.return语句中表达式类型决定
B.调用该函数时的主调函数类型决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型决定
标准答案:D
11. 若有说明:int i,j=7, *p=&i; 则与i=j;等价的语句是( ) (2分)
A.i= *P; B.*p=*&j; C.i=&j; D.i=* *p;
标准答案:B
12. 以下程序执行后a的值是( )
main()
{ int a,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
printf("%d ",a);
} (2分)
A.4 B.1 C.0 D.a无定值
标准答案:D
13. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)
A.*p=&a;scanf("%ld",p);
B.p=(long *)malloc(8);scanf("%ld",p);
C.scanf("%ld",p=&a);
D.scanf("%ld",&a);
标准答案:A
14. 以下程序的输出结果是( )
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main()
{p=(int *)malloc(sizeof(int));
f(p,a);
printf("%d ",*p);
}
f(int *s,int p[][3])
{*s=p[1][1];} (2分)
A.1 B.4 C.7 D.5
标准答案:D
15. 设已有定义: char *st="how are you"; 下列程序段中不正确的是( ) (2分)
A.char a[12], *p; strcpy(p=a+1,&st[4]);
B.char a[12]; strcpy(++a, st);
C.char a[12]; strcpy(a, st);
D.char a[12], *p; strcpy(p=&a[1],st+2);
标准答案:B
18. 以下程序的输出结果是_____ B___。
main()
{
char cf[3][5]={"AAAA","BBB","CC"};
printf(""%s" ",ch[1]);
} (2分)
A."AAAA" B. "BBB" C."BBBCC" D."CC"
标准答案:B
19. 以下程序的输出结果是_______。
main()
{
int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i for(j=i;j printf("%d ",t);
} (2分)
A.3 B.4 C.1 D.9
标准答案:B
20. 在下列变量中,()不是局部变量 (2分)
A.register类 B.外部static类
C.auto类 D.函数形参
标准答案:B
语言试题参考答案 篇4
(每小题1分,共20分)
1.指令JMP FAR PTR DONE属于( D )
A.段内转移直接寻址 B.段内转移间接寻址
C.段间转移直接寻址 D.段间转移间接寻址
2.下列叙述正确的是( C )
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP
S指令
B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM
P指令
C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J
NL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J
NB指令
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这
个数据区最末一个字单元的物理地址是( )
A.12CSBH B.12B6BH C.12C59H D.12BFEH
4.在下列指令的表示中,不正确的是( C )
A.MOV AL,[BX+SI] B.JMP SHORT DONI
C.DEC [BX] D.MUL CL
5.在进行二重循环程序设计时,下列描述正确的是( A )
A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内
B.外循环初值应置外循环之内;内循环初值应置内循环之内
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
6.条件转移指令JNE的测试条件为( A )
A.ZF=0 B.CF=0 C.ZF=1 D.CF=1
7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( D )
A.BX或CX B.CX或SI C.DX或SI
D.SI或DI
8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在
( A )中。
A.数据段中偏移量为3236H的字节
B.附加段中偏移量为3234H的字节
C.数据段中偏移量为3234H的字节
D.附加段中偏移量为3236H的字节
9.执行如下程序:( )
MOV AX,0
MOV AX,0
MOV BX,1
MOV CX,100
A:ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)=( C )
A.99 B.100 C.101 D.102
10.上题的程序执行后(AX)=( B )
A.5000 B.5050 C.5100 D.5150
11.对于下列程序段:( )
AGAIN:MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP AGAIN 也可用______指令完成同样的功能。
A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB
12.下面指令序列执行后完成的运算,正确的算术表达式应是( )
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A.y=x2+1 B.x=y2+1 C.x=y2-1 D.y=x2-1
13.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。
( B )
A.占内存空间小,但速度慢 B.占内存空间大,但速度快
C.占内存空间相同,速度快 D.占内存空间相同,速度慢
14.在程序执行过程中,IP寄存器中始终保存的是( )
A.上一条指令的首地址 B.下一条指令的首地址
C.正在执行指令的首地址 D.需计算有效地址后才能确定地址
15.PSW寄存器中共有______位条件状态位,有______位控制状态位。( )
A.6、3 B.3、6 C.8、4 D.4、8
16.下列指令执行时出错的是( A )
A.ADD BUF1,BUF2
B.JMP DWORD PTR DAT [BX]
C.MOV AX,[BX+DI] NUM
D.TEST AL,08H
17.已知(AX)=1234H,执行下述三条指令后,(AX)=( D ) MOV BX,AX
NEG BX
ADD AX,BX
A.1234H B.0EDCCH C.6DCCH D.0000H
18.在下列指令中,______指令的执行会影响条件码中的CF位。( )
A.JMP NEXT B.JC NEXT C.INC BX
D.SHL AX,1
19.串指令中的目的操作数地址是由______提供。( C )
A.SS:[BP] B.DS:[SI] C.ES:[DI]
D.CS:[IP]
20.将DX的内容除以2,正确的指令是( )
A.DIV 2 B.DIV DX,2 C.SAR DX,1
D.SHL DX,1
语言试题参考答案 篇5
(每小题4分,共12分)
1.假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后, DX中的值。
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL ?????
2.写出完成下述功能的程序段:
(1)传送25H到AL寄存器
(2)将AL的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容
并请写出最后(AX)=?
3.写一程序段,求双字长数DX∶bX的相反数。
NEG DX
NEG AX
SBB DX, 0
语言试题参考答案 篇6
一、单项选择题(20分,每题2分)
1.以下叙述中错误的是。C
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行时,数组元素的下标越界时,系统给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
2.以下叙述中,正确的是:C
A)continue和break语句只能用于循环体内
B)continue和break语句只能用于分支语句中
C)continue语句只能用于循环体内
D)continue语句只能用于分支语句中
3.执行下列程序段后,正确的结果是 C
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
4.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
5.变量的指针,其含义是指该变量的 B
A)值 B)地址 C)名 D)一个标志
6.执行下列程序段后,正确的结果是A
int i=5;
while(i=1)
i--;
printf(“%d”,i)
A) 5 B) 0 C) 1 D) 无限循环
7.for(i=0;i
if(i〈=5) break;
则循环结束后i的值为
A)0 B)1 C)5 D)10
8.执行下列程序段后,正确的结果是C
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
10.设有数组定义:char str[]=”China”;则下面的输出为B
printf(“%d”,strlen(str));
A)4 B)5 C)6 D)7
二、填空题(30分,每空2分)
1.C语言提供的三种逻辑运算符是__&&___、__||___和__!__。
2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33,则输出结果是 1 B 。
#include
main()
{
char a,b;
a=getchar();
scanf("%d",&b);
a=a-'A'+'0';
b=b*2;
printf("%c %c\n",a,b);
}
3.以下程序运行后的输出结果是 4 3 5 。
main()
{
int a=3,b=4,c=5,t=99;
if(b
if(a
printf("%d %d %d\n",a,b,c);
}
4.下面程序将字符数组a复制到字符数组b中。
main()
{
char a[]="I am a boy.",b[20];
int i;
for(i=___0____;a[i]!='\0';i++)
{
____ b[i]=a[i]____;
}
_____ b[i]= '\0'____;
}
5.若有定义:double x[3][5];
则x数组行下标的上限是__0___,列下标的下限是__4___。
6.以下程序运行后的输出结果是 101 。
#define S(x) 4*(x)*(x)+1
main()
{
int i=2,j=3;
printf("%d\n",S(i+j));
}
7.若有定义:double x[3][5];
则x数组行下标的上限是_0____,列下标的下限是_4___。
8.已知宏定义#define s 2+3
printf(”%d”,s*4);的输出结果是__14_____。
9.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 2 。
三、写出程序的运行结果(30分,每题10分)
1.写出程序运行后的输出结果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
}
16
2.写出程序运行结果
#include
main()
{
int i=10,j=0;
do
{
j=j+i;
i--;
}while(i>2);
printf("%d\n",j);
}
52
3.写出程序运行后的输出结果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
}
16
四、编程(完形填空)(20分,每题10分)
1.打印所有水仙花数,所谓水仙花数是指一个三位数,其各位数的立方和等于其本身。
include
main()
{
int i,j,k,m;
for(i=100; i
{
j=i/100;
k= i/10 ;
m=i;
if( j*100+k*10+m==m*m*m+j*j*j+k*k*k )
printf("%d\n", i);
}
}
2.以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。
main()
{
int yy,mm,day;
scanf(“%d%d”,&yy,&mm);
switch(_mm__)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12: day=__31_;
break;
case4:
case6:
case9:
case11: day=__30___;
break;
case2: if(((yy%4==0)__&&___(yy0!=0))__||__(yy@0==0))
day=29;
else
day=28;
break;
}
}
′};那么( )
A).x数组的长度等于y数组的长度 B).x数组的长度大于y数组的长度
C).x数组的长度少于y数组的长度 D).x数组与y数组的存储区域相同
10、 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )
for(i=0;i
printf(″%d″,x[i][2-i]);
A).147 B).159 C).357 D).369
11、 执行完下列语句后,n的值是( )
int n;
for (n=0 ; n
A).125 B).126 C).127 D).128
12、 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )
A).–132 B).–60 C). -24 D). 0
13、 为了连接两个字符串s1与s2,应当使用( )
A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )
14、 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )
A).位与运算 B).逻辑与运算 C).取指针内容 D).取变量地址
15、 下面输出的结果为( )
int a=13, b=64;
printf(“%d\n”, !a || (b>>3) ); A).13 B).64 C).1 D).0
16、 下列定义正确的是( )
A).enum t={a,b}x; B). enum t{1,2}x; C). enum {′+′,′-′}x; D). enum t{a,b}x;
17、 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;
则printf(″%d\n″,sizeof(aa));的输出是( ) A).32 B).36 C).12 D).8
18、 数据-54.78在文本文件中占用的字节个数是( )
A).4 B).5 C).6 D).8
19、 在宏定义#define p(r) 3.14*r中,请问宏名是( )
A). p B). p(r) C). 3.14*r D). p(r) 3.14*r 20、 要打开一个已存在的.用于修改的非空二进制文件“hello.txt”,正确语句是( )
A). fp=fopen( "hello.txt ","r" ) B). fp=fopen( "hello.txt ","ab+" ) C). fp=fopen( "hello.txt ","w" ) D). fp=fopen( "hello.txt ","r+" ) 密 封 线 内 答 题 无 效
语言试题参考答案 篇2
(每小题6分,共36分)
1.现有如下程序段:
DATA SEGMENT DA3 EQU 1234H
ORG 0020H DA4 EQU $-DA2
DA1 DW 12H,23H DA5 DB 31H,32H
DA2 DB 11H,21H DATA ENDS
请回答:(1)该程序段已占有的存储字节数是多少?
2.执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1
… MOV CH,TYPE NUM
MOV AX,NUM HLT
请问:(AX)=__0012H____,(BX)=_1221H_____,(CX)=__0200H____。
3.阅读如下程序:
ADRR DB XXH,XXH,……,XXH CMP ADRR[BX],0
NUM EQU $ -ADRR LOOPZ DON
RETT DB? JNZ NEXT
… MOV BL,OFFH
MOV CX,NUM NEXT:MOV RETT,BL
MOV BX,-1 HLT
DON:INC BX
请问:(1)该程序完成的功能是什么?
(2)程序执行后指出RETT字节单元中的内容是什么?
4.现有一子程序:
SUB1 PROC
PLUS:TEST BL,80H
TEST AL,80H
JE EXITO
JE PLUS
XCHANGE:XCHG AL,BL
TEST BL,80H
EXITO:RET
JNE EXITO
SUB1 ENDP
JMP XCHANGE
试回答:(1)子程序的功能是什么?
(2)若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=___
BL=______。
5.阅读程序段:
BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1]
RESULT DB? JNG NEXT
… MOV AL,[SI+1]
START:LEA SI,BLOCK NEXT:INC SI
MOV CX,[SI] LOOP LOP1
INC SI MOV RESULT,AL
MOV AL,[SI] HLT
请问:(1)该程序完成的功能是什么?
(2)该程序循环的次数是多少?
6.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。 ORG 100H
BLOK DW X1,X2,…,XN
COUNT EQU($-BLOLOK)/2
RESULT DW COUNT,?
LEA BX,BLOK-2
MOV CX,RESULT
XOR AX,AX
GOON:ADD BX,2
CMP AX,[BX]
JAE NEXT
MOV AX,[BX]
NEXT:LOOP GOON
MOV RESULT+2,AX
程序段执行完,回答下述问题
RESULT+2字存储单元的内容=______
BX=______
程序循环次数=______
语言试题参考答案 篇3
1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)
A.switch(x)
{
case 1.0: printf("* ");
case 2.0 printf("** ");
}
B.switch((int)x)
{
case 1.0: printf("* ");
case 2.0 printf("** ");
}
C.switch(a+b)
{
case 1: printf("* ");
case 2+1: printf("** ");
}
D.switch(a+b)
{
case 1: printf("* ")
case c: printf("** ");
}
标准答案:C
2. 若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出的结果是( )
int a; a=Y;
printf("%d ",Z);
printf("%d",--a); (2分)
A.7,6 B.12,6 C.12,5 D.7,5
标准答案:D
3. 下面的.符号常量定义中,正确的是 ( ) (2分)
A.#define PI 3.14; B.#include PI 3.14;
C.#define PI=3.14 D.#define PI 3.14
标准答案:D
4. 以下程序的输出结果是( )
int a, b;
void fun()
{ a=100; b=200; }
main()
{ int a=5, b=7;
fun();
printf("%d%d ", a,b);
} (2分)
A.100200 B.57 C.200100 D.75
标准答案:D
5. 若有以下调用语句,则不正确的fun函数的首部是( )
main()
{ …
int a[50],n;
…
fun(n, &a[9]);
…
} (2分)
A.void fun(int m, int x[])
B.void fun(int s, int h[41])
C.void fun(int p, int *s)
D.void fun(int n, int a)
标准答案:D
6. 以下程序的输出结果是( )
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
} (2分)
A.0 B.29 C.31 D.无定值
标准答案:C
7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)
A.auto和static B.auto和register
C.register和static D.extern和register
标准答案:B
8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定
标准答案:B
9. 以下函数值的类型是( )
fun ( float x )
{ float y;
y= 3*x-4;
return y;
} (2分)
A.int B.不确定 C.void D.float
标准答案:A
10. C语言规定函数的返回值的类型是由( ) (2分)
A.return语句中表达式类型决定
B.调用该函数时的主调函数类型决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型决定
标准答案:D
11. 若有说明:int i,j=7, *p=&i; 则与i=j;等价的语句是( ) (2分)
A.i= *P; B.*p=*&j; C.i=&j; D.i=* *p;
标准答案:B
12. 以下程序执行后a的值是( )
main()
{ int a,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
printf("%d ",a);
} (2分)
A.4 B.1 C.0 D.a无定值
标准答案:D
13. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)
A.*p=&a;scanf("%ld",p);
B.p=(long *)malloc(8);scanf("%ld",p);
C.scanf("%ld",p=&a);
D.scanf("%ld",&a);
标准答案:A
14. 以下程序的输出结果是( )
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main()
{p=(int *)malloc(sizeof(int));
f(p,a);
printf("%d ",*p);
}
f(int *s,int p[][3])
{*s=p[1][1];} (2分)
A.1 B.4 C.7 D.5
标准答案:D
15. 设已有定义: char *st="how are you"; 下列程序段中不正确的是( ) (2分)
A.char a[12], *p; strcpy(p=a+1,&st[4]);
B.char a[12]; strcpy(++a, st);
C.char a[12]; strcpy(a, st);
D.char a[12], *p; strcpy(p=&a[1],st+2);
标准答案:B
18. 以下程序的输出结果是_____ B___。
main()
{
char cf[3][5]={"AAAA","BBB","CC"};
printf(""%s" ",ch[1]);
} (2分)
A."AAAA" B. "BBB" C."BBBCC" D."CC"
标准答案:B
19. 以下程序的输出结果是_______。
main()
{
int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i for(j=i;j printf("%d ",t);
} (2分)
A.3 B.4 C.1 D.9
标准答案:B
20. 在下列变量中,()不是局部变量 (2分)
A.register类 B.外部static类
C.auto类 D.函数形参
标准答案:B
语言试题参考答案 篇4
(每小题1分,共20分)
1.指令JMP FAR PTR DONE属于( D )
A.段内转移直接寻址 B.段内转移间接寻址
C.段间转移直接寻址 D.段间转移间接寻址
2.下列叙述正确的是( C )
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP
S指令
B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM
P指令
C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J
NL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J
NB指令
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这
个数据区最末一个字单元的物理地址是( )
A.12CSBH B.12B6BH C.12C59H D.12BFEH
4.在下列指令的表示中,不正确的是( C )
A.MOV AL,[BX+SI] B.JMP SHORT DONI
C.DEC [BX] D.MUL CL
5.在进行二重循环程序设计时,下列描述正确的是( A )
A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内
B.外循环初值应置外循环之内;内循环初值应置内循环之内
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
6.条件转移指令JNE的测试条件为( A )
A.ZF=0 B.CF=0 C.ZF=1 D.CF=1
7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( D )
A.BX或CX B.CX或SI C.DX或SI
D.SI或DI
8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在
( A )中。
A.数据段中偏移量为3236H的字节
B.附加段中偏移量为3234H的字节
C.数据段中偏移量为3234H的字节
D.附加段中偏移量为3236H的字节
9.执行如下程序:( )
MOV AX,0
MOV AX,0
MOV BX,1
MOV CX,100
A:ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)=( C )
A.99 B.100 C.101 D.102
10.上题的程序执行后(AX)=( B )
A.5000 B.5050 C.5100 D.5150
11.对于下列程序段:( )
AGAIN:MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP AGAIN 也可用______指令完成同样的功能。
A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB
12.下面指令序列执行后完成的运算,正确的算术表达式应是( )
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A.y=x2+1 B.x=y2+1 C.x=y2-1 D.y=x2-1
13.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。
( B )
A.占内存空间小,但速度慢 B.占内存空间大,但速度快
C.占内存空间相同,速度快 D.占内存空间相同,速度慢
14.在程序执行过程中,IP寄存器中始终保存的是( )
A.上一条指令的首地址 B.下一条指令的首地址
C.正在执行指令的首地址 D.需计算有效地址后才能确定地址
15.PSW寄存器中共有______位条件状态位,有______位控制状态位。( )
A.6、3 B.3、6 C.8、4 D.4、8
16.下列指令执行时出错的是( A )
A.ADD BUF1,BUF2
B.JMP DWORD PTR DAT [BX]
C.MOV AX,[BX+DI] NUM
D.TEST AL,08H
17.已知(AX)=1234H,执行下述三条指令后,(AX)=( D ) MOV BX,AX
NEG BX
ADD AX,BX
A.1234H B.0EDCCH C.6DCCH D.0000H
18.在下列指令中,______指令的执行会影响条件码中的CF位。( )
A.JMP NEXT B.JC NEXT C.INC BX
D.SHL AX,1
19.串指令中的目的操作数地址是由______提供。( C )
A.SS:[BP] B.DS:[SI] C.ES:[DI]
D.CS:[IP]
20.将DX的内容除以2,正确的指令是( )
A.DIV 2 B.DIV DX,2 C.SAR DX,1
D.SHL DX,1
语言试题参考答案 篇5
(每小题4分,共12分)
1.假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后, DX中的值。
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL ?????
2.写出完成下述功能的程序段:
(1)传送25H到AL寄存器
(2)将AL的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容
并请写出最后(AX)=?
3.写一程序段,求双字长数DX∶bX的相反数。
NEG DX
NEG AX
SBB DX, 0
语言试题参考答案 篇6
一、单项选择题(20分,每题2分)
1.以下叙述中错误的是。C
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行时,数组元素的下标越界时,系统给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
2.以下叙述中,正确的是:C
A)continue和break语句只能用于循环体内
B)continue和break语句只能用于分支语句中
C)continue语句只能用于循环体内
D)continue语句只能用于分支语句中
3.执行下列程序段后,正确的结果是 C
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
4.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
5.变量的指针,其含义是指该变量的 B
A)值 B)地址 C)名 D)一个标志
6.执行下列程序段后,正确的结果是A
int i=5;
while(i=1)
i--;
printf(“%d”,i)
A) 5 B) 0 C) 1 D) 无限循环
7.for(i=0;i
if(i〈=5) break;
则循环结束后i的值为
A)0 B)1 C)5 D)10
8.执行下列程序段后,正确的结果是C
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
10.设有数组定义:char str[]=”China”;则下面的输出为B
printf(“%d”,strlen(str));
A)4 B)5 C)6 D)7
二、填空题(30分,每空2分)
1.C语言提供的三种逻辑运算符是__&&___、__||___和__!__。
2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33,则输出结果是 1 B 。
#include
main()
{
char a,b;
a=getchar();
scanf("%d",&b);
a=a-'A'+'0';
b=b*2;
printf("%c %c\n",a,b);
}
3.以下程序运行后的输出结果是 4 3 5 。
main()
{
int a=3,b=4,c=5,t=99;
if(b
if(a
printf("%d %d %d\n",a,b,c);
}
4.下面程序将字符数组a复制到字符数组b中。
main()
{
char a[]="I am a boy.",b[20];
int i;
for(i=___0____;a[i]!='id="article-content1">
我们每天都要进行不同文档的处理,范文是我们快速入手写作的重要工具。范文构思可以让自己更加娴熟地运用写作技巧,要怎么样做才能短时间内写出范文的水平?“语言试题参考答案”或许能够帮助您找到对这个问题更好的回答,如果本文能够为您带来一些灵感我会感到非常高兴!
语言试题参考答案 篇1
(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分)
1、 在C语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const
2、 不属于C语言基本数据类型的是( )
A). int B). union C). char D). unsigned
3、 下面是对宏定义的描述。不正确的是( )
A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间
C). 宏替换只是字符串的简单替代
D). 宏替换时先检查类型,类型一致时才可以替换
4、 C语言中,″\\xfds″在内存中占用的字节数是( )
A).3 B).4 C).5 D).6
5、 设int x;则执行printf(″%x\n″,~x^x);的结果是( )
A). ffffffff B). ff C). 0 D). 1
6、 对于while( )
A).用条件控制循环体的执行次数 B).循环体至少要执行一次
C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句
7、 执行下列语句后输出的结果是( )
int a=8,b=7,c=6;
if(ac){a=c;c=b;}
printf("%d,%d,%d\n",a,b,c);
A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,8
8、 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )
A).9,19 B).9,20 C).10,19 D).10,20
9、 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )
A).x数组的长度等于y数组的长度 B).x数组的长度大于y数组的长度
C).x数组的长度少于y数组的长度 D).x数组与y数组的存储区域相同
10、 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )
for(i=0;i
printf(″%d″,x[i][2-i]);
A).147 B).159 C).357 D).369
11、 执行完下列语句后,n的值是( )
int n;
for (n=0 ; n
A).125 B).126 C).127 D).128
12、 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )
A).–132 B).–60 C). -24 D). 0
13、 为了连接两个字符串s1与s2,应当使用( )
A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )
14、 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )
A).位与运算 B).逻辑与运算 C).取指针内容 D).取变量地址
15、 下面输出的结果为( )
int a=13, b=64;
printf(“%d\n”, !a || (b>>3) ); A).13 B).64 C).1 D).0
16、 下列定义正确的是( )
A).enum t={a,b}x; B). enum t{1,2}x; C). enum {′+′,′-′}x; D). enum t{a,b}x;
17、 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;
则printf(″%d\n″,sizeof(aa));的输出是( ) A).32 B).36 C).12 D).8
18、 数据-54.78在文本文件中占用的字节个数是( )
A).4 B).5 C).6 D).8
19、 在宏定义#define p(r) 3.14*r中,请问宏名是( )
A). p B). p(r) C). 3.14*r D). p(r) 3.14*r 20、 要打开一个已存在的.用于修改的非空二进制文件“hello.txt”,正确语句是( )
A). fp=fopen( "hello.txt ","r" ) B). fp=fopen( "hello.txt ","ab+" ) C). fp=fopen( "hello.txt ","w" ) D). fp=fopen( "hello.txt ","r+" ) 密 封 线 内 答 题 无 效
语言试题参考答案 篇2
(每小题6分,共36分)
1.现有如下程序段:
DATA SEGMENT DA3 EQU 1234H
ORG 0020H DA4 EQU $-DA2
DA1 DW 12H,23H DA5 DB 31H,32H
DA2 DB 11H,21H DATA ENDS
请回答:(1)该程序段已占有的存储字节数是多少?
2.执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1
… MOV CH,TYPE NUM
MOV AX,NUM HLT
请问:(AX)=__0012H____,(BX)=_1221H_____,(CX)=__0200H____。
3.阅读如下程序:
ADRR DB XXH,XXH,……,XXH CMP ADRR[BX],0
NUM EQU $ -ADRR LOOPZ DON
RETT DB? JNZ NEXT
… MOV BL,OFFH
MOV CX,NUM NEXT:MOV RETT,BL
MOV BX,-1 HLT
DON:INC BX
请问:(1)该程序完成的功能是什么?
(2)程序执行后指出RETT字节单元中的内容是什么?
4.现有一子程序:
SUB1 PROC
PLUS:TEST BL,80H
TEST AL,80H
JE EXITO
JE PLUS
XCHANGE:XCHG AL,BL
TEST BL,80H
EXITO:RET
JNE EXITO
SUB1 ENDP
JMP XCHANGE
试回答:(1)子程序的功能是什么?
(2)若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=___
BL=______。
5.阅读程序段:
BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1]
RESULT DB? JNG NEXT
… MOV AL,[SI+1]
START:LEA SI,BLOCK NEXT:INC SI
MOV CX,[SI] LOOP LOP1
INC SI MOV RESULT,AL
MOV AL,[SI] HLT
请问:(1)该程序完成的功能是什么?
(2)该程序循环的次数是多少?
6.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。 ORG 100H
BLOK DW X1,X2,…,XN
COUNT EQU($-BLOLOK)/2
RESULT DW COUNT,?
LEA BX,BLOK-2
MOV CX,RESULT
XOR AX,AX
GOON:ADD BX,2
CMP AX,[BX]
JAE NEXT
MOV AX,[BX]
NEXT:LOOP GOON
MOV RESULT+2,AX
程序段执行完,回答下述问题
RESULT+2字存储单元的内容=______
BX=______
程序循环次数=______
语言试题参考答案 篇3
1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)
A.switch(x)
{
case 1.0: printf("* ");
case 2.0 printf("** ");
}
B.switch((int)x)
{
case 1.0: printf("* ");
case 2.0 printf("** ");
}
C.switch(a+b)
{
case 1: printf("* ");
case 2+1: printf("** ");
}
D.switch(a+b)
{
case 1: printf("* ")
case c: printf("** ");
}
标准答案:C
2. 若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出的结果是( )
int a; a=Y;
printf("%d ",Z);
printf("%d",--a); (2分)
A.7,6 B.12,6 C.12,5 D.7,5
标准答案:D
3. 下面的.符号常量定义中,正确的是 ( ) (2分)
A.#define PI 3.14; B.#include PI 3.14;
C.#define PI=3.14 D.#define PI 3.14
标准答案:D
4. 以下程序的输出结果是( )
int a, b;
void fun()
{ a=100; b=200; }
main()
{ int a=5, b=7;
fun();
printf("%d%d ", a,b);
} (2分)
A.100200 B.57 C.200100 D.75
标准答案:D
5. 若有以下调用语句,则不正确的fun函数的首部是( )
main()
{ …
int a[50],n;
…
fun(n, &a[9]);
…
} (2分)
A.void fun(int m, int x[])
B.void fun(int s, int h[41])
C.void fun(int p, int *s)
D.void fun(int n, int a)
标准答案:D
6. 以下程序的输出结果是( )
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
} (2分)
A.0 B.29 C.31 D.无定值
标准答案:C
7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)
A.auto和static B.auto和register
C.register和static D.extern和register
标准答案:B
8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定
标准答案:B
9. 以下函数值的类型是( )
fun ( float x )
{ float y;
y= 3*x-4;
return y;
} (2分)
A.int B.不确定 C.void D.float
标准答案:A
10. C语言规定函数的返回值的类型是由( ) (2分)
A.return语句中表达式类型决定
B.调用该函数时的主调函数类型决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型决定
标准答案:D
11. 若有说明:int i,j=7, *p=&i; 则与i=j;等价的语句是( ) (2分)
A.i= *P; B.*p=*&j; C.i=&j; D.i=* *p;
标准答案:B
12. 以下程序执行后a的值是( )
main()
{ int a,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
printf("%d ",a);
} (2分)
A.4 B.1 C.0 D.a无定值
标准答案:D
13. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)
A.*p=&a;scanf("%ld",p);
B.p=(long *)malloc(8);scanf("%ld",p);
C.scanf("%ld",p=&a);
D.scanf("%ld",&a);
标准答案:A
14. 以下程序的输出结果是( )
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main()
{p=(int *)malloc(sizeof(int));
f(p,a);
printf("%d ",*p);
}
f(int *s,int p[][3])
{*s=p[1][1];} (2分)
A.1 B.4 C.7 D.5
标准答案:D
15. 设已有定义: char *st="how are you"; 下列程序段中不正确的是( ) (2分)
A.char a[12], *p; strcpy(p=a+1,&st[4]);
B.char a[12]; strcpy(++a, st);
C.char a[12]; strcpy(a, st);
D.char a[12], *p; strcpy(p=&a[1],st+2);
标准答案:B
18. 以下程序的输出结果是_____ B___。
main()
{
char cf[3][5]={"AAAA","BBB","CC"};
printf(""%s" ",ch[1]);
} (2分)
A."AAAA" B. "BBB" C."BBBCC" D."CC"
标准答案:B
19. 以下程序的输出结果是_______。
main()
{
int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i for(j=i;j printf("%d ",t);
} (2分)
A.3 B.4 C.1 D.9
标准答案:B
20. 在下列变量中,()不是局部变量 (2分)
A.register类 B.外部static类
C.auto类 D.函数形参
标准答案:B
语言试题参考答案 篇4
(每小题1分,共20分)
1.指令JMP FAR PTR DONE属于( D )
A.段内转移直接寻址 B.段内转移间接寻址
C.段间转移直接寻址 D.段间转移间接寻址
2.下列叙述正确的是( C )
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP
S指令
B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM
P指令
C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J
NL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J
NB指令
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这
个数据区最末一个字单元的物理地址是( )
A.12CSBH B.12B6BH C.12C59H D.12BFEH
4.在下列指令的表示中,不正确的是( C )
A.MOV AL,[BX+SI] B.JMP SHORT DONI
C.DEC [BX] D.MUL CL
5.在进行二重循环程序设计时,下列描述正确的是( A )
A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内
B.外循环初值应置外循环之内;内循环初值应置内循环之内
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
6.条件转移指令JNE的测试条件为( A )
A.ZF=0 B.CF=0 C.ZF=1 D.CF=1
7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( D )
A.BX或CX B.CX或SI C.DX或SI
D.SI或DI
8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在
( A )中。
A.数据段中偏移量为3236H的字节
B.附加段中偏移量为3234H的字节
C.数据段中偏移量为3234H的字节
D.附加段中偏移量为3236H的字节
9.执行如下程序:( )
MOV AX,0
MOV AX,0
MOV BX,1
MOV CX,100
A:ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)=( C )
A.99 B.100 C.101 D.102
10.上题的程序执行后(AX)=( B )
A.5000 B.5050 C.5100 D.5150
11.对于下列程序段:( )
AGAIN:MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP AGAIN 也可用______指令完成同样的功能。
A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB
12.下面指令序列执行后完成的运算,正确的算术表达式应是( )
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A.y=x2+1 B.x=y2+1 C.x=y2-1 D.y=x2-1
13.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。
( B )
A.占内存空间小,但速度慢 B.占内存空间大,但速度快
C.占内存空间相同,速度快 D.占内存空间相同,速度慢
14.在程序执行过程中,IP寄存器中始终保存的是( )
A.上一条指令的首地址 B.下一条指令的首地址
C.正在执行指令的首地址 D.需计算有效地址后才能确定地址
15.PSW寄存器中共有______位条件状态位,有______位控制状态位。( )
A.6、3 B.3、6 C.8、4 D.4、8
16.下列指令执行时出错的是( A )
A.ADD BUF1,BUF2
B.JMP DWORD PTR DAT [BX]
C.MOV AX,[BX+DI] NUM
D.TEST AL,08H
17.已知(AX)=1234H,执行下述三条指令后,(AX)=( D ) MOV BX,AX
NEG BX
ADD AX,BX
A.1234H B.0EDCCH C.6DCCH D.0000H
18.在下列指令中,______指令的执行会影响条件码中的CF位。( )
A.JMP NEXT B.JC NEXT C.INC BX
D.SHL AX,1
19.串指令中的目的操作数地址是由______提供。( C )
A.SS:[BP] B.DS:[SI] C.ES:[DI]
D.CS:[IP]
20.将DX的内容除以2,正确的指令是( )
A.DIV 2 B.DIV DX,2 C.SAR DX,1
D.SHL DX,1
语言试题参考答案 篇5
(每小题4分,共12分)
1.假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后, DX中的值。
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL ?????
2.写出完成下述功能的程序段:
(1)传送25H到AL寄存器
(2)将AL的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容
并请写出最后(AX)=?
3.写一程序段,求双字长数DX∶bX的相反数。
NEG DX
NEG AX
SBB DX, 0
语言试题参考答案 篇6
一、单项选择题(20分,每题2分)
1.以下叙述中错误的是。C
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行时,数组元素的下标越界时,系统给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
2.以下叙述中,正确的是:C
A)continue和break语句只能用于循环体内
B)continue和break语句只能用于分支语句中
C)continue语句只能用于循环体内
D)continue语句只能用于分支语句中
3.执行下列程序段后,正确的结果是 C
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
4.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
5.变量的指针,其含义是指该变量的 B
A)值 B)地址 C)名 D)一个标志
6.执行下列程序段后,正确的结果是A
int i=5;
while(i=1)
i--;
printf(“%d”,i)
A) 5 B) 0 C) 1 D) 无限循环
7.for(i=0;i
if(i〈=5) break;
则循环结束后i的值为
A)0 B)1 C)5 D)10
8.执行下列程序段后,正确的结果是C
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
10.设有数组定义:char str[]=”China”;则下面的输出为B
printf(“%d”,strlen(str));
A)4 B)5 C)6 D)7
二、填空题(30分,每空2分)
1.C语言提供的三种逻辑运算符是__&&___、__||___和__!__。
2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33,则输出结果是 1 B 。
#include
main()
{
char a,b;
a=getchar();
scanf("%d",&b);
a=a-'A'+'0';
b=b*2;
printf("%c %c\n",a,b);
}
3.以下程序运行后的输出结果是 4 3 5 。
main()
{
int a=3,b=4,c=5,t=99;
if(b
if(a
printf("%d %d %d\n",a,b,c);
}
4.下面程序将字符数组a复制到字符数组b中。
main()
{
char a[]="I am a boy.",b[20];
int i;
for(i=___0____;a[i]!='\0';i++)
{
____ b[i]=a[i]____;
}
_____ b[i]= '\0'____;
}
5.若有定义:double x[3][5];
则x数组行下标的上限是__0___,列下标的下限是__4___。
6.以下程序运行后的输出结果是 101 。
#define S(x) 4*(x)*(x)+1
main()
{
int i=2,j=3;
printf("%d\n",S(i+j));
}
7.若有定义:double x[3][5];
则x数组行下标的上限是_0____,列下标的下限是_4___。
8.已知宏定义#define s 2+3
printf(”%d”,s*4);的输出结果是__14_____。
9.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 2 。
三、写出程序的运行结果(30分,每题10分)
1.写出程序运行后的输出结果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
}
16
2.写出程序运行结果
#include
main()
{
int i=10,j=0;
do
{
j=j+i;
i--;
}while(i>2);
printf("%d\n",j);
}
52
3.写出程序运行后的输出结果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
}
16
四、编程(完形填空)(20分,每题10分)
1.打印所有水仙花数,所谓水仙花数是指一个三位数,其各位数的立方和等于其本身。
include
main()
{
int i,j,k,m;
for(i=100; i
{
j=i/100;
k= i/10 ;
m=i;
if( j*100+k*10+m==m*m*m+j*j*j+k*k*k )
printf("%d\n", i);
}
}
2.以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。
main()
{
int yy,mm,day;
scanf(“%d%d”,&yy,&mm);
switch(_mm__)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12: day=__31_;
break;
case4:
case6:
case9:
case11: day=__30___;
break;
case2: if(((yy%4==0)__&&___(yy0!=0))__||__(yy@0==0))
day=29;
else
day=28;
break;
}
}
';i++)
我们每天都要进行不同文档的处理,范文是我们快速入手写作的重要工具。范文构思可以让自己更加娴熟地运用写作技巧,要怎么样做才能短时间内写出范文的水平?“语言试题参考答案”或许能够帮助您找到对这个问题更好的回答,如果本文能够为您带来一些灵感我会感到非常高兴!
1、 在C语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const
A). int B). union C). char D). unsigned
A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间
C). 宏替换只是字符串的简单替代
D). 宏替换时先检查类型,类型一致时才可以替换
A). ffffffff B). ff C). 0 D). 1
A).–132 B).–60 C). -24 D). 0
A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )
A).enum t={a,b}x; B). enum t{1,2}x; C). enum {′+′,′-′}x; D). enum t{a,b}x;
A). p B). p(r) C). 3.14*r D). p(r) 3.14*r 20、 要打开一个已存在的.用于修改的非空二进制文件“hello.txt”,正确语句是( )
A). fp=fopen( "hello.txt ","r" ) B). fp=fopen( "hello.txt ","ab+" ) C). fp=fopen( "hello.txt ","w" ) D). fp=fopen( "hello.txt ","r+" ) 密 封 线 内 答 题 无 效
1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)
2. 若有宏定义如下:
3. 下面的.符号常量定义中,正确的是 ( ) (2分)
4. 以下程序的输出结果是( )
5. 若有以下调用语句,则不正确的fun函数的首部是( )
6. 以下程序的输出结果是( )
7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)
8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)
9. 以下函数值的类型是( )
10. C语言规定函数的返回值的类型是由( ) (2分)
11. 若有说明:int i,j=7, *p=&i; 则与i=j;等价的语句是( ) (2分)
12. 以下程序执行后a的值是( )
13. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)
14. 以下程序的输出结果是( )
15. 设已有定义: char *st="how are you"; 下列程序段中不正确的是( ) (2分)
18. 以下程序的输出结果是_____ B___。
A."AAAA" B. "BBB" C."BBBCC" D."CC"
19. 以下程序的输出结果是_______。
20. 在下列变量中,()不是局部变量 (2分)