梁一鑫吧 关注:17贴子:348
  • 4回复贴,共1

梁老师:急求 往年考题的解析 过程: 谢谢了!!!

收藏回复

  • 219.145.140.*
阅读程序
1
main()
{int y=18,t=0,j,a[8];
 Do
{a[t]=y%3;
   T++;
         y=y%3;
}while(y>=1);
 For(j=t-1;j>=0;j--)
Printf(“%5d”,a[j]);
Printf(“\n”);
}
运行结果:
2
#include”stdio.h”
main()
{int a[3][4],i,j,k=2,b[3];
for(i=0,i<3,i++)
for(j=0,j<4,j++)
   a[i][j]=++k+i*j;
for(i=0,i<3,i++)
 {b[i]=0;
for(j=0,j<4,j++)
b[i]= b[i]+a[i][j];
b[i]=b[i]/3;
}
for(i=0,i<3,i++)
  printf(“%5d”,b[i]);
}
运行结果:
3
main()
{int a[10],k,s=0,*p,*pl=&s;
  For(p=0,k=a;p<a+10;k++,p++)
*(p)=1+k;
K=3;
for(p=&[k];p<a+10;p+=2,k+=2)
   *pl=*pl+*p;
Printf(%d\n”,*pl);
}
运行结果:
4
#include”stdio.h”
main()
{int a[4][4]={{1,2,-3,-4},{0,-10,-1,14},{-2,23,0,24},{-3,24,-30,0}};
  int I,j,s=0;
 for(i=0;i<4;i++)
  for(j=0;j<4;j++)
{if (a[i][j]<0) continue;
  if (a[i][j]==0) break;
s+=a[i][j];
}
printf(“%d\n”,s);
}
执行成序后输出的结果:
5
#include”stdio.h”
main()
{char ch[]=”3x2u25bye!”;
 int i,s=0;
 for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)
 s=10*s+ch[i]-‘0’;
 prints(“%d\n”,s);
执行成序后输出的结果:
6
有以下成序:
#include”stdio.h”
#include”string.h”
main()
{char str[]=”DOOD”,*pstr=str;
  for(;*pstr!=’\0’;pstr++)
  puts(pstr);
}
执行成序后输出的结果:
7
有以下成序:
#include”stdio.h”
int f(int a)
{ int b=0;static int c=3;b++;c++;
 return a+b+c;
}
main()
{int a=2,I;
 for(i=10;i<13;i++)
 printf(“%4d”,f(a));
}
执行成序后输出的结果:
8
有以下成序:
#include”stdio.h”
main()
{int a=13,b[16],c,i=0;
 do
{ c=sub(a);
 a=a/2;
 b[i++]=c;
}while(a!=0);
for(--i,i>=0,i--)
 printf(“%d”,b[i]);
}
int sub(int a)
{ return a%2;
}
执行成序后输出的结果:
选择题:
1
执行以下成序后输出“#”的个数是()
# include <stdio.h>
main()
{int i,j;
 for(i=1;i<5;i++)
 for(j=2,j<i,j++)
 putchar(‘#’);
A 0     B 3    C 8    D 6
2执行以下成序后输出的结果
# include <stdio.h>
main()
{int i,;
 for(i=1;i<=5;i++)
{if (i%3=0)
printf(“*”);
  else
continue;
printf(“#”);
}
printf(“$\n”);
}
A *#*#*#$  B#*#*#*$  C *#*#*#*#$ D #*#*$
3有以下程序:



1楼2009-06-26 10:46回复
    • 219.145.140.*
    main()
    {int a[3][3],*p,i;
    p=&a[0][0];
    for(i=0,i<9;i++)
    p[i]=i+1;
    printf(“$d\n”,a[1][2]);
    }
    该成序运行后的结果:(B)
    A3   B 6    C 9     D 2
    4下面成序的输出结果是:(D)
    main()
    {int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);
    }
    A k=11,k=12,k=11           B k=11,k=13,k=13
    C k=11,k=013,k=0xb         D k=11,k=13,k=b
    5 下面程序的运行结果是(A)
    # include <stdio.h>
    main()
    { int k=5,n=0;
      do
      {
    switch (k)
      
    { case 1:
     case 3:n+=1;k--;break; 
     default :n=0;k--;
    case 2:
    case 4:n+=2;k--;break;
    }
    printf(“%d”,n);
    }while (k>0&&n<5)
    }
    A 235  B 0235   C 02356   D 2356
    6 有以下程序
    # include <stdio.h>
    main(int argc , char *argv[])
    { int i,j=0;
    while( argv[1][i]!=’\0’)
     {n=fun();i++;
     }
     printf(“%d\n”,n*argc);
    }
    int fun()
    { static int s=0;
    S+=1;
    return s;
    }
    编译连接后生成可执行文件 lut.exe,若键入以下命令行 lut abcd(回车)
    程序的运行结果:(A)
    A 8   B 10    C 4     D 5
    7 下面程序的运行结果是(B)
    # include <stdio.h>
    main()
    { unside char a=2,b=4,c=5,d;
    d=a|b;
    d&=c;
    printf(“%d\n”,d);
    }
    A 3     B 4        C 5        D 6
    8  以下程序中,while循环的循环次数是(D)
    main()
    { int i=0;
    while(i<10)
    { if(i<1)
     Continue;
    if (i==5)
     break;
     i++;
     }
    }
    A 1  B 0   C 6  D 死循环,不能确定次数
    9.以下程序段的输出结果是【    】。
       char s[]="\\141\141abc\t";
       printf("%d\n",strlen(s));
    A.9     B.10   C.11       D.14
    10若有下面的说明和定义:
       struct test
       {  int ml;  
          char m2;  
          float m3;
          union uu
          {  char ul[5];
             int u2[2];
          } ua;
    


    2楼2009-06-26 10:46
    回复
      • 219.145.140.*
         } myaa;
      则 sizeof(struct test)的值是【  B  】。
      A.9        B.12        C.14        D.16
      11.有以下程序段
      int j; float y; char name[50];
      scanf(〃%2d%f%s〃,&j,&y,name);
      当执行时,从键盘输入55566 777abc后,y的值为:
      A.55566.0      B.566.0      C.7777.0      D.566777.0
      12.设有以下宏定义:
      #define M 2 
      #define Y(n)  (M+1)*n
      执行语句z=2*(M+Y(3+2));后,z的值为【    】。
      A.出错 B.34 C.28 D.26
      13以下程序段的输出结果是【    】。
         char s[]="\\\"241\131xyz\n";
         printf("%d\n",sizeof(s));
      A.9        B.10        C.11        D.14
      14若有下面的说明和定义:
         struct str
         {  int a;  
            char b;  
            float c;
          } s,t={2,′b′,10.5};
      则 sizeof(struct str)的值是【    】。
      A.7        B.12        C.14        D.16
      15.以下程序的输出结果是【    】。
      main()
      { int a=0,i; 
        for(i=1;i<4;i++)
        { switch(i)
          { case 0:
            case 3:a+=2;
            case 2:a+=3;
      default:a+=5;
          }
        }
       printf("%d\n",a);
      }
      A.5 B.31 C.23 D.10
      16.执行完下列程序段后,i的输出结果是【    】。
      int i=1;
      while(i++<6);
      printf("i=%d\n",i);
      A.i=2 B.i=5 C.i=6 D.i=7
      17.设有语句:int a=11,b=12,c=13,d=14;则表达式a>b?a: d<c?c:d的值是【    】。
      A.13 B.12 C.30 D.14
      18.有以下程序:
      main() 
      { int p[8]={ 1, 2, 3, 4, 5, 6, 7, 8},i=0,j=0; 
        while(i++<5) 
         if(p[i]%2) 
           j+=p[i]; 
      printf("%d\n",j); 
      }
      程序运行后的输出结果是【    】。
      A.16 B.9 C.8 D36
      


      3楼2009-06-26 10:46
      回复
        这个你可以下周当面问答疑老师!!
        二、集中答疑安排: 
        各位任课老师可灵活安排自己课程班的答疑时间,统一安排的集中答疑时间如下(下一周): 
        星期一(6月29日):包广斌, 包仲贤, 王连相 
        星期二(6月30日)::梁一鑫, 周小健, 马维俊 
        星期三(7月1日)::庞淑侠, 任旭鹏, 任学惠 
        星期四(7月2日)::梁 磊, 於时才, 马栋林 
        星期五(7月3日)::张其文, 张宪立, 张 永  
        各位老师可根据自己的时间和其他老师调整时间。 
        地点:西教1#教学楼二楼答疑室


        禁言 |4楼2009-06-26 20:45
        回复
          • 222.23.122.*
          恩   谢谢了!!!


          5楼2009-06-28 09:51
          回复