C语言期末考试试题及答案

时间:2022-11-23 05:28:16 期末试题 我要投稿
  • 相关推荐

C语言期末考试试题及答案

  C语言是一门通用计算机编程语言,应用广泛。以下是由阳光网小编整理关于C语言期末考试试题的内容,希望大家喜欢!

C语言期末考试试题及答案

  C语言期末考试试题及答案(一)

  一、单项选择题

  1.(D)是合法的用户自定义标识符。

  A、 b-b B、float C、<fr> D、 _isw

  2.若变量已正确定义并赋值,表达式(B)不符合C语言语法。

  A、a*b/c;B、3.14%2 C、2, b D、a/b/c

  3.(C)是不正确的字符常量。

  A、'n'B、'1'C、"a" D、'101'

  4.在 C 程序中,用(B)表示逻辑值“真”。

  A、1B、非 0 的数C、非 1 的数 D、 大于 0 的数

  5.(C)把x、y定义成float类型变量,并赋同一初值3.14。

  A、float x, y=3.14;B、float x, y=2*3.14;

  C、float x=3.14, y=x=3.14; D、float x=y=3.14;

  6.若变量已正确定义,表达式(C)的值不是2。

  A、2&3 B、1<<1C、a==2D、1^3

  7.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和(C)等价。

  A、k=(a>b)?1:0; B、k=a>b;

  C、k=a<=b;D、a<=b ? 0 : 1;

  8.设变量定义为“int a, b;”,执行下列语句时,输入(D),则a和b的值都是10。 scanf("a=%d, b=%d",&a, &b);

  A、10 10B、10, 10C、a=10 b=10 D、a=10, b=10

  9.下列程序的.输出结果是(D)。

  fun(int a, int b, int c)

  { c =a*b; }

  void main( )

  { int c;

  fun(2,3,c);

  printf(”%dn”,c);

  }

  A、0 B、1 C、6 D、无法确定

  10.在C程序中,若对函数类型未加说明,则函数的隐含类型为(A)。

  A、intB、double C、void D、char

  11.表达式 strlen(”hello”) 的值是(B)。

  A、 4B、 5 C、 6D、 7

  12.设变量定义为“int a[4];”,则表达式(D)不符合C语言语法。

  A、*aB、a[0]C、aD、a++

  13.设变量定义为“int x, *p=&x;”,则&*p相当于(A)。

  A、p B、*p C、xD、*&x

  14.若变量已正确定义,(A)不能使指针p成为空指针。

  A、p=EOFB、p=0C、p=‟‟ D、p=NULL

  15.对于以下的变量定义,表达式(D)不符合C语言语法。

  struct node {

  int len;

  char *pk;

  } x = {2, "right"}, *p = &x;

  A、p->pk B、*p.pkC、*p->pkD、*x.pk

  16. 有如下程序

  int runc(int a,int b)

  { return(a+b);}

  main0

  { int x=2,y=5,z=8,r;

  r=func(func(x,y),z);

  printf(“%\d\n”,r);

  }

  该程序的输出的结果是 (D)

  A) 12 B) 13 C) 14 D) 15

  17. 对于基类型相同的两个指针变量之间,不能进行的运算是 (C)

  A) < B) = C) + D) -

  18. 有如下程序

  long fib(int n)

  { if(n>2) return(fib(n-1)+fib(n-2));

  else return(2);

  }

  main0

  { printf(“%d\n”,fib(3));

  该程序的输出结果是 (B)

  A} 2 B} 4 C} 6 D} 8

  19. 有如下定义

  struct person{char name[9]; int age;};

  strict person class[10]={“Johu”, 17,

  “Paul”, 19

  “Mary”, 18,

  “Adam 16,};

  根据上述定义,能输出字母M的语句是 (D)

  A) prinft(“%c\n”,class[3].mane); B) pfintf(“%c\n”,class[3].name[1]);

  C) prinft(“%c\n”,class[2].name[1]); D) printf(“%^c\n”,class[2].name

  [0]);

  20. 以下所列的C语言常量中,错误的是 (B)

  A) 0xFF B) 1.2e0.5 C) 2L D) „\72‟

  C语言期末考试试题及答案(二)

  1.表示“x≥y≥z”的C表达式是___ x>=y && y>=z ____。

  2.下列程序段的输出是__1____。

  printf("%on", 010<<1^1);

  3. 下列程序段的输出是__6,90____。

  int k;

  float s;

  for (k=0, s=0; k < 7; k ++)

  s += k/2;

  printf("%d, %fn", k, s);

  4. 下列程序段的输出是__5,25_____。

  #define f(a, b, x) a*x+b

  printf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));

  5. 下列程序段的输出是_*#*#____。

  main()

  { int k;

  for(k=1; k<5; k++) {

  if(k % 2) printf("*");

  else continue;

  printf("#");

  }

  }

  6. 下列程序段的输出是__5 8___。

  # include <stdio.h>

  int f(int x)

  { static y=1;

  y++;

  x += y;

  return x;

  }

  void main()

  { int k;

  k=f(3);

  printf("%d %dn", k, f(k));

  }

  7.下列程序段的输出是___5__。

  int *p, *q, k = 5 , j = 6 ;

  q = &k ; p = q ;q = &j ;

  printf("%d", *p);

  8.函数

  void f(char s[ ], char t[ ])

  {int k=0;

  while (s[k]=t[k])k++;

  }

  等价于

  void f(char *s, char *t)

  {while (_*s++=*t++____);

  }

  9. 下列程序段的`输出是_ ne,s ____。

  char *a[2]={"one", "two"}, **p=a;

  printf("%s,", *(p++)+1);

  printf("%cn", **p-1);

  10. 下列程序编译后生成 t.exe, 运行 t input output zoo oil 的输出结果是

  __zoo___。

  void main(int argc, char * argv[ ])

  { int k;

  char *p=argv[1];

  for(k=2; k<argc; k++)

  if(strcmp(argv[k], p)>0) p=argv[k];

  printf("%sn", p);

  }

  11. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结 果是:After swap 5, 3。

  void main( )

  {int a=3, b=5;

  swap(&a, &b );

  printf("After swap %d, %d", a, b);

  }

  swap( int *p, int *q )

  {int t;

  t=*p; ;

  *p=*q ;

  *q=t ;

  }


【C语言期末考试试题及答案】相关文章:

C语言面试题和答案12-09

c语言基础面试题及答案04-01

SQL语言试题及答案04-02

大学《汇编语言》试题及答案12-02

《商法》期末考试题及答案06-09

汇编语言试题及参考答案11-29

形式语言与自动机试题及答案04-02

经典力学试题试题试题及答案04-02

《管理学基础》期末考试试题及答案01-05