甘肃农业大学往年C语言程序设计专升本样卷
本试卷为甘肃农业大学往年C语言程序设计专升本样卷,题目包括:填空题。
本卷包括如下题型:
C语言程序设计专升本样卷
一、填空题 (共40题,每题2.5分,共计100分)
1、在c语言中,一个函数一般由两个部分组成,它们是________和________。
2、c语言本身不提供输入输出语句,输入和输出操作是由________来实现的。
3、以下程序运行后的输出结果是 ________ 。
char *ss(char *s)
{
char *p, t;
p=s+1;
t=*s;
while(*p)
{
*(p-1) = *p;
p++;
}
*(p-1)=t;
return s;
}
main()
{
char *p, str[10]="abcdefgh";
p = ss(str) ;
printf("%s\n",p);
}
4、以下程序用以删除字符串中的所有的空格,请填空。
#include<stdio.h>
main()
{
char s[100]={"our .tercher teach c language!"};
int i,j;
for( i=j=0;s[i]!=‘\0’;i++) if(s[i]!=‘ ’)
{
s[j]=s[i];
j++;
}
s[j]=________ ;
printf("%s\n",s);
}
5、以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空 int isprime(int a)
{
int i;
for(i=2;i<=a/2;i++) if(a%i==0)________;
________;
}
6、请将下列程序中的函数声明语句补充完整。
#include <stdio.h>
int ________ ;
main()
{
int x,y,(*p)();
scanf("%d%d",&x,&y);
p=max;
printf("%d\n",(*p)(x,y));
}
int max(int a,int b)
{
return(a>b?a:b);
}
7、以下程序段的定义语句中,x[1]的初值是 ________,程序运行后输出的内容是 ________。
#include<stdio.h>
main()
{
int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{
p[i]=&x[2*i+1];
printf("%d ",p[i][0]);
}
printf("\n");
}
8、#include<stdio.h>
{
int i=010,j=10;
printf("%d,%d\n",++i,j--);
}
9、在printf格式字符中,只能输出一个字符的格式字符是________ ; 用于输出字符串的格式字符是________ ; 以小数形式输出实数的格式字符是________ ; 以标准指数形式输出实数的格式字符是______。
10、有一输入函数scanf("%d",k);
则不能使用float变量k得到正确数值的原因是__________和____________。scanf语句的正确形式应该是:_____________。
11、ferror()用来检测文件读写时是否发生错误,若发生读写错误,则返回值是__________。
12、若a是int型变量,则计算下表达式a=25/3%3后,a的值为________。
13、若有语句double x=17; int y; ,当执行y=(int)(x/5)%2;之后y的值是 ________。
14、在c语言中,逻辑运算符中的"&&"称为________。
15、全局变量又称外部变量,是在函数______定义的变量。
16、下列程序段的运行结果是_____。#define MAX(x , y) x>y? x : y
main( )
{
int a , b , max;
A=5, b=6;
Max=MAX(a,b);
printf("max=%d\n",max);
}
17、int a = 3; a+=a-=a*a; 求a的最后结果
18、在c语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数________。
19、局部变量的作用域是从定义的位置起,到( )结束止。
20、有以下程序
#include <string.h>
main()
{
char a[]={'d','e','f','g','h','\0'};
int j;
j=strlen(a);
printf("%d\n",j);
}
程序运行后的输出结果是________。
21、若a 是int 型变量, 则表达式( a=4*5,a*2 ),a+6 的值为【】。
22、下面程序段的运行结果是________。for(a=1,i=-1;-1<=i<1;i++)
{
a++;
printf("%d,",a);
}
printf("%2d",i);
23、以下程序的输出结果是 ________ 。
main()
{
int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{
if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
24、下列程序段的运行结果是________。
main()
{
int m=1,t=1;
for( ; ; )
{
m=m+t ;
t++;
if(m>9) break ;
}
printf("%d\n",m);
}
25、a=3;
a+=(a<1)?a:1;
printf("%d",a);
结果是________。
26、main()
{
int a,b;
for (a=1,b=1;a<=100;a++)
{
if(b>=20) break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
}
程序的输出结果a的值为________。
27、写出下列程序的运行结果。
#include "stdio.h"
main()
{
int a[]={1,2,3,-4,5};
int m,n,*p;
p=&a[0];
m=*(p+1);
n=*(p+4);
printf("%d %d %d ",*p,m,n);
}
28、"空"指针值用______表示
29、双精度型数据有效位为______位
30、函数实参的传递分为
31、下面程序的功能是计算1-3+5-7+...-99+101 的值,请分析程序填空。
#include<stdio.h>
main()
{
int i,t=1,s=0;
for(i=1;i<=101;i+=2)
{
【1】________;
s=s+t;
【2】________;
}
printf("%d\n",s);
}
32、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int i,t,sum=0;
for(t=i=1;i<=10;)
{
sum+=t;
++i;
if(i%3==0) t=-i;
else t=i;
}
printf("sum=%d",sum);
}
33、在c 语言中,一个函数一般由两个部分组成,它们是【1】和【2】。
34、以下程序的运行结果是【1】________,其算法是【2】________。
main()
{
int a[5]={5,10,-7,3,7},i,t,j;
sort(a);
for (i=0;i<=4;i++)printf("%3d",a[i]);
}
sort(int a[])
{
int i,j,k;
for (i=0;i<4;i++)for (j=0;j<4-i;j++)if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
35、以下程序的输出结果是 ________ 。
#include <stdio.h>
main()
{
int k=1,s=0;
do
{
if((k%2)!=0) continue;
s+=k;
k++;
}
while(k>10);
printf("s=%d\n",s);
}
36、在c语言中,将字符串中小写字母转换成大写字母的函数是_____________。
37、C语言中的标识符只能由三种字符组成,他们是 字母,数字,___。
38、已知函数定义为:int stat(int a,float *p),则此函数的两个参数类型分别是______、 浮点型。
39、预处理命令以______ 开头。
40、在传值调用中,实际是把实参的______。
相关标签:
- C语言
- 甘肃农业大学
- 专升本样卷