只加入一种试剂,一次就能鉴别NH<sub>4</sub>Cl、K

题目

只加入一种试剂,一次就能鉴别NH4Cl、KCl、Na2CO3、(NH42SO4四种溶液的()

  • A、NaOH;
  • B、AgNO3
  • C、HCl;
  • D、Ba(OH)2
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是【 】。

main()

{ int x=0;

sub(&x,8,1);

printf(“%d\n”,x);

}

sub(int *a,int n,int k)

{ if(k<=n)sub(a,n/2,2*k);

*a+=k;

}


正确答案:7
7 解析:在主函数中定义了一个变量x并赋初值0,然后执行函数调用语句,该语句的执行过程为sub(&x,8,1)调用sub(&a,4,2),sub(&a,4,2)调用sub(&a,2,4),sub(&a,2, 4)中由于24,所以if后面括号里的判断为假,递归结束,执行其后的*a+=k;语句此时 x=x+k=0+4=4,回退到上一层调用函数sub(&x,4,2)中,执行后面的语句,x=x+k= 4+2=6,再回推到最上一层调用函数sub(&x,8,1)执行后面的语句,x=x+k=6+1=7,所以最后输出7。

第2题:

下列程序的运行结果是()。includevoid sub(int*s,int*y){static int m=4;*y=s[0];m++;}

下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) {static int m=4; *y=s[0]; m++; } void main() {int a[]={1,2,3,4,5},k; int x; printf("\n"); for(k=0;k<=4;k++) {sub(a,&x); printf("%d,",x); } }

A.1,1,1,1,1,

B.1,2,3,4,5,

C.0,0,0,0,0,

D.4,4,4,4,4,


正确答案:A
解析:本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。

第3题:

下面程序运行后,窗体中显示【 】。

Private Sub Command1_Click) ( )

aS ="*" :b$ ="$"

For k = 1 To 3

x$ =Strings (Len(a$) +k,b$ )

Print x $;

Next

Print

End Sub


正确答案:$$$$$$$$$
$$$$$$$$$ 解析:本题的难点是了解生成字符函数String$()和计算字符函数Len(),a $="*"的作用只是被用来计算字符串的长度,没有被打印出来。打印分隔符为“;”时,字符串之间没有空格。空打印Print操作是换行。

第4题:

下面程序的输出结果是。 Private Sub Commandl_Click ch$=“ABCDEF” proc ch:Print ch End Sub Private Sub proc(ch As Stnng) s=“” For k=Len(ch) TO 1 Step -1 s=s&Mid(ch,k,1) Next k ch=s End Sub A.ABCDEF B.FEDCBA C.A D.F


正确答案:C

第5题:

在窗体上画一个名称为CoilTlilandl的命令按钮,然后编写如下事件过程: Private Sub command1 Click() Dim m As Integer, i As Integer, x(3)As Integer For i=0 To 3:x(i)=i:Next i For i = 1 To 2: Call sub1(x,i):Next i For i = 0 To 3: Print x(i);: Next i End Sub Private Sub sub1(a()As Integer,k As Integer) Dim i As Integer Do a(k)=a(k)+a(k+1) j = j + 1 Loop While j < 2 End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

A.0 3 7 5

B.0 1 2 3

C.3 2 4 5

D.0 5 8 3


正确答案:D
解析:数组也可以作为函数或者过程的参数,使用方法是直接使用数组名加括号,也可以直接使用数组名,采用sub1(x)和sub1(x())的调用形式都正确。变量i的作用只控制循环次数。

第6题:

下面程序的输出结果是( )。 #include"stdio.h" int sub(int m) { static a=4; a+=m; return a; } void main() { int i=2,j=1,k; k=sub(i); k=sub(j); printf("%d",k); }

A.6

B.7

C.8

D.9


正确答案:B
解析:在函数sub()的函数体中定义了一个静态存储变量a,a的值在函数调用完毕返回主函数后仍存在。第一次调用sub(i),a=a+m=4+2=6,返回值为6。第二次调用sub(j),a=a+m=6+1=7,返回值为7,最后输出k的值为7。

第7题:

以下程序的输出结果是( )。 include main()fint x=0; sub(&x,16,2); printf("%d\n",

以下程序的输出结果是( )。

include<stdio.h>

main()

fint x=0;

sub(&x,16,2);

printf("%d\n",x);

}

sub(int*a,int n,int k)

{if(k<=n) sub(a,n/2,2*k);

*a+=k;

}


正确答案:14
14 解析:本题考查递归函数的调用。在主函数中调用sub(&x,16,2)函数,此时n=16,k=2,if语句的控制的条件k=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k=n不成立,因此,最后得x=2+4+8=14。

第8题:

有如下程序,该程序的执行结果是【 】。

Private Sub Command1_lick()

For i= 1 To 4

x= 4

For j =1 To 3

x =3

For k=1 To 2

X= K+5

Next k

Next j

Next i

Print x

End Sub


正确答案:16
16

第9题:

下列程序的运行结果是()。includevoid sub(int*s,int*y){static int m=4:*y=s[m];m--;}

下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) {static int m=4: *y=s[m]; m--; } void main() {int a[]={1,2,3,4,5},k,x; printf("\n"); for(k=0;k<=4;k++) {sub(a,&x); printf("%d,",x); } }

A.5,4,3,2,1,

B.1,2,3,4,5,

C.0,0,0,0,0,

D.4,4,4,4,4,


正确答案:A
解析:本题考查的是静态变量以及函数的实参与形参之间的地址值传递。sub()函数数中定义的变量m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当mam()函数中的for循环中语句sub(a,&x);执行时,sub函数中m的值依次是4,3,2,1,0;因为变量x进行的是地址值传递,所以最后依次输出的是数组a的元素a[4]、a[3]、a[2]、a[1]、a[0]。

第10题:

当发生Form_Click事件时,下列程序的输出结果是( )。 Private m As Integer,n As Integer Private Sub Form_Click() Dim k As Integer,p As Integer k=6:p=60 Call sub1(k,p) Print m,n,m,k,p Call sub1(k,p) Print m,n,k,p End Sub Private Sub Form_Load() m=7 n=70 End Sub Public Sub sub1(x As Integer,ByVal y As Integer) Dim m As Integer n=n+5 m=n+x+y x=x+y y=x+y End Sub

A.7 75 66 60 7 80 126 60

B.7 75 66 60 7 75 126 60

C.7 75 66 60 7 80 66 60

D.7 75 66 60 7 75 66 60


正确答案:A
解析:本题定义了两个窗体级变量m和n,并在窗体的Load事件中给窗体级变量m和n分别赋值7和70。当发生Form_Click事件时,首先进行第一次sub1过程的调用,把k的值6按地址传递给形参x,把p的值60按值传递给形参y。在sub1中定义了一个局部变量m,因此在该函数中使用的m是局部变量而非窗体级变量。执行下面的4条赋值语句后,窗体级变量n的值为75,局部变量m的值为142,形参x的值为66,形参y的值为126。函数调用返回后,由于p是按值传递,所以它的值没有变化,k是按地址传递,所以它的值变为邱,输出m、n、k和p的值分别是7、75、66和60。同理,分析第二次sub1过程调用,可知过程调用返回后,变量m、n、k和p的值分别是7、80、126、60。

更多相关问题