单选题有程序:CHARACTER*6SS=‘ABCDEF’CALLSS(S)ENDSUBROUTINESS(S1)CHARACTERS1*3WRITE(*,*)S1END此程序执行后的输出结果为:()A ABCB BCDC CDED DEF

题目
单选题
有程序:CHARACTER*6SS=‘ABCDEF’CALLSS(S)ENDSUBROUTINESS(S1)CHARACTERS1*3WRITE(*,*)S1END此程序执行后的输出结果为:()
A

ABC

B

BCD

C

CDE

D

DEF


相似考题
更多“有程序:CHARACTER*6SS=‘ABCDEF’CALLSS(S)ENDSUBROUTINESS(S1)CHARAC”相关问题
  • 第1题:

    已知char**S,下面正确的语句是( )。

    A.s="ABCDEF";

    B.*s= "ABCDEF";

    C.**s="ABCDEF";

    D.*s='A';


    正确答案:C
    解析:“s”是代表数组首地址的地址常量,不是变量,“=”左边不能出现常量,因此s="ABCDEF"语法错误。“**s”和“s”一样;“*s”是指变量地址,不能给其赋字符串。

  • 第2题:

    以下程序的输出结果是main(){ char s[]="abcdef"; s[3]=’\0’; printf("%s\n",s);}


    正确答案:abc
    printf函数输出字符串时,当遇到第一个“\0”时,就把它当做字符串的结束标志,它只输出“\0”前面的字符,所以程序输出结果为abc。

  • 第3题:

    short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;

    有什么错?


    正确答案:

     

    对于short s1 = 1; s1 = s1 + 1; 由于s1+1 运算时会自动提升表达式的类型,所以结果是int 型,再赋值

    给short 类型s1 时,编译器将报告需要强制转换类型的错误。

    对于short s1 = 1; s1 += 1;由于 += 是java 语言规定的运算符,java 编译器会对它进行特殊处理,因此

    可以正确编译。

  • 第4题:

    单击窗体时,下列程序的执行结果是 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是按地址引用的,可以直接返回处理结果。

  • 第5题:

    有以下程序:include using namespace std;int main ( ){ char s1[10],s2[10]; char*p

    有以下程序: #include <iostream> using namespace std; int main ( ) { char s1[10],s2[10]; char *p=s1,*q=s2; cin>>s1>>s2; while (*p ! =' \0 ' ) p++; while (*q!='\0') *p++=*q++; *p='\0'; cout<<s1<<end1; return 0; }

    A.abcd0ghij

    B.abcd0ghij0

    C.abcd

    D.abcdghij


    正确答案:D
    解析:程序定义两个字符串指针p和q,并使指针分别指向字符串数组s1和s2。数组s1和s2通过输入的字符串赋初值。程序中第1个while语句,用来计算s1的长度,并把指针p移到数组s1的最后一个元素。第2个while语句,是将数组s2中的字符串合并到数组s1的后面。语句“*p'\0';”,是合并后的字符串s1的结束标志。所以最后s1中的字符串为abcdghij。

  • 第6题:

    若输入“abcdef”“abdef”,下述程序的输出结果为( )。

    #include

    #include

    main

    {int n;

    char s1[20],s2[20],*p1,*p2;

    scanf("%s",s1);

    scanf("%S",s2);

    p1=s1;

    p2=s2;

    n=strcmp(p1,p2);

    printf("Vood\n",n); }

    A.-1

    B.0

    C."abcdef"

    D."abdef"


    正确答案:A
    本题考查字符串比较函数strcmp(s1,s2),若s1>s2,则返回1;若s1=s2,则返回0;若s1<s2,则返回-1。字符串依次比较的是它们字符的ASCIl码值。

  • 第7题:

    已知char**s,下面正确的语句是( )。

    A)s="ABCDEF";

    B)*s="ABCDEF";

    C)**s="ABCDEF";

    D)*s='A';


    正确答案:C

  • 第8题:

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


    正确答案:“BCDEDE”

  • 第9题:

    单选题
    下列给字符数组赋初值时,正确的是()。
    A

    char s1[]=abcdef;

    B

    char s2[4]=abcd;

    C

    char s3[2][3]={abc,xyz};

    D

    char s4[4][]={’a’,’x’,’s’,’t’};


    正确答案: D
    解析: 暂无解析

  • 第10题:

    单选题
    下列程序执行后的输出结果为( )。 CHARACTER9*C C=’1234567890’ CALLSS(C) END SUBROUTINESS(X) CHARACTERX*2 WRITE(*,*)X END
    A

    123456

    B

    12

    C

    56

    D

    567890


    正确答案: D
    解析: 字符型形参的长度为2,小于对应的实参长度9,则从实参中最左边的字符开始与形参结合,实参中右边的多余字符被截去,因此为12。

  • 第11题:

    单选题
    下列程序段执行后,内存变量s1的值是:() s1="network" s1="BIOS"+substr(s1,4,4)
    A

    BIOSwork

    B

    netBIOS

    C

    net

    D

    BIOS


    正确答案: A
    解析: 暂无解析

  • 第12题:

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

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

  • 第13题:

    请读程序:includeincludemain(){char *s1="AbCdEf",*s2="aB"; s1++;s2++;

    请读程序: #include<stdio.h> #include<string.h> main() { char *s1="AbCdEf",*s2="aB"; s1++;s2++; printf("%d\n",strcmp(s1,s2)); } 上面程序的输出结果是______。

    A.正数

    B.负数

    C.零

    D.不确定的值


    正确答案:A
    解析:函数strcmp的功能是比较字符串s1和s2,如果s1>s2,则返回个正数;如果s1s2,则返回负数,否则返回零。由于本题中小写字母b的ASCII码值大于大写字母B,故s1>s2,所以函数的值为正数。

  • 第14题:

    有以下程序 include main() { FILE*pf, char *s1="China",

    有以下程序 #include <stdio.h> main() { FILE*pf, char *s1="China",*s2="Beijing"; pf=fopen("abc.dat","wb+"); fwrite(s2,7,1,pf); rewind(pf); /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); fclose(pf); } 以上程序执行后abc.dat文件的内容是______。

    A.China

    B.Chinang

    C.ChinaBeijing

    D.BeijingChina


    正确答案:B
    解析:fwrite(buffer,size,count,fp);:buffer是一个指针,用于指向输出数据存放的内存区域的起始地址,size是要输出的字节数,count是要输出大小为size个字节的数据块的个数。fp是文件指针。fwrite函数的功能是对中所指向的文件存入 count次,每次存放一个大小为size的数据块,将存入的数据块存到buffer指向的内存区,如果buffer内存区有数据,则将其覆盖。本题中第一次调用fwrite函数是向文件中写入s2的值“Beijing”,第二次调用fwrite函数是向文件中写入s1的值“China”,并将先前的“Beijing”的前几个字符覆盖,得到“Chinang”。

  • 第15题:

    若输入“abcdef”“abdef”,下述程序的输出结果为( )。 #include<stdio.h> #include<string.h> main { int n; char s1[20],s2[20],*p1,*p2; scanf("%s",s1); scanf("%S",s2); p1=s1; p2=s2; n=strcmp(p1,p2); printf("Vood\n",n); }

    A. -1

    B.0

    C."abcdef"

    D."abdef"


    正确答案:D
    本题考查字符串比较函数strcmp(s1,s2),若s1>s2,则返回1;若s1=s2,则返回0;若s1<s2,则返回-1。字符串依次比较的是它们字符的ASCIl码值。

  • 第16题:

    有以下程序:include void swap(char * x,ehar * y){ char t;t= *x; *x: *y; *y=t;main

    有以下程序:#include <stdio.h>void swap(char * x,ehar * y){ char t; t= *x; *x: *y; *y=t;main ( ){ char *s1 ="abc", * s2 ="123"; swap(s1 ,s2); printf("%s,%s \n" ,s1 ,s2);}程序执行后的输出结果是( )。

    A.123,abe

    B.abe,123

    C.1bc,a23

    D.321,cba


    正确答案:C
    解析:C语言中,字符串常量在内存中是以字符数组的形式存放的,形参字符指针x和y指向的是各字符串的首地址,在swap函数中,*x与*y交换的是字符串的第一个字符,即字符'a'与'1'的交换,而字符串中其他字符保持不变。

  • 第17题:

    下列程序的执行结果为 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.

  • 第18题:

    以下程序的输出结果是( )。 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。

  • 第19题:

    下列给字符数组赋初值时,正确的是()。

    Achar s1[]="abcdef";

    Bchar s2[4]="abcd";

    Cchar s3[2][3]={"abc","xyz"};

    Dchar s4[4][]={’a’,’x’,’s’,’t’};


    A

  • 第20题:

    下列程序段执行后,内存变量s1的值是:() s1="network" s1="BIOS"+substr(s1,4,4)

    • A、BIOSwork
    • B、netBIOS
    • C、net
    • D、BIOS

    正确答案:A

  • 第21题:

    单选题
    有程序:CHARACTER*6SS=‘ABCDEF’CALLSS(S)ENDSUBROUTINESS(S1)CHARACTERS1*3WRITE(*,*)S1END此程序执行后的输出结果为:()
    A

    ABC

    B

    BCD

    C

    CDE

    D

    DEF


    正确答案: B
    解析: S1的长度为3个字符,则存放S字符串的前3个字符,所以输出结果为ABC。

  • 第22题:

    单选题
    下列程序执行后的输出结果为( )。 CHARACTER*6C C=’1234567890’ CALLSS(C) END SUEROUTINESS(C) CHARACTERC*2 WRITE(*,*)C END
    A

    123456

    B

    12

    C

    56

    D

    1234567890


    正确答案: A
    解析: 输出C字符段长度为2,只能存放’1234567890’中的前两位即:12

  • 第23题:

    单选题
    有以下程序:#include #include struct S{ char name[10];};main(){ struct S s1,s2; strcpy(s1.name,XXX); strcpy(s2.name,=); s1=s2; printf(%s,s1.name);}程序运行后的输出结果是(  )。
    A

    =

    B

    XXX

    C

    =XX

    D

    X=


    正确答案: B
    解析:
    主函数首先定义两个结构体变量s1,s2,分别使用字符串拷贝函数strcpy为s1和s2的成员name赋值,再将s2中的成员信息赋值给s1,因此输出为“=”,答案选择A选项。

  • 第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选项。