欢迎您访问重庆自考网!  今天是
当前位置: 主页 > 历年真题 >

全国2003年10月自考(课程代码:00342)高级语言程序设计(一)试题

2018-06-11 13:10来源:重庆自考网
全国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];先为数组输满数据,再将该数组周边的元素输出(元素输出次序不限)。
 
本自考试题WORD文档下载:
全国2003年10月自考(课程代码:00342)高级语言程序设计(一)试题

上一篇:全国2003年1月自考(课程代码:00342)高级语言程序设计(一)试题

下一篇:全国2004年10月自考(课程代码:00342)高级语言程序设计(一)试题