2015 年福建华侨大学 C 语言程序设计考研真题
一.选择题(每题 3 分,共 60 分)
1.下列各选项中,( )是有效的标识符。
A)ab
B)3day
C)day-3
D)#abc
2.已知有定义:char ch;则如下正确的赋值为( )。
A)ch='M'
B)ch='55'
C)ch="M"
D)ch="55"
3.已知 int y; float x=-3; 执行语句 y=x%2; 则变量 y 的值是( )。
A)1
B)-1
C)C)0
D)D)语句本身是错误的
4.已知字母 b 的 ASCII 码为 98,如 ch 为字符型变量,则表达式 ch='b'+'5'-' 2'
的值为( )。
A)e
B)d
C)102
D)100
5.已知 int j,i=1; 则执行 j=-i++; i 和 j 的值为( )。
A)1,-1
B)1,1
C)2,-1
D)2,1
6.已知 int a=-1,b=4,k; k=(++a<0&&!(b――<0)); 则 k, a, b 的值分别为 ( )。
A)1,0,4
B)1,0,3
C)0,0,3
D)0,0,4
7.C 语言程序的基本单位是( )。
A)语句
B)程序行
C)函数
D)字符
8.下列程序的运行结果是( )。
main( )
{ char s[20]="China";
printf("%d\n",strlen(s));
}
A)5
B)6
C)20
D)无显示
9.已知 int i,j,k;scanf("%d%d%d",&i,&j,&k);若从键盘送入 i,j,k 的值 分别
为 1,2,3 时,则错误的输入方式是()。
A)1,2,3
B)1(回车)2(回车)3(回车)
C)1 2 3
D)1(回车)2 3
10.有以下程序段
int k=0;
while(k=1) k++;
while 循环执行的次数 ( )。
A)无限次
B)有语法错,不能执行
C)一次也不执行
D)执行 1 次
11.当调用函数时,实参是一个数组名,则向函数传递的是( )。
A)数组的长度
B)数组每一个元素的地址
C)数组的首地址
D)数组每个 元素中的值
12.以下程序的输出结果是( )。
main( )
{ Int j,x[3][3]={1,2,3,4,5,6,7,8,9};
for(j=0;j<3;j++) printf("%d,",x[j][2-j])) ;
}
A)1,5,9
B)1,4,7
C)3,5,7
D)3,6,9
13.语句 for( i =0;i++<3;) ;执行后,变量 i 的值为()。
A)2
B)3
C)4
D)5
14.在 C 语言中,数字 029 是一个( )。
A)八进制数 B)十六进制数 C)十进制数 D)非法
15.下列叙述中正确的是( )。
A) 函数定义不有嵌套,但函数调用可以嵌套
B) 函数定义可以嵌套,但函数调用不可以嵌套
C) 函数定义和函数调用都不能嵌套
D) 函数定义与函数调用都可以嵌套
16.已知说明语句 int (*p)( );,则下列叙述正确的是( )。
A) p 是一个指针变量,它指向一个一维数组
B) p 是一个指针变量,它指向一个整型数据
C) p 是一个指针变量,它指向一个返回值是整数的函数
D) 以上都不对
17.若 x 为整型变量,以下定义指针的正确语句是( )。
A)int p=&x;
B)int p=x;
C)int *p=&x;
D)p=x;
18.若有以下结构变量
struct x
{ int a;
char c;
float b;
} x,*p;
p=&x;
则对成员 a 合适的引用为以下的( )项。
A)p.x.a
B)p->x.a
C)(*p).x.a
D)(*p).a
19.C 语言中文件的存取是以( )单位。
A)函数
B)语句
C)字节
D)记录
20.当调用函数 fputc 输出字符时,若操作不成功,则返回的值是( )。
A)EOF
B)1
C)0
D)输出的字符
二.请给出下列程序的运行结果(请按序号在答题纸作答,每题 8 分,共 64 分)
1. main( )
{ int i=3,j=4;
printf("%d,%d\n",i++,j++);
printf("%d,%d\n",++i,++j);
}
运行结果:
2. #define SQR(x) x*x
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
}
运行结果:
3.main( )
{ char *p="Wednesday";
p=p+6;
printf("%s\n",p);
}
运行结果:
4.long fun(int n)
{ long s;
if(n==1||n==2) s=2;
else s=n-fun(n-1);
return s;
}
main( )
{ printf("%ld\n",fun(3));
}
运行结果:
5.#include"stdio.h"
main( )
{ char b[ ] ="program";
char *a="PROGRAM";
printf("\n%c%s\n",*a,b+1);
printf("%s\n",&b[3]);
}
运行结果:
6.main( )
{ char ch[2][5]={"6937",,8254"},p[2][5];
int j,k,s=0;
for(j=0;j<2;j++) p[j]=ch[j];
forj=0;j<2;j++)
for(k=0;p[j][j]>'\0';j+=2)
s=10*s+p[j][k]-'0';
printf("%d\n",s);
}
运行结果:
7.main( )
{ int j;
for(j=1;j<=5;j++)
{ if(j%2==0) printf("*");
else continue;
printf("#");
}
printf("$\n");
}
运行结果:
8.main( )
{ int j;
for(j=0;j<10;j++)
{ if(j%2!=0) continue;
printf("%d",j);
}
}
运行结果:
三.编程题(每题 13 分,共 26 分)
1. 判断输入整数 x 的奇偶性。
2. 输入一行字符,统计其中的数字出现的次数。