C语言 百文网手机站

C语言试题

时间:2021-04-16 12:54:47 C语言 我要投稿

C语言试题(精选)

  引导语:C语言是众多编程语言中的一种,以下是小编整理的C语言试题(精选),欢迎参考阅读!

C语言试题(精选)

  1.若有以下程序

  #include

  main()

  { int a=6, b=0, c=0;

  for ( ;a; ) { b += a; a -= ++c; }

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

  }

  则程序的输出结果是

  A) 1,14,3

  B) 0,14,3

  C) 0,18,3

  D) 0,14,6

  参考答案:B

  【解析】本循环的条件判断时只要a为0就退出循环体,初始值a的值为6,满足条件执行完循环体,b的值为6,a-=+ +c即a=a-(++c),所以a的'值为5,c的值为1第二次循环后b的值为11,a的值为3,c的值为2第三次也是最后循环后,a的值为0,b的值14,c的值为3

  2.以下选项中非法的C语言字符常量是

  A) '07'

  B) ''

  C) 'aa'

  D) 'xaa'

  参考答案:C

  【解析】C选项中是字符串常量,应该用双引号表示即"aa"所以选择C选项

  3.若有以下程序

  #include

  void sp(int *a)

  { int b=2;

  a=&b; *a = *a * 2; printf("%d,", *a);

  }

  main()

  { int k=3, *p=&k;

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

  }

  则程序的输出结果是

  A) 4,3,3

  B) 4,3,4

  C) 6,3,6

  D) 6,6,6

  参考答案:A

  【解析】首先在主函数中给整型变量k赋值为3,将变量k的地址赋给指针变量p;调用sp函数,将实参p的值传给形参a,在sp函数中,指针变量a又获得变量b的地址,通过运算后,输出a的值为4;返回主函数,输出k的值和p的值为3和3。因此A选项正确。

  4.若有以下程序

  #include

  int k=7;

  void f(int **s)

  { int *t=&k;

  *s=t;

  printf("%d,%d,%d,", k, *t, **s);

  }

  main()

  { int i=3,*p=&i, **r = &p;

  f(r); printf("%d,%d,%d ", i, *p, **r);

  }

  则程序的输出结果是

  A) 3,3,3,7,7,7

  B) 3,7,7,7,7,7

  C) 7,7,7,3,3,3

  D) 7,7,7,3,7,7

  参考答案:D

  5.若有以下程序

  #include

  int *f(int *s,int *t)

  { int *k;

  if (*s < *t){ k = s; s=t; t=k; }

  return s;

  }

  main()

  { int i=3, j=5, *p=&i, *q=&j, *r;

  r=f(p,q); printf("%d,%d,%d,%d,%d ", i, j, *p, *q, *r);

  }

  则程序的输出结果是

  A) 3,5,5,3,5

  B) 3,5,3,5,5

  C) 5,3,5,3,5

  D) 5,3,3,5,5

  参考答案:B

  【解析】在主函数中分别给整型变量i、j和指针型变量p、q赋初值,并声明指针变量r;调用f函数,并将实参变量p和q的值传递给形参变量s和t,并且f函数是指针型函数,即函数的返回值将是一个地址。在f函数中,如果条件成立,则将指针变量s和t互换,并且将指针s的地址返回主函数。最后输出i, j, *p, *q, *r的值,即3,5,3,5,5。因此B选项正确。

  6.若有以下程序

  #include

  #define N 4

  void fun(int a[][N], int b[], int flag)

  { int i,j;

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

  { b[i] = a[i][0];

  for(j=1; j<N; j++)

  if (flag ? (b[i] > a[i][j]) : (b[i] < a[i][j]))

  b[i] = a[i][j];

  }

  }

  main( )

  { int x[N][N]={1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16}, y[N],i;

  fun(x, y, 1);

  for ( i=0; i<N; i++ ) printf("%d,", y[i]);

  fun(x, y, 0);

  for (i=0;i<N; i++) printf("%d,", y[i]);

  printf(" ");

  }

  则程序的输出结果是

  A) 1,5,9,13,4,8,12,16,

  B) 4,8,12,16,1,5,9,13,

  C) 1,2,3,4,13,14,15,16,

  D) 13,14,15,16,1,2,3,4,

  参考答案:A

  7.若有以下程序

  #include

  void fun(int a[ ], int n)

  { int t,i,j;

  for (i=1; i<n; i+=2)

  for (j=i+2; j<n; j+=2)

  if (a[i] > a[j]) { t=a[i]; a[i]=a[j];a[j]=t;}

  }

  main()

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

  fun(c, 10);

  for (i=0;i<10; i++) printf("%d,", c[i]);

  printf(" ");

  }

  则程序的输出结果是

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

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

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

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

  参考答案:D

  【解析】该题首先对一维数组进行初始化,c[0]到c[9]依次赋值为10到1;fun(c, 10);语句调用fun函数,fun函数的功能是将一维数组偶数位元素的数值由小到大排序;最后将排好序的新的一维数组进行输出。因此D选项正确。

  8.若有以下程序

  #include

  main()

  { int i,j=0;

  char a[]="How are you!";

  for (i=0; a[i]; i++)

  if (a[i] != ' ') a[j++]=a[i];

  a[j]='';

  printf("%s ",a);

  }

  则程序的输出结果是

  A) Hay!

  B) Howareyou

  C) Howareyou!

  D) How are you!

  参考答案:C

  【解析】主函数中首先定义字符数组a[]="How are you!";执行for循环语句,语句if (a[i] != ' ') a[j++]=a[i];其功能是将字符数组中的空格去掉。因此C选项正确。

  9.若有以下程序

  #include

  char *a="you";

  char b[ ]="Welcome you to China!";

  main()

  { int i, j=0; char *p;

  for ( i=0; b[i] !=''; i++ )

  { if (*a == b[i])

  { p=a;

  for (j=i; *p!=''; j++)

  { if (*p != b[j]) break;

  p++;

  }

  if (*p=='') break;

  }

  }

  printf("%s", &b[i]);

  }

  则程序的输出结果是

  A) China!

  B) to China!

  C) me you to China!

  D) you to China!

  参考答案:D

  【解析】该程序首先定义*a和b[ ],并进行初始化。主函数中通过外层for循环语句,遍历字符数组b[ ],并且将符合if条件语句的字符赋给数组p;for内层循环语句,遍历字符数组a[ ]。再将符合if条件语句的结果输出。因此D选项正确。

  10.若有以下程序

  #include

  main()

  { char a[20], b[ ]="The sky is blue."; int i;

  for (i=0; i<7; i++) scanf("%c", &b[i]);

  gets(a); printf("%s%s ", a,b);

  }

  执行时若输入: (其中表示回车符)

  Fig flower is red.

  则输出结果是

  A) wer is red.Fig flo is blue.

  B) wer is red.Fig flo

  C) wer is red.The sky is blue.

  D) Fig flower is red.The sky is blue.

  参考答案:A

【C语言试题(精选)】相关文章:

C语言试题大全10-08

C语言试题训练10-08

C语言精选面试题详解09-30

标准c语言笔试题10-08

c语言经典笔试题10-08

C语言面试笔试题02-11

C语言练习测试试题10-08

c语言常见笔试题总结10-08

C语言自我检测试题10-08