《C语言程序设计》模拟卷 A卷
题号
总分
得分
评卷人
一、选择题:
1.一个C语言的源程序中____A__。
A)必须有一个主函数          B)可以有多个主函数
C)必须有主函数和其他函数    D)可以没有主函数
2.执行以下语句的结果为____C__。
  y=10;    x=y++;
  A)x=10,  y=10                B)x=11,  y=11
  C)x=10,  y=11                D)x=11,  y=10
3.执行以下程序段后,c3的值是__A____。
    int c1=1,c2=2,c3;
    c3=c1/c2;
A) 0      B 1/2      C    D 1
4.C语言中字符型(char)数据在内存中的形式存储是____D__。
A) 原码  B) 补码    C)反码     D) ASCII码
5.下列常数中不能作为C的常量的是____D__。
A) 0xA5   B -2  C 3e2   D)
6.C语言中整数-8在内存中的存储形式是___B___。
A) 1111 1111 1111 1000       B 1000 0000 0000 1000
      C 0000 0000 0000 1000      D 1111 1111 1111 0111
7.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是___B___。
A)6        B12      C30      D36
8.执行以下程序段后,a,b,c的值分别是______。
     int a,b=100,c,x=10,y=9;
     a=(--x==y++)?--x:++y;
     if(x<9)b=x++; c=y;
A9,9,9      B8,8,10    C9,10,9  D1,11,10
9.一个C语言程序的基本组成单位是______C
     A)主程序    B)子程序      C)函数   D)过程
10.已知函数abc的定义为:
    void abc ( )
    { ....... }
    则函数定义中void的含义是___A_。
      A)执行函数abc后,函数没有返回值
B)执行函数abc后,函数不再返回
      C)执行函数abc后,可以返回任意类型
D)以上三个答案全是错误的
11.以下程序的输出结果是___C_。
    main()
    { int i,x[3][3]={1,2,3,4,5,6,7,8,9};
     for(i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
A 1,5,9,    B 1,4,7,    C 3,5,7,    D 3,6,9,
12.已知:double *p[6];它的含义是___C__。
    Ap是指向double型变量的指针   Bp是double型数组
Cp是指针数组                 Dp是数组指针
13.已知:int *p, a; 则语句"p=&a;"中的运算符"&"的含义是_____。
      A位与运算 B逻辑与运算 C取指针内容 D取变量地址
14.变量的指针,其含义是指该变量的(  )
A)值          B)地址      C)名      D)一个标志
15.下面程序段的运行结果是:( C )
    char c[ ]=\t\v\\\0will\n
    printf(%d,strlen(c));
A)14  B)3    C)9    D)字符串中有非法字符,输出值不确定
二、填空题:
1.表达式10+16%3的值为_____15______。
2.写出满足下列条件的表达式:a和b都不小于c______a>=c&&b>=_c______________
3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为___0__
4.下面函数的功能是求整数1到n的和请把程序补充完整。
long  sum( int n)
{ int i;
  ____int s=0;_____
for(i=1;i<=n;i++)
______s+=i;_________
return s;
}
   
三、程序阅读题,写出程序的输出结果:
1.#include “”
  main()
  {int i, j;
    i=j=2;
c编程网
    if(i==1)
      if(i==2)
      printf(%d,i=i+j);
      else
      printf(%d,i=i-j);
  printf(%d,i);
  }
__________2_________________________。
2.main()
{int i=3
    while(i<10))
    {if(i<6)
        {i+=2;
        continue;
        }
    else
      printf(%d  ,++i);
    }
  }
___________8910________________________
3.#include “”
  #define X  5
  #define Y  X+1
  #define Z  Y*X/2
  main( )
  {int a;
    a=Y;
    printf(%d  %d\n,Z,--a);
}
____________15  5___________________________
四、编程题:(共45分)
1.编程求分段函数y=f(x)的值,f(x)的表达式如下:
                2x+3  x<-1