成都信息工程c语言答案.docx
《成都信息工程c语言答案.docx》由会员分享,可在线阅读,更多相关《成都信息工程c语言答案.docx(20页珍藏版)》请在冰点文库上搜索。
成都信息工程c语言答案
成都信息工程c语言答案
【篇一:
成都信息工程大学c语言改错】
/p>intmain(void)
{
intxy2;
/*********found************/
scanf(%s,xy2);//改为:
scanf(%d,xy2);
/*********found************/
printf(xy2=%5d\n,xy2);//改为:
printf(xy2=%5d\n,xy2);
return0;
}
2、程序d2.c的功能是调用函数,显示两个实数间最大的一个。
#includestdio.h
floatfmax(floatx,floaty);
intmain(void)
{
/*********found************/
floatl,1;//i
l=3.0;
i=5.6f;
/*********found************/
printf(fmax(%5.2f,%5.2f)=%5.2f\n,i,l,fmax(i,l));//fmax
return0;
}
/*********found************/
intfmax(floatx,floaty)//改:
float
{
if(xy)returny;
elsereturnx;
}
3、程序d4.c的功能是计算半径为2+3的圆的面积。
#includestdio.h
#definepi3.14
/*********found************/
#defines(bj)pi*bj*bj//改:
pi*(bj)*(bj)
intmain(void)
{
/*********found************/
intmianji;//改为:
double
mianji=s(2+3);
printf(mianji=%5.2f\n,mianji);
return0;
}
4、相似题:
d3.c,程序d5.c的功能是将字符串yy显示在屏幕上。
#includestdio.h
intmain(void)
{
/*********found************/
charyy[100]=ok?
?
\n,//改为:
;
/*********found************/
prntf(%s,yy);//改:
printf
return0;
}
5、考查点:
数据类型选择,/运算符的使用功能是计算1/1+1/2+?
+1/n之和并显示。
#includestdio.h
#definen10
intmain(void)
{
/*********found************/
longjieguo=0;//改:
float
intfm;
for(fm=1;fm=n;fm++)
{
/*********found************/
jieguo+=1/fm;//改:
(float)1/fm
}
printf(%8.6f\n,jieguo);
return0;
}
6、考查点:
输入分隔格式控制,循环体的定义,d12.c的功能是从键盘读入a和b的值(输入格式限定为仅a,b),在屏幕上显示b行a。
#includestdio.h
intmain(void)
{
inta,b;
/*********found************/
scanf(%d%d,a,b);//中间加’,’
while(b0)
/*********found************/
___________//括号’{’
printf(%d\n,a);
b--;
/*********found************/
___________//括号’}’
printf(byebye!
\n);
return0;
}
7考查点:
输入格式控制、变量交换,程序d1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。
#includestdio.h
intmain(void)
{
floata,b,c,t;
printf(pleaseinputthreenumbers:
\n);
/*********found************/
scanf(%f%f,a,b,c);//改:
%f%f%f
printf(beforesort:
a=%g,b=%g,c=%g\n,a,b,c);
if(ab)
{
t=a;
a=b;
/*********found************/
b=a;//改:
t
}
if(ac)
{
t=a;
a=c;
c=t;
}
if(bc)
{
t=b;
b=c;
c=t;
}
printf(aftersort:
a=%g,b=%g,c=%g\n,a,b,c);
return0;
}
8考查点:
格式化输出、数据类型的正确使用,程序d1001.c的功能是求分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,....前20项之和,要求显示的结果中小数部分有4位。
#includestdio.h
#definet20
intmain(void)
{
intn;
/*********found************/
longi,j,temp,sum;
i=2;
j=1;
sum=0;
for(n=1;n=t;n++)
{
sum=sum+i/j;
temp=i;
i=i+j;
j=temp;
}
/*********found************/
printf(2/1+3/2+5/3+8/5+13/8+...=%5.2f\n,sum);//改:
.4
return0;
}
9考查点:
用算术表达式实现数据交换,程序d1002.c的功能是实现两数交换。
#includestdio.h
intmain(void)
{
intx=5,y=9;
x=x+y;
y=x-y;
/*****found*****/
x=y-x;//改:
x–y;
printf(x=%d,y=%d\n,x,y);
return0;
}
10考查点:
整型常量表示、输出项表示,程序d1003.c的功能是将16进制数100转换为10进制数输出。
#includestdio.h
intmain(void)
{
/*****found*****/
inti=100;//0x100
/*****found*****/
printf(%d\n,i);//改:
去掉
return0;
}
11、程序d1004.c的功能是输入姓名,屏幕输出问候。
#includestdio.h
intmain(void)
{
chars[10];
printf(pleaseinputyourname:
);
/*********found************/
scanf(%c,s);//改%s
printf(hello);
/*********found************/
puts(s[10]);//改:
s
return0;
}
12考查点:
输入数据分隔,输出项表示,程序d1005.c的功能是从键盘读入两个整数并在屏幕上显示。
要求:
输入时限定两数之间仅以逗号隔开。
#includestdio.h
【篇二:
成都大学c语言考试编程题及答案】
>1、从键盘中输入一个大写字母,要求改用小写字母输出
#includestdio.h
voidmain()
{
charc1,c2;
c1=getchar();
printf(“%c,%d\n”,c1,c1);
c2=c1+32;
printf(“%c,%d\n”,c2,c2);
}
2、编程求1+2+3+?
+100的值,并输出结果
#includestdio.h
voidmain()
{
inti,sum=0;
for(i=1;i=100;i++)
sum=sum+i;
printf(\nsum=%d,sum);
}
3、用递归方法求n!
。
#includestdio.h
voidmain()
{
floatfac(intn);
intn;
floaty;
printf(inputanintegernumber:
);
scanf(%d,n);
y=fac(n);
printf(%d!
=%10.0f\n,n,y);
}
floatfac(intn)
{floatf;
if(n0){printf(n0,dataerror!
);}
elseif(n==0\\n==1)f=1;
elsef=fac(n-1)*n;
return(f);
}
4、将一个数组中的值按逆序重新存放。
例如,原来顺序为3,2,0。
要求改为0,2,3,4,6,8。
#includestdio.h
#definenum6
voidmain()8,6,4,
{inti,j,t,a[6]={8,6,4,3,2,0};
printf(outputprimcrydate:
);
for(i=0;i6;i++)
printf(%2d,a[i]);
printf(\n);
for(i=0,j=5;ij;i++,j--)
{t=a[i];a[i]=a[j];a[j]=t;}
printf(outputtheinversedate:
);
for(i=0;i6;i++)
printf(%2d,a[i]);
}
5、输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。
#includestdio.h
voidmain()
{
floatc,f;
printf(pleaseinput:
);
scanf(%f,f);
c=5.0/(9.0*(f-32));
printf(%5.2f,c);
}
6、写一个函数,求两个整数中的较大者,用主函数调用这个函数,并输出结果,
#includestdio.h
voidmain()
{
intmax(intx,inty);
inta,b,c;
scanf(%d,%d,a,b)
c=max(a,b);
printf(maxis%d,c);
}
intmax(intx,inty)
{
intz;
z=xy?
x:
y;
return(z);
}
7、有三个整数a,b,c,由键盘输入,输出其中最大者。
#includestdio.h
voidmain()
{
inta,b,c,max;
printf(“pleaseinput:
a,b,c:
\n”);
scan(“%d,%d,%d”,a,b,c);
max=a;
if(maxb)max=b;
if(maxc)max=c;
printf(“%d\n”,max);
}
9、有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
#includestdio.h
voidmain()
{inti,j,row=0,colum=0,max;
inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];
for(i=0;i=2;i++)
for(j=0;j=3;j++)
if(a[i][j]max)
(max=a[i][j];
row=i;
colum=j;
)
printf(max=%d,row=%d,colum=%d\n,max,row,colum);}
【篇三:
成都信息工程学院答案程序设计与数据结构复习题】
以下叙述错误的是()。
A.一个c源程序可由一个或多个函数组成
b.一个c源程序必须包含一个main函数c.c程序的基本组成单位是函数
d.在c程序中,注释说明只能位于一条语句的后面2.c语言中运算对象必须是整型的运算符是(
a.%=b./
main()
{unsignedintx=0xffff;
printf(“%u\n”,x);}
a.-1b.65535c.32767d.0xffff
4.若有代数式,则以下能够正确代nx?
ex(其中e仅代表自然对数的底数,不是变量)
)。
3.有如下程序,程序运行后的输出结果是()。
)。
c.=d.〈=表该代数式的c语言表达式是(
a.sqrt(abs(n^x+e^x)
b.sqrt(fabs(pow(n,x)+pow(x,e)))
c.sqrt(fabs(pow(n,x)+exp(x)))
d.sqrt(fabs(pow(x,n)+exp(x)))
5.字符串“\t12\x42\\abcd”的长度是(
a.14b.9
6.以下叙述中错误的是()。
)。
d.20c.15
a.计算机不能直接执行用c语言编写的源程序
b.c语言经c编译程序编译后,生成后缀为.obj的文件是二进制文件
c.后缀为.obj的文件,经连接后生成后缀为.exe的文件是二进制文件
d.后缀为.obj和.exe的二进制文件都可以直接运行
7.以下选项中,与k=x++;完全等价的表达式是(
a.x=x+1;k=x;b.k=x;x=x+1;
c.k=x+1;d.k+=x+1;
8.以下叙述中正确的是()。
a.break语句只能用于switch语句中
b.continue语句的作用是:
使程序的执行流程跳出包含它的所有循环
c.break语句只能用在循环体内和switch语句体内
d.在循环体内使用break语句和continue语句的作用相同
9.判断字符型变量ch是否为大写英文字母的表达式为(
a.‘a’=ch=‘z’)。
)。
b.ch=‘a’ch=‘z’
c.ch‘a’ch=‘z’
1
d.ch=‘a’||ch=‘z’
10.若表达式(m)?
a++:
a--,则表达式m和(
11.设有inti=010,j=10;
则printf(“%d,%d\n”,++i,j--);的输出是()等价。
a.m==0b.m!
=0c.m=0d.m=1)。
a.11,10b.9,10c.010,9d.10,9
12.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=wx)(b=yz);
后,a,b的值为()。
d.0和2
)。
a.1和1b.0和0c.4和213.定义如下变量关系,则下面语句的输出结果是(
inti;
for(i=0;i3;i++)printf(%d,x[0][2-i]);
a.159b.123c.357d.321
14.已知数组floatb[3][2];该数组行下标的范围是(
a.1—3b.0—3c.1—2
15.下列语句中,正确的是()。
d.0—2intx[3][3]={1,2,3,4,5,6,7,8,9};)。
a.#definepi=3.14159b.include“stdio.h”
c.definem3d.#definepi3.14159
16.有如下程序,该程序段的输出结果是(
voidmain(void)
{intn=5;
while(n2){n--;printf(“%d”,n);}
}
a.543b.432c.4321d.5432
17.下列四种数组定义,合法的数组定义是()。
a.chara[]=hello;b.inta[4]={4,3,2,1,0};
c.chara=hello;d.chara[4]=hello;
18.设p1和p2均为指向int型的指针变量,k为int型变量,下列不正确的赋值语句是
()。
a.k=*p1+*p2;b.k=*p1*(*p2)
c.p2=kd.p1=p2
19.有如下程序,该程序的输出结果是()。
voidmain(void)
{chars[]=“abcd”,*p;for(p=s+1;p=s+3;p++)
printf(“%c\n”,*p);}
a.abcb.ac.bd.bcd
bcbccd
2
)。
ccdd
20.对于c程序的函数,下列叙述中正确的是()。
a.函数的定义不能嵌套,但函数调用可以嵌套
b.函数的定义可以嵌套,但函数调用不能嵌套
c函数的定义和调用均可以嵌套
d.函数的定义和调用均不能嵌套
21.设x为整型变量,p是指向整型的指针变量,则下列赋值表达式正确的是()。
a.p=xb.p=xc.*p=xd.*p=*x
22.函数定义时,形参是整型变量,则函数调用时,实参不可以是()。
a.整型常量b.字符型常量c.数组名d.整型表达式
23.以下程序的输出结果是()。
voidmain(void)
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a[3],*q=p+2;
printf(“%d\n”,*p+*q);
}
a.16b.10c.8d.6
24.设有如下定义,若有p=ab;,则对ab中成员项的正确引用是()。
structss
{inta;floatb;}ab,*p;
a.(*p).ab.ab.p-ac.p-ab.ad.p.ab.a
25.若要对e盘上的一个非空文件“w1.dat”进行修改,正确的打开语句是(
a.fp=fopen(“w1.dat”,“r+”);b.fp=fopen(“w1.dat”,“w+”);
c.fp=fopen(“e:
\\w1.dat”,“r+”);
d.fp=fopen(“e:
\\w1.dat”,“w+”);
26.C语言程序的三种基本结构是()。
A.顺序结构,分支结构,循环结构B.递归结构,循环结构,转移结构
C.嵌套结构,循环结构,顺序结构D.递归结构,分支结构,顺序结构
A.(0a)(a1)||(0b)(b1)B.((0a)||(a1))((0b)||(b1))
C.(0a1)(0b1)D.(0a1)||(0b1)
28.设x和y为浮点型变量,则以下()语句是正确的赋值语句。
A.x=yB.x*x=yC.x=x+10*yD.*x=y+2
29.设inta=3;下列哪一个表达式的值等于0()。
A.aB.!
a||aC.a=aD.a%=a
30.定义如下变量和数组,则下面程序段落的输出结果是()。
inti;intx[3][3]={0,1,2,3,4,5,6,7,8};
for(i=0;i3;i++)
printf(“%d”,x[i][2-i]);
3
。
)
A.246B.036C.048D.258
31.有下列程序段落:
inti,a[5];
for(i=0;i5;i++)
scanf(“%d”,a[i]);
若要使数组元素的值分别为1,2,3,4,5,应从键盘输入()。
A.1,2,3,4,5↙B.12345↙
C.12345↙D.1;2;3;4;5↙
32.数组名作为函数参数进行传递时,形参获得的是()。
a.该数组第一个元素的值b.该数组所有元素的值
c.该数组所有元素的地址d.该数组的首地址
33.设有如下宏定义:
#definea3+2
#defineba*a则表达式“b*b”的值为()。
A.23B.5C.25D.625
34.在下列说明中,结构类型变量x所占用内存字节数为(16)。
structexp
{inti;
floatj;
doublek;
}x;
A.8个B.7个c.14个D.随计算机而定
35.设有定义:
intk=3,*p=k;则表达式*p的值是()。
A.1B.0C.2D.3
36.下列程序的输出结果为()。
main()
{inti=3,b;
b=(i--)+(i--);
printf(“%d”,b);
}
A.6B.2C.3D.4
37.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是(A.c=b=aB.(a=c)||(b=c)C.a=c=bD.(a=c)(b=c)
38.下列叙述不正确的是()。
A.函数定义可以嵌套B.宏定义可以嵌套
C.函数调用可以嵌套D.循环结构可以嵌套
39.设char*p=“abcde”,则printf(“%s”,p)的输出结果为()。
A.cB.cdeC.bD.abcde
40.p1,p2为指向浮点的指针变量,下列运算没有意义的是()。
A.*p1-*p2B.p1++
4。
)
C.*p1+*p2D.p1+p2
41.在c语言中,运算对象的逻辑值“真”用()表示。
a.falseB.非0C.0D.负数
C.整型D.指向整型的指针
43.设int类型的数据长度为2字节,则该类型数据的取值范围是()。
A.0至65536b.0至65535
C.-32767至32768D.-32768至32767
44.inta,*p,**w;p=a,w=p;取a的值的表达式为()。
A.&aB.&*p
C.**pD.**w
45.C语言程序的基本单位是()。
a.函数b.标识符
c.表达式d.语句
46.判断字符型变量ch的值是否为大写英文字母的表达式为()