期末C语言单选题100道(含答案)

答案:

B A B D B C A B D C A B A A D C D A B C B D C D D C C D A C A A A D C A C B B C C D D B A A B D B C A B D C A B A A D C D A B C B D C D D C C D A C A A A D C A C B B C C D D B A A B D B C A B D C A B

1.以下说法中正确的是(    )

A) C语言程序总是从第一个的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

2. 下选项中不是C语句的是(    )。

A) {int i; i++; printf(“%d\n”,i);}

B) ;

C) a=5,c=10

D) { ; }

3. 以下选项中不能作为C语言合法常量的是

(    )

A) 'cd'

B) 0.1e+6

C) "\a"

D) '\011'

4. 若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为(    )。

A) 1

B) 2

C) 3

D) 不确定

5. 以下能正确定义整型变量a,b和c并为其赋初值1的语句是(    )。

A) int a=b=c=1;

B) int a,b,c=1;

C) a=b=c=1;

D) int a=1,b=1,c=1;

6. 字符串"\t\065\xff\n"中的字符数(不算’\0’)为(    )

A) 5

B) 14

C) 8

D) 4

7. 对两个静态函数A和B进行如下初始化:

char A[]="ABCDEF";

char B[]={'A','B','C','D','E','F'};

则下列叙述正确的是(    )。

A) A和B完全相同

B) A和B只是长度相等

C) A和B不相同,A是指针数组

D) A数组长度比B数组长

8. 若有以下定义:

char a;int b;

float c;double d;

则表达式a*b+d-c值的类型为(    )

A) float

B) int

C) char

D) double

9. 在C语言中,运算对象必须是整型数的运算符是(    )

A) %

B) /

C) %和\

D) **

10. 有以下程序

main()

 { int  x, y, z;

   x=y=1;

   z=x++,y++,++y;

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

 }

程序运行后的输出结果是

(    )

A) 2,3,3

B) 2,3,2

C) 2,3,1

D) 2,2,1

11. 以下选项中,当x为大于1的奇数时,值为0的表达式是(    )

A) x%2==1

B) x/2

C) x%2!=0

D) x%2==0

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

main()

{

  int x=10,y=3;

  printf("%d\n",y=x/y);

}

A) 0

B) 1

C) 3

D) 不确定的值

13. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(    )

A) -3

B) 9

C) -12

D) 6

14. 有以下程序

main()

{

  char  a='a',b;

  printf("%c,",++a);

  printf("%c\n",b=a++);

}

程序运行后的输出结果是

(    )

A) b,b

B) b,c

C) a,b

D) a,c

15. 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(    )

A) 0

B) 1

C) 2

D) 3

16. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为(    )

A) 不定值

B) 4

C) 3

D) 1

17. 有以下程序段

int  k=0;

while(k=1)k++;

while循环执行的次数是(    )

A) 无限次

B) 有语法错,不能执行

C) 一次也不执行

D) 执行1次

18. 能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是(    )

A) a>=10 or a=10

B) a>=0|a<=10

C) a>=10&&a<=0

D) a>=10||a<=0

19. 表示关系x≤y≤z的c语言表达式为(    )

A) (x<=y)&&(y<=z)

B) (x<=y)AND(y<=z)

C) (x<=y<=z)

D) (x<=y)&(y<=z)

20. 设有:int a=1, b=2, c=3, d=4, m=3, n=3;  执行 (m=a>b)||(n=c>d)后n的值为(    )。

A) 0

B) 1

C) 2

D) 3

21. 以下关于逻辑运算符两侧运算对象的叙述中正确的是

(    )

A) 只能是整数0或1

B) 只能是整数0或非0整数

C) 可以是结构体类型的数据

D) 可以是任意合法的表达式

22. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

   printf("%d",(x,y));

上面程序片段的输出结果是(    )

A) 200

B) 100

C) 100 200

D) 输出格式符不够,输出不确定的值

23. 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则(    )

A) 称为函数的直接递归调用

B) 称为函数的间接递归调用

C) 称为函数的循环调用

D) C语言中不允许这样的递归调用

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

main()

  {  int   k=17;

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

  }

A) 17,021,0x11

B) 17,17,17

C) 17,0x11,021

D) 17,21,11

25. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(    )。

A) INPUT x、y、z;

B) scanf("%d%d%d",&x,&y,&z);

C) scanf("%d%d%d",x,y,z);

D) read("%d%d%d",&x,&y;&z);

26. 有以下程序

main()

{

  int  i;

  for(i=0;i<3;i++)

    switch(i)

    {

    case 0: prinft("%d",i);

    case 2: prinft("%d",i);

    default: prinft("%d",i);

    }

}

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

A) 022111

B) 021021

C) 000122

D) 012

27. C语言中用于结构化程序设计的三种基本结构是(    )

A) 顺序结构、选择结构、循环结构

B) if、switch、break

C) for、while、do-while

D) if、for、continue

28. 在嵌套使用if语句时,C语言规定else总是

(    )

A) 和之前与其具有相同缩进位置的if配对

B) 和之前与其最近的if配对

C) 和之前与其最近的且不带else的if配对

D) 和之前的第一个if配对

29. 设有以下程序片段:

switch(X)

{

    case 'A':  printf("A");

    case 'B':  printf("B");

    default:  printf("error");

}

假设X='A',程序输出结果是(    )

A) A

B) B

C) error

D) ABerror

30. 读程序:

    main()

    { int num=0;

      while (num<=2)

      { num++; printf("%d  ",num);}

    }

上面程序的输出结果是(    )

A) 1

B) 2  2

C) 1  2  3

D) 1  2  3   4

31. 以下程序段的执行结果是(    )。

int x=5;

do{printf("%2d\n",x--);}

while(!x);

A) 5

B) 无任何输出

C) 4

D) 陷入死循环

32. 设变量已正确定义,则以下能正确计算f=n!的程序段是

(    )

A) f=0;                            

for(i=1;i<=n;i++) f*=i;

B) f=1;

for(i=1;i<n;i++) f*=i;

C) f=1;                            

for(i=n;i>1;i++) f*=i;

D) f=1;

for(i=n;i>=2;i--) f*=i;

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

main()

{

  int a, b;

  for(a=1,b=1;a<=100;a++)

   {

     if(b>=10) break;

     if(b%3==1)

       {

         b+=3;

         continue;

       }

   }

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

}

A) 101

B) 6

C) 5

D) 4

34. 下列合法的数组定义是(    )。

A) int a[]="string";

B) int a[5]={0,1,2,3,4,5};

C) char a="string";

D) char a[]={0,1,2,3,4,5};

35. 以下定义语句中,错误的是(    )

A) int  a[]={1,2};

B) char  *a[3];

C) char  s[10]="test";

D) int  n=5,a[n];

36. 以下正确的数组定义语句是(    )。

A) int y[1][4]={1,2,3,4,5};

B) float x[3][]={{1},{2},{3}};

C) long s[2][3]={{1},{1,2},{1,2,3}};

D) int m[1][4]={4};

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

main()

{

  int i,a[10];

  for(i=9;i>=0;i--)

    a[i]=10-i;

  printf("%d%d%d",a[2],a[5],a[8]);

}

A) 258

B) 741

C) 852

D) 369

38. 若有定义语句:int  a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是(    )

A) a[0][4]

B) a[1][3]

C) a[0][3]

D) a[1][4]

39. 以下数组定义中不正确的是(    )

A) int  a[2][3];

B) int  b[][3]={0,1,2,3};

C) int  c[100][100]={0};

D) int  d[3][]={{1,2},{1,2,3},{1,2,3,4}};

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

main()

{

  int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

  printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A) 0650

B) 1470

C) 5430

D) 输出值不定

41. 以下程序的输出结果是

(    )

main()

{  char  cf[3][5]={"AAAA","BBB","CC"};

   printf("\"%s\"\n",cf[1]);;

}

A) "AAAA"

B) "BBB"

C) "BBBCC"

D) "CC"

42. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为(    )

A) 4个字节

B) 5个字节

C) 6个字节

D) 7个字节

43. 以下选项中,不能正确赋值的是(    )。

A) char s1[10];s1="Ctest";

B) char s2[]={'C','t','e','s','t'};

C) char s3[20]="Ctest";

D) char *s4="Ctest\n";

44. 给出以下定义:

char x[]="abcdfeg";

char y[]={'a','b','c','d','e','f','g'};

则正确的叙述为(    )。

A) 数组x和数组y等价

B) 数组x和数组y长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度

45. 若要求从键盘读入含有空格字符的字符串,应使用函数

(    )

A) getc()

B) gets()

C) getchar()

D) scanf()

46. 有语句:

char str1[10],str2[10]={"books"};

则能将字符串books赋给数组str1的正确语句是(    )。

A) str1={"Books"};

B) strcpy(str1,str2);

C) str1=str2;

D) strcpy(str2,str1);

47. 以下语句的输出结果是(    )

    printf("%d\n",strlen("\tc\065\xff\n"));

A) 5

B) 14

C) 8

D) 输出项不合法,无正常输出

48. 若有语句int *point, a=4; 和point=&a; 下面均代表地址的一组选项是(    )。

A) a, point, *&a

B) &*a, &a, *point

C) *&point, *point, &a

D) &a, &*point, point

49. 设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是(    )

A) float *p = 1024;

B) int *p = (float)x;

C) float p = &x;

D) float *p = &x;

50. 设有语句:int a=1,b=2,*p1=&a,*p2=&b; 以下可使指针p1指向变量b的赋值语句是(    )。

A) p1=*p2

B) *p1=p2

C) p1=p2

D) *p1=*p2

51. 有以下程序

main()

{

  int a[]={1,2,3,4,5,6,7,8,9,0},*p;

  for(p=a;p<a+10;p++)

    printf("%d,",*p);

}

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

A) 1,2,3,4,5,6,7,8,9,0,

B) 2,3,4,5,6,7,8,9,10,1,

C) 0,1,2,3,4,5,6,7,8,9,

D) 1,1,1,1,1,1,1,1,1,1,

52. 若已定义char  s[10]; 则在下面表达式中不能表示s[1]的地址的是(    )。

A) s+1

B) s++

C) &s[0]+1

D) &s[1]

53. 在以下选项中,操作不合法的一组是(    )。

A) int x[6], *p; p=&x[0];

B) int x[6], *p; *p=x;

C) int x[6], *p;  p=x;

D) int x[6],p;  p=x[0];

54. 以下叙述中正确的是(    )

A) 全局变量的作用域一定比局部变量的作用域范围大

B) 静态(static)类别变量的生存期贯穿于整个程序的运行期间

C) 函数的形参都属于全局变量

D) 未在定义语句中赋初值的auto变量和static变量的初值都是随机值

55. 有以下程序

main()

{  char  s[]="159",*p;

   p=s;

   printf("%c",*p++);

   pritnf("%c",*p++);

}

程序运行后的输出结果是

(    )

A) 15

B) 16

C) 12

D) 59

56. 以下语句或语句组中,能正确进行字符串赋值的是(    )

A) char  *sp;  *sp="right!";

B) char  s[10];  s="right!";

C) char  s[10];  *s="right!";

D) char  *sp="right!";

57. 下面程序段的运行结果是(    )。

char *p= "abcdefgh";

p+=2;

printf("%d\n", strlen(strcpy(p, "ABCD")));

A) 6

B) 12

C) 4

D) 7

58. 下面程序段的运行结果是(    )。

char str[ ]= "ABC", *p=str;

printf("%d\n", *(p+3));

A) 67

B) 0

C) 字符'C'的地址

D) 字符'C'

59. 以下程序运行后,输出结果是(    )

  main()

   {  char *s="abcde";

      s+=2;

      printf("%d\n",s);}

A) cde

B) 字符c的ASCII码值

C) 字符c的地址

D) 出错

60. 有以下程序:

main()

{ char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};

  printf("%d\n", strlen(p[4]));

}  

执行后输出结果是(    )

A) 2

B) 3

C) 4

D) 5

61. 若有语句:char *line[5];,以下叙述中正确的是(    )

A) 定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C) 定义line是一个指针数组,语句中的*号称为间址运算符

D) 定义line是一个指向字符型函数的指针

62. 设有如下定义: char *aa[2]={"abcd","ABCD"};则以下说法中正确的是(    )。

A) aa数组成元素的值分别是"abcd"和ABCD"

B) aa是指针变量,它指向含有两个数组元素的字符型一维数组

C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D) aa数组的两个元素中各自存放了字符串"abcd"和"ABCD"的首地址

63. 以下函数调用语句中含有(    )个实参。

fun((exp1,exp2),(exp3,exp4,exp5));

A) 1

B) 2

C) 4

D) 5

64. 以下所列的各函数首部中,正确的是(    )

A) void play(var a :integer,var b:integer)

B) void play(int a,b)

C) void play(int a,int b)

D) Sub play(a as integer,b as integer)

65. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(    )

A) void

B) int

C) float

D) double

66. 下面的函数调用语句中func函数的实参个数是

(    )

func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8)));

A) 3

B) 4

C) 5

D) 8

67. 有以下程序

fun(int  x, int  y)

{ static int  m=0, i=2;

  i+=m+1;    m=i+x+y;    return m;

}

main()

{ int  j=1, m=1, k;

  k=fun(j,m);    printf("%d,",k);

  k=fun(j,m);    printf("%d\n",k);

}

执行后的输出结果是

(    )

A) 5, 5

B) 5, 11

C) 11, 11

D) 11, 5

68. 以下函数值的类型是

(    )

fun ( float  x )

{  float  y;

   y= 3*x-4;

   return  y;

}

A) int

B) 不确定

C) void

D) float

69. 以下程序的输出结果是

(    )

fun(int  x, int  y, int  z)

{  z=x*x+y*y;  }

main()

{  int  a=31;

   fun(5,2,a);

   printf("%d",a);

}

A) 0

B) 2

C) 31

D) 无定值

70. 有以下程序

void  f(int  x,int  y)

{  int  t;

   if(x<y){  t=x;  x=y;  y=t;  }

}

main()

{  int  a=4,b=3,c=5;

   f(a,b);    f(a,c);     f(b,c);

   printf("%d,%d,%d\n",a,b,c);

}

执行后输出的结果是(    )

A) 3,4,5

B) 5,3,4

C) 5,4,3

D) 4,3,5

71. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(    )

A) 地址传递

B) 单向值传递

C) 由实参传给形参,再由形参传回实参

D) 传递方式由用户指定

72. 有以下程序

void f(int b[])

{ int i;

  for (i=2; i<6; i++)

    b[i] *= 2;

}

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10}, i;

  f(a);

  for (i=0; i<10; i++)

    printf("%d,", a[i]);

}

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

A) 1,2,3,4,5,6,7,8,9,10,

B) 1,2,6,8,10,12,7,8,9,10,

C) 1,2,3,4,10,12,14,16,9,10,

D) 1,2,6,8,10,12,14,16,9,10,

73. 在C语言中,函数返回值的类型最终取决于

(    )

A) 函数定义时在函数首部所说明的函数类型

B) return语句中表达式值的类型

C) 调用函数时主调函数所传递的实参类型

D) 函数定义时形参的类型

74. 调用一个函数,此函数中没有return语句,下列说法正确的是:该函数(    )。

A) 没有返回值

B) 返回若干个系统默认值

C) 能返回一个用户所希望的函数值

D) 返回一个不确定的值

75. 若有以下调用语句,则不正确的fun函数的首部是(    )

main()

   {   …

      int a[50],n;

       …

      fun(n, &a[9]);

       …

    }

A) void fun(int m, int x[])

B) void fun(int s, int h[41])

C) void fun(int p, int *s)

D) void fun(int n, int A)

76. 有以下程序

 void swap(char  *x, char  *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,abc

B) abc,123

C) 1bc,a23

D) 321,cba

77. 以下程序的输出结果(    )

#include<stdio.h>

 sub(int x,int y,int * z)

 {

 *z=y-x;

 }

main()

{   

int a, b, c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("%d,%d,%d\n", a,b,c);

}

A) 5,2,3

B) -5,-12,-7

C) -5,-12,-17

D) 5,-2,-7

78. 已定义以下函数

int fun( int  *p)

{  return  *p;  }

fun函数返回值是

(    )

A) 不确定的值

B) 一个整数

C) 形参p中存放的值

D) 形参p的地址值

79. 已定义以下函数:

fun (char* p2, char* p1)

{ while ((*p2=*p1) != '\0') {pl++;p2++;} }

函数的功能是

(    )

A) 将p1所指字符串复制到p2所指内存空间

B) 将pl所指字符串的地址赋给指针p2

C) 对pl和p2两个指针所指字符串进行比较

D) 检查p1和p2两个指针所指字符串中是否有'\0'

80. 有以下程序

#include <stdio.h>

int fun(int a, int b)

{    if (b==0)    return a;

    else         return (fun(--a, --b));

}

main()

{    printf("%d\n", fun(4, 2)); }

程序的运行结果是(    )

A) 1

B) 2

C) 3

D) 4

81. 以下程序的输出结果是

(    )

int  a,b;

void fun()

{    a=100;  b=200;    }

main()

{  int  a=5, b=7;

   fun();

   printf("%d%d \n", a,b);

}

A) 100200

B) 57

C) 200100

D) 75

82. 以下程序的输出结果是

(    )

int f()

{  static int i=0;

   int  s=1;

   s+=i;  i++;

   return  s;

}

main()

{  int  i,a=0;

   for(i=0;i<5;i++) a+=f();

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

}

A) 20

B) 24

C) 25

D) 15

83. 下面程序的输出是(    )

 fun3(int x)

{ static int a=3;

  a+=x;

  return(a);}

main()

{ int k=2, m=1, n;

  n=fun3(k);

  n=fun3(m);

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

A) 3

B) 4

C) 6

D) 9

84. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为(    )

A) 1.4

B) 1

C) 2

D) 2.00000

85. 以下合法的C语言赋值语句是(    )。

A) a=b=58

B) k=int(a+b);

C) a=58,b=59

D) --i;

86. 数字字符'0'的ASCII值为48,若有以下程序

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

87. 有以下程序段

int a, b, c;

a=10; b=50; c=a;

if (a>b) a=b, b=c; c=a;

printf("a=%d b=%d c=%d\n", a, b, c);

程序的输出结果是(    )

A) a=10 b=50 c=10

B) a=10 b=50 c=30

C) a=10 b=30 c=10

D) a=50 b=30 c=50

88. 下面程序段的运行结果是(    )

char a[ ]= "language", *p;

p=a;

while (*p !='u') { printf("%c",*p-32); p++; }

A) LANGUAGE

B) language

C) LANG

D) langUAGE

89. 设有定义:int  a;  float  b;  执行 scanf("%2d%f",&a,&b);语句时,若从键盘输入876  543.0<回车>,a和b的值分别是

(    )

A) 876和543.000000

B) 87和6.000000

C) 87和543.000000

D) 76和543.000000

90. 设变量定义为int A=5,B=6,表达式(++A==B--)?++A:--B的值是(    )。

A) 5

B) 6

C) 7

D) 8

91. 若有以下说明:

      int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

      char c='a',d,g;

则数值为4的表达式是(    )

A) a[g-c]

B) a[4]

C) a['d'-'c']

D) a['d'-c]

92. 有以下程序

#include "stdio.h"

 int  abc(int u,int v);

main ()

{

int a=24,b=16,c;

  c=abc(a,b);

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

}

int abc(int u,int v)

{  int  w;

  while(v)

  { w=u%v;  u=v;  v=w }

  return u;

}

输出结果是(    )

A) 6

B) 7

C) 8

D) 9

93. 有以下程序

main()

{ char  a,b,c,d;

  scanf("%c,%c,%d,%d",&a,&b,&c,&d);

  printf("%c,%c,%c,%c\n",a,b,c,d);

}

若运行时从键盘上输入:6,5,65,66<回车> ,则输出结果是(    )(注:字符'A'的ASCII码为65)

A) 6,5,A,B

B) 6,5,65,66

C) 6,5,6,5

D) 6,5,6,6

94. 下列程序的输出结果是(    )

main()

 { char *p1,*p2,str[50]="xyz";

 p1="abcd";

 p2="ABCD";

 strcpy(str+2,strcat(p1+2,p2+1));

 printf("%s",str);     }

A) xyabcAB

B) abcABz

C) ABabcz

D) xycdBCD

95. 有以下程序

# include  <stdio.h>

main()

{ int  a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;

  *q=*(p+5);

  printf("%d  %d \n",*p,*q);

}

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

A) 运行后报错

B) 6    6

C) 6    11

D) 5    10

96. 有以下程序

#include   <stdio.h>

main()

{ int   i,j, m=55;

  for(i=1;i<=3;i++)

    for(j=3; j<=i; j++)  m=m%j;

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

}

程序的运行结果是(    )

A) 0

B) 1

C) 2

D) 3

97. 有以下程序

main()

{  int a=5,b=4,c=3,d=2;

   if(a>b>c)

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

   else if((c-1>=d)==1)

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

   else

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

}

执行后输出的结果是(    )

A) 2

B) 3

C) 4

D) 编译时有错,无结果

98. 若以下选项中的变量已正确定义,则正确的赋值语句是(    )

A) x1=26.8%3;

B) 1+2=x2

C) x3=0x12;

D) x4=1+2=3;

99. 在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出是(    )

#include<stdio,h>

main()

{  char    ch;

   while((ch=getchar())!='\n')

       {  if(ch>='A' && ch<='Z') ch=ch+32;

             else if(ch>='a' && ch<='z') ch=ch-32;

           printf("%c",ch);

         }

         printf("\n");

}

A) ABCdef

B) abcDEF

C) abc

D) DEF

100. 有以下程序

#include <string.h>

main()

{

  char  p[]={'a','b','c'}, q[10]={'a','b','c'};

  printf("%d %d\n",strlen(p),strlen(q));

}

以下叙述中正确的是

(    )

A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B) 由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3

C) 由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3

D) 由于p和q数组中都没有字符串结束符,故长度都不能确定

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值