上海体育学院历年C语言程序设计专升本
本试卷为上海体育学院历年C语言程序设计专升本,题目包括:填空题。
本卷包括如下题型:
C语言程序设计专升本
一、填空题 (共40题,每题2.5分,共计100分)
1、int *p 的含义是 ________ 。
2、c语言程序的基本单位是________。
3、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
4、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。
#include<stdio.h>
main() {
int a〔10],*p,*s;
for(p=a;p-a<10;p++)scanf("%d",p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;
printf("max=%d\n",________);
}
5、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
6、以下程序的运行结果是 ________
#include <string.h>
typedef struct student
{
char name[10];
long sno;
float score;
}
stu;
main( )
{
stu a={"zhangsan",2001,95},b={"shangxian",2002,90}, c={"anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(a.name,b.name)>0) d=b;
if(strcmp(c.name,d.name)>0) d=c;
printf("%ld%s\n",d.sno,p->name);
}
7、有以下程序段,且变量已正确定义和赋值 for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+));
printf("s=%f\n\n",s);
请填空,使下面程序段的功能与之完全相同 s=1.0;
k=1;
while([10] )
{
s=s+1.0/(k*(k+1));
[11] ;
}
printf("s=%f\n\n",s);
8、以下程序中函数f的功能是在数值x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
void f(int x[], int n)
{
int p0,p1,i,j,t,m;
i=j=x[0];
p0=p1=0;
for(m=0;m<n;m++)
{
if (x[m]>i)
{
i=x[m];
p0=m;
}
else if(x[m]<j)
{
j=x[m];
p1=m;
}
}
t=x[p0];
x[p0]=x[n-1];
x[n-1]=1;
t=x[p1];
x[p1]=[14] ;
[15] =t;
}
main()
{
int a[10],u;
for(u=0;u<10;u++) scanf(*%d,&a[u]);
f(a,10);
for(u=0;u<10;u++) printf("%d",a[u]);
printf("\n");
}
9、符合结构化原则的三种基本控制结构是:选择结构、循环结构和 ________ 。
10、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。
11、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
12、数组 int a[3][3]; 共定义了 ________ 个数组元素。
13、编译预处理包括宏定义、______、条件编译等。
14、设x=0,y=2,则表达式"!x+y"的值是_____________。
15、编辑好一个程序文件后,在运行该程序文件之前先要进行________。
16、已知t=5,则表达式"t-=t+=3"的值是______。
17、已知a=5,则表达式"a+=a-=3"的值是________。
18、设有变量定义: int a=10,c=9; 则表达式(--a!=c++)?--a:++c 的值是________。
19、以下程序的运行结果是________。
main()
{
int a[3][3]= {1,3,5,7,9,11,13,15,17 }, sum;
sum=func(a);
printf("nsum=%dn",sum);
}
func(int a[][3])
{
int i,j,sum=0;
for (i=0;i<3;i++) for (j=0;j<3;j++)
{
a[i][j]=i+j;
if(i==j) sum=sum+a[i][j];
}
return (sum);
}
20、对于文件末尾检测函数feof(),如果文件指针未到文件末尾,则函数返回值是________。
21、局部变量又称内部变量,是在函数( )定义的变量。
22、以下程序的输出结果是________。
main()
{
int x=5,y=6;
printf("%da%d",x――,――y);
}
23、int y=1, x, *p, a[ ]={2,4,6,8,10};
p=&a[1];
for(x=0;x<3;x++) y + = * (p + x);
printf("%d\n",y);
程序的输出结果y的值是________ 。
24、在c语言中,将字符串中大写字母转换成小写字母的函数是______________。
25、双精度型数据有效位为______位
26、下列程序段的运行结果是_____。
void pig( )
{
float a=3.0;
}
main( )
{
float a=1.0;
pig( );
printf("a=%f",a);
}
27、int a,b;与a*=5-b;等价的赋值语句是________。
28、c语言的源程序拓展名为()编译后生成() 链接后生成()
29、要调用数学处理函数时,在 #include命令中应包含()头文件。
30、在c 语言中,输入操作是由库函数____完成的,输出操作是由库函数____完成的。
31、若a、b 和c 均是int 型变量,则计算表达式a=(b=4)+(c=2)后, a 的值为________,b 的值为________, c 的值为________。
32、下面程序的功能是用―辗转相除法‖求两个正整数的最大公约数。请分析程序填空。
#include <stdio.h>
main()
{
int r, m, n;
scanf("%d%d", &m, &n);
if (m < n) ____1___;
r = m % n;
while (r)
{
m = n;
n = r;
r = ____2___;
}
printf("%d\n", n);
}
33、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int i,j;
for(i=4;i>=1;i--)
{
for(j=1;j<=i;j++) putchar('#');
for(j=1;j<=4-i;j++) putchar('*');
putchar('\n');
}
}
34、若有定义:double x[3][5]; 则x 数组中行下标的下限为【1】,列下标的上限为【2】。
35、函数swap(arr,n) 可完成对arr 数组从第一个元素到第n 个元素两两交换。在运行调用函数中的如下语句后, a[0]和a[1]的值分别为【1】________,原因是【2】________。a[0]=1,a[1]=2; swap(a,2);
36、以下程序运行后的输出结果是 ________ int a=5;
fun(int b)
{
static int a=10;
a+=b++;
printf("%d ",a);
}
main()
{
int c=20;
fun(c);
a+=c++;
printf("%d\n",a);
}
37、C 语言对数组下标的引用一般从______开始。
38、C语言源程序经过连接后,生成文件的后缀名是______。
39、定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为______。
40、函数体用{开始,用____结束。
相关标签:
- C语言
- 上海体育学院
- 专升本