提示:内容已经过期谨慎付费,点击上方查看最新答案

程序设计基础(C语言)(山东联盟)

  1. 以下程序段的输出结果是( )。
    #include "stdio.h"
    main()
    { int a=15,x=16;
    if(x==a)
    printf("%d \n", x);
    else
    printf("%d \n", x);
    }

  2. A:16 B:15 C:1 D:0
    答案:swimming! 
  3. 以下函数的功能是计算s=1+1/2!+1/3!+…+1/n!,请在【1】处填空。
    double fun(int n)
    { double s=0.0,fac=1.0;int i;
     for(i=1;i<=n;i++)
     {  fac=【1】 ;
        s=s+fac;
     }
     return s;
    }


  4. A:fac/i B:1.0/fac C:fac*i D:1.0/i  
    答案:k=k*i
  5. "AA"在内存中占据的字节数是(   )。


  6. A:1 B:4 C:2 D:3
    答案:错误AI参考:正确选项是【B:4】。在内存中,一个字符通常占据一个字节(即1个字节),但在ASCII码中,标点符号、空格和一些特殊字符可能占据多字节,例如,标点符号通常会占据一个双字节字符,而在双字节字符中,“@”这个符号对应的ASCII码为64,如果用一个字节存储会浪费空间,因此它需要用两个字节存储。同样的,“AA”是一个特殊字符,也占用两个字节。所以“AA”在内存中占据的字节数是4个字节。'
  7. 要求通过while循环不断读入字符,当读入字母$时结束循环。若变量已正确定义,以下正确的程序段是(   )。


  8. A:while(ch=getchar()==′$′)printf("%c",ch); B:while((ch=getchar())==′$′)printf("%c",ch); C:while(ch=getchar()!=′$′)printf("%c",ch); D:while((ch=getchar())!=′$′)printf("%c",ch);
    答案:while((ch=getchar())!='N') printf("%c ",ch);
  9. 已知字母A的ASCⅡ码值为十进制的65,下面程序的输出是(   )。
    #include "stdio.h"
    main()
    {
    char ch1,ch2;
    ch1='A'+'5'-'3';
    ch2='A'+'6'-'3';
    printf ("%d,%c",ch1,ch2);
    }


  10. A:67,D B:不确定的值 C:B,C D:C,D
    答案:67,D
  11. 下列条件语句中,功能与其他语句不同的是( )。

  12. A:if (a!=0) printf("%d ",x); else printf("%d ",y); B:if(a) printf("%d ",x); else printf("%d ",y); C:if(a==0) printf("%d ",y); else printf("%d ",x); D:if(a==0) printf("%d ",x); else printf("%d ",y);

  13. 以下程序执行后的输出结果是(  )。
    #include "stdio.h"
    main()
         { int m,i;
           for(i=1;i<=50;i++)
           { m=i;
             if(m%2==0)
               if(m%3==0)
                 if(m%7==0)
                    printf("%d ",m);
            }
           }


  14. A:27 B:28 C:42 D:41

  15. 下面程序的功能是利用选择法对20个整数进行由小到大排序,并输出排序后的结果。请在【1】处填空。
    #include  "stdio.h"
    #define N 20
    main( )
    {
      int i,j,k,temp,a[N];
      for(i=0;i<N;i++)
      scanf("%d",&a[i]);
      for(i=0;i<N-1;i++)
       {  k=i;      
          for(j=k+1;j<N;j++)

           if(【1】) k=j;  
         temp=a[i];a[i]= a[k];a[k]=temp;
         }
       for(i=0;i<N;i++)
       printf("%4d",a[i]);    
    }


  16. A:a[i]a[k] C:a[j]>a[k] D:a[j]
  17. 以下程序的运行结果是(   )。
    #include "stdio.h"
    void fun(int x, int y, int z)
    {
      y=x+5;
      z=x*y;
      x=z-y;
    }
    main( )
    { int x=10,y=20,z=30;
      fun(z,y,x);
      printf("%d,%d,%d",x,y,z);
    }


  18. A:10,20,30 B:30,20,10   C:15200185 D:565,35,600

  19. 若已定义x和y为double类型,则表达式:x=2,y=x+5/2的值为(   ) 。


  20. A:3.5 B:4.0 C:3.0 D:4.5

  21. 设有数组定义: char a[]="hello!"; 则数组 a所占内存空间为(     )。


  22. A:8个字节 B:6个字节 C:7个字节 D:5个字节

  23. 若有代数式3ae/(bc),则不正确的C语言表达式是 (    )。


  24. A:a/b/c*e*3 B:3*a*e/b/c C:3*a*e/b*c D:a*e/c/b*3

  25. 下面程序的功能:输入3个整数,输出3个数中的最小数,请在【1】处填空。
    #include  "stdio.h"
    main( )
    { int a,b,c,min;
     printf("input three numbers:");
     scanf("%d%d%d",&a,&b,&c);
     if (a>b)
       min=b;
     else
      min=a;
     if (    【1】   ) min=c;
     printf("min=%d\n",min);
    }


  26. A:minc C:min>c D:b>c

  27. 下面程序段的功能是:输入一个三位数,如果个位数不为0,则交换个位和百位数,请在【1】处填空。

    #include <stdio.h>

    main()

    {

     int a,b,c,num; printf("请输入一个三位数:");

     scanf("%d",&num);

     if (num%10==0)

      printf("Last==0\n");

     else

     {

      a=num%10;

      c=【1】;

            b=(num%100)/10;

           num=a*100+b*10+c;

      printf("The change result is:%d\n",num);

     } 

    }


  28. A:num-num/10 B:num%100 C:num/10%10 D:num/100 

  29. 以下C语言用户标识符中,不合法的是(   )。


  30. A:a--b B:_1 C:a_b D:AaBc

  31. 以下程序运行后的输出结果是(   )。
    #include  "stdio.h"
    int m=8;
    int fun(int x,int y)
    {
       int m=13;
       return(x*y-m);
    }
    main()
    {
       int a=7,b=5;
       printf("%d",fun(a,b)/m);
    }


  32. A:2 B:3 C:0 D:1

  33. 设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是(  )。




  34. 下面程序的输出结果是 (   ) 。
    #include "stdio.h"
    fun(int x)
    {
       static int a=4;
       a+=x;
       return(a);
    }
    main()
    { int k=5, m=6, n;
      n=fun(k);
      n=fun(m);
      printf("%d ",n);
    }


  35. A:10 B:9 C:15 D:16
    AI参考:正确选项是【B:9】。程序中,fun函数内部有一个静态变量a,初始值为4。在fun函数中,每次调用时都会将传入的参数x加到a上,并返回a的值。在main函数中,首先调用fun(k),此时a的值为4+k,即9。接着调用fun(m),此时a的值为9+m,即13。最后输出n的值,即13。因此程序的输出结果为9。'
  36. 以下程序的输出结果是(    )。
    #include "stdio.h"
    main( )
    {  
     int  n[5]={0},i,k=2;
     for(i=0;i<k;i++)  n[i]=n[i]+1;
    printf("%d  ",n[k]);
    }


  37. A:2 B:不确定的值 C:1 D:0

  38.  有定义语句:int b;char c[10];,则正确的输入语句是(  )。


  39. A:scanf("%d%s",&b, c); B:scanf("%d%s",b,&c); C:scanf("%d%s",&b,&c); D:scanf("%d%s",b, c);

  40. 下列选项中,(   )可以将x、y定义成double 类型变量,并赋同一初值7.89。


  41. A:double x=7.89, y=7.89; B:double x, y=7.89; C:double x=y=7.89; D:double x, y=2*7.89;

  42. 假设所有变量均为整型, 则表达式( a=5, b=2, a+1, a+b ) 的值是(   )。


  43. A:5 B:7 C:6 D:8

  44. 以下程序的输出结果是(   )。
    #include "stdio.h"
    main()
    {
    int  a,b=1,d=35;
    a=d/10%9;
    b=a-1;
    printf("%d,%d",a,b);
    }


  45. A:3,1 B:6,0 C:3,0 D:3,2

  46. 以下程序执行后的输出结果是(  )。
    #include "stdio.h"

    void swap (int x,int y)
    { int t;
     t=x;x=y;y=t;
    }
    main( )
    { int a[2]={8,10};
      swap(a[0],a[1]);
      printf("%d %d ",a[0],a[1]);
    }


  47. A:8 8 B:8 10 C:10 10 D:10 8

  48. 以下错误的定义语句是(  )。


  49. A:int x[3][3]= {{1,2,3},{1,2,3},{1,2,3}{1,2,3}}; B:int x[][3]={1,2,3,4}; C:int x[4][3]={{1,2,3},{1,2,3},{1,2,3}{1,2,3}}; D:int x[][3]={{0},{1},{1,2,3}};

  50. 以下程序的输出结果是( )。
    #include "stdio.h"
    main()
    { int a=8;
    if (a<8) printf("ABCD\n");
    else printf("1234\n");
    }

  51. A:ABCD B:7 C:8 D:1234

  52. 以下程序的输出结果是( )。
    #include "stdio.h"
    main( )
    { int x,a=5;
    if(x=a!=0)
    printf("%d\n",x);
    else
    printf("%d\n",x+2);
    }

  53. A:3 B:1 C:5 D:0

  54. 以下程序的输出结果是(    )。
    #include "stdio.h"
    main( )
    { int  a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
      for(i=1;i<3;i++)
      for(j=0;j<=i;j++) s+=a[i][j];
      printf("%d\n",s);
    }


  55. A:20 B:18 C:21 D:19

  56. 若执行下面的程序时从键盘上给a,b分别赋值4和5,则输出结果是(    )。
    #include 'stdio.h'
    main()
    { int a,b,s;
    scanf('%d%d',&a,&b);
    s=a;
    if(a<b)

    s=b;
    else
    s=s*s;
    printf('%d',s);
    }


  57. A:16 B:4 C:25 D:5

  58. 以下不能定义为用户标识符的是(  )。


  59. A:char B:_2 C:abc D:Main

  60. 若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m 数组元素的引用中错误的是( )。


  61. A:m[--i] B:m[m[0]] C:m[m[i]] D:m[2*2]

  62. 下列表达式中值为0的是(    )。


  63. A:3/5.0 B:3%5 C:3/5 D:3.0/5

  64. 以下叙述中正确的是(     )。


  65. A:C语句必须以分号结束   B:C程序中的每一行只能写一条语句 C:C程序的基本组成单位是语句 D:C语句必须在一行内写完

  66. 以下程序的运行结果是(    )。
    #include  "stdio.h"
    int a, b;
    void fun( )
    { a=10; b=20; }
    main( )
    { int a=5, b=7;
     fun( );
     printf("%d  %d", a,b);
    }


  67. A:7  5 B:10  20 C:5  7 D:20  10

  68. 下列语句中符合C语言语法的赋值语句是(   )。


  69. A:a=7+b,b++,a+7 B:a=7+b+c=a+7; C:a=7+b,c=a+7; D:a=7+b++=a+7;

  70. 以下选项中不能作为C语言合法常量的是(   )。




  71. 把字符串"China  bit"输入到字符数组a中的正确操作是(    )。


  72. A:getchar(a); B:scanf("%s",&a); C:gets(a) ; D:scanf("%s",a);

  73. 以下函数的功能是求x的y次方,请在【1】处填空。
    double fun( double x, int y)
    { int i;
      double z;
      for(i=1, z=x; i<y;i++) z=z*【1】;
       return z;
    }


  74. A:x^y B:x C:x*x D:y

  75. 在c语言函数中,局部变量隐含的存储类别是(  )。


  76. A:extern B:无存储类别 C:static D:auto

  77. 以下选项中非法的字符常量是(   )。



温馨提示支付 ¥1.75 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部