广西计算机二级考试试题.docx

上传人:b****1 文档编号:2921848 上传时间:2023-05-05 格式:DOCX 页数:9 大小:18.30KB
下载 相关 举报
广西计算机二级考试试题.docx_第1页
第1页 / 共9页
广西计算机二级考试试题.docx_第2页
第2页 / 共9页
广西计算机二级考试试题.docx_第3页
第3页 / 共9页
广西计算机二级考试试题.docx_第4页
第4页 / 共9页
广西计算机二级考试试题.docx_第5页
第5页 / 共9页
广西计算机二级考试试题.docx_第6页
第6页 / 共9页
广西计算机二级考试试题.docx_第7页
第7页 / 共9页
广西计算机二级考试试题.docx_第8页
第8页 / 共9页
广西计算机二级考试试题.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

广西计算机二级考试试题.docx

《广西计算机二级考试试题.docx》由会员分享,可在线阅读,更多相关《广西计算机二级考试试题.docx(9页珍藏版)》请在冰点文库上搜索。

广西计算机二级考试试题.docx

广西计算机二级考试试题

广西区等级考试二级C真题

 第一卷(共70分)

第一部分:

基础知识(20题,共40分)

1、一个C程序总是从(  B  )开始执行。

A、程序的第一条执行语句    B、主函数   C、子程序     D、主程序

2、在C语言中,int, char和short  int三种类型变量所占用的内存大小是( C )。

A、均为2个字节   B、由用户自己定义   C、由所用机器的字长决定   D、是任意的

3、若有以下类型说明语句:

char a;  int b;  float  c;  short  int d;

则表达式(c*b+a)*d的结果类型是(B  )。

A、char   B、int    C、double   D、float

4、若有说明语句:

int w=1,x=2,y=3,z=4;

则表达试w>x?

w:

z>y?

z:

x的值是( A )

A、4   B、3    C、2    D、1

5、设x,y 为int型变量,则执行下列语句后,y的值是(   )

x=5;

y=x++*x++;

y=--y*--y;

A、529    B、2401    C、1209     D、625

6、C语言中函数返回值的类型是( D )

A、return语句中的表达式类型         B、调用函数的类型

C、总是int型                        D、定义函数时所指定的函数类型

7、凡是在函数中未指定存储类别的变量,其隐含的存储类别是(   )

A、自动      B、静态     C、外部      D、寄存器

8、在源程序的一个文件中定义的全局变量的作用域是( D  )

A、本文件的全部范围           B、该程序的全部范围

C、一个函数的范围             D、从定义该变量的位置开始至该文件的结束

9、以下不正确的描述是( A  )

A、break语句只能用于循环语句和switch语句

B、在switch语句中,break语句的作用也可用continue语句来替代

C、在循环语句中,使用continue语句是为了结束本次循环,而不是终止循环的执行

D、在循环语句中,使用break语句是为了使流程跳出循环体,提前结束循环

10、若有宏定义 #define  mod(x,y)  x%y  

则执行以下程序段后,输出为(  B  )

int  z,a=15,b=100;

z=mod(b,a);

printf(“%d\n”,z++);

A、11     B、10      C、6     D、宏定义不合法

11、若有说明语句:

 char s1[4]=”12”;  char  *ptr;

则执行下列语句后输出为(  A )

ptr=s1;

printf(“%c\n”,*(ptr+1));

A、字符‘2’     B、整数2          C、字符串“12”      D、字符‘1’

[1][2]

[page_break]

第二部分:

简单程序(12题,共30分)

21、运行下面的程序,其输出是( C  )

main()

{ int a[]={2,4,6,8,10},y=1,x,*p;

  p=&a[1];

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

 y+=*(p+x);

 printf(“%d\n”,y);}

A、17     B、18    C、19    D、20

22、运行下面的程序,其输出是( D  )

main()

{int i=1;

 while(i<19)

if(i++%5!

=3)   continue;

else  printf(“%4d”,i);

 printf(“\n”);

}

A、2  5  7  9  11  13  15  17    B、3  6  9  12  15  18

C、4  9  14  19           D、3  8  13  17  19

23、运行下面的程序后,其正确的输出是( C )

main()

{static int a[5]={7,2,8,4,5};

 static int *pa[5]={&a[0], &a[1], &a[2], &a[3], &a[4]};

  int **p,i;

  p=pa;

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

{

printf(“%d\t”,**p+2);

p++;}

printf(“\n”);

}

A、9  4  10  6  7      B、7  2  8  4  5

C、7  4  10  4  5      D、2  3  4  5  6

24、下面程序运行后,其输出是(   )

main()

{int i;

 int n=2;

 while(++n<20)

   {i=1;

     while(++i

       {if(n%i==0)

         break;

        if(i==n-1)

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

          }

          printf(“\n”);

       }

}

A、2  5  7  9  13  17  19        B、3  5  7  11  13  17  19

C、2  3  5  7  11  13  17  19    D、3  5  7  11  13  17  20

[1]

[page_break]

25、下面程序运行后,其输出是(   )

main()

{int i,j,k;  int func();

  i=1,j=2,k=3;

  printf(“%d\n”,func((j+=k,j++),(i,i++,++i)));

}

int func(int x,int y)

{int z;

 z=x%y;

 return(z);

}

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

26、下面程序运行后,其输出是(   )

int x,y;

one()

{int a,b;

 a=25,b=10;

 x=a-b;y=a+b;

}

main()

{int a,b;

a=9,b=5;

x=a+b;y=a-b;

one();

printf(“%d,%d\n”,x,y);

}

A、14,4    B、14,35     C、15,35       D、15,4

27、下面程序运行后,其输出是(   )

#include 

void  printd(int i);

main()

{int n=123;

 printd(n);

}

void  printd(int n)

{int i;

  if(n<0)

  {n=-n;putchar(‘-‘);}

putchar(n%10+’0’);

if((i=n/10)!

=0)

printd(i);

}

A、123    B、321      C、3       D、1

28、下面程序运行后,其输出是(   )

struct sample{

  int a,b;

  char  *ch;

};

void  f1(struct sample parm);

main()

{struct sample arg;

 arg.a=1000;arg.b=100;arg.ch=”abcd”;

 f1(arg);

}

void  f1(struct sample parm)

{ parm.a+=parm.b;

  parm.ch[2]=’x’;

  printf(“%d\n”,parm.a);

  printf(“%s\n”,parm.ch);

}

A、1000           B、1100       C、1100       D、100

   Abcd              abcd           abxd           abcd

[1]

[page_break]

29、下面程序运行后,其输出是(   )

main()

{static char s[30]=”abcdefg”;

 static char t[]=”abcd”;

 int i,j;

 i=0;

 while(s[i]!

=’\0’)

  i++;

 j=0;

while(t[j]!

=’\0’)

 {s[i+j]=t[j];

   j++;}

s[i+j]=’\0’;

printf(“%s\n”,s);

}

A. abcdabcdefg           B. abcdefg           C. abcd          D. abcdefgabcd

 

30、下面程序运行后,其输出是(   )

main()

{ int a[4][4],i,j,k;

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

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

  a[i][j]=i+j;

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

     for(j=i+1;j<4;j++)

       { k=a[i][j];

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

         a[j][i]=k;

        }

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

{printf(“\n”);

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

   printf(“%4d”,a[i][j]);}

}

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

   1   2  3  4          1  2  5   4         1  2   4   2         4  3  2  1

   2   3  4  5          2   3  4  5         2   3  5   3         5  4  3  2

   3   4  5  6          3   4  5  6         3   4  6   4         6  5  4  3

31、下面程序运行后,其输出是(   )

main()

{ void sub();

  char s[10]=”a program”;  int num=4;

  sub(s,0,num-1);   sub(s,num,6);   sub(s,0,6);

  printf(“%s\n”,s);

}

void  sub(char *s,int num1,int num2)

{ char t,*p;

  p=s+num2;s=s+num1;

  while(s

   {t=*s;  *s=*p;  *p=t;   s++;  p--;}

}

A.program     B.gram pro     C.pro gram      D.ogra pram

32、运行下面程序,从键盘输入四个字符xyz#,其输出是(  )

#include "stdio.h"

main()

{ void  recursion();

  recursion();

}

 void  recursion()

{char c;

  c=getchar();

 putchar(c);

if(c!

=’#’)

 recursion();

putchar(c);

}

A、xyz#         B、xyz#xyz#      C、xyz##zyx      D、xyzxyz

[1]

[page_break]

第二卷(共30分)

说明:

程序填空题,在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。

每空栏3分,两大题共10个空栏,全对得30分。

试题一:

  下面的程序是将一个十六进制数字字符串转换成与它等价的十进制整数值并输出。

十六进制数的字符是从0到9和a到f或A到F。

主函数负责收集字符,并判别它们是否是十六进制字符,函数htoi负责转换工作。

#include 

#define maxline 100

#define  eof   -1

#define  yes    1

#define  no     0

int htoi();

main()

{ int c,i,isdigit;

  char t[maxline];

  i=0;

  isdigit=no;

  while((c=_______________)!

=eof&&i

   {  if(c>=’0’&&c<=’9’||c>=’a’&&c<=’f’|| c>=’A’&&c<=’F’)

      { isdigit=yes;

        t[i++]=___________;

       }

      else  if(isdigit==yes)

          { isdigit=no;

            t[i]=’\0’;

            printf(“%d”,______________);

            i=0;

           }

      }

}

int htoi(char *s)

{  int i,n;

   n=0;

  for(i=0;s[i]!

=’\0’;i++)

{ if(s[i]>=’0’&&s[i]<=’9’)  n=n*16+s[i]-______________;

  if(s[i]>=’a’&&s[i]<=’f’)  n=n*16+s[i]-‘a’+10;

  if(s[i]>=’A’&&s[i]<=’F’)  n=n*16+s[i]-‘A’+10; 

 }

return___________;

}

试题二:

    以下程序的功能是应用近似公式计算  e

计算每项分母的值,共取nmax项之和作为e  的近似值。

近似公式:

e  =1+x+x /2!

+ x /3!

+……+ x     /(nmax-1)!

float f2(int n)

{ if(n==1)

  return 1;

  else return____________________;

}

float f1(float x,int n)

{ int i;float j=______________;

  for(i=1;___________;i++)

   j=j*x;

  return j;

}

#define nmax  20

main()

{ float x,exp=1.0;int n;

  printf(“input x value:

”);

  scanf(“%f”,&x);

  printf(“%f\n”,x);

  for(n=1;n

exp=______________;

printf(“x=%f,exp(x)=%f\n”,x,_______________);

 

[1]

[page_break]

答案:

第一卷:

1~5   BCCAA    6~10  DADBB   11~15  ADBCA   16~20  ABBDD

21~25  CCABA    26~30  CBCDA   31~32  DC

第二卷:

试题一:

getchar()

c

htoi(t)

‘0’

n

试题二:

f2(n-1)*n

1

i<=n

exp+f1(x,n)/f2(n)

exp

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2