itgle.com

单选题有以下程序(字母A的ASCII代码为65)#include main(){ char c1 ='A',c2 ='Y'; printf(%d, %d,c1,c2);}程序运行后的输出结果是(  )。A 输出格式不合法,输出出错信息B A,YC 65,90D 65,89

题目
单选题
有以下程序(字母A的ASCII代码为65)#include main(){ char c1 ='A',c2 ='Y'; printf(%d, %d,c1,c2);}程序运行后的输出结果是(  )。
A

输出格式不合法,输出出错信息

B

A,Y

C

65,90

D

65,89


相似考题
更多“有以下程序(字母A的ASCII代码为65)#include <stdio.h>main(){ char c1 ='A',”相关问题
  • 第1题:

    有以下程序: include point ( char * p) {p + = 3; }main( ) char b[4] = {'a','b','c

    有以下程序: #include <stdio.h>point ( char * p) { p + = 3; }main( ) char b[4] = {'a','b','c','d'} , *p=b; point(p); printf( "% c \n" , * p);

    A.a

    B.b

    C.c

    D.d


    正确答案:A
    解析:C函数的参数传递方式采用按值传递,不能通过调用函数改变形参指针本身的值,只能改变指针所指变量的值。调用point函数时,将实参指针p的值(b数组的首地址)传给了形参指针P,P+=3运算使形参指针指向字符d,但并不能改变main函数中p的值,所以本题正确答案应该是选项A)。

  • 第2题:

    下列程序段的输出结果为()。 include main() {static char a[]="language"; char*p; p=

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

    #include<stdio.h>

    main()

    { static char a[]="language";

    char*p;

    p=a;

    for(p=a;p<a+8;p+=2)

    putchar(*p);

    }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环, p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第3题:

    有以下程序:include include main( ) {char a[ 7 ] = "a0 \0a0 \0";int i,

    有以下程序:#include <stdio.h>#include <string.h>main( ) { char a[ 7 ] = "a0 \0a0 \0"; int i,j; i = sizeof(a); j = strlen(a); printf(" % d %d \n" ,i,j); }程序运行后的输出结果是( )。

    A.22

    B.76

    C.72

    D.62


    正确答案:C
    解析:C语言.中以,'\0'作为字符串的结束符,且strlen函数计算的是,'\0',字符前的所有字符的个数,故本题中strlen(a)应为2。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof运算符是计算变量或数组所分配到的内存空间的大小,所以本题的sizeof(a)为7。

  • 第4题:

    有以下程序: include main( ) {char s[ ] ="159" , * p;p=s;printf( "% c", * p + +

    有以下程序: #include <stdio.h> main( ) { char s[ ] ="159" , * p; p=s; printf( "% c", * p + + ); printf("%~", * p++);}程序运行后的输出结果是( )。

    A.15

    B.16

    C.12

    D.59


    正确答案:A
    解析:语句p=s将指针变量p指向字符数组s,第一次输出时,由于++和*为同一优先级,而结合方向为自右向左,所以,*p++相于*(p++)。但又因为“++”在p的右侧,所以,先输出*p,得到s[0]的值,然后P++,P指向s[1],故第二次输出时,输出s[1]的值,所以输出结果为15。

  • 第5题:

    有以下程序 include main() {char c1,c2;scanf("%c",*c1);while(c1<65||c1>90)scanf("%

    有以下程序

    include<stdio.h>

    main()

    { char c1,c2;

    scanf("%c",*c1);

    while(c1<65||c1>90) scanf("%c",&c1);

    c2=c1+32;

    printf("%c,%c\n",c1,c2);

    }

    程序运行输入6回车后,自否输出结果、结束运行(请回答能或不能)【 】。


    正确答案:不能
    不能 解析:本题原意想把大与英文字母转换成小写字母,但由于输入数据时不正确致使循环无限制地进行下去,应该输入大写英文字母,因此,本题无输出结果,不能结束运行。

  • 第6题:

    有以下程序 include main() { char a=4; printf("%d/n,a=a

    有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。

    A.40

    B.16

    C.8

    D.4


    正确答案:C
    解析:“”是按位左移运算符,左移一位相当于该数乘以2,左移两位相当于该数乘以2的2次方,所以本题相当于将4乘以2,结果为8。

  • 第7题:

    有以下程序:include main( ){char P[] = {'a','b','c'} ,q[]: "abc";printf( "% d % d

    有以下程序:#include <stdio.h>main( ){ char P[] = {'a','b','c'} ,q[]: "abc"; printf( "% d % d \ n", sizeof(p), sizeof(q) );}程序运行后的输出结果是( )。

    A.44

    B.33

    C.34

    D.43


    正确答案:C
    解析:sizeof运算符是计算变量或数组所分配到的内存空间的大小,p[]={'a','b','c'}使数组的长度等于字符的个数3;q[]="abc"使数组的长度等于字符个数加上1个串结束符,'\0',共4个字符,其中,'\0',占用一个存储空间。故本题的输出结果是34。

  • 第8题:

    有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

    有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。

  • 第9题:

    已知大写字母A的ACSⅡ码为65,以下程序的运行结果是() includemain(){char c1='A',c2='Y

    已知大写字母A的ACSⅡ码为65,以下程序的运行结果是 ( ) # include<stdio.h> main( ) {char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); }

    A.65,89

    B.A,Y

    C.65,88

    D.65,90


    正确答案:A

  • 第10题:

    数字字符'0'的ASCII值为48,若有以下程序:include main( )char a='1',b ='2';printf( "

    数字字符'0'的ASCII值为48,若有以下程序: #include <stdio.h> main( ) char a='1',b ='2'; printf( "% c,",b + + ); printf(" % d \n" ,b - a); } 程序运行后的输出结果是( )。

    A.3,2

    B.50,2

    C.2,2

    D.2,50


    正确答案:C
    解析:变量a,b定义为字符型,执行printf("%c,"b++);时,首先输出字符变量b的值'2'和逗号,然后b的值加1,b的值变成'3';再执行printf("%d\n",b-a);输出'3'-'1',即数字2。所以程序运行后的输出结果为选项C)。

  • 第11题:

    已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是()      #include      main()      { char c1=’A’,c2=’Y’;      printf(“%d,%d/n”,c1,c2);}

    • A、因输出格式不合法,输出错误信息
    • B、65,90
    • C、A、Y
    • D、65,89

    正确答案:D

  • 第12题:

    单选题
    有以下程序(说明:字母A的ASCII码值是65):#include void fun(char *s){ while(*s) {  if(*s%2)printf(%c,*s);  s++; }}main(){ char a[]=BYTE; fun(a); printf();}程序运行后的输出结果是(  )。
    A

    BY

    B

    BT

    C

    YT

    D

    YE


    正确答案: B
    解析:
    函数只会输出ASCII码值为奇数的字母,执行fun(a)时,依次取出a[]中的字母,当取第一个字母B时,因为B的ASCII码值为66,所以不会输出B,字母Y的ASCII码值为89,字母T的ASCII码值为84,字母E的ASCII码值为69,所以最后输出字母YE。答案选择D选项。

  • 第13题:

    已知字符A的ASCII代码值为65,以下程序运行时,若从键盘输入:B33<回车>。则输出结果是______。 incl

    已知字符A的ASCII代码值为65,以下程序运行时,若从键盘输入:B33<回车>。则输出结果是______。 #include "stdio.h" main() { char a,b; a=getchar();scanf("Xd",&b); a=a-'A'+'0';b=b*2; printf("%c%c\n",a,b); }

    A.2 B

    B.1 B

    C.3 B

    D.4 B


    正确答案:B

  • 第14题:

    有以下程序 include void fun(char **p) { ++p; printf("%s\n",*p);

    有以下程序 #include <stdio.h> void fun(char **p) { ++p; printf("%s\n",*p); } main() { char *a[]={"Moming","Afternoon","Evening","Night"}; fun(a); } 程序的运行结果是

    A.Afternoon

    B.fternoon

    C.Morning

    D.orning


    正确答案:A
    解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和—般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针(即字符型二级指针),所以数组名a可以用作函数fun()的实参。

  • 第15题:

    下列程序段的输出结果为( )。 include main() { static char a[]="language"; char *p;

    下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针P指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针P所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第16题:

    有以下程序inc1udemain(){char*s={"ABC"}; do {printf("%d",*s%10);s++; }while(*s);

    有以下程序 #inc1ude<stdio.h> main() { char*s={"ABC"}; do { printf("%d",*s%10); s++; } while(*s); } 注意字母A的ASCII码值为65。程序运行后的输出结果是______。

    A.5670

    B.656667

    C.567

    D.ABC


    正确答案:C
    解析:本题考查的是do-while语句的使用,do-while执行的过程是当while后面—对括号中表达式的值为非0时,转去执行循环体,当值为0时,退出循环。本题定义了—个指针变量s,并使得s指向字符串"ABC",的首地址,即把字符A的地址赋给s,因为do-while语句是先执行循环体再进行循环条件的判断,因此先执行printf语句,“s%10”是s对10的取模运算,第—字符A的ASCII码为65,故“65%10”取模运算结果为5,因此输出5,接着执行s++,s指向字符串的下—个字符,当字符串中字符没有循环完时,继续执行do-while语句,以此类推,B和C的分别为6和7,因此,选项C是正确的。

  • 第17题:

    以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; }

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

    include<stdio.h>

    main()

    { struct stru

    { int a;

    float b;

    char d[4];

    };

    printf("%d\n",sizeof(struct stru));

    }


    正确答案:10
    10 解析:结构体变量占用内存空间的字节数是结构体各分量占用内存空间的字节数的总和。int型变量占用2字节,float型变量占用4字节,char型占用1字节,char d[4]是含有4个元素的char型数组,占用4字节。sizeof(struct stru)是计算结构体变量占用内存空间的字节数,2+4+4=10。

  • 第18题:

    有以下程序(说明:字母A的ASCII码值是65)

    #include

    void fun(char *s)

    { while(*s)

    { if(*s%2) printf("%c",*s);

    s++;

    }

    }

    main()

    { char a[]="BYTE";

    fun(a); printf("\n");

    }

    程序运行后的输出结果是

    A.BY

    B.BT

    C.YT

    D.Y


    正确答案:D

  • 第19题:

    已知大写字母F的ASCII码为70,以下程序的运行结果为()includemain( ){char c1='F',c2='

    已知大写字母F的ASCII码为70,以下程序的运行结果为 ( ) #include<stdio.h> main( ) { char c1='F',c2='p'; printf("%d,%d\n",c1,c2); }

    A.70,80

    B.70,81

    C.70,82

    D.70,83


    正确答案:A

  • 第20题:

    已知在ASCII代码中,字母A的序号为65,下列程序的输出结果是______。include main(){char

    已知在ASCII代码中,字母A的序号为65,下列程序的输出结果是______。#include <stdio.h>main (){ char c1='A',c2='Y'; printf("%d,%d\n",c1,c2);}

    A.因输出格式不合法,输出错误信息

    B.65,90

    C.'A','Y'

    D.65,89


    正确答案:D

  • 第21题:

    有以下程序:includevoid fun(char *a, char *b){ a=b;(*a)++;}main(){char c1='A',c2=

    有以下程序: #include <stdio.h> void fun(char *a, char *b) { a=b; (*a)++;} main() { char c1='A',c2='a',*p1,*p2; p1=&c1; P2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); } 程序运行后的输出结果是( )。

    A.Ab

    B.aa

    C.Aa

    D.Bb


    正确答案:A
    解析:本题中fun函数的形参是两个指向字符型数据的指针,其功能是把b赋给a,然后将a所指存储单元里的变量值加1。在main函数中,p1里存放的是c1的地址,p2里存放的是c2的地址,经函数调用fun(p1,P2)后,p2的值赋给了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1变成了'b',所以此时c2的值为'b',而c1的值没变,仍为'A'。程序改变的是p1的地址和c2的值。

  • 第22题:

    (25)有以下程序(说明:字母A的ASCII码值是65)

    #include <stdio.h>

    void fun(char *s)

    { while(*s)

    { if(*s%2) printf("%c",*s);

    s++;

    }

    }

    main()

    { char a[]="BYTE";

    fun(a); printf("\n");

    }

    程序运行后的输出结果是

    A)BY

    B)BT

    C)YT

    D) YE


    正确答案:D

  • 第23题:

    单选题
    已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是()      #include      main()      { char c1=’A’,c2=’Y’;      printf(“%d,%d/n”,c1,c2);}
    A

    因输出格式不合法,输出错误信息

    B

    65,90

    C

    A、Y

    D

    65,89


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