itgle.com
参考答案和解析
24
更多“61、下列程序段的输出结果是 s1=[1,2,3] s2=s1+[2,5] print(len(s1+s2))”相关问题
  • 第1题:

    设已包含头文件,下列程序段的运行结果是()。char s1[]={"ACDEF"};char s2[]="ABC";strc

    设已包含头文件<string.h>,下列程序段的运行结果是( )。 char s1[]={"ACDEF"}; char s2[]="ABC"; strcpy(s1,s2); printf("%d",strlen(s1));

    A.3

    B.4

    C.6

    D.5


    正确答案:A
    解析: 头文件string.h>是字符串处理函数对应的头文件,要想调用C语言的库函数时,都要在程序中嵌入该函数对应的头文件,否则无法使用库函数。strcpy(s1,s2)把s2中的字符串复制到s1中,所以结果就为s2的长度。

  • 第2题:

    (8)下列程序在窗体上输入,在立即窗口中输入________。 S1="software" S2="hardware" S3="computer" Print Right(S1,3) Picture1.Print Mid(S2,2,4) Debug.Print Left(S3,2)


    正确答案:are,co
    【解析】Right函数从字符串右边取出指定数量的字符:Mid(字符串An)函数从第p个字符开始,向后取字符串的n个字符。Left函数返回字符串中从左边算起取指定数量的字符。

  • 第3题:

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

    A=0

    Print A+1

    A=3

    A.1

    B.-1

    C.3

    D.0


    正确答案:A
    解析:程序段执行顺序是:A=0;→Print A+1;→Print 1;→A=3,虽然最后一条语句将3赋给变量A,但并没有输出。所以输出结果为第2条语句的执行结果1。

  • 第4题:

    以下程序段的输出结果是______ 。 main() { char s1[10],s2[10],s3[10]; scanf("%s",s1);gets(s2);gets(s3); puts(s1);puts(s2);puts(s3); } 输入数据如下: (此处<CR>代表回车符) aaa<CR> bbb<CR>

    A.aaa bbb

    B.aaa bbb

    C.aaa\0bbb\0

    D.aaabbb


    正确答案:B
    解析:scanf是标准输入函数,在输入字符串a阻时,实际的内容为“aaa、0”,“\0”是由系统自动加入的;gets的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以“、0”代替换行符。

  • 第5题:

    以下程序的输出结果是()includemain(){chars1[]="123",s2[]="abc",ss[20]="010";strc

    以下程序的输出结果是 ( ) #include<string.h> main() {char s1[]="123",s2[]="abc",ss[20]="010"; strcat(ss+1,strcpy(s2,s1)); printf("%s\n",ss); }

    A.10123

    B.0abc

    C.1123

    D.01abc


    正确答案:A

  • 第6题:

    下列程序的输出结果为( )。

    S1=”1”:S2=”2”:SI=Val(S1)+Val(S2):S2=Val(”12”)

    If S1<>S2 Then P int S1-S2 Else Print s1-S2

    A. -9

    B. 9

    C. -12

    D. 0


    正确答案:A
    A)    【解析】本题考查转换函数和“+”号运算符。表达式Val(S1)的作用是把字}串Sl转成数字。程序段的功能是:变体类型变量s1和s2赋值以后,经由语句VaI(S1)+Val(S2),也就是数字S1和S2相加值(为3存入S1中,同时把数字符串“12”转成数字12,放到s2中。因此数字S1和s2不等,输出S1-s2的值为-9。

  • 第7题:

    下列程序运行后,输出结果是______。 include include fun(char *w ,int

    下列程序运行后,输出结果是______。 #include <stdio. h> #include <string. h> fun (char *w ,int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while (s1<s2) { t=*s1++; *s1=*s2--; *s2=t; } } main () { char *p; p="1234567"; fun (p, strlen (p)); puts (p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C

  • 第8题:

    以下程序的输出结果是_______。includeincludefun(char*w,int n){char t,*s

    以下程序的输出结果是_______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++: *sl=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在于函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环,w="1711717"。

  • 第9题:

    单击窗体时,下列程序的执行结果是 Private Sub Invert(By Val xstr As String,ystr As String) Dim tempstr AS String Dim I AS Integer I=Len(xstr) Do While I>=1 tempstr=tempstr + Mid(xstr,I,1) I=I - 1 Loop ystr=tempStr End Sub Private Sub Form_Click( ) Dim s1 As String,s2 As String S1="abcdef" Invert S1,S2 Print S2 End Sub

    A.abcdef

    B.afbecd

    C.fedcba

    D.defabc


    正确答案:C
    解析:Invert(ByValxstrAsString,ystrAsString)的作用是将参数xstr的字符逆序处理,然后赋值给ystr,而ystr是按地址引用的,可以直接返回处理结果。

  • 第10题:

    下列程序的执行结果为 Private Sub Command1_Click() Dim s1 As String,s2 As String S1;="abcdef" Call Invert(s1,s2) Print s2 End Sub Private Sub Invert (ByVal xstr As String,ystr As String) Dim tempstr As String i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub

    A.fedcba

    B.abcdef

    C.afbecd

    D.defabc


    正确答案:A
    解析:被调过程Invert的参数xstr,ystr从主调函数中收到实参s1,s2传来的值“abcdef”,过程Invert开始声明了两个变量,都是String型的:xstr,ystr。I=Len(xstr)以上语句的功能是:i的值就是xstr的长度,此题为6。程序代码执行DoWhile…Loop的循环语句。循环体为tempstr=tempstr+Mid(xstr,i,1),其中变量是I,由I=Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出,所以正确答案是选项C.

  • 第11题:

    以下程序的输出结果是( )。 include main() {char*s1,*s2,m; s1=s2=(char*)malloc(size

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

    include<stdlib.h>

    main()

    {char*s1,*s2,m;

    s1=s2=(char*)malloc(sizeof(char));

    *s1=15;

    *s2=20;

    m=*s1+*s2:

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

    }


    正确答案:40
    40 解析:malloc()函数的作用是开辟一个长度为sizeof(char)的内存区,s1、s2为指向字符型数据的指针变量,执行“s1=s2=(char*)malloc(sizeof(chat));”语句后,s1、s2指向同一个存储空间,此时m=*s1+*s2=20+20=40。

  • 第12题:

    填空题
    设字符串S1= “ABCDEF”,S2= “PQRS”,则运算S=CONCAT(SUB(S1,2,LEN(S2)),SUB(S1,LEN(S2),2))后的串值为()。

    正确答案: “BCDEDE”
    解析: 暂无解析

  • 第13题:

    单击窗体时,下列程序的执行结果是

    Private Sub Invert(ByVal xstr As String, ystr As String)

    Dim tempstr As String

    Dim I As Integer

    I=Len(xstr)

    Do While I >=1

    tempstr=tempstr + Mid(xstr, I, 1)

    I=I - 1

    Loop

    ystr=tempstr

    End Sub

    Private Sub Form_Click()

    Dim s1 As String, s2 As String

    s1= "abcdef"

    Invert s1, s2

    Print s2

    End Sub( )。

    A.abcdef

    B.afbecd

    C.fedcba

    D.defabc


    正确答案:C

  • 第14题:

    (35)有下列程序段,单击命令按钮执行程序后,输出结果是 。Option Base 1Private Sub Commandl_Click() Dim x x=Array(23,-5,17,38,-31.46,11,8,5,-4) s1=0 s2=0 For k=1 To 10 If(x(k)>0)Then s1=sl+x(k) Else s2=s2+x(k) End If Next k Y=s1/Abs(s2) Print Y End SubA.148 B.40 C.-40 D.3.7


    正确答案:D
    【解析】For循环中,通过两个条件语句,计算数组中大于零的元素的和s1,小于零的元素的和s2,然后计算sl和s2的绝对值之商,正确结果为3.7。
    【知识拓展】Abs函数的作用是返回参数的绝对值,其返回值的类型和参数相同。

  • 第15题:

    有如下程序: include using namespace std; int main(){ int a[6]={23, 15, 64, 33,

    有如下程序:

    #include<iostream>

    using namespace std;

    int main(){

    int a[6]={23, 15, 64, 33, 40, 58};

    int s1, s2;

    s1, s2=a[0];

    for(int*p=a+1; p<a+6; p++) {

    if(s1>*p)s1=*p;

    if(s2<*p)s2=*p;

    }

    cout<<s1+s2<<end1;

    return 0;

    }

    运行时的输出结果是( )。

    A) 23

    B) 58

    C) 64

    D) 79

    A.

    B.

    C.

    D.


    正确答案:D
    解析:变量s1和s2的初值都等于23,那么在执行第一次for循环时,*p的值等于15,它小于23,所以把15赋给变量s1;执行第二次for循环时,*p的值等于64,它大于23,所以把64赋给变量s2;而数组a中a[2]后面的元素的值都大于15,小于64,因而变量s1,s2的值不会再发生变化,最终值为15+6=79,所以程序输出79。

  • 第16题:

    以下程序的输出结果是______。includeincludefun(char*w,int n){ char t,*s

    以下程序的输出结果是______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在子函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环, w="1711717"。

  • 第17题:

    以下程序的输出结果是 ______。includevoid main(){ char s1[]=”Hello”,s2[]="World

    以下程序的输出结果是 ______。 #include<iostream.h> void main(){ char s1[]=”Hello”,s2[]="World"; char *p1,*p2; int i; p1=s1; p2=s2; for(i=0;i<5;i++) if(*(pl+i)==*(p2+i)) cout<<*(p1+i); }

    A.H1

    B.Ho

    C.10

    D.1


    正确答案:D

  • 第18题:

    若已包括头文件,运行下列程序段时输出结果是()。int i=0;char s1[10]="ABCD

    若已包括头文件<stdio.h>和<string.h>,运行下列程序段时输出结果是( )。 int i=0; char s1[10]="ABCD",s2[10]="EFG"; strcat(s1,S2); while(s2[i++]!='\0') s2[i]=s1[i]; puts(s2);

    A.ABC

    B.ABCDEF

    C.EBCDEFG

    D.CBD


    正确答案:C
    解析: strcat(s1,s2)把s2连接到s1的后面,s1=ABCDEFG,执行while(s2[i++]!='\0')后i的值变为1,往后执行s2[i]=s1[i]时是从把s1的第二位给s2的第二位开始,把s1赋给s2。

  • 第19题:

    下面程序的运行结果是includeincludemain(){ char*s1="AbDeG";char*s2="Ab

    下面程序的运行结果是 #include<stdio.h> #include<string.h> main() { char*s1="AbDeG"; char*s2="AbdEg"; s1+=2;s2+=2; printf("%d\n",strcmp(s1,s2)); }

    A.正数

    B.负数

    C.零

    D.不确定的值


    正确答案:B
    解析:本题考查了用指针处理字符串的方法。用指针处理字符串,首先要使指针指向该字符串。例如本题中的s1="AbDeG"就是使字符指针指向了字符串"AbDeG",而指针s1+=2则是指针向后移动了两个字符的位置,指向了字符‘D’。strcmp则是字符串比较函数。

  • 第20题:

    有下列程序段,单击命令按钮执行程序后,输出结果为( )。 Option Base 1 Private Sub Command1_Cliek() Dim x x=Array(23, -5, 17, 38, -31, 46, 11, 8, 5, -4) s1=0 s2=0 Fork=1 To 10 If (x(k)>0) Then s1=s1+x(k) Else s2=s2+x(k) End If Next k Y=s1/Abs(s2) Print Y End Sub

    A.148

    B.40

    C.-40

    D.3.7


    正确答案:D
    解析:For循环中,通过两个条件语句,计算数组中大于零的元素的和s1,小于零的元素的和s2,然后计算s1和s2的绝对值之商,正确结果为3.7。Abs函数的作用是返回参数的绝对值,其返回值的类型和参数相同。

  • 第21题:

    下列程序的执行结果为 Private Sub Command1_C1ick( ) Dim sl As String,s2 AS String s1="abcdef" Call lnvert(s1,s2) Print s2 End Sub Private Sub lnvert(ByVal xstr As String,ystr As String) Dim tempstr As Stdng i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub

    A.fedcba

    B.abcdef

    C.afbecd

    D.defabc


    正确答案:A
    解析:被调过程Invert的参数xstr,ystr从主调函数中收到实参s1,s2传来的值"abcdef",过程Invert开始声明了两个变量,都是String型的:xstr,ystr。2=Len(xstr)以上语句的功能是:i的值就是xstr的长度,此题为6。程序代码执行DoWhile...Loop的循环语句。循环体为tempstr=tempstr+Mid(xslr,i,1),其中变量是1,由15=Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出。

  • 第22题:

    以下程序运行后输出的结果是 ______。 a = 3 b=-123 m=Len(Str$(A)+Str$(B)) Print m End

    A.9

    B.5

    C.7

    D.8


    正确答案:A
    解析:str$(数值表达式>)函数的功能是将数值表达式的值转换成字符串表达式。如果数值表达式的值为正数,则在字符串前有一空格符号位。因此,函数Str$(12.3)返回的结果为“12.3”,其长度为5(标志共有5个字符);Str$(-123)返回的结果为“-123”,其长度为4。长度函数Len计算的结果是:m=5+4=90

  • 第23题:

    设字符串S1= “ABCDEF”,S2= “PQRS”,则运算S=CONCAT(SUB(S1,2,LEN(S2)),SUB(S1,LEN(S2),2))后的串值为()。


    正确答案:“BCDEDE”

  • 第24题:

    单选题
    有以下程序 #include  void swap(char *x,char *y) {  char t;  t=*x;  *x=*y;  *y=t; } main() {  char *s1,*s2;   char a[]=abc;  char b[]=123;  s1=a;  s2=b;  swap(s1,s2);  printf(%s,%s,s1,s2); } 程序执行后的输出结果是(  )。
    A

    1bc,a23

    B

    abc,123

    C

    123,abc

    D

    321,cba


    正确答案: B
    解析:
    字符串是一个特殊的数组,按照数组的规则,s1应该指向的是数组的首地址,即"abc"的第一个字符的地址。s2指向的是"abc"的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符'a'和'1'的内容,答案选择A选项。