综合实验4.docx
- 文档编号:28365395
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:14
- 大小:17.62KB
综合实验4.docx
《综合实验4.docx》由会员分享,可在线阅读,更多相关《综合实验4.docx(14页珍藏版)》请在冰豆网上搜索。
综合实验4
〖第1题〗
设x的值为15,n的值为2,则表达式x%=(n+3)运算后x的值是【1】.
答案:
1).0
〖第2题〗
若有以下数组a,数组元素:
a[0]~a[9],其值为941282107513该数组的元素中,数值最大的元素的下标值是【1】.
答案:
1).2
〖第3题〗
intx=2,y=3,z=4;则表达式x+y>z的值为【1】.
答案:
1).1
〖第4题〗
设x=5>1+2,x的值为【1】.
答案:
1).1
〖第5题〗
假设有条件intx=1,y=2,z=3;则表达式z+=x>y?
++x:
++y的值是【1】.
答案:
1).6
〖第6题〗
当a=1,b=2,c=3时,执行以下程序段后c=【1】.if(a>c)b=a;a=c;c=b;
答案:
1).2
〖第7题〗
C语言中的字符变量用保留字【1】来说明.
答案:
1).char
〖第8题〗
c语言中,数组元素的下标下限为【1】.
答案:
1).0
〖第9题〗
C语言中调用【1】函数来打开文件.
答案:
1).fopen或fopen()
〖第10题〗
当a=3,b=2,c=1;时,执行以下程序段后b=【1】.
if(a>b)a=b;if(b>c)b=c;elsec=b;c=a;
答案:
1).1
〖第1题〗『单项选择』(2分)(题号:
500)
下列程序段的输出结果为()。
intx=3,y=2;printf("%d",(x-=y,x*=y+8/5));
A:
1
B:
7
C:
3
D:
5
答案:
C
〖第2题〗『单项选择』(2分)(题号:
149)
以下程序的输出结果是()。
main()
{floatx=3.6;
inti;
i=(int)x;
printf("x=%f,i=%d\n",x,i);
}
A:
x=3.600000,i=4
B:
x=3,i=3
C:
x=3.600000,i=3
D:
x=3i=3.600000
答案:
C
〖第3题〗『单项选择』(2分)(题号:
391)
执行下列语句后变量x和y的值是()。
y=10;x=y++;
A:
x=10,y=10
B:
x=11,y=11
C:
x=10,y=11
D:
x=11,y=10
答案:
C
〖第4题〗
以下不符合C语言语法的赋值语句是()。
A:
a=1,b=2
B:
++j;
C:
a=b=5;
D:
y=(a=3,6*5);
答案:
A
〖第5题〗以下标识符中,不能作为合法的C用户定义标识符的是()。
A:
For
B:
Printf
C:
WORD
D:
sizeof
答案:
D
〖第6题〗下列程序的输出结果是()。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);}
A:
a=1,b=0
B:
a=2,b=1
C:
a=1,b=1
D:
a=2,b=2
答案:
B
〖第7题〗
若int类型数据占两个字节,则下列语句的输出为()。
intk=-1;printf("%d,%u\n",k,k);
A:
-1,-1
B:
-1,32767
C:
-1,32768
D:
-1,65535
答案:
D
〖第8题〗fscanf函数的正确调用形式是()。
A:
fscanf(fp,格式字符串,输出表列);
B:
fscanf(格式字符串,输出表列,fp);
C:
fscanf(格式字符串,文件指针,输出表列);
D:
fscanf(文件指针,格式字符串,输入表列);
答案:
D
〖第9题〗以下程序段的执行结果是()。
doublex;x=218.82631;printf("%-6.2e\n",x);
A:
输出格式描述符的域宽不够,不能输出
B:
输出为21.38e+01
C:
输出为2.2e+02
D:
输出为-2.14e2
答案:
C
〖第10题〗设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的
数据类型为()。
A:
int
B:
float
C:
double
D:
不确定
答案:
C
〖第1题〗『程序填空』
题目:
以下程序的功能如(图1)。
-------------------------------------------------------*/
#include
#include
#include
/***********SPACE***********/
doublef(【?
】)floatx
{
/***********SPACE***********/
【?
】;doubley
/***********SPACE***********/
if(【?
】)x<=2
y=2.0*x*x+3.0*x+4.0;
else
y=-2.0*x*x+3.0*x-4.0;
/***********SPACE***********/
【?
】;returny;
}
main()
{
clrscr();
printf("%f\n",f(-1.9)+f(5.0));
}
答案:
1).floatx
2).doubley
3).x<=2或2>=x
4).returny;
〖第2题〗『程序填空』(10分)(题号:
31)
题目:
以下程序的功能:
计算并输出500以内最大的10个能被
13或17整除的自然数之和。
#include
#include
/***********SPACE***********/
intfun(【?
】)intk
{
intm=0,mc=0,j,n;
/***********SPACE***********/
while(k>=2&&【?
】)mc<10
{
/***********SPACE***********/
if(k%13==0||【?
】)k%17
{m=m+k;mc++;}
k--;
}
/***********SPACE***********/
【?
】;returnm
}
main()
{
clrscr();
printf("%d\n",fun(500));
}
答案:
1).intk
2).mc<10或10>mc
3).k%17★==★0或k%17
4).returnm
〖第1题〗『程序改错』(10分)(题号:
9)
题目:
将一个字符串中的大写字母转换成小写字母。
例如:
输入aSdFG输出为asdfg。
#include
/**********FOUND**********/
boolfun(char*c)charfun(char*c)
{
if(*c<='Z'&&*c>='A')*c-='A'-'a';
/**********FOUND**********/
fun=c;return*c;
}
main()
/**********FOUND**********/
chars[81],*p=s;{chars[81],*p=s;gets(s);
while(*p)
{
*p=fun(p);
/**********FOUND**********/
puts(*p);putchar(*p);
p++;
}
putchar('\n');
}
答案:
1).charfun(char*c)
2).return*c;或return(*c);或return(*c);
3).{chars[81],*p=s;
4).putchar(*p);或printf("%c",*p);
〖第2题〗『程序改错』(10分)(题号:
13)
题目:
下列给定程序中,函数fun的功能是:
求1到10的阶乘的
和。
主函数和fun函数中,各有两个错误,请改正,使其
能得到正确的运行结果。
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
main()
{
inti;
floatt,s=0;
floatfac(intn);
/**********FOUND**********/
for(i=1;i<10;i++)for(i=1;i<=10;i++)
/**********FOUND**********/
s=fac(i);s=★s★+★fac(i)★;
printf("%f\n",s);
}
floatfac(intn)
{
/**********FOUND**********/
inty=1;floaty=1.0;
inti;
for(i=1;i<=n;i++)
y=y*i;
/**********FOUND**********/
return;returny;
}
答案:
1).for(i=1;i<=10;i++)或for(i=1;10>=i;i++)或for(i=1;i<11;i++)或for(i=1;11>i;i++)
2).s=★s★+★fac(i)★;或s+=fac(i);
3).floaty=1.0;或floaty=1;
4).returny;或return(y);或return(y);
〖第1题〗『程序设计』(10分)(题号:
33)
题目:
请编写一个函数fun,函数的功能是:
求出N×M整
型数组的最大元素及其所在的行坐标及列坐标(如
果最大元素不唯一,选择位置在最前面的一个)。
例如:
输入的数组为:
123
4156
12189
10112
求出的最大数为18,行坐标为2,列坐标为1。
------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数
main和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#defineN4
#defineM3
#include
intRow,Col;
main()
{
inta[N][M],i,j,max,row,col;
printf("inputaarray:
");
for(i=0;i for(j=0;j scanf("%d",&a[i][j]); for(i=0;i { for(j=0;j printf("%d",a[i][j]); printf("\n"); } max=fun(a); printf("max=%d,row=%d,col=%d",max,Row,Col); } intfun(intarray[N][M]) { /**********Program**********/ intmax,i,j; max=array[0][0]; Row=0; Col=0; for(i=0;i {for(j=0;j if(max {max=array[i][j]; Row=i; Col=j;} } return(max); /**********End**********/ } 答案: ---------------------- intmax,i,j; max=array[0][0]; Row=0; Col=0; for(i=0;i {for(j=0;j if(max {max=array[i][j]; Row=i; Col=j;} } return(max); ---------------------- 〖第2题〗『程序设计』(10分)(题号: 264) 题目: 编写函数fun,函数的功能是: 求一分数序列 2/1,3/2,5/3,8/5,13/8,21/13…的前n项 之和。 每一分数的分母是前两项的分母之和 每一分数的分子是前两项的分子之和 例如: 求前20项之和的值为32.660259。 #include"stdio.h" floatfun(intn) { /**********Program**********/ inti; floatf1=1,f2=1,f3,s=0; for(i=1;i<=n;i++) {f3=f1+f2; f1=f2; f2=f3; s=s+f2/f1; } returns; /**********End**********/ } main() {floaty; y=fun(20); printf("y=%f\n",y); } 答案: ---------------------- inti; floatf1=1,f2=1,f3,s=0; for(i=1;i<=n;i++) {f3=f1+f2; f1=f2; f2=f3; s=s+f2/f1; } returns; ----------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 实验