绍兴文理学院C语言

本试卷为绍兴文理学院C语言,题目包括:填空题。

本卷包括如下题型:

一、填空题

C语言

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

1、以下程序运行后的输出结果是 ________ 。
该程序的功能是 ________ 。
main()
{
int x=10,y=20 ,t=0;
if(x!=y) t=x;
x=y;
y=t;
printf("%d,%d\n",x,y);
}
2、执行下列程序的输出结果是________。
main( )
{
float a=1,b;
b=++a*++a;
printf("%f\\n",b);
}
3、函数的返回值是通过函数的________语句获得的。
4、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
5、以下程序运行后的输出结果是 ________ 。
main()
{
int x=0210;
printf("%x\n",x);
}
6、以下程序的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。
main()
{
int i,j,x;
for(j=4; j ________ ; j--)
{
for(i=1; i<=4; i++)
{
x=(j-1)*4 + ________ ;
printf("%4d",x);
}
printf("\n");
}
}
7、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
8、已知字符a的acsii码值为65,以下语句的输出结果是 ________
char ch=’b’;
printf("%c %d\n",ch,ch);
9、以下程序中函数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");
}
10、程序结果:
void main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum is %d\n",sum);
}
11、在printf格式字符中,只能输出一个字符的格式字符是________ ;
用于输出字符串的格式字符是________ ;
以小数形式输出实数的格式字符是________ ;
以标准指数形式输出实数的格式字符是______。
12、编译预处理包括宏定义、______、条件编译等。
13、若有以下定义语句float x[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};,则表达式"x[1][1]*x[2][2]"的值是【1】。
14、实参与形参占用独立的(   )
15、c语言中与指针有关的两个运算符是________与*。
16、下列程序段的运行结果是________。
int a[5]={10,20,30,40,50}
,*p;
p=a;
printf("%d", *(p=p+3) ) ;
17、下列程序段的运行结果是________。
main()
{
int n,s=0 ;
for(n=1; n<=5; n++)
{
if(n%2==0) continue;
s=s+n;
}
printf("%d\n", s);
}
18、下列程序段的运行结果是________。
main()
{
int n,s=0;
for(n=1; n<=5; n++)
{
if(n%2!=0) continue;
s=s+i;
}
printf("%d\n",n);
}
19、若a=1,b=2,c=3,d=4, 则表达式a>b?a:c>d?c:d 的值是________。
20、下面程序段的运行结果是________。
x=2;
do
{
printf("*");
x--;
}
while(!x==0);
21、设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为 ________。
22、已知"float x=0.5;int y=13;",则算术表达式"x+y/5"的值是________。
23、在c语言中,将字符串中大写字母转换成小写字母的函数是______________。
24、双精度型数据有效位为______位
25、以下程序的运行结果是_____________。
main( )
{
int k, a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
for( k=0;k<4;k ++)printf("%d,",a[k][k]);
}
26、若定义了int a[10],将数组元素中最后一个元素"赋值为10"语句是________。
27、用&&写出判断一个字母是否为大、小写的语句
28、函数实参的传递分为
29、使文件指针重新定位到文件读写的首地址的函数是________。
30、下面程序的功能是用―辗转相除法‖求两个正整数的最大公约数。请分析程序填空。
#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);
}
31、若有定义:double x[3][5];
则x 数组中行下标的下限为【1】,列下标的上限为【2】。
32、下面程序可求出矩阵两条对角线上的元素之和。请分析程序填空。
main()
{
int a[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;
for(i=0;i<3;i++)for(j=0;j<3;j++)
if(i==j) sum1+=a[i][j];
for(i=0;i<3;i++)
for( 【1】________;【2】________;j--)
if(i+j==2) sum2+=a[i][j];
printf("sum1=%d,sum2=%d\n",sum1,sum2);
}
33、以下程序的运行结果是________。
#include<stdio.h>
main()
{
int a=1,b=2,c;
c=max(a,b);
printf("max is %d\n",c);
}
max(int x,int y)
{
int z;
z=(x>y)?x:y;
return(z);
}
34、以下程序的运行结果是【1】________,其算法是【2】________。
main()
{
int a[5]={9,6,8,3,-1},i,j,t,p;
sort(a);
for (i=0;i<=4;i++)printf("%3d",a[i]);
}
sort(int a[])
{
int i,j,t,p;
for (j=0;j<4;j++)
{
p=j;
for (i=j;i<=4;i++)if(a[i]<a[p]) p=i;
t=a[p];
a[p]=a[j];
a[j]=t;
}
}
35、下面程序的运行结果是________。
main()
{
int i,j,a[2][3]={{2,4,6},{8,10,12}};
printf("the original array is:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)printf("%4d",a[i][j]);
printf("\n");
}
printf("\nthe result is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)printf("%4d",a[j][i]);
printf("\n");
}
}
36、以下程序运行的结果为()
#include <stdio.h>
void fun1(int *a,int *b)
{
int *c;
c=a;
a=b;
b=c;
}
void fun2(int *a,int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
}
void main()
{
int x=3,y=5,*p=&x,*q=&y;
fun1(p,q);
printf("%d,%d,",*p,*q);
fun2(p,q);
printf("%d,%d\n",*p,*q);
}
37、C 语言中,一个函数一般由两个部分组成,它们是______和函数体。
38、C语言提供的三种逻辑运算符是______。
39、若有定义:double x[3][5];则数组中列下标的上限为_____ 。
40、C语言中,关系表达式和逻辑表达式的值是___。
相关标签:
  • C语言
  • 绍兴文理学院