| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1547 人关注过本帖
标题:来吧考试来吧自己是一下(考试哦)
取消只看楼主 加入收藏
buio
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2004-8-5
收藏
 问题点数:0 回复次数:2 
来吧考试来吧自己是一下(考试哦)

全国2003年10月高等教育自学考试

高级语言程序设计(一)试题

课程代码:00342

第一部分 选择题(共20分)

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

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

A.过程 B.函数

C.子程序 D.主程序和子程序

2.编译程序的功能是( )

A.将汇编语言程序转换为目标程序

B.将汇编语言程序转换为高级语言程序

C.将高级语言程序转换为目标程序

D.将高级语言程序转换为汇编语言程序

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

A.自动型 B.寄存器型

C.静态型 D.外部参照型

4.不用第三个变量,将变量a和b的值进行互换的操作是( )

A.a+=b;b-=a;a-=b; B.a+=b;b=a-b;a-=b;

C.b-=a;a-=b;a-=b; D.b-=a;a=b-a;a+=b;

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

A.内存的数据区中 B.CPU的通用寄存器中

C.内存的程序区中 D.内存的堆栈区中

6.下列程序段运行后,x的值是( )

a=1;b=2;x=0;

if(!(--a))x--;

if(!b)x=7;else ++x;

A.0 B.3

C.6 D.7

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

A.可构成多重循环结构 B.循环次数不可能为0

C.循环次数可能为0 D.先执行后判断

8.设int x=1,a=9,b=6,c=7,d=8;则执行语句:

if(a>b) if(c>d)x=2;else x=3;

后,x的值是( )

A.1 B.2

C.3 D.不确定

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

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

后的输出是( )

A.3 B.5

C.8 D.9

10.初始化一维数组a正确的语句是( )

A.int a[10]=(0,0,0,0,0); B.int a[10]={ };

C.int a[ ]={10} ; D.int a[10]={[10*1]};

11.语句int (*p)( );的含义是( )

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

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

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

D.p是指针函数

12.设int a[10],*p=a;

则对数组元素的正确引用是( )

A.a[p] B.p[a]

C.*(p+2) D.p+2

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.若函数中局部变量的值经函数调用后仍保留,则该局部变量定义为( )

A.自动变量 B.内部变量

C.外部变量 D.静态变量

15.在下列运算符中,优先级最低的是( )

A.! B.·

C.( ) D.[ ]

16.对于如下定义的枚举型

enum list1

{x1,x2,x3,x4=6,x5,x6};

枚举常数x2和x6的值分别是( )

A.1,6 B.1,8

C.2,6 D.2,8

17.对于文件操作方式″rb+″,准确的说法是( )

A.可读写文本文件 B.只读二进制文件

C.只读文本文件 D.可读写二进制文件

18.数据-324在二进制文件和文本文件中所占的字节数分别是( )

A.2,2 B.2,4

C.4,2 D.4,4

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.下列程序的运行结果是( )

#define EVEN(x)x%2= =0?1:0

main( )

{

if(EVEN(9+1)) printf(″is even″);

else printf(″is odd″);

}

A.is even B.出错

C.无结果 D.is odd

第二部分 非选择题(共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.已知程序段:

char *p=″abcdefgh″;p+=4;

printf(″%c\n″,*p++);

运行结果为

27.设

struct student

{ int no;char name[12];

char sex;float score[4];

}stu1;

在程序执行时,系统为stu1分配 个字节的内存空间。

28.写出“n是小于整数m的偶数”的表达式

29.字符串″ABCD\t\\\123″的长度是

30.设union

{ int b;char a[9];float x;}un;

则变量un所占的字节数是

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

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

31.sum(int n)

{

if(n= =1) return(1);

else return n+sum(n-1);

}

main( )

{

printf(″%d\n″,sum(10));

}

32.设从键盘输入282

sub(int n)

{int s=1;

do

{ s*=n%10;n/=10;}

while(n);

return s;

}

main( )

{ int n;

scanf (″%d″,&n);

n=sub(n);

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

}

33.#define N 7

#define PRINT for(i=0;i<N;i++)printf(″%5d″,a[i]);printf(″\n″);

main( )

{int i,j,temp,a[N]={1,2,3,4,5,6,7};

PRINT

for(i=0,i<N/2,i++)

{j=N-1-i;temp=a[i];a[i]=a[j];a[j]=temp;}

PRINT

}

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.用指针法输出二维数组,每行三个数。

main( )

{int i,j,a[3][3]={1,2,3,4,5,6,7,8,9},(*p)[3];

; /*第一空*/

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

{

for(j=0;j<3;j++) printf(″%5d″, ); /*第二空*/

;/*第三空*/

}

}

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

39.输出100之内所有个位数字为6且能被3整除的自然数。(如:36,66,96……)

40.键入一串字符(换行符结束),用循环语句将其中的大小写英文字母互换后输出。

41.设int a[3][4];先为数组输满数据,再将该数组周边的元素输出(元素输出次序不限

搜索更多相关主题的帖子: 考试 
2004-09-09 21:28
buio
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2004-8-5
收藏
得分:0 
如果不符合本分论坛版规请转移到相关地方谢谢
2004-09-09 21:29
buio
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2004-8-5
收藏
得分:0 

不错不错

下回考试就由大哥您代劳了

谢谢

2004-09-10 12:11
快速回复:来吧考试来吧自己是一下(考试哦)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017694 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved