复习题一
一、 单项选择题
1.以下选项中,均符合C常量形式的是   1 
A)’\123’,  0123      B) 0xffce, ‘\678’        C) 0246,  e-5      D) 102, 123
2.假定有char  a=’A’, b=’B’, c, 则执行 printf(“%d”,(c=a<b--?a+b:a-b);的值是   2
  A) 130              B) 131                C) 0              D) 都不是
[特别说明:] 根据c=a<b--?a+b:a-b计算得到c的整数值为130,但常用字符的ASCII值最大为127130超过了127130的二进制形式是:10000010,最高位为1,因此可以肯定它是一个负数,根据负数二进制补码的求法可以得出它是-126的补码值。
3.假定 int a=1, b=2, c=0, 表达式: c=(a== --b||--a,a+b+1.0/2) 的值是  (3) 
    A) 1                B) 2                  C) 1.5              D) 2.5
4.表达三个变量a、b、c中有一个为0,两个为非0的正确表达式是  (4) 
    A)  a*b*c= =0                  B)  a*b!=0||a*c!=0||b*c!=0
    C)  (a*b||a*c||b*c)&&!(a*b*c)    D)  !(a*b*c)&&(a+b+c)
5. 在以下表达式中,与 a==0 && b!=0不等价的是  (5) 
    A!a && b                    B!(a!=0 || b==0)
C)!(a==0 || b!=0)              D)!(a*b) && b
6.上机运行以下程序会出现一个错误,这个错误的性质是  (6) 
main()
      {  int i,j,a[]={3,2,1},b[]={6,4,2,0};
          float  s=0;
          for(i=0;i<3;i++) { j=b[a[i]]; s+=1.0/j; }
          printf(“\n %f”,s);
      }
    A) 数组说明语法错            B)分母为0运算错
C)数组元素引用语法错      D)数组元素引用下标超界错
7. char a[]=”xy\n0\1238\\0”;则数组a的长度是  (7) 
    A7              B8              C9              D13
8.以下程序的功能是    (8) 
main()
{  int  a[3][3]={1,2,3,4,5,6,7,8,9}, i,*p=a,s=0;
        for(i=0; i<3; i++) { for( ; p<a[i]+3; p++) s+=*p;  p+=i;}
        printf("\n %d",s);
}
A) 求矩阵a的所有元素之和          B) 求矩阵a的上三角元素之和
C) 求矩阵a的下三角元素之和        D) 都不是
9.以下程序的功能是    (9) 
main()
{  int  a[10]={3,5,2,9,1,8,0,2,4,6},i,p=0,q=0;
    for(i=0;i<10;i++)
    {  if(a[i]>p) p=a[i];
      if(a[i]<a[q]) q=i;
    }
    printf("\n %d,%d",p,q);
}
A) 求最大值和最小值              B) 求最大值的位置和最小值的位置
C) 求最大值的位置和最小值        D) 求最大值和最小值的位置
10.若希望当字符变量a中为数字字符时,表达式的值为“真”,为非数字字符时,表达式的值为“假”。则以下不能满足要求的表达式是    (10) 
      A) a>=0 && a<=9                  B) a>=’0’ && a<=’9’
C) a>=48+0 && a<= 48+9            D) a-‘0’>=0 && a-‘0’<=9
11C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式    (11) 
A) 只能用逻辑表达式                     B) 只能用关系表达式
C) 只能用逻辑表达式或关系表达式    D) 可用任意表达式
12.以下论述中正确的是  (12) 
A) 在同一个函数中不能定义多个同名的变量
B) 结构体变量的名字可以与其所属的成员的名字相同
C) 局部变量的名字不能与函数名相同
D) 局部变量的名字不能与全局变量的名字相同
13.在以下各循环语句中,不能正确计算自然数1-100中所有数之和的是    (13) 
A) for(s=0, i=1; i<=100 ; ) s+=++i;
B) for(s=100, n=100; --n; ) s+=n;
C) for(s=0,i=1, j=100; i<=j; i++, j-- ) s+=i+j;
D) for(s=0, i=0; i<=100 ; ) s+=i++;
14.假定要使以下程序的输出结果第一行都是1,第二行都是2,第三行都是3,则正确的数据输入格式是  (14) 
main()
{  int  i,j,a[3][3];
  for ( j=0; j<3; j++)
    for( i=0; i<3; i++)  scanf (“%d”, &a[i][j]);
  for( i=0; i<3; i++)
  {  printf (“\n”);  for ( j=0; j<3; j++) printf (“%d”, a[i][j]); }
}
A) 1 2 3 1 2 3 1 2 3              B) 1 1 1 2 2 2 3 3 3
C) 1,2,3,1,2,3,1,2,3              D) 1,1,1,2,2,2,3,3,3
15.以下各程序段中,不能正确输入10个数到数组a中的是  (15) 
A)  int  i,a[10];  for(i=0;i<10;i++) scanf(“%d”,a[i]);
B)  int  i,a[10];  for(i=0;i<10;i++) scanf(“%d”,a+i);
C)  int  a[10],*p;  for(p=a;i<10;p++) scanf(“%d”,p);
D)  int  i,a[10],*p=a;  for(i=0;i<10;i++) scanf(“%d”,p++);
二、程序阅读题
16.以下程序的运行结果是  (16) 
main()
{  int  i, n=0;
for( i=1; i<20; i++) if ( i%3==0&&i%5) n++;
printf (“\n %d”, n);
A) 1          B) 5          C) 6            D) 7
17.以下程序的运行结果是  (17) 
    main( )
{  int i,n=0;
      for(i=2;i<5;i++)
        {  do {  if(i%3)  continue; n++; } while(!i);
            n++;
        }
      printf("\n%d",n);
A) 2          B) 3            C) 4            D) 5
18.以下程序的运行结果是  (18) 
int a=2;
int f ( int *a) { return (*a)++; }
main( )
{  int  s=0;
  { int a=5; s+=f ( &a ); }
        s+=f ( &a );
        printf ( "\n%d",s );
  A) 7            B) 8            C) 9            D) 10
19.以下程序的运行结果是  (19) 
    main()                          f ( char  *c )
{  char  *a[]=”FORTRAN77”;    {  for ( ; *c; c++)
  f ( a+1 ); printf (“%s”,a );          if (*c>=’A’ && *c<=’Z’) *c=*c+32;
}                                    printf(“\n %d,%d”, a,b);}
A)Fortran77    B) fortran77    C) FORTRAN77      D) fORTRAN77
20.以下程序的运行结果是   (20) 
main()
  {  int  i=6,j=0,k;
计算机二级c语言选择题库    for ( k=0; k<3; k++) { j=j*2+i%2; i/=2; }
    printf ( “%\n %d,%d”, i, j );
}
A) 6,3        B) 0,3          C) 0,6          D) 6,6
21.以下程序的运行结果是  (21) 
main()                        f (int  *x, int  b)
  {  int  a=3,b=5;                {

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