南华大学往年C语言专升本样卷

本试卷为南华大学往年C语言专升本样卷,题目包括:填空题。

本卷包括如下题型:

一、填空题

C语言专升本样卷

一、填空题 (共40题,每题2.5分,共计100分)

1、在c语言中,一个函数一般由两个部分组成,它们是________和________。
2、有以下程序
#include<stdio.h>
main() {
int x,y;
scanf("%2d%ld",&x,&y);
printf("%d\n",x+y);
} 程序运行时输入:1234567程序的运行结果是________。
3、在c语言中,当表达式值为0时表示逻辑值"假",当表达式值为________时表示逻辑值"真"。
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、有以下程序
#include <stdio.h>
main ()
{
int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
for (i=1;i<3;i++) for(j=i;j<3;j++) printtf("%d",a[i][j]);
printf("\n");
}
程序运行后的输出结果是________。
6、在printf格式字符中,只能输出一个字符的格式字符是________ ;
用于输出字符串的格式字符是________ ;
以小数形式输出实数的格式字符是________ ;
以标准指数形式输出实数的格式字符是______。
7、若有语句double x=17; int y; ,当执行y=(int)(x/5)%2;之后y的值是 ________。
8、以下程序的执行结果是____。
#include<stdio.h>
void main()
{
char c='a'+10;
printf("c=%c\n",c);
}
9、已知b=2,则表达式"b+=b-=3"的值是_____________。
10、若以下定义和语句,
struct
{
int day;
char month;
int year;
}
b;
要引用结构体类型变量成员day可以表示为【1】。
11、读取文件的函数名是【1】。
12、int a = 3; a+=a-=a*a; 求a的最后结果
13、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"( )"。
14、在c语言中,从参数的形式看,函数可以分为两类:无参函数和( )函数。
15、局部变量的作用域是从定义的位置起,到( )结束止。
16、以下程序的输出结果是________。#inlcude <stdio.h>
main()
{
int m=68;
putchar(m+30);
}
17、若有"int a[3][2]={{1,2},{3},{4,5}};",则a[1][1]的值是________。
18、有以下程序
#include <string.h>
main()
{
char a[]={'a','b','\0'};
int j;
j=strlen(a);
printf("%d\n",j);
}
程序运行后的输出结果是________。
19、下列程序段的运行结果是________。
main()
{
int n,s=0;
for(n=1; n<=5; n++)
{
if(n%2!=0) continue;
s=s+i;
}
printf("%d\n",n);
}
20、若有定义:
float x=3.5;
int z=8;
则表达式 x+z%3/4 的值为________。
21、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为________。
22、以下程序的输出结果是 ________ 。
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;
}
23、编译预处理包括宏定义、文件包含、( )等。
24、下列程序段的运行结果是________。
main()
{
int m=1,t=1;
for( ; ; )
{
m=m+t ;
t++;
if(m>9) break ;
}
printf("%d\n",m);
}
25、#include <stdio.h>
void main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for (i=1;i<3;i++) for (j=0;j<i;j++) s+=a[i][j];
printf("%d\n",s);
}
26、下列程序段的运行结果是_____。
void pig( )          
{
float a=3.0;
}
main( )
{
float a=1.0;
pig( );
printf("a=%f",a);
}
27、若有如下结构体说明:
struct stru
{
int a, b;
char c;
double d;
};
现在定义t数组,要求t数组的每个元素为该结构体类型,请填空:________stru t[20];
28、对于文件末尾检测函数feof,如果文件指针已到文件末尾,则函数返回值是________。
29、在c语言中,'\n'表示________。
30、一个c语言源程序由若干函数组成,其中至少应含有一个 ()
31、以下程序实现输出x,y,z 三个数中的最大者。请分析程序填空。
main()
{
int x=4,y=6,z=7;
int 【1】________;
if(【2】________) u=x;
else u=y;
if ( 【3】________) v=u;
else v=z;
printf("v=%d",v);
}
32、以下程序将输入的三个整数按从大到小顺序输出,请分析程序填空。
main()
{
int x,y,z,c;
scanf("%d%d%d",&x,&y,&z);
if(【1】________)
{
c=y;
y=z;
z=c;
}
if(【2】________)
{
c=x;
x=z;
z=c;
}
if(【3】________)
{
c=x;
x=y;
y=c;
}
printf("%d,%d,%d",x,y,z);
}
33、函数swap(arr,n) 可完成对arr 数组从第一个元素到第n 个元素两两交换。在运行调用函数中的如下语句后, a[0]和a[1]的值分别为【1】________,原因是【2】________。a[0]=1,a[1]=2;
swap(a,2);
34、当从键盘输入-1 0<cr>, 则以下程序的运行结果是________。
#include<stdio.h>
main()
{
int a,b,m,n;
m=n=1;
scanf("%d%d",&a,&b);
do
{
if(a>0)
{
m=2*n;
b++;
}
else
{
n=m+n;
a+=2;
b++;
}
}
while(a==b);
printf("m=%d n=%d\n",m,n);
}
35、在c语言中,将字符串中小写字母转换成大写字母的函数是_____________。
36、以下程序对输入两个整数,按从大到小的顺序输出。请在____内填入正确的内容。
void main()
{
int x,y,z;
scanf("%d,%d",&x,&y);
if(_________)
{
z=x;
_________
}
printf("%d,%d",x,y);
}
37、定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为 ______。
38、函数体用{开始,用____结束。
39、如果一个函数无返回值,定义它时函数类型应是______。
40、C语言中的每条基本语句以______作为结束符,每条复合语句以}作为结束符。