C语言的几道考题,请各位高手帮忙,急!!!(追加50分)
以下解答仅供参考
-------------------------
1.PA=12FA0+015F=130FFH, 选C
----------------------------
2.考虑到寻址时IP的作用,选C. 变址寄存器
----------------------------
3.下面有语法错误的指令是: 不许两个操作数同时是存储器类型
D. ADD [BP+2],DA1 (DA1是变量名)
---------------------------------------------
4.完成对DX的有符号数除以2的指令是: B. SAR DX,1
----------------------------------------
5.使进位位置1的指令是: C. STC
----------------------------------------
6.设AL=-15,要使AL=15应执行的指令是: A. NEG AL
------------------------------------------
7.在条件转移指令中,结果为负数则转移的指令是: C. JS
---------------------------------------------
8.下面的XCHG指令中,语法正确的是: B. XCHG BL,[BX]
--------------------------------------------
9.一条指令中目的操作数不允许使用的寻址方式是:B. 立即数寻址
--------------------------------------------
10. 设SP=1FFEH,执行下列指令后,SP寄存器的值是: D. 1FFEH
----------------------------------------------
11.LDS SI,ES:[2000H] 指令的全部功能是: C. 把地址2000H字单元内容送SI,把2002H字单元内容送DS
------------------------------------------
12.设AL=04H,BL=0F8H,执行MUL BL指令后,结果是: C. AX=03E0H
-------------------------------------------
13.B. DI=0103H,CX=0001H
------------------------------------------------------
14. C. 21H
---------------------------------------
15.下面指令语句中,语法正确的是: D. MOV WORD PTR [BX],5
-------------------------------------------
16. BX中的内容是:A. 20H
---------------------------------------------------------
17. 能使AX中数据为偶数的语句是: C. MOV AL, BYTE PTR ADR+1
----------------------------------------------------------
18. C. END START
----------------------------------------------------------
19. A. 40H
---------------------------------------------------------
20.在下列段寄存器中,代码段寄存器是: B. CS
--------------------------------------------------------
char p[][20]={“get”,”put”,”out”};
p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。
strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。
你写上的答案有错误
最后一个明显是字符串而不是数组,输出应该是%s而不是%d,输入的时候不用加地址符&
第二题我算也等于-24
三题我答案和你的一样
四题
五题的S=0没什么作用,可以不写,最后的GETCH也可不写,我是没发现有什么用。
六题
include<stdio.h>
int stu(int a,int b,int c);
int stu(int a,int b,int c)
{
int s;
s=a*a+b*b+c*c;
return s;
}
void main()
{
int a,b,c;
printf("请输入3个数;")
scanf(“%d %d %d”,&a,&b,&c);
s=stu(a,b,c);
printf("%d",s);
}
实在是懒的写了,都快1点了。困了。。。。我给你写思路吧`我写清楚点~如果你有基础绝对可以自己写出来的。。。
第七题
要求不是很明确
要不要判断输入的数字合格?
不判断的话
输入FOR循环做,循环7次(i=0;i<7;i++)//因为输入7个数,所以循环7次,输入的数设个变量X(INT X)scanf("%d",x)
循环体再嵌套一个FOR循环(i=1;i<x;i++)用来输出*的,printf("*")
就解决了。
第八题
void main()
{
int A[30],b[15];
int i,j;
for(i=0;i<30;i++)
scanf("%d",&A[i]);
for(i=0,j=0;i<30;i+=2 j++ )
{
b[j]=A[i];
}
for(j=0;j<15;j++)
printf("%d",b[j]);
}
第9题 2 ; 8
10.3/2;
1.到3.这是有题解吧。
4.1 2 3 4
5.貌似是个完整的。
6.include<stdio.h>
int stu(int a,int b,int c);
void main()
{
int a,b,c;
scanf(“%d %d %d”,&a,&b,&c);
s=stu(a,b,c);
printf("%d",s);
}
int stu(int a,int b,int c)
{
int s;
s=a*a+b*b+c*c;
return s;
}
7.题干没看明白。。。不知道输出什么。
8.
include<stdio.h>
void main()
{
int A[30],b[15];
int i,j;
for(i=0;i<30;i++)
scanf("%d",&A[i]);
for(i=0;i<30;i+=2)
{
j=0;
b[j]=A[0];
j++;
}
for(j=0;j<15;j++)
printf("%d",b[j]);
}
9. 2 ; 8
10.3/2;
11.(1)4,1;(2)1;(3)5,6;
貌似都会
相关视频
9月计算机二级《C语言》上机考题及答案
1、以下选项中属于C语言的数据类型是( )。A. 复合型 B. 双精度型 C. 逻辑型 D. 集合型 2、以下说法中正确的是( )。A. C语言程序总是从第一个的函数开始执行 B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()...
急!要自考C语言,请教大家几个基本的编程题目
1. B !C就是0;&&语句j=!c已经为零,即真值已经为负,则后面i++不执行。故i=1,j=0;2.C 先看*说明s是指针,再看STRING说明s指向的是一个字符型数组。3.D.int a=4,*p=&a。 这个要怎么解释啊?*其实是告诉p是指针,应该理解为(int*)p,故a要加上取地址符。4.选项看不懂...
c语言单片机考试题目急用
4、state1=(state1<<2)+3;\/\/本语句的前半截 为 左移2位,则低2位变为0,需要补充2个1(即0000 0011b=3),以关闭低2位 的灯。5、j
计算机二级C语言如何备考?
下面是几道考核基本概念的试题,直接考查最基本的"知识点",属于偏容易的试题,但从考试情况看却不很理想。例1(2002年下选择题第13题)以下选项中合法的用户标识符是 A)long B)_2Test C)3Dmax D)A.dat 这道题考核"用户标识符"的概念。合法的标识符由字母、数字和下划线组成,第一个字符...