全国自考高级语言程序设计(一)精选试题及答案2
-
在主函数中输入不同大小的实型数组,计算数组中元素的平均值。
-
设x≠0且y为0或正整数,函数fun()计算并返回xy的值。
double fun( double x, int y)
{
int i;
double z;
if(y==0)_______;
else for(i=1,z=x;i<y;i++)z=_______;
_______;
}
-
编写程序,输出如下图形。
* ** ** *
* ** ** *
* ** ** *
* ** ** *
-
#include<stdio.h>
int main(void)
{
FILE *fp;
char s[10]
fp= fopen("text.dat","w");
fputs("welcome",fp);
fclose(fp);
fp=fopen("text.dat","a+");
fprintf(fp,"%d",55);
rewind(fp);
fscanf(fp,"%s",s);
puts(s);
fclose(fp);
return 0;
}
-
函数f()的主要功能是求p指向的m行5列数组中的最大数与最小数,并通过形参指针变量max和min返回。
void f( float *p,._______,int m)
{
int i, j;
*max =*min=_______;
for(i=0;i<m;i++)
for(j=1;j<5;j++)
{
if (*max <*(p+i*5+j))_______;
if (*min <*(p+i*5+j))*min*=(p+i*5+j)
}
}
-
从键盘为二维整型数组t1输入数据,输出该二维数组的转置t2
#include< stdio.h>
#define M2
#define N3
void main()
{
int t1[ M][N ] ,t2[N][M],i, j;
printf("二维数组t1:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N; j++)
{
scanf("%d",________);
printf("%5d",[i][j]);
________ =t1[i][j];}
printf("\n");
}
printf("二维数组t2:\n")
for(i=0;i<________;i++)
{
for(j=0;j<M;j++)
}printf("%5d", 2[i](j]);
printf("\n");
}
}
-
#include <stdio. h>
void fot( int *p1, int *p2)
{
printf("%d,%d\n",*(p1++),++*p2);
}
int x=371,y=269;
main()
{
fot(&x, &y);
fot(&x, &y);
}
-
#include
void main()
{
int i=10,j=0; switch(i%3)
{
case 0:i--; j++;
case 1: --i; ++j; break;
default:++i; j--;
}
printf("i=%d,j=%d\n",i,j);
}
-
#include
<stdio. h>
void main()
{
int i, a[5], *p;
for(i=4;i>=0;i- -)
*(a+i)=i
for(p=a; p <a+5;p++)
printf("%d", *p);
printf("\n");
}
-
C程序中调用库函数sqrt(),则需要使用#include命令包含头文件_______。
-
执行语句x=5;if(x!=0)x=1;后,变量x的值是______。
-
字符串是由若干个字符组成的,其最后一个字符是______。
-
指针变量作为函数参数,形参和实参之间的数据传递方式属于_______传递方式。
-
以下程序段的输出结果是________。int x=3;do{printf("%3d",x-=2);} while(!(- -x));
-
面向对象的程序是由_______、对象(类的实例)和对象之间的动态联系组成的。
-
C语言中,!运算符的结合方向是_________。
-
设char * st=" China, Beijing";,执行语句 printf("%s\n",st+6);后的输出结果是________。
-
定义自定义类型使用的关键字是_______。
-
若有以下定义: double w[10],则w数组元素下标的上限为______。
-
设int a=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是()
- A.1和2
- B.3和2
- C.4和7
- D.5和2
-
下列数组定义错误的是()
- A.int a[2][3];
- B.int c[2][3]=10};
- C.int b[][3]={0,1,2,3};
- D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
-
执行下列程序段后,x的值是()
int a=8,b=7,c=6,x=1
if(>6)
if(b>7)
if(c>8) x=2;
else x=3;
- A.0
- B.1
- C.2
- D.3
-
在一个文件的不同函数中不能重名的是()
- A.函数名
- B.形式参数
- C.auto型内部变量
- D.register型内部变量
-
下列程序段执行后,变量m的值是()
Int w=1,x=2,y=3,z=4,m;
m= (w
m=(m
m=(m
- A.1
- B.2
- C.3
- D.4
-
设有定义语句 char ch='\77';,则下列说法中正确的是()
- A.ch中含有1个字符
- B.ch中含有2个字符
- C.ch中含有3个字符
- D.语法出错
-
一个源文件中定义的全局变量的作用域为()
- A.本文件的全部范围
- B.本程序的全部范围
- C.本函数的全部范围
- D.从定义该变量开始至本文件结束
-
设int a=2,b=3,c=4;,则表达式a>b&&a<c‖b的值是()
- A.-1
- B.0
- C.1
- D.2
-
在C语言中,引用数组元素时,其数组下标的数据类型允许是()
- A.整型常量
- B.整型表达式
- C.整型常量或整型表达式
- D.任何类型的表达式
-
设int x=5,*p=&x;,表达式的值为5的是()
- A.p
- B.*p
- C.&x
- D.*x
-
下列函数头正确的是()
- A.void fun(a,b)
- B.void fun( int a, b)
- C.void fun( int a, int b)
- D.void fun( var int a, var int b)
-
设 char str[20];,从键盘能完整地输入字符串“I am a student.”的语句是()
- A.str =gets();
- B.gets(str);
- C.scanf("%s", str);
- D.scanf("%c", str);
-
设a=1,b=2,c=8,d=7,x=10,y=10,执行(x=a>b)&&(y=c>d)后y的值是()
- A.1
- B.2
- C.10
- D.4
-
设指针变量p1、p2指向同一个数组的元素,则下列表达式中错误的是()
- A.p1=p2
- B.p1==p2
- C.p1-p2
- D.p1+p2
-
执行表达式x=(y=1,z=2,k=3)后,x的值为()
- A.6
- B.3
- C.2
- D.1