2023年计算机二级C语言考试题及答案

2016年计算机二级C语言考试题及答案

  2016上半年的计算机考试只剩下3天了,下面小编为大家分享最新的计算机C语言考试题库,希望对大家有所帮助!

  练习题

  1.执行下面的程序段

  int x=40;

  char z=′B′;

  int B;

  B=((x&0xff)&&(z>′a′));

  后,B的值为()

  A)0 B)1 C)2 D)3

  2.已知下列函数定义

  setw(int *b,int m,int n,int dat)

  { int k;

  for(k=0;k  {*b=dat;b++;}

  }

  则调用此函数的正确写法是(假设变量a的说明为int a[50])()

  A)setw(*a,5,8,1); B)setw(&a,5,8,1); C)setw((int*)a,5,8,1); D)setw(a,5,8,1);

  3.若有以下定义和语句:

  double r=99, *p=7;

  *p=r;

  则以下正确的叙述是()

  A)两处的*p含义相同,都说明给指针变量p赋值3

  B)在“double r=99, *p=7; *p=r;”中,把r的地址赋给了p所指的存储单元

  C)语句“*p=r;”把变量r的值赋给指针变量p

  D)语句“*p=r;”把变量r的值放回p中

  4.设有char str[10],下列语句正确的是()

  A)scanf("%s",&str); B)printf("%c",str); C)printf("%s",str[0]); D)printf("%s",str);

  5.下列描述说明正确的是()

  A)定义结构体时,它的每个成员的数据类型可以不同

  B)不同结构体的成员名不能相同

  C)结构体定义时,其成员的数据类型不能是结构体本身

  D)结构体定义时各成员项之间可用分号也可用逗号隔开

  6.以下函数的功能是()

  intfun(char *a)

  { char*b=a;

  while(*b)b++;

  {return b-a; }

  }

  A)比较两个字符串的大小 B)字符串的复制 C)计算字符串的长度 D)字符串的连接

  7.若有如下程序:

  #define X3

  #define YX+1

  #define ZY*Y/2

  main()

  { intn;

  for(n=1;n<=Z;n++)printf("%d",n);}

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

  A)12345 B)1234567 C)12345678 D)123456

  8.以下叙述中错误的是()

  A)局部变量的定义可以在函数体和复合语句的内部

  B)全局变量的定义可以在函数以外的任何部位

  C)同一程序内局部变量和全局变量不允许同名

  D)函数的形参属于局部变量

  9.以下叙述中错误的是()

  A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以

  B)在程序结束时,应当用fclose函数关闭已打开的文件

  C)在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

  D)不可以用FILE定义指向二进制文件的文件指针

  10.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()

  A)EOF B)0 C)非零值 D)NULL

  答案:1.A 2.D 3.D 4.D 5.A 6.C 7.D 8.C 9.D 10.C

  练习题

  1.若有如下程序:

  main()

  {chara[]="chinaname";

  printf("%d,",strlen(a));

  printf("%dn",sizeof(a));}

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

  A)5,11 B)5,12 C)11,11 D)12,12

  2.指针变量p的.基类型为int,并已指向一连续存储区,若p中当前的地址值为1234,则执行p++后,p中的值为()

  A)1234 B)1235 C)1236 D)1237

  3.函数调用“strcat(strcpy(str1,str2),str3)”的功能是()

  A)将串str1拷贝到串str2中后再连接到串str3之后

  B)将串str1连接到串str2之后再拷贝到串str3之后

  C)将串str2拷贝到串str1中后再将串str3连接到串str1之后

  D)将串str2连接到串str1之后再将串str1拷贝到串str3中

  4.下面宏定义正确的是()

  A)#defineSa*b

  B)#definePI3.14;

  C)#definemax(a,b) ((a)>(b)?(a)∶(b))

  D)#defines(x)(x)*(x);

  5.下面叙述正确的是()

  A)函数调用不可以出现在表达式中

  B)函数调用可以作为一个函数的实参

  C)函数调用可以作为一个函数的形参

  D)函数不可以直接调用其本身

  6.有如下程序

  #include

  main()

  {int v1=0,v2=0;

  char ch;

  while ((ch=getchar())!='#')

  switch(ch)

  {case ′a′:

  case ′h′:

  default:v1++;

  case ′0′: v2++;

  }

  printf("%d,%dn",v1,v2);

  }

  如果从键盘上输入china#<回车>,则程序运行结果为()

  A)2,0 B)5,0 C)5,5 D)2,5

  7.程序中头文件type1.h的内容是:

  #defineN5

  #defineM1N*3

  程序如下:

  #include"type1.h"

  #defineM2N*2

  main()

  {inti;

  i=M1+M2;printf("%dn",i);}

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

  A)10 B)20 C)25 D)30

  8.C语言规定函数返回值的类型由()

  A)在定义时所指定的函数类型所决定

  B)调用该函数时的主调函数类型所决定

  C)return语句中的表达式类型所决定

  D)调用该函数时系统临时决定

  9.若有如下程序:

  main()

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

  printf("%d%d%dn",a[0][1],a[1][2],a[2][3]);}

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

  A)270 B)480 C)160 D)不定值

  10.以下能将字符串:youareluck!正确读入的语句组是()

  A)chars[80];scanf("%s",s);

  B)char*s;scanf("%s",s);

  C)chars[80];gets(s);

  D)char*s;gets(s);

  答案:1.B 2.C 3.C 4.C 5.B 6.C 7.C 8.A 9.A 10.C

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除