C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

练习题(填空)

Posted on 2006-05-08 01:22 我爱C 阅读(3736) 评论(10)  编辑 收藏 引用 所属分类: C语言章节习题

填空

第一章  概述

 [1]

汇编语言属于面向(      )语言,高级语言属于(      )语言。

[2]

用高级语言编写的程序称为(  )程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生(   )程序,然后执行。

[3]

转义字符是由( )符号开始的( )字符或若干个字符组成的。

[4]

C语言词类主要分为(   )、变量、运算符、函数调用、表达式和(    )等6类。

[5]

C语言的语句主要分为数据定义语句、(    )语句、函数调用语句、(    )语句、流程控制语句、复合语句、空语句、其它语句等8类。

[6]

C程序是由函数构成的。其中有并且只能有(  )个主函数。C语言程序的执行总是由(   )函数开始,并且在main函数中结束。

[7]

C语言程序的注释可以出现在程序的任何地方,它总是以(   ) 符号作为开始标记,以(   )符号作为结束标记。

[8]

各类计算机语言的发展历程大致为:先有(   )语言,再有汇编语言,最后出现中级语言和(  )语言。

[9]

C语言中用(    )或(   )运行程序。

[10]

汇编语言必须通过(   )程序把其中的符号还原成对应的(    ),才能运行。

[11]

C语言的字符集就是(     )字符集。 A ASCII 值是(  )。

[12]

可以利用转义字符形成任意一个1个字节的代码。用(  )后跟1到3个八进制数表示一个字符的ASCII码值;用(   )后跟1到2个十六进制数表示一个字符的ASCII码值。

[13]

对于一些不能用普通字符表示的(   ),也常需要用(   )字符来表达。

[14]

C语言中规定标识符只能由字母、数字、下划线组成,且第一个字符必须是(   )或(    )。

[15]

C语言符号集包括(       )、(     )和一些有特殊含义的标点符号。

[16]

一个C程序有且仅有一个(        )函数,且程序执行总是从(     )开始。

[17]

一个C源程序有(   )main()函数和(    )个其它函数。

[18]

结构化设计中的三种基本结构是(        )、(       )和循环结构。

[19]

C程序的执行是从(                        )开始执行的。C程序中定义的变量,代表内存中的一个(         )。

[20]

C语言源程序文件的后缀是(   ),经过编绎后生成文件的后缀是(      ),经过连接后生成文件的后缀是.exe。

[21]

C语言源程序的语句分隔符是(   )。'\n'表示(  )。

[22]

C程序开发的四个步骤是(     )、 (     )链接和执行。

第二章  基本数据类型和运算

 [1]

在内存中存储"A"要占用(  )个字节,存储'A'要占用(  )个字节。

 

[2]

C语言中的逻辑值 是用(  )表示的,逻辑值 是用(  )表示的。

[3]

符号常量的定义方法是(           ),C语言中的标识符分为关键字、用户标识符和(              )三类。

[4]

说明变量时,若省略存储类型符,系统默认其为(      )存储类别,该存储类别的类型符为(     )。

[5]

无符号基本整型的数据类型符为(            ),双精度实型数据类型符为(      )。

 

 [6]

定义变量的完整语句格式是: (                          变量名1=初值1,变量名2=初值2,...;。

[7]

设有下列运算符:<<、+、++、&&、<=,其中优先级最高的是(  ),优先级最低的是(  )。

[8]

通常一个字节是(   )个二进制位,假设二进制数A是00001101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是(        )。

[9]

a=3,b=2,c=1,则a>b的值为(  ),a>b>c的值为(  )。

 

 [10]

若已知a=10,b=20,则表达式a<b的值为(  ),!a<b的值为(  )。

[11]

x和y均为int型变量,且x=1,y=2,则printf( % 3.1f ,(1.0+x/y));的结果为(   ),printf("%d",x%y);的结果为(   )。

[12]

设整型变量x,y,z均为5:

    执行 x-=y-z x=(  ),

    执行 x%=y+z x=(  ),

[13]

能表述 20<X<30的C语言表达式是(        )。能表述 x>30或x< 20 c语言表达式是(               )。

 

 [14]            a

请写出数学式的--------的C语言表达式(        )。表达式3.5+1/2的计算结果是(   )。

                 ×

[15]

C语言中运算结果可以当成逻辑值使用的表达式有:算术表达式、(   )表达式、(   )表达式、赋值表达式、条件表达式和逗号表达式。

[16]

= 是(   )符号,不是等号。在C语言中等于号用    表示。

[17]

c=b*=a+2相当于(         )和(    )这样两个表达式。

[18]

在程序或语句中使用表达式时,要按照语法和表达式的位置来确定表达式的准确类型。例如, 10?A:C 中的 10 的类型就是(   )型的,10/4的结果是(     )。

[19]

表达式10/3的结果是(     ),10.0/3的结果是(      )。

[20]

表达式10%3的结果是(      ),3%10的结果是(       )。

[21]

已知a=13,b=6,表达式a&&b的值为(     ),a||b的结果是(     )。

[22]

已知int a,i=5; a=i++;执行后i和a的值为(    )。

int a,i=5; a=(a=i+1,a+2,a+3) ,执行后i和a的值为(   

[23]

定义int x,y;执行y=(x=1,++x,x+2);语句后,x的值是(    ),y的值是(    )。

 

 [24]

int x=9,y=8;表达式x==y+1的结果是(    ),表达式x=y+1的结果是(    )。

[25]

int x=10,y,z;执行y=z=x;x=y==z后,变量x的结果是(    ), 变量z的结果是(    )。

[26]

int a=1,b=2,c,d,e;执行c=(-a++)+(++b);d=(b--)+(++a)-a;e=(a/(++b))-(b/(--a));后,变量a、e的结果分别是(   )、(   )。

 

 [27]

int a=1,b=2,c=3,d;执行d=!(a+b+c)后,d的结果是(     ),执行d=!a+!b+!c后,d的结果是(     )。

[28]

int a=2,b=3,c,d,e,f;执行c=(a++>=--b);d=(a==++b);e=(a--!=b);f=(++a>b--);后,变量c、f的结果分别是(    )、(    )。

[29]

int x;当x的值分别为1、2时,表达式(x&&1==1)?1:0的值分别是(   )、(    )、。

[30]

int a=12;执行a+=a-=a*a;语句后,a的值是(     ),执行a/=5; 语句后,a的值是(     )。

[31]

x为double型,则执行x=3.2,++x;语句后,该表达式的值是(      ),x的值是(      )。

[32]

执行下列语句后,a、b的值分别是(    )、(    )。

     int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y;b=x++;c=y;

[33]

unsigned int b=65535;

printf("%d",b);的输出结果是(     ),printf("%u",b);的输出结果是(     )。

[34]

int a=-1; printf("%x",a);的输出结果是(       ),printf("%d",a);的输出结果是(       )。

[35]

以下程序的执行结果是(     )。

  #include <stdio.h>

  main()

  { int a,b,d=241;

    a=d/100%9;

    b=(-1)&&(-1);

    printf("%d,%d\n",a,b);

  }

[36]

以下程序的执行结果是(      )。

  #include <stdio.h>

  main()

  { int i,j,x,y;

    i=5;j=7;

    x=++i;y=j++;

    printf("%d,%d,%d,%d\n",i,j,x,y);

  }

[37]

以下程序的执行结果是(     )。

  #include <stdio.h>

  main()

  { float f=13.8;

    int n;

    n=((int)f)%3;

    printf("n=%d\n",n);

  }

[38]

以下程序的执行结果是(     )。

  #include<stdio.h>

  main()

  { int x=35;

    printf("%d\n",(x&15)&&(x|15));

     }

[39]

以下程序的执行结果是(       )。

  #include <stdio.h>

  main()

  { int n=2;

    n+=n-= n*n;

    printf("n=%d\n",n);

  }

[40]

以下程序的执行结果是(                 )。

   #include <stdio.h>

   main()

   { int a,b,x;

      x=(a=3,b=a--);

     printf("x=%d,a=%d,b=%d\n",x,a,b);

    }

[41]

以下程序的执行结果是(       )。

   #include <stdio.h>

    main()

   { float f1,f2,f3,f4;

     int m1,m2;

     f1=f2=f3=f4=2;

     m1=m2=1;

     printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));

   }

[42]

以下程序的执行结果是(        )。

   #include <stdio.h>

   main()

   { int i=16,j,x=6,y,z;

     j=i+++1;

     printf("1:%d\n",j);

     x*=i=j;

     printf("2:%d\n",x);

     x=1,y=2,z=3;

     x+=y+=z;

     printf("3:%d\n",z+=x>y?x++:y++);

     x=0x02ff;y=0xff00;

     printf("4:%d\n",(x&y)>>4|0x 005f );

     x=y=z=-1;

     ++x||++y&& ++z;

     printf("5:%d,%d,%d\n",x,y,z);

   }

[43]

以下程序的执行结果是(           )。

   #include <stdio.h>

   main()

   { int x=5,y=2;

     printf("1:%d\n",!(y==x/2));

     printf("2:%d\n",y!=x%3);

     printf("3:%d\n",x>0&&y<0);

     printf("4:%d\n",x!=y||x>=y);

   }

第三章  顺序、选择和循环结构的程序设计

[1]

float a=3.54;

printf("% 2.3f ",a);的输出结果是(     

[2]

若有定义语句 int a=25,b=14,c=19; ,以下语句的执行结果是(                )。

  if(a++<=25&&b--<=2&&c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);

  else                     printf("###a=%d,b=%d,c=%d\n",a,b,c);

[3]

以下两条if语句可合并成一条if语句为(                             )。

  if(a<=b)  x=1;

   else     y=2;

  if(a<=b) printf("**** y=%d\n",y);

   else   printf("#### x=%d\n",x);

[4]

i,j,k均为int型变量,则执行完下面的for循环后,k的值为(  )。

  for(i=0,j=10;i<=j;i++,j--)    k=i+j;

[5]

下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0,请为程序填空。

  main()

  { int i,x,y=1;

    scanf("%d",&x);

    for (i=2;i<=x/2;i++)

         if(        ) {y=0;break;}

    printf("%d\n",y);

  }

[6]

以下程序的执行结果是(                             )。

  #include <stdio.h>

  main()

  { short i=-1;

    printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",i,i,i,i);

  }

 

 [7]

以下程序的执行结果是(                              )。

  #include <stdio.h>

  main()

  { short i=1;

    printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",i,i,i,i);

  }

 

 [8]

以下程序的执行结果是(                              )。

  #include <stdio.h>

  main()

  { char c='A';

    printf("dec:%d,oct:%o,hex:%x,ASCII:%c\n",c,c,c,c);

  }

以下程序的执行结果是(                         )。

  #include <stdio.h>

  main()

  { float f=3.1415927;

    printf("%f,% 5.4f ,% 3.3f ",f,f,f);

  }

[10]

以下程序的执行结果是(                      )。

  #include <stdio.h>

  main()

  { float f=3.5;

    printf("%f,%g",f,f);

  }

[11]

以下程序的执行结果是(                        )。

  #include <stdio.h>

  main()

  { float f=31.41532;

    printf("%f,% 2.3f ",f,f);

  }

[12]

以下程序的执行结果是(                 )。  

#include <stdio.h>

  main()

  { char c='A'+10;

    printf("c=%c\n",c);

  }

[13]

以下程序输入1 2 3<CR>后的执行结果是(                     )。

  #include <stdio.h>

  main()

  { int a,c;

    char b;

    scanf("%d%c%d",&a,&b,&c);

    printf("a=%d,b=%c,c=%d\n",a,b,c);

  }

[14]

以下程序输入123456<CR>后的执行结果是(                 )。

  #include <stdio.h>

  main()

  { int a,b;

    scanf("%2d%3d",&a,&b);

    printf("a=%d,b=%d\n",a,b);

  }

[15]

以下程序输入ABC<CR>后的执行结果是(       )。

  #include <stdio.h>

  main()

  { char c;

    scanf("% 3c ",&c);

    printf("c=%c\n",c);

  }

[16]

以下程序输入100<CR>后的执行结果是(          )。

  #include <stdio.h>

  main()

  { int n;

    scanf("%o",&n);

    printf("n=%d\n",n);

  }

 

 [17]

以下程序输入x=1.23,y=50<CR>后的执行结果是(                     )。

  #include <stdio.h>

  main()

  { float x,y;

    scanf("x=%f,y=%f",&x,&y);

    printf("x=% 7.2f ,y=% 7.2f \n",x,y);

  }

[18]

以下程序的执行结果是(      )。

  #include <stdio.h>

  main()

  {  int a,b,c;

     a=2;b=3;c=1;

     if (a>b)

         if (a>c)

           printf("%d\n",a);

          else

            printf("%d\n",b);

     printf("end\n");

  }

[19]

以下程序的执行结果是(         )。

  #include <stdio.h>

  main()

  {  int a,b,c,d,x;

     a=c=0;

     b=1;

     d=20;

     if(a)d=d-10;

     else  if(! b)

           if (! c)x=15;

           else x=25;

     printf("d=%d\n",d);

  }

[20]

以下程序在输入5,2之后的执行结果是(              )。

  #include <stdio.h>

  main()

  { int s,t,a,b;

    scanf("%d,%d",&a,&b);

     s=1;

    t=1;

    if(a>0) s=s+1;

    if(a>b)t= s + t;

    else if(a==b) t=5;

    else t=2*s;

    printf("s=%d,t=%d\n",s,t);

  }

[21]

以下程序的执行结果是(            )。

  #include <stdio.h>

  main()

  { int x=1,y=0;

    switch(x)

    { case 1:

         switch(y)

          {case 0:printf("first\n");break;

           case 1:printf("second\n");break; }

    case 2:printf("third\n");

    }

  }

[22]

执行以下程序,输入-10的结果是(      ),输入5的结果是(      ),输入10的结果是(      ),输入30的结果是(      )。

  #include <stdio.h>

  main()

  { int x,c,m;

    float y;

    scanf("%d",&x);

    if (x<0) c=-1;

    else c= x/10;

    switch (c)

    {case-1:y=0;break;

     case 0:y=x;break;

     case 1:y=10;break;

     case 2:

     case 3:y=-0.5*x+20;break;

     default:y=-2;             }

    if (y!=-2) printf("y=%g\n",y);

        else printf("error\n");

     }

[23]

以下程序的执行结果是(       )。

  #include <stdio.h>

  main()

  { int a=2,b=7,c=5;

    switch(a>0)

    { case 1:switch(b<0)

          { case 1:printf("@");break;

            case 2:printf("!");break;    }

      case 0:switch(c==5)

          {case 0:printf("*");break;

           case 1:printf("#");break;

           default:printf("$");break;   }

      default:printf("&");

    }

   printf("\n");

  }

[24]

下列程序运行后的输出结果是(           )。

  #include <stdio.h>

  main()

  { int s=0,k;

    for(k=7;k>=0;k--)

    { switch(k)

      { case 1:

        case 4:

    case 7: s++; break;

        case 2:

        case 3:

        case 6: break;

        case 0:

        case 5: s+=2; break;

      }

    }

      printf("s=%d\n",s);

  }

[25]

下列程序运行后的输出结果是(           )。

  #include <stdio.h>

  main()

  { int i,j;

    for(i=4;i>=1;i--)

    {  printf("*");

       for (j=1;j<=4-i;j++)printf("*");

       printf("\n");                  }

  }

[26]

下列程序运行后的输出结果是(           )。

      #include <stdio.h>

      main()

      { int i,j,k;

        for (i=1;i<=6;i++)

         { for(j=1;j<=20-2 *i;j++) printf(" ");

           for (k=1;k<=i;k++) printf("%4d",i);

           printf("\n");

         }

       }

[27]

下列程序运行后的输出结果是(        )。

      #include <stdio.h>

      main()

      { int i,j,k;

        for (i=1;i<=6;i++)

         { for(j=1;j<=20-3*i;j++)printf(" ");

          for(k=1;k<=i;k++) printf("%3d",k);

          for(k=i-1;k>0;k--) printf("%3d",k);

          printf("\n");

         }

       }

[28]

下列程序运行后的输出结果是(           )。

      #include <stdio.h>

      main()

      { int i,j,k;

        for (i=1;i<=4;i++)

        { for(j=1;j<=20-3*i;j++)printf(" ");

          for (k=1;k<=2*i-1;k++) printf("%3s","*");

          printf("\n");         }

        for(i=3;i>0;i--)

        { for(j=1;j<=20-3*i;j++)printf(" ");

          for(k=1;k<=2*i-1;k++) printf("%3s","*");

          printf("\n");         }

       }

[29]

下列程序运行后的输出结果是(             )。

      #include <stdio.h>

      main()

      { int i,j,sum,m,n=4;

        sum=0;

        for(i=1;i<=n;i++)

        { m=1;

          for(j=1;j<=i;j++) m=m*j;

          sum=sum+m;            }

        printf("sum=%d\n",sum);

      }

[30]

若有以下定义,写出以下程序段中输出语句执行后的输出结果。

int i=-200,j=2500;

printf("%d  %d",i,j); 输出结果是(        )。

printf("i=%d,j=%d,i,j);输出结果是(        )。

[31]

以下程序段的输出结果是(                                    )。

int x=0177;

printf("x=%3d,x=%6d\n",x,x);

[32]

以下程序段的输出结果是(                                    )。

int x=0177;

printf("x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n",x,x,x,x,x);

[33]

a=b或a<c  用C语言表达式表示为(               ),  |x|>4用C语言表达式表示为(               )。

 

 [34]

写出下列程序的输出结果(                

main()

{int a=100;

if(a>100) 

printf("%d\n",a>100);

else    printf("%d\n",a<=100);

}

[35]

a=1,b=2,c=3时,以下if语句执行后,a的值为(     )。

if(a>c)

   b=a;a=c;c=b;

[36]

若变量已正确定义,以下语句段的输出结果是(       )。

x=0;y=2;z=3;

switch(x)

{case   0:  switch(y==2)

{case    1:   printf("*");break;

                 case    2:   printf("%");break;

}

case    1: switch(z)

{ case    1:   printf("$");

                  case    2:   printf("*");break;

default: printf("#");

}

}

[37]

当以下程序段运行后,i的值是(    ),j的值是(     )。

int a,b,c,d,i,j,k;

a=10;b=c=d=5;i=j=k=0;

for( ; a>b);++b)

  i++;

while(a>++c) 

  j++;

do

{k++;}while(a>d++);

[38]

以下程序输出结果是(    )。

main()

{int x=2;

while (x--);

printf("%d\n",x);

}

[39]

以下程序段输出结果是(    )。

int i=0,sum=1;

do

{sum+=i++;

}while(i<5);

printf("%d\n",sum);

[40]

有以下程序段:

s=1.0;

for(k=1;k<=n;k++)

s=s+1.0/(k*(k+1));

printf("%d\n",s);

请填空,使下面的程序段的功能完全与之相同。

s=0.0;

(                    );

k=0;

do

{ s=s+d;

k=1;

d=1.0/(k*(k+1));

}while(                 );

printf("%f\n",s);

 

 [41]

以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。

main()

{float x,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(         )

{if(x>amax)

  amax=x;

if(          )

  amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

[42]

若输入字符A,在while语句执行后ch的值是(      )。

While(ch=getchar()= ='A')

[43]

若有以下说明和输入语句,要求给c1,c2输入字符A和B,给a1,a2输入7.29和101.298,从键盘正确输入数据的形式是(                                       )。

char c1,c2;

float a1,a2;

scanf("%f%f",&a1,&a2);

scanf("%c%c",&c1,&c2);

第四章  数组

 [1]

执行 static int b[5],a[][3]={1,2,3,4,5,6} 后,b[4]=(  ),a[1][2]=(  )。

[2]

设有定义语句 static int a[3][4]={{1},{2},{3}} ,则a[1][1]值为(  ),a[2][1]的值为(  )。

[3]

若在程序中用到 putchar() 函数时,应在程序开头写上包含命令(            ),若在程序中用到 strlen() 函数时,应在程序开头写上包含命令(            )。

 

 [4]

下面程序的功能是输出数组s中最大元素的下标,请填空。

      main()

      { int k,p;

        int s[]={1,-9,7,2,-10,3};

        for(p=0,k=p;p<6;p++) if (s[p]>s[k])(     )

        printf("%d\n",k);

      }

 

 [5]

下面程序的功能是将一个字符串str的内容颠倒过来,请填空。

      #include"string.h"

      main()

      { int i,j,(   );

        char str[]={"1234567"};

        for(i=0,j=strlen(str),(       );i<j;i++,j--)

            { k=str[i];str[i]=str[j];str[j]=k;}

      }

[6]

以下程序可把输入的十进制长整型数以十六进制数的形式输出,请填空。

      main()

      { char b[17]={"0123456789ABCDEF"};

        int c[64],d,i=0,base=16;

        long n;

        printf("Enter a number:\n");

        scanf("%1d",&n);

        do{c[i]=(        );i++;n=n/base;}while (n!=0);

        printf("Transmite new base:\n");

        for (--i;i>=0;--i){ d=c[i];printf("%c",b[       ];}

      }

[7]

以下程序执行时输入Language Programming<CR>的结果是(           )。

      #include <stdio.h>

      main()

       { char str[30];

        scanf("%s",str);

        printf("str=%s\n",str);

      }

[8]

以下程序执行时输入Language Programming<CR>的结果是(               )。

      #include <stdio.h>

      main()

      { char str[30];

        gets(str);

        printf("str=%s\n",str);

      }

[9]

以下程序执行的结果是(            )。

      #include <stdio.h>

      main()

      { int a[]={1,2,3,4},i,j,s=0;

        j=1;

        for(i=3;i>=0;i--) { s=s+a[i]*j;j=j*10;}

        printf("s=%d\n",s);

      }

[10]

以下程序执行的结果是(              )。

      #include <stdio.h>

      main()

      {  char str[]={" 1a 2b 3c "};

         int i;

         for(i=0;str[i]!='\0';i++)

           if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]);

         printf("\n");

      }

 

 [11]

以下程序执行的结果是(             )。

      #include <stdio.h>

      main()

      { int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;

        for(i=0;i<=2;i++) s=s+a[i][i];

        printf("s=%d\n",s);

      }

[12]

以下程序执行的结果是(              )。

      #include <stdio.h>

      main()

      { int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=1;

         for(i=0;i<=2;i++) s=s*a[i][i];

        printf("s=%d\n",s);

      }

[13]

以下程序执行的结果是(             )。

      #include <stdio.h>

      main()

      {  int a[]={0,2,5,8,12,15,23,35,60,65};

         int x=15,i,n=10,m;

         i=n/2+1;

         m=n/2;

         while(m!=0)

         { if(x<a[i]){i=i-m/2-1; m=m/2; }

            else if(x>a[i]) { i=i+m/2+1; m=m/2;}

               else break;

          }

         printf("place=%d",i+1);

      }

 

 [14]

以下程序执行的结果是(              )。

      #include <stdio.h>

      main()

      { int i,j,row=0,col=0,m;

        static int a[3][3]={1,-2,0,4,-5,6,2,4};

        m=a[0][0];

        for(i=0;i<3;i++)

           for(j=0;j<3;j++)

            if(a[i][j]<m)

             {m=a[i][j];

              row=i;

              col=j;        }

        printf("(%d,%d)=%d\n",row,col,m);

      }

[15]

以下程序执行的结果是(                      )。

      #include <stdio.h>

      main()

      {  int a[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};

         int i,j,n;

         n=9;

         i=n/5;

         j=n-i* 5-1;

         printf("第%d个元素(%d,%d)值是%d\n",n,i,j,a[i][j]);

       }

[16]

以下程序执行的结果是(                )。

      #include <stdio.h>

      main()

      { int a[4][5]={1,2,4,-4,5,-9,3};

        int b,i,j,i1,j1,n;

        n=-9;

        b=0;

        for(i=0;i<4;i++)

        { for(j=0;j<5;j++) if(a[i][j]==n){i1=i;j1=j; b=1;break;}

          if(b) break;

        }

        printf("%d是第%d个元素\n",n,i1 * 5+j1+1);

       }

[17]

以下程序执行的结果是(               )。

      #include <stdio.h>

      main()

      {  static char s1[50]={"some string * "};

         static char s2[]={"test"};

         printf("%d,",strlen(s2));

         strcat(s1,s2);

         printf("%s\n",s1);

       }

[18]

以下程序将 Hello 逆序显示出来。请在程序中的空白处填入一条语句或一个表达式。

      #include <stdio.h>

      main()

      { pt("Hello"); }

      pt(char * string)

      {   char *str= (          ) ;

          if(*str== (       ) ) return;

          while( *str)str++;

           (           ) ;

          printf("%c", *str);

          *str='\0';

          pt( (        ) );

       }

[19]

若有以下定义:double w[10];则w数组元素下标的上限是(           ),下限是(         )。

[20]

以下程序输出结果是(           )。

main()

{int arr[10],i,k=0;

for (i=0;i<10;i++)

arr[i]=i;

for(i=0;i<4;i++)

k+=arr[i]+i;

printf("%d\n",k);

}

[21]

以下程序输出结果是(       )。

main()

{int i,j,row,col,m;

int arr[3][3]={{100,200,300},{28,782,-30},{-850,2,6}};

m=arr[0][0];

for(i=0;i<3;i++)

  for(j=0;j<3;j++)

if(arr[i][j]<m)

     {m=arr[i][j];

      row=i;

      col=j;

}

printf("%d,%d,%d\n",m,row,col);

}

[22]

以下findmax返回数组s中最大元素的下标,数组中元素的个数有t传入,请填空。

findmax(int s[],int t)

{int k,p;

for(p=0,k=p;p<t;p++)

  if(s[p]>s[k]) 

         (                );

return (            );

}

 

 [23]

以下程序统计从终端输入的字符中每个大写字母的个数,num[0]中统计字母A的个数,其他依次类推。用#号结束输入,请填空。

#include "stdio.h"

#include "ctype.h"

main()

{

int num[26]={0},i ;

char c;

while(                         )

   if(isupper( c ))

(                      )

  for(i=0;i<26;i++)

  if(num[i])

printf("%c:%d\n",i+'a',num[i]);

}

Feedback

# re: 练习题(填空)  回复  更多评论   

2006-07-10 16:59 by
安定发达

# re: 练习题(填空)  回复  更多评论   

2006-07-10 16:59 by
暗暗暗暗

# re: 练习题(填空)  回复  更多评论   

2006-08-30 23:08 by 123456
答案呢.........................

# re: 练习题(填空)  回复  更多评论   

2006-09-03 21:24 by wang
WO YAO KAN DAAN

# re: 练习题(填空)  回复  更多评论   

2006-09-03 21:24 by wang
WO YAO KAN DAAN

# re: 练习题(填空)  回复  更多评论   

2007-01-05 01:46 by dfdsf
sdfdsfdsfdsfds

# re: 练习题(填空)  回复  更多评论   

2007-07-03 09:59 by jjjj
tfhyjtkyjtlrd

# re: 练习题(填空)  回复  更多评论   

2007-07-15 20:31 by 漂流萍
aaaaa

# re: 练习题(填空)  回复  更多评论   

2008-03-25 17:10 by 110
有答案不
没答案咋整

# re: 练习题(填空)  回复  更多评论   

2008-03-25 17:17 by 110

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理