全国2008年7月高等教育自学考试
	计算机基础与程序设计试题
课程代码:02275
	一、单项选择题(本大题共20小题,每小题1分,共20分)
	在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
	1.一个完整的计算机系统应该包括(   )
	A.主机和外设 B.主机和操作系统
	C.硬件系统和系统软件 D.硬件系统和软件系统
	2.若用八位二进制表示一个整数,则-4在计算机中的表示是(   )
	A.11111100 B.11111011
	C.10000100 D.00000100
	3.下列转义字符中,表示回车的是(   )
	A.\0 B.\n
	C.\r D.\f
	4.若定义double d;则d在内存中分配的字节数是(   )
	A.1个 B.2个
	C.4个 D.8个
	5.下列表达式中运算结果为3的表达式是(   )
	A.(-7)%4 B.7/4+2
	C.7/4*4-4 D.8/3+8/3
	6.设有int a=3,b=-4,c=5;表达式a++-c+b++的值是(   )
	A.-6 B.-5
	C.-4 D.-3
	7.在printf语句中,格式说明符u表示(   )
	A.以十进制带符号形式输出整数 
	B.以十六进制带符号形式输出整数
	C.以十进制无符号形式输出整数 
	D.以十六进制无符号形式输出整数
	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.关于switch中的表达式,正确的说法是(   )
	A.它必须是算术表达式 B.它必须是关系表达式
	C.它必须是逻辑表达式 D.它可以是任意类型的表达式
	10.对do语句while(表达式);结构的循环,下列说法正确的是(   )
	A.当表达式的值为非零时不执行循环体 
	B.循环体至少被执行一次
	C.当表达式的值为零时循环体一次也不执行
	D.循环体仅被执行一次
	11.只能在循环语句中用于结束本轮循环的语句是(   )
	A.break; B.continue;
	C.goto D.if
	12.若有定义int a[4]={1,2,3,4};则a[(a[1]*a[3]+a[0])3-1)]的值是(   )
	A.1 B.2
	C.3 D.4
	13.若有定义int a[3][5];则数组a在内存中分配的字节数是(   )
	A.8 B.15
	C.24 D.30
	14.已知strl和str2是字符串数组,下列哪一个函数能正确的完成字符串的输入?(   )
	A.gets(strl) B.gets(strl,str2)
	C.getchar(strl) D.getchar(strl,str2)
	15.下列关于函数的描述中正确的是(   )
	A.C程序中有调用关系的所有模块必须放在同一个源文件中
	B.函数必须有返回值,否则不能使用函数
	C.C程序必须由一个或一个以上函数构成
	D.C函数既可以嵌套定义又可以嵌套调用
	16.设有下列程序,则(   )
	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是局部变量
	17.若有说明:int*p1,*p2,m=5,n;以下进行赋值的语句中合理的是(   )
	A.p1=m; B.&p2=n;
	C.pl=&m;p2=p1; D.*p1=&m;
	18.下列为指针数组定义的是(   )
	A.float(*)[6]; B.float p[6];
	C.float(*)(); D.float *p[6];
	19.设有说明:FILE*fp;对于fp=fopen(″c:\\abc.dat″, ″rb″);语句,下列说法中不正确的是(   )
	A.fp将指向abc.dat文件 
	B.以只读方式打开二进制文件
	C.打开文件的文件名是abc.dat 
	D.以读写方式打开ASCII码文件
	20.ASCII码文件的结束可以用符号常量EOF表示。EOF的值是(   )
	A.0 B.1
	C.-1 D.不能确定的值
	二、多项选择题(本大题共5小题,每小题2分,共10分)
	在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
	21.下列数据数值相等的有(     )
	A.(11111111)2 B.(377)8
	C.(255)10 D.(FF)16
	E.(256)10
	22.以下if语句中没有语法错误的有(     )
	A.if(x>0)printf(″%f″,x);
	else printf(″%f″,x);
	B.if(x>0){x=x+y;printf(″%f″,x)}
	else printf(″%f″,x)
	C.if(x>0){x=x+y;printf(″%f″,x);}
	else printf(″%f″,x);
	D.if(x>0)x=x+y;printf(″%f″,x);
	else printf(″%f″,x)
	E.if x>y
	x++;
	else
	x--;
	23.设有程序如下:
	main()
	{ int i,j,a[]={1,3,5,7,9,11,13,15};
	i=5;
	switch(i)
	{ default;printf(″%d\n″,a[i]);
	case 1:printf(″%d\n″,a[3]);
	case 2:printf(″%d\n″,a[++i]);break;
	case 3:printf(″%d\n″,a[--i]);
	}
	}
	上述程序的输出结果不包括(     )
	A.5 B.7
	C.9 D.11
	E.13
	24.设有定义及赋值:(     )
	int a[10]={0,1,2,3,4,5,6,7,8,9},*p;
	p=a;
	则引用a中值为5的元素的正确形式是
	A.a[5] B.a[4]
	C.*(a+5) D.p[5]
	E.*(p+5)
	25.设有说明:int u=1,v=3,w=7;下列表达式的值为7的有(     )
	A.u&v|w B.u|v|w
	C.u^v|w D.w&v|u
	E.u^w|v
	三、简答题(本大题共4小题,每小题4分,共16分)
	26.C语言中整型常量有几种形式,它们是如何表示的?
	27.写出语句if(表达式)语句1 else语句2的执行过程。
	28.若定义char *str;然后用gets(str);输入字符串可以吗?为什么?
	29.单个字符的读函数fgetc(fp),其中fp表示什么?该函数的功能是什么?
	四、阅读分析题(本大题共6小题,每小题5分,共30分)
	30.阅读下面程序并写出运行结果。
	main()
	{
	int a=47,x,y,z,w;
	x=a/2;
	y=a%2;
	z=a++;
	w=++a;
	printf(″%d,%d,%d,%d″,x,y,z,w);
	}
	31.阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果。
	main()
	{
	int x;
	scanf(″%d″,&x);
	if(x%5= =0 & & x%7= =0)
	printf(″yes″);
	else
	printf(″no″);
	}
	32.阅读下面程序并写出运行结果。
	main()
	{
	static int a[]={5,3,7,2,1,5,4,10};
	int s=0,k;
	for(k=0;k<8;k+ =3)
	{
	s+ =a[k];
	printf(″a[%d] =%d,s=%d\n″,k,a[k],s);
	}
	}
	33.阅读下面程序并写出运行结果。
	check(int n,int k)
	{
	int m;
	do{
	m=n%10;n=n/10;
	}while(k- -);
	return(m);
	}
	main()
	{
	int j,y=2345;
	for(j=1;j<4;j++)
	printf(″j=%d,number is %d\n″,j,check(y,j));
	}
	34.阅读分析下面程序并写出运行结果。
	main()
	{
	char *a[]={″Pascal″,″C Language″,″dBase″,″Cobol″};
	int j;
	for(j=3;j>=0;j- -)
	printf(″%s\n″,a[j]);
	}
	35.阅读下面程序并说明语句:x=p->d[0]>p->d[1]?p->d[0]:p->d[1];的含义,然后写出程序的运行结果。
	struct number
	{
	int d[2];
	} n={12,8},*p=&n;
	main()
	{
	int x;
	x=p->d[0]>p->d[1]?p->d[0]:p—>d[1];
	printf(″%d″,x);
	}
	五、程序设计题(本大题共2小题,每小题12分,共24分)
	36.从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果。
	37.由键盘输入n*m个数,并把它们存放在一个n行m列的数组中(n、m均不超过20)。
	(1)按n行m列输出该二维数组;
	(2)求出该二维数组全部元素的平均值;
	(3)把该二维数组中大于平均值的元素的值、以及它们行列下标打印出来。

 
					



