全国2014年4月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.在计算机中,指令通常是由
A.操作码、操作数组成 B.源操作数、目标操作数组成
C.反码、补码组成 D.直接寻址、目的寻址组成
2.与二进制1010等值的十六进制数是
A.a B.b
C.c D.d
3.下面转义字符中,表示换行的是
A.\0 B.\n
C.\r D.\f
4.下面符合c语言要求的标识符是
A.0x123 B.int
C.__123 D.π
5.若有scanf( " %d,%d%d " ,&a,&b,&c);从键盘上正确的数据输入形式是
A.2 3 4 B.234
C.2,3 4 D.2,3,4
6.下面程序段的输出结果是
main()
{ int s,p;
s=p=5;
p=++s;
p++;++p;
printf( " %d\n " ,p); }
A.5 B.6
C.7 D.8
7.下面关于if语句叙述正确的是
A.只有当if语句中表达式的值等于1时,才执行if的内嵌语句。
B.只有当if语句中表达式的值非0时,才执行if的内嵌语句。
C.只有当if语句中表达式的值等于0时,才执行if的内嵌语句。
D.只有当if语句中表达式的值为假时,才执行if的内嵌语句。
8.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后,x的值是
if(a<b)
{if(c==d) x=c;
else x=d++;}
A.4 B.5
C.6 D.7
9.下面循环语句中,正确的是
A.for(i=l,i<10,i++); B.for(i=l;i<10);
C.for(s=0;i=1;i<10;i++); D.for(s=0,i=1;i<10;i++);
10.下面程序段的输出结果是
for(i=1;i<3 ;i++)
{for(j=1;j<=i;j++)
printf ( "%2d" , i+j);
printf("\n");
}
A.2 3 3 4 B.2 3 4
11.若有定义short int a[3][5];则a数组在内存中分配的字节数是
A.8 B.15
C.24 D.30
12.己定义字符数组strl,下面能正确地完成字符串输入的函数是
A.gets(strl) B.puts(strl)
C.getchar(strl) D.putchar(strl)
13.设有下面程序,下面选项中正确的说法是
int d=10;
main( )
{
int a=3;
Printf ("%d,%d\n",a,d);
}
A.a是全局变量,d是全局变量 B.a是局部变量,d是全局变量
C.a是全局变量,d是局部变量 D.a是局部变量,d是局部变量
14.下面对C函数的描述,正确的是
A.C程序中有调用关系的所有模块必须放在同一个源文件中。
B.函数必须有返回值,否则不能使用函数。
C.C程序必须由一个或一个以上函数构成。
D.C函数既可以嵌套定义又可以嵌套调用。
15.下面正确定义指针数组的是
A.float (*p)[6]; B.float p[6];
C.float (*p)(6); D.float *p[6];
16.下面关于结构体类型变量定义不正确的是
A.struct score B. struct
{ {
int mach; int mach;
int Chinese; int Chinese;
}Li,wang; }Li,wang;
C. struct score D. struct score
{ {
int math; int math;
int Chinese; int Chinese;
}; }; Li,wang;
struct score Li,wang;
1 7.下面关于共用体类型的定义正确的是
A. union book {int a, char b, }; B. union pig{int w; char place[20]; };
C. union student{int age;char name[10]}; D. union boat {char n[10],int w};
1 8.下面位运算符中,优先级最高的是
A.~ B.&
C.| D.∧
19.下面表示关闭文件的函数是
A.fopen B.fclose
C.fgets D.feof
20.在语句fread(stu,size,n,fp);中,下面说法不正确的是
A.stu是内存中存放数据的首地址 B.n表示读n次
C.size是一个数据块的字节数 D.fp表示文件指针
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂、少涂或未涂均无分。
21.若有int a=8,b=3;下面表达式值为2的有
A.a%b B.a/b
C.b>a?a--:--b D.a-a/b*b
E.a-a%b*b
22.下面循环将会产生死循环的有
A.while.(1); B.do{ }while(0);
C.do{ }while(I); D.for(k=1;k>-10;k++);
E.for(k= 1 ;k= 10;k++,k--);
23.关于变量的存储,下面说法正确的有
A.auto型变量存储在动态存储区
B.static型变量存储在静态存储区
C.static型变量是全局静态变量
D.若定义的全局变量缺省存储类别,则系统默认是auto型
E.动态存储区的变量在退出函数时释放所占的内存单元
24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有
A.a[2] B.*a
C.*a+2 D.a[0]+2
E.&a[0][2]
25.下面关于结构体定义正确的有
A.struct 1__ num
{ long unm ;struct l__num *next; }num 1, *pl;
pl=&num 1;
B. struct animal
{ char name[30],float weight, } rabbits;
C. struct star
{ int bh,char name[20], } my__star;
my__ star. name= " moon " ;
D. struct{ char x[20];char y[30];int u;}xl,yl;
E. struct food
{ int code ;char name[30];struct food *p;};
struct food *tail;
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中整型常量有几种形式,他们是如何表示的?
27.C语言中的运算符“=”与数学中“=”的意义相同吗?为什么?
28.设有说明:unsigned x=10;试用两种方法写出通过仅对X进行位运算操作和赋值操作使x的值为0的C语句(不能用x=0;这种C语句)。
29.设有下面说明:
struct flower{ char *part;char *color; } mum;
char*part__of__flower[3]={ "花", "茎", "叶" };
char*seven__color[7]={ "赤" , "橙" , "黄 " , "绿" , "青" , "蓝" "紫"};
试写出将mum的成员part定义为"花"、成员color定义为"黄 "的C语句。
四、阅读分析题 (本大题共6小题,每小题5分,共3O分)
30.阅读下面程序,写出运行结果
main( )
{
int a=456,b=l 00,x,y;
x=a/b;
y=a%b;
printf( " x=%d,y=%d\n " ,x,y);
}
31.阅读下面程序,若输入0,3,则程序的运行结果是什么?
void main(void)
{
int x,y,z;
scanf( " %d,%d " ,&x,&y);
if(x<y)
{
z=x;x=y;y=z;
}
printf( " %d,%dkn " ,x,y);
}
32.阅读下面程序,写出运行结果
main( )
{
int s=0,t=1,i;
for(i=1;i <5;i++)
{
t=t*i;
s+=t;
printf( " s=%d\n " ,s);
}
}
33.阅读下面程序,写出运行结果
main( )
{
int a [5][5], i,j ;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i==j || j==4-i)
a[i][j]=0;
else
a[i][j]=l;
for(i=0;i<5;i++)
{
for(j=0;j < 5;j++)
printf( " %3d " ,a[i][j]);
printf( "\n " );
}
}
34.阅读下面程序,写出运行结果
int check(int n,int k)
{int m;
do
{
m=n%10:
n=n/10;
}while(k--);
return(m);
}
main()
{
int y=2345,j;
for(j=1;j<4;j++)
printf("j=%d,number is%d\n",j,check(y,j));
}
35.阅读下面程序,写出运行结果
#define M 2
#define N M+4
int a[ ]={10,20,30};
int subl(int x,int y,int z)
{
int t;
t=x<y?x:y;
a[1]=t<z?t:z;
return t;
}
main( )
{
int k:
k=sub 1(M*N,*(a+1),*(a+2));
printf("%d,%d\n",k,*(a+1));
}
五、程序设计题 (本大题共2小题,每小题1 2分,共24分)
3 6.从键盘上输入1 6个整数,组成4行4列的数组,打印出下三角数组。
3 7.设有7×7浮点型数组x(7×7表示7行7列)。要求:
(1)从键盘上输入49个浮点数对数组x赋初值。
(2)计算数组x每一行的累加和以及每一列正数的平均值(假设每列中至少有一个正数)。
(3)将数组x各行的累加和以及各列正数的平均值依次写到当前目录下的二进制文件 array.txt中。
本自考试题wrod文档下载地址: