位置:首页 > 自考专业

2003年1月份全国高等教育自学考试高级语言程序设计(一)试题

  • 发布时间:2024-09-15 16:21:23
  • 来源:本站整理
  • 阅读:
导读:
  课程代码:00342
  第一部分选择题
  一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
  1.属于C语言基本数据类型的是()
  A.指针型B.无符号整型
  C.数组型D.结构型
  2.C语言的长整型数值在计算机

第一部分选择题

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.属于C语言基本数据类型的是()

A.指针型B.无符号整型

C.数组型D.结构型

2.C语言的长整型数值在计算机中占用的字节个数是()

A.1B.2

C.3D.4

3.C语言中,″\x3d″在内存中占用的字节数是()

A.1B.2

C.4D.5

4.设intx;则执行printf(″%x\n″,~x^x);的结果是()

A.0B.1

C.ffD.ffff

5.对于while语句,错误的说法是()

A.用条件控制循环体的执行次数

B.循环体至少要执行一次

C.循环体有可能一次也不执行

D.循环体中可以包含若干条语句

6.设int a=9,b=20;则printf(″%d,%d\n″,a-,-b);的输出结果是()

A.9,19B.9,20

C.10,19D.10,20

7.执行下列语句

int a=8,b=7,c=6;

if(a b)if(b c){a=c;c=b;}

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

后输出的结果是()

A.6,7,7B.6,7,8

C.8,7,6D.8,7,8

8.设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么()

A.x数组的长度等于y数组的长度

B.x数组的长度大于y数组的长度

C.x数组的长度少于y数组的长度

D.x数组与y数组的存储区域相同

9.设int i,x={1,2,3,4,5,6,7,8,9};

则下面语句

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

printf(″%d″,x[i][2-i]);

的输出结果是()

A.147B.159

C.357D.369

10.设int b[ ]={1,2,3,4},y,*p=b;

则执行语句y=*p++;之后,变量y的值为()

A.1B.2

C.3D.4

11.设int a,*p;则语句p= a;中的运算符“ ”的含义是()

A.位与运算B.逻辑与运算

C.取指针内容D.取变量地址

12.若函数能被其它编译单位引用,那么函数定义时的存储类型应选用()

A.autoB.static

C.externD.register

13.下面函数定义有错误的是()

A.f1(x1,x2)B.f1(x1,x2)

int x1,x2;int x1;int x2;

{函数体}{函数体}

C.f1(int x1,x2)D.f1(int x1,int x2)

{函数体}{函数体}

14.C语言中计算a3正确的表达是()

A.a^3B.pow(a,3)

C.a**3D.power(a,3)

15.下列定义正确的是()

A.anum t={a,b}x;B.enum t{1,2}x;

C.anum {′+′,′-′}x;D.enum t{a,b}x;

16.设有定义:union u{int a;float b};

char c;}aa;

则printf(″%d\n″,sizeof(aa));的输出是()

A.32B.16

C.12D.8

17.数据-35.78在文本文件中占用的字节个数是()

A.4B.5

C.6D.8

18.在下列有关宏替换的叙述中,正确的说法是()

A.宏替换占用运行时间

B.宏名有类型

C.带参数的宏替换和函数等价

D.宏替换只是字符替换

19.下列程序的运行结果是()

# defineA5

# defineBA+1

main( )

{int a;

a=B;

printf(″%d\n″a-);

}

A.6B.5

C.4D.出错

20.为了向二进制文件尾部增加数据,打开文件的方式应采用()

A.″ab″B.″rb+″

C.″wb″D.″wb+″

第二部分非选择题

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

21.设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是______.

22.设char ch=′A′;则printf(″%c″,(ch =′A′ ch =′Z′)ch+32:ch);的值是_____.

23.结构化程序设计的三种基本结构是:选择结构、循环结构和______.

24.下列程序

int x=3;

do{printf(″%d″,-x);}while(!x);

循环执行的次数是______.

25.在C语言中,一个二维数组可以看成若干个______数组。

26.设int a={{1,3,5,7},{2,4,6,8}};则*(*a+1)的值为______.

27.若函数定义为

int data()

{float x=9.9;

return(x);

}

则函数返回的值是______.

28.设struct student

{int no;char name ;

float score;

{s1,*p= s1;。

用指针变量p给s1的成员no赋值1234的方法是______.

29.判断文本文件是否结束时使用的符号常量EOF的值是______.

30.设有一个名为″myfile.c″的C程序,

其主函数为mian(int argc,char *argv[ ])。如果在执行时,输入的命令行为

myfile aa bb ↙

则形式参数argc的值是______.

三、程序分析题(本大题共5小题,每小题5分,共25分)

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

31.fun(int x)

{

int y=0;

static int z=3;

z++;++y;

return(x+y+z);

}

main( )

{

int I,x=2;

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

printf(″%5d″,fun(x++));

}

32.main( )

{

int s=0,i;

for(i=1;;i++)

{

if(s 50)break;

if(i%2==0) s+=i;

}

printf(″i=%d,s=%d\n″,i,s);

}

33.gcd(int m,int n)

{ if(m==n)return m;

else if(m n) return gcd(m-n,n);

else return gcd(m,n-m);

}

main( )

{

printf(″Gcd=%d\n″,gcd(24,36));

}

34.# include stdio.h

main( )

{int i=0;

char c,s #;=″SABC″;

while(c=s[i])

{

switch(c)

{

case ′A′:i++;break;

case ′B′:++i;

default:putchar(c);i++;

}

putchar(′*′);

}

}

35.int a1=300,a2=400;

main( )

{int a3=100,a4=200;

sub1(a3,a4);

sub1(a1,a2);

printf(″%d,%d,%d,%d\n″,a1,a2,a3,a4);

}

sub1(int x,int y)

{ a1=x;

x=y;

y=a1;

}

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

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

36.将十个整数输入数组,求出其平均值并输出。

main( )

{int i,a ,sum=0,*p=______;/*第一空*/

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

{ scanf(″%d″,p);sum+=______;/*第二空*/

printf(″%8.2f\n″,______);/*第三空*/

}

37.输入一个无符号整数后求出它的各位数之和并输出。

例如若输入123,则将各位之和6(即1+2+3)输出。

______f(num)/*第一空*/

unsigned int num;

{ unsigned int k=0;

do

{ k+=______;/*第二空*/

num/=10;

} while(num);

______;/*第三空*/

}

main( )

{unsigned int n;

scanf(″%d″, n);

printf(″%u\n″,f(n));

}

38.为数组输入数据,逆序置换后输出。(逆序置换是指:数组的首元素和末元素置换,第二个元素和倒数第二个元素置换,………)

# define N8

main()

{int i,j,t,a[N];

for(i=0;i N,i++)scanf(″%d″,a+i);

i=0;j=N-1;

while(i j)

{ t=*(a+i);________;/*第一空*/

______=t;/*第二空*/

i++;______;/*第三空*/

}

for(i=0;i N;i++)printf(″%5d″,*(a+i));

}

五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。

39.将100个整数输入数组后按每行10个数输出。

40.计算e=1+ 的值并输出(设n=20)。

41.生成Fibonacci数列的前20项并输出,其中

fi=

相关阅读