上海龙凤419

C说话

C说话试题

时候:2024-11-01 11:35:03 诗琳 C说话 我要投稿

C说话试题

  在进修、任务糊口中,咱们会常常打仗并利用试题,试题能够赞助黉舍或各主理方考查参试者某一方面的常识能力。一份好的试题都具有甚么特色呢?上面是小编经心清算的C说话试题,仅供参考,接待大师浏览。

C说话试题

  C说话试题 1

  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

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

  for(j=1; 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

  fun(x, y, 0);

  for (i=0;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

  for (j=i+2; j

  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说话试题 2

  1、第1题请编写函数fun,其功效使:将两个两位正整数a b归并构成一个整数放在c中。归并的体例使:将a数的十位和个位数顺次放在c数的百位和个位上,b数的十位和个位数顺次放在c数的千位和十位上。

  谜底:

  void fun(int a,int b,long *c)

  {*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

  2、 第2题请编写一个函数fun,它的功效使:计较n门课程的均匀分,计较成果作为函数值前往。

  谜底:

  float fun(float *a,int n)

  {float ave=0.0;

  int i;

  for(i=0;i

  ave+=a;

  ave/=n;

  return ave;}

  3、 第3题假设输入的字符串中只包罗字母和*号。请编写函数fun,它的功效使:将字符串尾部的*号全数删除,后面和中心的*号不删除。

  谜底:

  void fun(char *a)

  {int i=0;

  char *p,*q;

  p=q=a;

  while(*p)

  p++;

  p--;

  while(*p==‘*’)

  p--;

  while(q<=p)

  {a=*q;

  i++;

  q++;}

  a=‘’;}

  4、第4题请编写函数fun,其功效是:将两个两位数的正整数a b归并构成一个整数放在c中,归并的体例是:将a数的十位和个位数顺次放在c的个位和百位上,b数的十位和个位数顺次放在c数的千位和十位上。

  谜底:

  void fun(int a,int b,long *c)

  {c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}

  5、第5题 n论理学生的成就已在主函数中放入一个带头节点的链表布局中,h指向链表的头节点。请编写函数fun,它的功效是:求出均匀分,由函数值前往。

  谜底:

  double fun(strec *h)

  {double aver=0.0;

  while(h!=null)

  {aver+=h->s;

  hy=h->next;}

  aver/=n;

  return aver;}

  6:、第6题请编写函数fun,计较并输入给定10个数的.方差。

  谜底:

  double fun(double x[10])

  {int i,j;

  double s=0.0,s1=0.0;

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

  s1+=x;

  s1/=10;

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

  s+=(x[j]-s1)*(x[j]-s1);

  s/=10;

  s=pow(s,0.5);

  return s;}

  7、第7题请编写函数fun,其功效是:将两个两位数的正整数a b归并构成一个整数放在c 中。归并的体例是:将a数的十位和个位数顺次放在c数的千位和十位上,b数的十位和个位数顺次放在c数的个位和百位上。

  谜底:

  void fun(int a,int b,long *c)

  {*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}

【C说话试题】相干文章:

C说话试题03-28

C说话法式试题03-28

C说话试题及谜底07-26

C说话考前摹拟试题03-28

C说话摹拟试题及谜底03-28

C说话摹拟试题操练12-09

规范c说话口试题12-05

C说话测验试题及谜底06-12

C说话口尝尝题及谜底12-05