计算机二级 C语言 程序设计基础试题七
《程序设计》考试试卷七
1.C语言中,如果对函数类型未加说明,则函数的隐含类型为(   
  A.duoble        B. void          C.int            D.char
2.union data
  {  int i;
    char  c;
    float  f;  };
  定义了(   
A.共用体类型data                    B.共用体变量data
C.结构体类型data                    D.J结构体变量data
3.a=3,b=4,表达式a>b?b:a的值是(   
A.3                B. 4              C.4:3            D.0
4.下面对枚举类型的叙述,不正确的是(   
A.定义枚举类型用enum开头          B.枚举常量的值是一个常数
C.一个整数可以直接赋给一个枚举变量 D.枚举值可以用来作判断比较
5.050的总和,不正确的程序段是(     
A. int i,sum;
    sum=0;
    for(i=0;i<51;i++) sum+=i;
B. int i,sum;
    for(i=0,sum=0;i<51;sum+=i++);
C. int i,sum;
    i=0;sum=0;
    for(i<51) {sum+=i;i++;}
D. int  i,sum=0;
  for(i=0; ;i++) {if(i>50) break; sum+=i;}
6. 表达式 (int)3.6*3的值为(   
A9            B. 10        C . 10.8        D.18
7.程序的结果为(   
main()
{ int a=3,b=4,t=1;
  if (a>b)
  {t=a;a=b;b=t;}
  printf(%d,a) }
A. 3          B.4          C.1           D.0
8.程序main()
{ int a=1;
switch(a)
{ case 1:  printf(1);
    case 2:  printf(2);
    default:  printf(other);} } 的结果为(   
A.12other      B.1          C.2            D.Other
9.函数strcmp(A, B) 的值为(    )
A.0              B.-1          C.1              D.3
10.下程序的结果为(    )
int f(a)  int a{ auto int b=0;  static int c=3;  b=b+1;  c=c+1;
return(a+b+c);}
main()
{ int a=2,i;
for (i=0;i<3;i++)
printf(%d,f(a));}
A.789          B.777            C.8910          D.9
11.合法的C语言标识符是(   
  A.ab&c                B.2ab            C._a1          D./n
12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是(   
A.6.5          B.7              C.6              D.8
13.标有/*  */语句的输出结果为(   
  int x=20;  printf(%d,%o,%x,x,x,x);/*              */
A.20,20,20        B.20,24,14      C.20,14,24    D.20,024,14
14. p定义为指向含n个元素的一维数组的指针变量,正确的语句为    
A. int  (*p)[n];  B. int  *p[n];    C.int p[n];  D. int **p[n];
15. 下面程序执行结果是(   
  main()
  {  char c1,c2;
      int  i=2;
      c1=’a’;c2=’c’;
      c1=c1+i; c2=c2-i;
      printf(%c,%d,c1,c2);/*’a’ASCII码为97*/
A.语法错误        B.99,97      C.c,a        D.c,97
16.请问:071^052的结果是(   
A.032              B.016        C.023        D.022
17.下面对函数的叙述,不正确的是(   
A.函数的返回值是通过函数中的return语句获得的
B.函数不能嵌套定义
C.一个函数中有且只有一个return语句
D.函数中没有return语句,并不是不带回值
18.下面的叙述,不正确的是(   
A.宏名无类型,其参数也无类型         
B.宏定义不是C语句,不必在行末加分号
C.宏替换只是字符替换
D.宏替换定义命令必须写在文件开头
19.有定义int a[3][4],输入其32列元素的正确语句为(   
A.scanf(%d,a[3,2]);    B.scanf(%d,*(*(a+2)+1))
C.scanf(%d,*(a+2)+1);  D.scanf(%d,*(a[2]+1));   
20.下面对指针变量的叙述,正确的是(   
A.指针变量可以加上一个指针变量
B.可以把一个整形数赋给指针变量
C.指针变量的值可以赋给指针变量
D.指针变量不可以有空值,即该指针变量必须指向某一变量
    二、阅读程序,写出执行结果(每题5分,共20分)
1#include stdio.h
main()
{  int i,k,a[10],p[3];
k=5;
for ( i=0;i<10;i++)  a[i]=i;
for (i=0;i<3;i++)  p[i]=a[i*(i+1)]
      for ( i=0;i<3;i++) k+=p[i]*2;
      printf(%d\n,k); }
2、#include stdio.h
main( )
{  int a=2,*p,**pp;
  pp=&p;
  p=&a;
  a++;
  printf(%d,%d,%d\n,a,*p,**pp);}
3main( ){ union
    {  char s[2];
      int i;
}g;
    g.i=0x4142;
    printf(g.i=%x\n,g.i);
    printf(g.s[0]=%x\t g.s[1]=%x\n,g.s[0],g.s[1]);
    g.s[0]=1;
    g.s[1]=0;
    printf(g.s=%x\n,g.i); }
4#include stdio.h
  main( )
  {  int x=1;
    void  f1( ),f2( );
    f1( );
    f2(x);
    printf(x=%d\n,x);}
void  f1(void)
{ int x=3; printf(计算机编程语言x=%d\n,x);}
void  f2(x)
int  x;
{  printf(x=%d\t,x);}
Q (下列每小题只有一个错误,请改正。)
1.str_space(char *str)/*统计字符串中空格数*/
  {  int num=0;
      char  ch;
      while((ch=*str++)!=’\0’)
    if(ch=’)  num++;
  return (num); }
2.main()
{    int a,b;
    float x,y,z;
    scanf(%f%f%f,&x,&y,&z);
    a=b=x+y+z;
    c=a+b;
    printf(%d%d%d,a,b,c);}
3.#include stdio.h
main()
{ static int a[]={0*5};
    int i=0,sum=0;
    for(;i<5;i++)  sum=sum+*(a+i)+i;
    printf(sum=%d,sum); }
4.#include stdio.h
    main()
  { char  a[20];
      int i=0;
      scanf(%s,&a);
      while(a[i]) printf(%c,a[i++]);}
四、程序填空(每空2.5分,共10分)
1、本程序实现判断m是否为素数,请在程序空白处填空
# include  stdio.h
main( )
{
int  m, i, k;
scanf(%d,&m);
k=______________;
for (i=2;i<=k;i++)
    if(m%i==0)  break;
if (__________________)
  printf(%dis a prime number\n,m);
else
  printf(%d is not a prime number\n,m);
  }
2、下面invert函数的功能是将一个字符串内容颠倒过来,请填空。
# include  string.h

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。