导航:首页 - 自考高级语言程序设计最后冲刺模拟题(1)

自考高级语言程序设计最后冲刺模拟题(1)
作者:深圳教育在线 来源:szedu.net 更新日期:2007-12-2
第一部分 选择题(20分)

     一、单项选择题(本大题共20小题,每小题1分,共20分)

         在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的

         括号内。错选、多选或未选均无分。

         1.组成C语言程序的是( )

         A.过程

         B.函数

         C.子程序

         D.主程序和子程序

         2. 下列表达式的值为0的是 (  )
         A. 3﹪5
         B. 3/5.0
         C. 3/5
         D. 3<5

         3.C语言中定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是( )

         A.自动型

         B.寄存器型

         C.静态型

         D.外部参照型

        4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 (  )
         A. 0和2
         B. 0和3
         C. 1和2
         D. 1和3

         5.自动型变量分配在( )

         A.内存的数据区中

         B.CPU的通用寄存器中

         C.内存的程序区中

         D.内存的堆栈区中

        6. 下列保留字中用于构成循环结构的是 (  )
         A. if
         B. while
         C. switch
         D. default

         7.对do-whie语言错误的说法是( )

         A.可构成多重循环结构

         B.循环次数不可能为0

         C.循环次数可能为0

         D.先执行后判断

         8. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \\ n″,x,97);的输出是(  )
         A. x = a,y = 97
         B. x = 97,y = a
         C. x = 97,y = 97
         D. x = a,y = a

         9.设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句:

         printf(″%d″,strlen(strcpy(str1,str2)));

         后的输出是( )

         A.3

         B.5

         C.8

         D.9

         10. 执行下列程序
         int a[3][3]={{1},{2},{3}};
         int b[3][3]={1,2,3};
         main()
         {printf(″﹪d \\ n″,a[1][0] + b[0][0]);}
         后输出的结果是 (  )
         A. 0
         B. 1
         C. 2
         D. 3
         11.语句int (*p)( );的含义是( )

        A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据

         B.p是指针变量,指向一个整型数据

         C.p是一个指向一维数据的指针变量

         D.p是指针函数

         12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是 (  )
         A. p + = 2, * + + p
         B. p + = 2, * p + +
         C. p + = 3, * p
         D. p + = 2, + + * p

         13.对于程序段

         float f1(int a)

         {int b;…}

         main( )

         {int m,n;

         m=f1(n);…}

         char f2(int x,int y)

         {int a;…}

         变量m,n的作用范围是( )

         A.整个程序段

         B.main函数

         C.main函数和f2函数

         D.mian函数和f1函数

        14. 执行下列程序
         int a = 3, b = 4;
         void fun(int x1, int x2)
         {printf(″﹪d, ﹪d \\ n″, x1 + x2, b);}
         main()
         {int a = 5, b = 6;fun(a, b);}
         后输出的结果是 (  )
         A. 3,4
         B. 11,1
         C. 11,4
         D. 11,6
         15.在下列运算符中,优先级最低的是( )

         A.!

         B.·

         C.( )

         D.[ ]

         16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;
         则枚举常量a2和a3的值分别为 (  )
         A. 1和2
         B. 2和3
         C. 7和2
         D. 7和8
         17.对于文件操作方式″rb+″,准确的说法是( )

         A.可读写文本文件

         B.只读二进制文件

         C.只读文本文件

         D.可读写二进制文件

        18. 在文件使用方式中,字符串″rb″表示 (  )
         A. 打开一个已存在的二进制文件,只能读取数据
         B. 打开一个文本文件,只能写入数据
         C. 打开一个已存在的文本文件,只能读取数据
         D. 打开一个二进制文件,只能写入数据

????????

         19.设int a=1,b=2,c=4;

         经过表达式(c=a!=b)&&(a= =b)&&(c=b)运算后,a、b和c的值分别是( )

         A.1,2,0

         B.1,2,1

         C.1,2,2

         D.1,2,3

         20. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为(  )
         A. int argv;
         B. char * argv[];
         C. char argv[];
         D. char ** argv[];
         第二部分 非选择题(共80分)

二、填空题(本大题共10小题,每小题2分,共20分)

         请在每小题的空格中填上正确答案。错填、不填均无分。

        21.设char a,b;则表达式a/b-′c′的值的类型为 。

        22.设int k=-1;执行printf(″%u″,k);后输出的值是 。

        23.设for(k=0;k<0;k++)++k;则该循环共执行 次。

        24.设int a =1,b=2;经表达式a=a∧b,b=a∧b,a=a∧b运算后a,b的值分别是 。

        25.表示空类型的保留字是 。

        26. 被调函数在执行结束时,这个函数中定义的_______________类型的变量不被释放。
        27. 设
        struct student
        {
        int no;
        char name[12];
        float score[3];
         } sl,* p = &sl;
        用指针法给sl的成员no赋值1234的语句是___________________。
        28. C语言程序中对文本文件的存取是以________________为单位进行的。
        29. 设char string[] =″This_is_a_book!″;则数组的长度应是________________。
        30. 设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。
        三、程序分析题 (本大题共5小题,每小题5分,共25分)

         阅读下列程序,将输出结果写到各题右侧的空白处
        31.

         int a = 200;
         main()
         {int i;
         for(i = 1;i< = 5;i + +)
         {a + + ;
         printf(″﹪d,″,a);
         s()
         }
         {
         s()
         {static int a = 20;
         a + + ;
         printf(″﹪d \\ n″,a);
         }
         32.

         # include ″stdio.h″
         main()
         {char c;
         c = getchar();
         if((c> =′a′&&c< =′z′) ‖c> =′X′&&c< =′Z′)c = c - 23;
         printf(″﹪c \\ n″,c);
         }
         设从键盘上输入Next ↙
         33.

         # define N 7
         main()
         {int i,j,temp,a[N]={1,2,3,4,5,6,7};
         for(i = 0;i<N/2;i + + )
         {j = N - 1 - i;
         temp = a[i];a[i]=a[j];a[j]=temp;
         }
         for(i = 0;i<N;i + + ) printf(″﹪5d″,a[i]);
         }
         34.int x=30,y=50;

         sub(x,y)

         { y=x>y?x:y;

         return y;

         }

         main( )

         {

         {int x=100;

         printf(″%d\\n″,sub(x,y));

         }

         printf(″%d,%d\\n″,x,y);

         }

         35.设文件file1.c的内容为COMPUTER

        #include ″stdio.h″

         main( )

         { FILE *fp;

         char ch;

         if((fp=fopen(″file1.c″,″r″))= =NULL)

         { printf(″Cannot open file\\n″);

         exit(0);

         }

         while(!feof(fp))

         {

         ch=fgetc(fp);if(ch>=′A′&&ch<=′Z′)fputc(ch+32,stdout);

         }

         fclose(fp);

         }
         四、程序填充题(本大题共3小题,每小题6分,共18分)

         给出下列程序,将横线处缺少的部分补上,使其能正确运行。

        36.将一个十进制整数n转变为二进制数。

        main( )

         { int i=0,j,n,num[20];

         scanf(″%d″, ); /*第一空*/

         while(n!=0)

         { num[i++]= ; /*第二空*/

         n= ; /*第三空*/

         }

         for(j=i-1;j>=0;j--)printf(″%d″,num [j]);

         }

         37.一个一维数组和一个二维数组同处一个共用型,将数据输入一维数组后,在二维数组中输出。

        main( )

         {union data

         { int a[10];

         int b ;/*第一空*/

         };

         union data ab;

         int i,j;

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

         scanf(″%d″, ); /*第二空*/

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

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

         printf(″%5d″, );/*第三空*/
}
         38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元 素,则输出“Not found!”标志。
        main()
        {int i,x,a[10];
        for(i = 0;i<10;i ++ )scanf(″﹪d″,___________);
        scanf(″﹪d″,&x);printf(″﹪d″,x);
        for(i = 0;i<10;i ++) if(_________________)break;
        if (i _________10)printf(″ position:﹪d \\ n″,i);
        else printf(″Not found! \\ n″,x);
        }
        五、程序设计题(第39小题5分,第40、41小题各6分,共17分)
        39.输出100之内所有个位数字为6且能被3整除的自然数。(如:36,66,96……)

        40. 求1到100之间的奇数之和及偶数之和,并将二者输出。

        41. 输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。


报 名 此 课 程 / 咨 询 相 关 信 息
【预约登门】 【网上咨询】 【订座试听】 【现在报名】
课程名称
自考高级语言程序设计最后冲刺模拟题(1)
真实姓名
* 性 别
联系电话
* E-mail:
所在地区
咨询内容

      

相关文章:

Copyright© 2004-2010 www.szedu.net 深圳教育在线 版权所有
中国·深圳
粤ICP备06023013号