高考复习题(二)
一、选择题
1.可以在C语言中用做用户标识符的是_______。
  A)void        B)_b3      C)for     D)2c
2.在C语言中,不正确的int类型的常数是________。
  A)32768  B)0  C)037  D)0xAF
3.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是____
A)input x,y,z; 
B)scanf(%d%d%d,&x,&y,&z);
C)scanf(%d%d%d,x,y,z);   D)read(%d%d%d,&x,&y,&z);
4.在C语言中,整数-11在内存中的存储形式是(    )
A) 1111 1111 1111 0100    B) 1000 0000 0000 1011
C) 1111 1111 1111 0101    D) 0000 0000 0000 1011
5.以下说法中正确的是_________。
  A)C语言程序总是从第一个函数开始执行
  B)在C语言程序中,要调用函数必须在main()函数中定义
  C)C语言程序总是从main()函数开始执行
  D)C语言程序中的main()函数必须放在程序的开始部分
6.设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是__________。
A)x=x*100+0.5/100.0     
B)x=(x*100+0.5)/100
C)x=(int)(x*100+0.5)/100.0 
D)x=(x/100+0.5)*100.0
7.已知int i=-10;表达式"-12<=i<=-8"的值是(        )。
A) 0  B) 1 c++判断素数C) -8 D) 非零值
8.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A)(a>=0b>=0)&&(a<Ob<O) 
B)(a>=0&&b>=O)&&(a<0&&b<O)
C)(a+b>0)&&(a+b<=0)    D)a*b>0
9.执行语句for(i=3;i++<5;);后变量i的值是_______。
A. 3 B. 4 C. 5 D. 6
10.若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[l]地址的
  表达式是__________。
  A)p+l  B)a+l  C)a++  D)++p
11.有以下定义,则sizeof(a)的值是________
  struct stud
  { char name[10]
    char sex
    int age
  }a;
    A)10  B)2   C)13    D)1
12. 有下述说明和语句,对结构体变量std中的成员age应用方式不正确是______
    stuct  student
    {int age; int num;}  std,*p=&std;
A. std.age    B. p->age     
C. (*p).age    D. *p.age
13. #define N 2
#define Y(n) ((N+1)*n)
则执行语句z=2*(N+Y(5));后的结果是________。
A)语句有错误    B)z=34   
C)z=70      D)z无定值
14.已知:char ch=a; int b=23; float c=4.8,d=4.2; 语句c=ch+b+c+(int)d;后,变量c和d的值是__________
  A)  128.800000, 4.000000           
B) 129.000000, 4.000000
  C)  129.000000, 4.200000           
D) 128.800000, 4.200000
15.已知:char w1[]=abcd,w2[]=abcd,则下面字符串w1,w2相比较中,正确的是_______
A)if(w1=w2) printf(yes1);
B)if(strcmp(w1,w2)=0) printf(yes3);
C) if(w1==w2) printf(yes2); 
D)if(strcmp(w1,w2)==0) printf(yes4);
16.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可用的,这个变量的存储类型应该被说明为________。
A) 静态变量    B) 动态变量   
C) 外部变量    D) 内部变量
17.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______
A) 地址传递    B) 单向值传递   
C) 由实参传给形参,再由形参传回实参   
D) 传递方式由用户指定
18.设有以下语句
  char a=5,b=7,c;    c=a&b<<2
  则c的二进制值是_________。
A)00010100   B)00000100 
c)00000001   D)00000101
19.gets()函数的功能是为从终端________。
A)获取一个包含空格的字符串           
B)获取一个不包含空格的字符串
C)获取一个字符串但尾部没有追加\0’ 
D)获取一个字符
20.C语言库函数fgets(str,n,fp)的功能是_________。
A)从fp指向的文件中读取长度n的字符串存入str指向的内存
B)从fp指向的文件中读取长度不超过n-l的字符串存入str指向的内存
C)从fp指向的文件中读取n个字符串存入str指向的内  存
D)从str读取至多n个字符到文件fp
二、写出以下程序运行结果
1.以下程序的输出结果是________。
void fun(int *x, int *y)
      {printf(%d%d,*x,*y);
        *x=3;*y=4;}
main()
{int x=1,y=2;
fun(&y,&x); printf(%d%d,x,y);}
2.以下程序的输出结果是________。
  main()
  { int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
    for(i=0;i<4;i+=2)  printf("%d",p[i]);}
3. 以下程序的输出结果是_________。
  #define A 10
  main()
  { int i=O,sum=O;
    do{ if(i==(i/2)*2)continue;
          sum+=i;
      }while(++i<A);
    printf("%d\n",sum);
  }
4. 以下程序的输出结果是_________。
  main()
  { int i, j;
    for(i=0;i<3;i++)
      { for(j=0;j<i;j++) printf( );
      for(j=0;j<3;j++) printf(*);
      }
  }
5.以下程序运行后的输出结果是_________
void fun(int x, int y)
{ x=x+y; y=x-y;x=x-y;
  printf(%d,%d\n,x,y);
}
main()
{int x=2,y=3;
fun(x,y);
printf(%d,%d\n,x,y);
}
6. 以下程序的输出结果是__________
  #include<stdio.h>
  main()
  { char a[]=123defg,*chp=&a[6];
    while(--chp>&a[0])
      putchar(*chp);
  }
三、将以下程序补充完整,不得增、删程序行(共22分,每空2分)
1. 以下函数用于求出一个2×4矩阵中的最大元素值。
  max_value(_________)
  {  int i,j,max;
    max=arr[0][0];
    for(i=0;i<2;i++)
      for(j=0;_________;j++)
        if(________>max)_________
    return(max);
  }
      main()
      {int a[2][4]={{2,4,7,1},{5,8,3,6}};
        printf(%d,max_value(a));  }
2.以下函数的功能是计算s=l+1/1!+l/2!+l/3!+…+l/n!,请填空.
  double fun(int n)
  { double s=1.O,fac,t
    int i,k=1;
_________;
    for(i=1;i<=n;i++)
      {___________
      t=fac/k;
      ___________
      }
__________;
  }
    main()
      {int x;  scanf(“%d”,&x);
      printf(“%lf ”,fun(x));  }
3.以下程序段是对一维数组随机赋予20个整型数值,对这20个数值用选择法进行从小到大排序,并输出。
#include<stdlib.h>
void sort(int*p)
{int i,j,k,temp;
for(i=0;________;i++)
  { ________;
for(j=i+1;j<20;j++)
  if(p[k]>p[j])    _________;
if(________)    {__________;  a[i]=a[k];  a[k]=temp;  }
}
}
  main()
  {int i,a[20];
for(i=0;i<20;i++)  a[i]=random(50);

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