5、阅读以下程序,假设用户输入为18,则运行结果为______________. def f(m): return m*3 n=input('请输入一个整数:') print(f(n))

题目

5、阅读以下程序,假设用户输入为18,则运行结果为______________. def f(m): return m*3 n=input('请输入一个整数:') print(f(n))


相似考题
参考答案和解析
181818
更多“5、阅读以下程序,假设用户输入为18,则运行结果为______________. def f(m): return m*3 n=input('请输入一个整数:') print(f(n))”相关问题
  • 第1题:

    有以下程序 main() { int m,n; printf("Enter m,n:");scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); } 如果从键盘上输入65 14<回车>,则输出结果为( )

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C

  • 第2题:

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为_____。main(){int m,n;printf("Enter

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为_____。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C
    解析:分析程序可知,该程序实现的功能是对数m,n求其最大公约数。在本题中m与n的值分别为65与14,其最大公约数为1,故其输出结果为m=1。

  • 第3题:

    已知数列的递推公式如下:

    f(n)=1 当n=0,1时

    f(n)=f(n-1)+f(n-2) 当n>1时

    则按照递推公式可以得到数列:1,1,2,3,5,8,13,21,34,55,……。现要求

    从键盘输入n值,输出对应项的值。例如当输入n为8时,应该输出34。程序如下,

    请补充完整。

    Private Sub runll_Click()

    f0=1

    f1=1

    num=Val(InputBox("请输入一个大于2的整数:"))

    For n=2 To 【 】

    f2=【 】

    f0=f1

    f1=f2

    Next n

    MsgBox f2

    End Sub


    正确答案:num f0+f1
    num f0+f1 解析:程序首先需要接受用户输入的值,根据程序代码可以判断,使用变量num来存放用户输入的值,使用循环实现递推,根据题面“要求从键盘输入n值,输出对应项的值”,可知循环从2开始,到用户输入的值结束,也就是“Forn=2 To num”。根据题面给出的公式“当n>1时,f(n)=f(n-1)+f(n-2)”,可知第n项的值总等于它前两项(即第n-2项与第n-1项)之和,在程序For循环中,总用f2表示第n项,f0表示第n-2项,f1表示第n-1项,所以f2=f0+f1。

  • 第4题:

    在窗体上有个命令按钮,然后编写如下事件过程 m=InputBox("enter the first integer") n=InputBox("enter the second integer") Print n+m 程序运行后,单击命令按钮,先后在两个输入框中分别输入“1”和“5”,则输出结果为

    A.1

    B.51

    C.6

    D.15


    正确答案:B
    解析:在默认的情况下,InputBox的返回值是一个字符串,而不是变体类型。如果没有事先声明返回值变量的类型,或声明为变体类型,则当把函数的返回值赋给这个变量时,VisualBasic将是把它作为字符串来处理。因此当需要用InputBox函数输入数据,并且需要输入的数值参加运算时,必须在进行运算前用Val函数(或其他函数)把它转换为相应类型的数值,否则有可能会得到不正确的结果。如果正确地声明了返回值的变体类型,则可不必进行类型转换;由于本题没有事先声明m、n变量,所以,m、n所获得的为字符“1”和“5”,所以输出n+m时是“51”。

  • 第5题:

    有以下程序: main() { int m,n,p; scan f("m=%dn=%dp=%d",&m,&n,&p); print("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( )。

    A.m=123n=456P=789

    B.m=123 n=456 p=789

    C.m=123,n=456,p=789

    D.123 456 789


    正确答案:A
    解析:本题若想使变量m的值为123、n为456、p为789,则应该输入的字符串为:用这三个数据按m、n、p出现在scaaf()函数中的位置顺序替换掉scant()函数格式控制串中的格式控制符后所得到的格式控制串,即"m=123n=456p=789"。所以,4个选项十选项A符合题意。

  • 第6题:

    在窗体上画一个命令按钮,命名为CommandI。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程 F1,在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0。 能够正确实现上述功能的代码是

    A.Privme Sub Command1_Click() x=InputBox(“请输入整数”) a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If End Function

    B.Private Sub Command1_Click() x=InputBox(“请输入整数”) a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=0 Else F1=1 End If End Function

    C.Private Sub Command1_Click() x=InputBox(“请输入整数”) F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=1 Else F1=0 End If End Function

    D.Private Sub Command1_Click() x=InputBox(“请输入整数”) F1 (Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If End Function


    正确答案:B
    解析:本题综合考查了InputBox函数、块结构条件语句、Function函数过程等多个知识点。B项是正确选项,“Mod”表示取模,当b可以被2整除时,F1返回0,表示b为偶数时,F1返回0。这与题目要表达的意思一致。A、D项使用的Return关键字是错误的,它不能把相应的数值赋给 F1。C项的功能与题目要实现的功能恰好相反,表示输入的数值为偶数时,F1返回1,故不正确。

  • 第7题:

    有以下程序include<stdio.h>int*f(int*p,int*q);main( ){int m=1,n=2,*r=&m;r=f(r,&am

    有以下程序

    include<stdio.h>

    int*f(int*p,int*q);

    main( )

    {int m=1,n=2,*r=&m;

    r=f(r,&n);printf(”%d\n”,*r);

    }

    int-f(int*P,int*q)

    (return(*p>*q)?p:q;)

    程序运行后的输出结果是______。


    正确答案:2
    2 解析:函数f的返回值的类型是int*,作用是返回两个int*型指针所指变量中值大的那个指针的。本题中定义了一个int*型指针r并置初值&m,即指针r指向m。r=f(r,&n),由于m的值小于n值,所以f函数返回值为&n,所以输出为2,即n值。

  • 第8题:

    执行以下程序段,并输入1.23,则程序的输出结果应是【 】。

    N=Str(InputBox(“请输入一个实数:”))

    p=IiaStr(N,".")

    Print Mid(N,p)


    正确答案:.23
    .23 解析:InStr函数、Mid函数
    InStr([首字符位置]字符串1,字符串2[,n])用来在“字符串1”中查找“字符串2”,如果找到,则返回“字符串2”的第一个字符在“字符串广中的位置。
    如果带有参数“首字符位置”,则从该位置开始查找,否则从“字符串1”的起始位置查找。可选参数“n”用来指定字符串比较方式,可以取0、1或2。如为0,则进行在比较时区分大小写:如为1,则在比较时忽略大小写;如为2,则基于数据库中包含的信息进行比较。
    Mid(字符串,p,n)函数用来在“字符串”中从第p个字符开始,向后截取n个字符。如果省略参数n,则从第p个字符开始,向后截取到字符串的末尾。
    跟踪程序:
    n="1.23"
    p=InStr(n,".")=InStr("1.23",".")
    p=2
    所以,Mid("1.23",2)所截取的字符是:“.23”。
    最终的输出结果是:.23。

  • 第9题:

    下列程序的输入值分别为100,10则执行结果为非作歹______ 。 m=Val (inputbox (“请输入数学1”) ) n=Val (inputbox (“请输入数学2”) ) If n*m=0 Then MsgBox “两数能不能为0” Exit Sub If m<n Then t=m: m=n: n=t End If End If DO R=m Mod n m=n n=f Loop While r<>0 Print m

    A. 10

    B.100

    C.50

    D.250


    正确答案:A

  • 第10题:

    执行以下程序段,如果在对话框中输入8,输出结果是"Hello"的是______。

    A.n = InputBox("请输入一个数") Select Case n Case 7 To 1 Print "Hello" End Select

    B.n = InputBox("请输入一个数") Select Case n Case Is>1, Is < 6 Print "Hello" End Select

    C.n = InputBox("请输入一个数") Select Case n Case Is > 5, 1, 3 To 10 Print "Hello" End Select

    D.n=InputBox("请输入一个数") Select Case n Case 1, 5, Is > 9 Print "Hello" End Select


    正确答案:C

  • 第11题:

    试题33

    有以下程序

    #include <stdio.h>

    int f(int m)

    { static int n=0;

    n+=m;

    return n;

    }

    main()

    { int n=0;

    printf(“%d,”, f(++n));

    printf(“%d\n”, f(n++));

    }

    程序运行后的输出结果是()

    A.1,2

    B.1,1

    C.2,3

    D.3,3


    正确答案:A
    试题33分析
    n=0,f(++n)),n先增1,调用f,n=0+1=1,输出n;f(n++))先取n的值1调用,n=1+1=2,然后输出n,最后n增1,变成3;所以第一次输出为1,第二次输出为2;
    试题33答案
    A

  • 第12题:

    单选题
    有以下程序:#include int f(int x); main(){ int n=1,m;  m=f(f(f(n))); printf(%d,m); }int f(int x) { return x*2;} 程序运行后的输出结果是(  )。
    A

    4

    B

    2

    C

    8

    D

    1


    正确答案: D
    解析:
    考查函数嵌套调用,第一次调用的是最内层的f(n),即f(1)返回值2。第二次调用中间的f(f(n)),即f(2)返回值4。最后调用最外层的f(f(f(n))),即f(4)返回值8,最后打印输出。答案选择C选项。

  • 第13题:

    运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。 main() { int m,n; printf("En

    运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C

  • 第14题:

    阅读下面的程序: Private Sub Form_Click() Dim m,n As Integer m=InputBox("请输入M的值") m=Val(m) m1=m n=InputBox("请输入N的值") n=Val(n) n1=n Do While n<>0 remin=m Mod n m=n n=remin Loop Print m1,n1,m End Sub 程序运行后,单击窗体,在对话框中分别输入16和24,则程序在窗体上的输出结果为

    A.16 24 4

    B.16 24 8

    C.24 16 6

    D.24 16 8


    正确答案:B
    解析:本题捉供的是用“辗转相除法”求两个整数最大公约数的程序。一般来说,假定有两个整数m和n(m>n),将m作为被除数,n作为除数,相除后余数为r。如果r不等于0,则令m=n,n=r,再进行一次除法运算(以新的m作为被除数,n作为除数),得到新的r。如果r仍不等于0,则重复上述过程,直到r=0为止,此时的n就是两个数的最大公约数。在本题的DoWhile-Loop循环中,通过辗转相除求最大公约数,循环结束的条件是相除后余数为0,如果不为0,则一直“除”下去。这里用Mod运算符求余数,较大的整数作为被除数或者较小的整数作为被除数都可以得到正确结果,但整除的次数可能会不一样。在本题的输入中,先输入16,再输入24,求出的最大公约数仍为8。

  • 第15题:

    以下程序的输出结果是 f(int b[] ,int m, int n) { int i,s=0; for (i=m; i<n; i=i+2) s=s+b [i]; return s; } main ( ) { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf ( "%d\n", x); }

    A.10

    B.18

    C.8

    D.15


    正确答案:A
    解析:本题考核的知识点是数组名作为函数参数的应用.在malii()函数中定义了一个变量x,以及一个有9个元素的数组a,并且每个元素分别赋初值为1、2、3、4、5、6、7、8和9.执行函数调用f(a,3,7),把a的首地址赋给形参b,把3和7分别赋给形参m和n。在f()函数中,for循环执行了2次:第一次,i的值为3,相当于执行7语句“s=s+b[3]”,br3J的值就是a[3]的值4,故s的值变为4;第二次,i值为5,相当于执行了语句“s=s+b[5];”,b[5]的值6,故s的值变为10。把s作为函数值返回并赋值给x。所以,4个选项中A为所选。

  • 第16题:

    若有如下程序: int sub(int m) { if(m==1||m==0) return 2; else return(sub(m-1)*sub(m-2));} main() { int n; scanf("%d",&n); printf("%d",sub(n)); } 如果从键盘输入4<回车>,则程序运行后的输出结果是( )。

    A.8

    B.16

    C.24

    D.32


    正确答案:D
    解析:本题的sub()函数是一个递归函数,当参数m为1或0时返回2,否则返回sub(m-1)*sub(m-2)。所以sub(4)递推下来就是sub(4)=sub(3)*sub(2)=sub(2)*sub(1)*sub(1)*sub(0)=sub(1)*sub(0)*2*2*2=25(上标)=32。所以正确答案是D。

  • 第17题:

    以下程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果,请填空。int fun( int n){ int m=0,f=1,i; for(i=1;i<=n;i++) { m+=i*f; f=-f; } return m;}main{ printf("m=%d\\n",); }


    正确答案:fun(10)
    在本题中,题目给出了程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果。
    在程序中,首先定义了fun函数,该函数带有一个整型变量的形参,在函数体中,定义三个整型变量m、f和i,变量m用来存放计算的结果,变量i作为循环变量,变量f用来控制数据的正负。程序运行for循环。
    当循环变量i=1时,m=0+1*1=1,然后将变量f变为-1。
    当循环变量i=2时,m=1+2*(-1),然后将变量f变为1。
    当循环变量i=3时,m=1+2*(-1)+3*1,然后将变量f变为-1。以此类推,直到循环结束,可以实现m=1-2+3-4+…+9-10。最后通过return语句返回m的结果。
    在主函数中,只有一条输出语句,本题的空就是输出语句的输出表达式,从题目的要求可以知道,此空是调用fun计算m=1-2+3-4+…+9-10,从上面对fun的分析可以,形参n就是要计算数的最大数。因此,此空需要填写的内容为fun(10)。

  • 第18题:

    有以下程序()。includeint f(int n){if(n==1)return 1;elsereturn f(n-1)+1;}void m

    有以下程序( )。 #include<iostream.h> int f(int n) { if(n==1)return 1; else return f(n-1)+1; } void main() { int i,j=-; for(i=1;i<3;i++) j+=f(i); cout<<j<<endl; } 程序运行后输出结果是( )。

    A.4

    B.3

    C.2

    D.1


    正确答案:B

  • 第19题:

    单击命令按钮时,下列程序的运行结果为Private Sub Command1_Click( ) Print MyBM(23,18)End SubPublic Function MyBM(m As Integer,n As Integer)As Integer Do While m< >n Do While m > n:m=m - n:Loop Do While m < n:n=n - m:Loop Loop MyBM=mEnd Function

    A.0

    B.1

    C.3

    D.5


    正确答案:B
    解析:此题程序代码中,被调过程采用了DoWhile……Loop的嵌套语句结构,主调过程只调用了一次被调过程,PrintMyBM(23,18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程MyBM时,把数值23,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m=m-n,m值变为5,然后循环调用,直到m=n,而由语句MyBM=m可看出,此过程的返回值就是m的值,即1。

  • 第20题:

    阅读下面的程序,当输入分别为111和222时,程序输出为 ______。 n1=InputBox(”请输入第一个数:”) n2=Val(1nputBox("请输入第二个数:")) Print n1+n2

    A.111222

    B.222

    C.333

    D.程序出错


    正确答案:C
    解析:由于InputBox函数的默认返回值是字符串,因此n1的值为111,n2经过函数Val转换后成为数值型,其值为222。按照Visual Basic自动结合的原则,n1会先自动转换为数值型再和n2进行运算,最终输出结果为333。
      为了提高程序的可读性,最好对每一个变量都进行定义。故在程序的最前面加上:
      Dim n1 As Integer
      Dim n2 As Integer

  • 第21题:

    有以下程序: #include<stdio.h> int f(int x): main {int n=1,m; m=f(f(f(n)));printf("%d\n",m); } int f(int x) {return x*2;) 程序运行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.8


    正确答案:D
    本题考查函数返回值作参数,最初n=1,f(n)=f(1)=2,将f(n)的结果代入第二个f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。

  • 第22题:

    有以下程序

    #include<stdio.h>

    int f(int m)

    { static int n=0;

    n+=m:

    return n;

    }

    main()

    { int n=0;

    printf("%d,",f(++n));

    printf("%d\n",f(n++));

    }

    程序运行后的输出结果是

    A.1,2

    B.1,1

    C.2,3

    D.3,3


    正确答案:A
    解析:static变量用于局部变量中有记忆功能和全局生存期。函数中的静态变量的特点是每次调用函数,静态变量的值是上次调用完该函数后的静态变量值,所以在此题中,第一调用函数,返回1,此时函数中的静态变量n的值为l,所以第二次调用函数时,返回值为2。

  • 第23题:

    阅读以下FORTRAN程序
    READ(*,*)M,N
    K=MOD(M,N)
    10 IF(K.GT.0)THEN
    M=N
    N=K
    K=MOD(M,N)
    GOTO 10
    END IF
    WRITE(*,*)N
    END
    若运行以上程序时,由键盘输入25,11,则程序输出为( )。

    A.3
    B.2
    C.1
    D.0

    答案:C
    解析:
    K=MOD(M,N)=MOD(25,11)=3>0
    则M=11,N=3,K=MOD(11,3)=2>0
    则M=3,N=2,K=MOD(3,2)=1>0
    则M=2,N=1,K=MOD(2,1)=0,可得最后N=1

  • 第24题:

    单选题
    有以下程序:#include int a=2; int f(){ static int n;  int m;  m=n=0;  n++; a++; m++; return m+n+a; }main(){ int k;  for(k=0;k<3;k++)  printf(%d, ,f()); printf(); }程序的运行结果是(  )。
    A

    5,6,7,

    B

    5,7,9,

    C

    5,8,11,

    D

    5,5,5,


    正确答案: B
    解析:
    static变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:k=0,a=2,n=0,m=0;n=1,a=3,m=1,返回5;k=1,a=3,n=0,m=0;n=1,a=4,m=1,返回6;k=2,a=4,n=0,m=0;n=1,a=5,m=1,返回7;k=3退出循环。答案选择A选项。