《全国2006年10月高等教育自学考试 高级语言程序设计(一)》由会员分享,可在线阅读,更多相关《全国2006年10月高等教育自学考试 高级语言程序设计(一)(9页珍藏版)》请在金锄头文库上搜索。
1、全国2006年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1以下属于C语言保留字的是()AfopenBinclude Cget Dunsigned 2C语言中,错误的int类型的常数是()A1E5B0C037D0xaf3在C语言中,a和a存储所占用的字节数分别是()A1,1B1,2C2,1D2,24对于数学表达式,正确的C语言表达式是()A2sqrt(x)+(a+b)/3sin(x)B2sqrt(x)+(a+b
2、)/(3sin(x)C2*sqrt(x)+(a+b)/3/sin(x)D2*sqrt(x)+(a+b/3*sin(x)5设int x=10, a=0, b=25;,条件表达式xD 7sizeof(double)是()A函数调用Bint型表达式Cdouble型表达式D非法表达式8设有以下程序段: int a=1, b=10, c=1, x;x=a&b|+c;printf(%d, %dn,x,c);执行后输出的结果是()A0,0B0,1C1,0D1,19设int x;,则以下语句中错误的输入是()Ascanf (%d,x);Bscanf (%d,&x);Cscanf (%o,&x);Dscanf
3、(%x,&x);10设int(*P)();,p的含义是 ()A指向一维数组的指针变量B指向二维数组的指针变量C指向一个整型变量的指针变量D指向整型函数的指针变量11在C语言中,运算符和的功能分别是()A关系运算和赋值运算B赋值运算和关系运算C都是关系运算D都是赋值运算12设int x=1,2,3,4,5,*p=x;,则值为3的表达式是()Ap+=2, *p+Bp+=2, *+pCp+=2, p+Dp+=2, +*p13设for(i=0, j=10; (j0)&(i4); i+, j-);,该语句的循环次数是()A0B3C4D无限14设函数定义如下:float f1 (float a, floa
4、t b)return (a+b);若有float x=1.1, y=2.2;,则以下语句中正确的函数调用是()Aprintf (%f, f1(x);Bprintf (%f,f1(&x, y);Cprintf (%f,f1(*x,*y);Dprintf (%f,f1(x, y);15结构型变量占用内存的字节数是()A各成员占用内存字节数之和B第一个成员占用的内存字节数C占用内存最大成员所需的字节数D最后一个成员占用的内存字节数16设enum color purple, black, red, white d;, 若将d赋值为枚举常量red,则正确的是()Ad=(enum color)2;Bd=(
5、enum color)3;Cd=red;Dd=color;17若main()函数带参数,参数个数最多是()A0B1C2D318设宏定义#define PI 3.1415926,用宏名PI替换的是()A算术表达式B字符串C单精度实型数D双精度实型数19调用系统函数fabs时,应选用的文件包含是()A#include stdio.hB#include string.hC#include ctype.hD#include math.h20设struct st int i; int j; *p;main ( ) struct st m =10, 1, 20, 2, 30, 3; p=m; printf
6、 (%dn,(*+p). j);则程序的输出结果是()A1B2C3D10二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。21C语言中,标准输入设备的文件指针名是_。22一个C语言程序的基本组成单位是_。23C语言中,&作为双目运算符表示的运算是_。24连接两个字符串的系统函数名是_。25设float a 45;,则数组a中第一维下标的最大值是_。26设char str =book;,则执行printf (%dn, sizeof (str);后输出的值是_。27设#define F(x) x*xmain ( ) int a=3, b=4, c
7、; c=F(a+b); printf (%dn, c);则程序执行后输出的值是_。28设int a; float b; char c; long d; double e; , 则表达式a/c-b+d-e值的类型是_。29设int x=5;x+=x-=x+x;则执行printf (%dn, x);后输出的值是_。30设union int i; long j; char k; t, *p=&t;则用指针法给t的成员i赋值为20的语句是_。三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处。31main ( )int i, s=0; for (i=1;
8、 i0 & a5) b=b-1; +a; c-; printf (%d, %d, %dn, a, b, c);34int z=5;f ( ) static int x=2; int y=5; x=x+2; z=z+5; y=y+z; printf (%5d%5dn, x, z); main ( ) static int x=10; int y; y=z; printf (%5d%5dn, x, z);f ( ); printf (%5d%5dn, x, z); f ( );35struct prob char *a; int b; x = Zhang San, 19, Li Si, 21, W
9、ang Wu, 20;main ( ) int i, m1, m2; m1=m2=x0.b; for (i=1; im1)m1=xi.b; else if (xi.bm2)m2=xi.b; for (i=0; i3; i+) if (xi.b!=m1& xi.b!=m2) printf (%s:%dn, xi.a, xi.b); break; 四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。36用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0, 1, 2, , 10时各阶乘的值。计算公式:n!long fac (int n
10、) if (_)return (1); /* 第一空 */ else return _; /* 第二空 /main ( ) int m; long int fa; for (m=0; m=10; m+) _; /* 第三空 */ printf (%d!=%1dn, m, fa); 37使用二维数组形成并按下列形式输出数据main ( ) int i, j, _; /* 第一空 */ for (i=0; i5; i+) for (j=0; j5; j+) a i j =_; /* 第二空 */ for (i=0; i5; i+) for (j=0; j5; j+) printf (%2d, a
11、i j); _; /* 第三空 */ 38键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str. dat中。#include main ( ) char ch; int sumch=0; FILE *fp; fp=fopen (str. dat, w); while (ch=getchar ( )!= _) /* 第一空 */ sumch +; putchar (ch); fputc (_, fp); /* 第二空 */ printf (sumch=%dn, sumch); fprintf (_, sumch=%dn, sumch); /* 第三空 */ fclose (fp