高级语言程序设计(一)2014年10月真题及答案解析
-
从键盘输入一串字符,以回车换行符为结束标志,分别统计并输出英文字符和数字字符的个数。
-
将从键盘输入的字符串写入文本文件out.txt,输入的字符串长度小于80。
#include
#include
void main()
{
char c[80];
_________; /*第一空*/
if((p=fopen("out.txt","w"))=NULL)
{ printf("Can not open file!\n"); exit(0); }
gets(_________); /*第二空*/
fputs(c, p);
fclose(_________); /*第三空*/
}
-
从键盘向一维数组输入50个实数,计算并输出其最大值和平均值。
-
下列程序中,主函数main调用函数 LineMax,求二维数组中每一行元素的最大值并输出。
-
-
void main()
{
int a, b, k=4, m=6, *p1=&k, *p2=&m;
a=(p1==p2);
b=(*p1)/(*p2)+7;
printf("a=%d,b=%d\n", a, b);
}
-
int f(int a)
{
int b=0;
static int c= 3;
b++; c++;
return(a+b+c);
}
void main()
{
int a=2, i;
for(i=0; i<3; i++) printf("%d/", f(a));
}
-
void f(int n)
{
if(n==0) return;
else { printf("%d", n%2); f(n-1); }
}
void main()
{ f(3); }
-
void main()
{
int x=5;
if(x--<5) printf("%d\n", x);
else printf("%d\n", x++);
}
-
执行 switch语句后输出结果是_________。
switch('B'-'A')
case 0: printf("A");
case 1: printf("B");
case 2: printf("C"); break;
default: printf("D");
-
下列程序段中的变量f是局部_________变量。
int c(int n)
{
static int f=1;
f=f*n;
return f;
}
-
下列程序段执行后,变量k的值是_________。
int k=2;
while (k!=0) k--;
-
设 char s[]="9876", *p;,执行语句for(p=s; p
-
设#define X 5+9
则执行语句printf("%d", 3*X);后输出结果是_________。
-
设 float x=9, y=2;,表达式(int) (sqrt(x)/y)的值是_________。
-
设
struct S
{
int a, b;
char c;
double d;
};
则定义该结构型变量t的正确语句是_________。
-
运算符+、=、&&和!中,优先级最高的是_________。
-
循环体至少被执行一次的循环语句是_________。
-
设 int f( int x, int y) { returrn(x*y);},则调用函数f时,实参与形参之间的传递方式是_________。
-
系统函数 rewind的作用是( )
- A.将文件内部指针指向文件末尾
- B.将文件内部指针指向文件开头
- C.将文件内部指针下移一个字符位置
- D.将文件内部指针随机指向文件任意位置
-
下列语句错误的是( )
- A.int a[]={1, 2};
- B.char *a[3];
- C.int n=5, a[n];
- D.char s[10]={"test"};
-
设 char s[]=" BeijingChina";,执行语句 printf("%d,%d\n", strlen(s), sizeof(s));后输出结果是( )
- A.12,12
- B.12,13
- C.13,12
- D.13,13
-
设 int i, j=2, *p=&i;,能将j的值赋给i的正确语句是( )
- A.i=*p;
- B.*p=j;
- C.i=&j;
- D.*i=*p;
-
设int x=3;,执行语句x<<=2; 后x的值是( )
- A.0
- B.1
- C.6
- D.12
-
下列函数返回值的类型是( )
int fun( float x)
{
float y;
y=3*x-4;
retum y;
}
- A.int
- B.void
- C.float
- D.double
-
下列数组定义错误的是( )
- A.int a[2][3];
- B.int c[2][3]={0};
- C.int b[][3]={0,1,2,3}
- D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
-
下列程序段执行后,变量m的值是( )
int w=1, x=2, y=3, z=4, m;
m=(w
- A.1
- B.2
- C.3
- D.4
-
下列程序段中,循环体被执行的次数是( )
int t=81, v=9;
while( t%v==0) printf("%c\n", '*');
- A.0
- B.1
- C.9
- D.无限
-
设 int x, y;,下列语句正确的是( )
- A.5=x;
- B.x=y--;
- C.(x+y)++;
- D.x+y=100;
-
设int x=0, y=9, a;,下列语句错误的是( )
- A.if(y) x+=y;
- B.if(x>y) x-=y;
- C.if(x
- D.if(x!=y) a=0 else a=1;
-
正确的字符型常量是( )
- A.'\001'
- B.'68'
- C."B"
- D.GO
-
设int x=10, y=3;,执行语句printf("%d,%d\n", x--, --y);后输出结果是( )
- A.9,2
- B.9,3
- C.10,2
- D.10,3
-
设int a=3;,执行语句printf("%d\n", a+(a-=a*a));后输出结果是( )
- A.-12
- B.-6
- C.0
- D.12
-
设 int x, y, z;,从键盘输入x、y和z的值,正确的语句是( )
- A.get(x, y, z);
- B.scanf(" %d%d%d", x, y, z);
- C.scanf("%d%d%d", &x, &y, &z);
- D.read("%d%d%d", &x, &y, &z);