设为首页|收藏学知识 |改版意见收集|智能DIY搜索|加入我们|网站地图
当前在线人数:8770
文化共享 好教程 易学习 新资讯
计算软件水平考试

高级语言程序设计模拟试卷(二)

2007-04-29 源自: 网友评论 共有( )条评论! 内容报错
本文章地址:http://kao.xuezhishi.net/ITtest/level/2007-04-29/23286.html [将本信息与朋友分享!]

                     

1.单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把你认为正确答案的题号,填入题于的括号内。多选不给。每题1分,共20分)

1.以下符合语法规则的用户标识符是( )。
 (1)1st (2) break  (3)B757  (4) Two Words

2.若要求在if语句括在圆括号对中的表达示表示a不等于0的关系,则能正确表示这一关系的表达式是( )。
 (1)a<>0  (2)!a  (3)a=0  (4)

3.若定义
 int a=1,b=2,c=3,d=4,e;
 则执行下述语句
  e=a>b?a:c<d?c:d;
后,e的值为(  )。
 (1)1   (2)2    (3)3   (4)4

4.下面的语句组所表示的数学函数关系是(  )。 
 y=-1;
  if (x!=0)
    if (x>0)
      y=1;
    else
      y=0;
    

  

5. 以下叙述正确的是(  )。
  (1)do-while语句构成的循环不能用其他语句构成的循环来代替
  (2)do-while语句构成的循环只能用break语句退出
  (3)do-while语句构成的循环,在while后的表达式为非零时结束循环
  (4)do-while语句构成的循环,在while后的表达式为零时结束循环

6.有以下程序
   #include <stdio.h>
   main()
   {
     int x,i;
     for (i=1;i<=50;i++)
     {
       x=i;
       if (++x%2==0)
          if (x%3==0)
            if (x%7==0)
             printf("%d",i);
      }
      printf("/n");
    }
   执行此程序的输出结果是(  )。
    (1)28   (2)27    (3)42      (4)41

7.执行下述程序的输出是(  )。
  #include <stdio.h>
  main()
  {
    int y=9;
    for (;y>0;y--)
    {
      if (y%3==0)
      {
       printf("y%3==0);
       continue;
       }
      if (y!=1)
        printf("%c",'  ');
       else
         printf("/n");
      }
     }
(1) 7 4 1     (2)8 5 2     (3)9 6 3     (4)8 7 5 4 2 1

8.若有以下程序片段
  char str[]="ab/n/012///"";
  printf("%d/n",strlen(str));
 则执行printf语句的输出结果是(    )。
 (1)6    (2)12     (3)3     (4)4

9.对于如下之程序段,应有(   )。
   char a[10],b[]="China";
   a=b;
   printf("%s",a);
  (1)运行后将输出China      (2)运行后将输出ch
  (3)运行后将输出c          (4)程序出错,不能运行

10.执行下述程序的输出结果是(   )。
   #include <stdio.h>
   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]);
     printf("/n");
    }
  (1) 5  2    (2) 5  1     (3) 5  3    (4) 9  7

11.以下程序当运行时,如果从键盘上输入
   book
   book
   则输出结果是(  )。
     #include <stdio.h>
     #include <string.h>
     main()
     {
       char a1[80],a2[80],*s1=a1,*s2=a2;
       gets(s1);   gets(s2);
       if (!strcmp(s1,s2))
         printf("*");
       else
         print("#");
       printf("%d/n",strlen(strcat(s1,s2)));
      }
    (1)*8   (2)#9    (3)#8    (4)*9

12.下面的程序段的运行结果是(  )。
   char str[]="NBA",*p=str;
   printf("%d/n",*(p+3)));
   (1) 65    (2)0    (3)字符'A'的地址   (4)A
13.决定c语言中函数返回值类型的是(   )。
    (1)return语句中的表达式类型
    (2)调用该函数的主调函数类型
    (3)调用函数时临时指定的类型
    (4)定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)

14.执行下述程序的输出结果是(    )。
   #include <stdio.h>
   int func(int x,int y,int *cp,int *dp)
   {
     *cp=x+y;
     *dp=x-y;
    }
    main()
    {
      int a,b,c,d;
      a=30;
      b=50;
      func(a,b,&c,&d);
      printf("%d,%d/n",c,d);
     }
     (1)80,-20   (2)80,20   (3)50,30   (4)30,50

15.欲定义一函数,其功能是交换两个整数值,且通过函数调用能返回交换的结果。能正确执行此功能的函数定义是(  )。
   (1)func(int x,int y)
       {
         int t;
         t=x;
         x=y;
         y=t;;
        }
     (2)func(int *x,int *y)
        {
          *x=*y;
          *y=*x;
         }
     (3)func(int *x,int *y)
        {
          int t;
          t=*x;
          *x=*y;
          *y=t;
         }
      (4)func(int *x,int *y)
         {
           int *t;
           *t=*x;
           *x=*y;
           *y=*t;
          }

16.执行下述程序的输出结果是(   )。
   #include <stdio.h>
   int d=1;
   func (int p)
   {
     static int d=5;
     d+=p;
     printf ("%d ",d);
     return (d);
    }
    main ()
    {
      int a=3;
      printf("%d/n",func(a+func(d));
    }
     (1)6 9 9     (2)6 6 9     (3)6 15 15     (4)6 6 15

17.设有如下定义
   struct sk
   {
      int a;
      float b;
    } data,*p;
  若有 p=&data;
  则对data中的成员a的正确引用是(   )。
    (1)(*p).data.a    (2)(*p).a    (3)p->data.a    (4)p.data.a

18.若已建立下面的链表结构,指针变量p、q分别指向图中所示结点,则下列语句组中,不能实现将q所指向的结点插入到链表末尾的一组语句是(   )。
     

 

    (1)q->next=NULL;             (2) p=p->next;
         p=p->next;                    q->next=p->next;
         p->next=q;                    p->next=q;
     (3) p=p->next;                 (4) p=(*p).next;
         q->next=p;                     (*q).next=(*p).next;
         p->next=q;                     (*p).next=q;

19.函数调用语句
   fseek(fp,-20L,2);
   的含义是(   )。
   (1)将文件位置指针移动到距离文件头20个字节处
   (2)将文件位置指针从当前位置向后移动20个字节
   (3)将文件位置指针从文件末尾处向后退20个字节
   (4)将文件位置指针移动到离当前位置20个字节处

20.若以下程序所生成的可执行文件名为filel.exe,则当在操作系统状态下输入下述命令行执行该程序时
    FILE1 CHINA BEIJING SHANGHAI
   程序的输出结果是(   )。
    #include <stdio.h>
    main(int argc,char *argv[])
    {
      while (argc-->1)
      {
        ++argv;
        printf("%s ",*argv);
       }
        printf("/n");
      }
      (1)CHINA BEIJING SHANGHAI      (2)FILE1 CHINA BEIJING SHANGHAI
      (3)C B S                       (4)F C B

http://kao.xuezhishi.net/ITtest/level/2007-04-29/23286.html
分页:[1] 2 3 4 5
评论 点击查看
 


加入QQ群:35714363 一起成长
我要加入更多群 我有意见要反映
考试教室

学知识原创教程下载

本类最近更新
阅读排行

其他相关信息