华科周纯杰版c语言答案
华中科技大学标准C语言程序设计及应用习题答案
华中科技大学标准C语言程序设计及应用习题答案(总32页)
--本页仅作为文档封面,使用时请直接删除即可--
--内页可以根据需求调整合适字体及大小--
第二章
一.选择题
D 5. D
100011 001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1)x|y = 0x002f
(2)x^y = 0x0026
(3)x&y = 0x0009;
(4)~x+~y = 0xffc6
(5)x<<=3 0x0068
(6)y>>=4 0x0002
2
(1)6
(2)50
(3)1
(4)–16
(5)1
(6)20
3
(1)0
(2)1
(3)1
(4)4
(5)8
(6)1
4
(1)12
(2)0
(3)1
(4)27
(6)6
(7)24
(8)27
(9)–29
5
(1)0
(2)1
(3)1
(4)–3
(5)2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章一.填空题
=6
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
main()
{
int a,b;
printf("please input a & b:");
scanf("%d%d",&a,&b);
printf("\nmax is %d\n",(a>b)a:b);
}
int max(int x,int y);
main()
{
int a,b,c,max;
printf("please input a & b & c:");
scanf("%d%d%d",&a,&b,&c);
华中科技大学标准c语言程序设计及应用习题答案
第二章
一.选择题
1.C
2.B D
3.A
4.A
5. D C
6.C
7.D
8.B
9.A 10.D 11.B 12.D 13.C 14.D 15.A
16.B 17.A 18.B
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1)x|y = 0x002f
(2)x^y = 0x0026
(3)x&y = 0x0009;
(4)~x+~y = 0xffc6
(5)x<<=3 0x0068
(6)y>>=4 0x0002
2
(1) 6
(2)50
(3) 1
(4)–16
(5) 1
(6)20
3
(1)0
(2) 1
(3) 1
(4) 4
(5)8
(6) 1
4
(1)12
(2)0
(3) 1
(4)27
(6) 6
(7)24
(8)27
(9)–29
5
(1)0
(2) 1
(3) 1
(4)–3
(5) 2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章
一.填空题
1.s=6
2.96
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
2.1
main()
{
int a,b;
printf("please input a & b:");
scanf("%d%d",&a,&b);
printf("\nmax is %d\n",(a>b)?a:b);
}
2.2
int max(int x,int y);
main()
{
int a,b,c,max;
printf("please input a & b & c:");
scanf("%d%d%d",&a,&b,&c);
华中科技大学标准C语言程序设计及应用习题答案
.
第二章
一.选择题
1.C
2.B D
3.A
4.A
5. D
6.C
7.D
8.C
9.A 10.D
11.B 12.D 13.C 14.D 15.A
16.B 17.A 18.B 100011 001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1)x|y = 0x002f
(2)x^y = 0x0026
(3)x&y = 0x0009;
(4)~x+~y = 0xffc6
(5)x<<=3 0x0068
(6)y>>=4 0x0002
2
(1) 6
(2)50
(3) 1
(4)–16
(5) 1
(6)20
3
(1)0
(2) 1
(3) 1
(4) 4
(5)8
(6) 1
4
(1)12
(2)0
(3) 1
(4)27
(6) 6
(7)24
(8)27
(9)–29
5
(1)0
(2) 1
(3) 1
(4)–3
(5) 2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章
一.填空题
1.s=6
2.96
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
2.1
main()
{
int a,b;
printf("please input a & b:");
scanf("%d%d",&a,&b);
printf("\nmax is %d\n",(a>b)?a:b);
}
2.2
int max(int x,int y);
main()
{
int a,b,c,max;
printf("please input a & b & c:");
华中科技大学标准C语言程序设计及应用习题标准答案
华中科技大学标准C语言程序设计及应用习题答案
————————————————————————————————作者:————————————————————————————————日期:
第二章
一.选择题
1.C
2.B D
3.A
4.A
5. D
6.C
7.D
8.C
9.A 10.D 11.B 12.D 13.C 14.D 15.A
16.B 17.A 18.B 100011 001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1)x|y = 0x002f
(2)x^y = 0x0026
(3)x&y = 0x0009;
(4)~x+~y = 0xffc6
(5)x<<=3 0x0068
(6)y>>=4 0x0002
2
(1) 6
(2)50
(3) 1
(4)–16
(5) 1
(6)20
3
(1)0
(2) 1
(3) 1
(4) 4
(5)8
(6) 1
4
(1)12
(2)0
(3) 1
(4)27
(6) 6
(7)24
(8)27
(9)–29
5
(1)0
(2) 1
(3) 1
(4)–3
(5) 2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章
一.填空题
1.s=6
2.96
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
2.1
main()
{
int a,b;
printf("please input a & b:");
scanf("%d%d",&a,&b);
printf("\nmax is %d\n",(a>b)?a:b);
华中科技大学C语言期末考试题库试题及答案汇总
华中科技大学 C 语言期末考试题库试题及答案汇总
1 .设int a=1
2 ,则执行完语句a+=a-=a*a 后,a 的值是__D____ 。
A、552 B 、264 C 、144 D 、-264
知识点:算术表达式
2 .以下变量x、y、z 均为double 类型且已正确赋值,不能正确表示数字式子x/(y*z) 的
C 语言表达式是___A___ 。
A、x/y*z B 、x*(1/(y*z))C 、x/y*1/z D 、x/y/z
知识点:算术表达式
3 .若有定义:int a=8,b=5,c;, 执行语句c=a/b+0.4; 后,c 的值是__B____ 。
A、1.4 B 、1 C 、2.0 D 、2
知识点:算术表达式
4 .有如下程序
main()
{
int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f%3.1f\n",a,c,f,x);
}
程序运行后输出结果是___B___ 。
A、1 65 1 6.5B 、1 65 1.5 6.5C 、1 65 1.0 6.5D 、2 65 1.5 6.5
知识点:赋值表达式
5 .若变量a、i 已正确定义,且i 已正确赋值,合法的语句是___B___ 。
A、a==1 B 、++i; C 、a=a++=5; D 、a=int(i);
知识点:赋值表达式
6 .若变量已正确定义并赋值,下面符合 C 语言语法的表达式是__B____ 。
A、a:=b+1 B 、a=b=c+2C 、int 18.5%3 D 、a=a+7=c+b
华中科技大学标准C语言程序设计及应用习题答案
第二章
一.选择题
D 5. D
100011 001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1)x|y = 0x002f
(2)x^y = 0x0026
(3)x&y = 0x0009;
(4)~x+~y = 0xffc6
(5)x<<=3 0x0068
(6)y>>=4 0x0002
2
(1)6
(2)50
(3)1
(4)–16
(5)1
(6)20
3
(1)0
(2)1
(3)1
(4)4
(5)8
(6)1
4
(1)12
(2)0
(3)1
(4)27
(5)1
(6)6
(7)24
(8)27
(9)–29
5
(1)0
(2)1
(3)1
(4)–3
(5)2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章
一.填空题
=6
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
main()
{
int a,b;
printf("please input a & b:");
scanf("%d%d",&a,&b);
printf("\nmax is %d\n",(a>b)a:b);
}
int max(int x,int y);
main()
{
int a,b,c,max;
printf("please input a & b & c:");
scanf("%d%d%d",&a,&b,&c);
max=a>ba:b;
max=c>maxc:max;
printf("\nmax is %d\n",max);
}
华中科技大学标准C语言程序设计及应用习题答案
结构体
2.
#include
#define N 3
struct a
{
long num;
char name[20];
int old; //工龄
char ps[20]; //职务
int wage;
};
main()
{
struct a b[N];
int i,sum=0,ave=0;
for(i=0;i
{
scanf("%ld%s%d%s%d",&b[i].num,b[i].name,&b[i].old,b[i].ps,&b[i].wage);
sum=sum+b[i].wage;
}
ave=sum/N;
printf("工作证号姓名工龄职务工资\n");
printf("-----------------------------\n");
for(i=0;i<3;i++)
printf("%-9ld%-5s%-5d%-5s%-5d\n",b[i].num,b[i].name,b[i].old,b[i].ps,b[i].wage);
printf("总工资=%d\t平均工资=%d\n",sum,ave);
}
7.
#include
struct Date
{
int day;
int month;
int year;
int yearday;
char month_name[4];
};
Int day_of_year(struct Date pd)
{
Int day_tab[2][13]=
{{0,31,28,31,30,31,30,31,31,30,31,30,31}
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
华中科技大学标准C语言程序的设计及应用习题答案
(1)x|y = 0x002f
(2)x^y = 0x0026
(3)x&y = 0x0009;
(4)~x+~y = 0xffc6
(5)x<<=3 0x0068
(6)y>>=4 0x0002
2
(1)6
(2)50
(3)1
(4)–16
(5)1
(6)20
3
(1)0
(2)1
(3)1
(4)4
(5)8
(6)1
4
(1)12
scanf("%d",&i);
if(i==0)
break;
if(i%2==0)
printf("the data %d is a even number.\n",i);
else
printf("the data %d is a odd number.\n",i);
}
}
2.6
#include <stdio.h>
(2)0
(3)1
(4)27
(5)1
(6)6
(7)24
(8)27
(9)–29
5
(1)0
(2)1
(3)1
(4)–3
(5)2
五.程序分析题
程序1
华中科技大学C语言试卷
计算机学院2008-2009学年第2学期C语言程序设计考试试卷
一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正
确的,请选择正确的选项并填写到括号内,选择正确得分。本大题共10小题,每小题1分,共10分。)
1、ENUM是【 b 】
A、合法标识符
B、C语言的关键字
C、合法的字符串
D、既不是C语言的关键字,也不是合法的字符串或标识符
2、下列数据中属于合法字符常量的是【 d 】
A、'\'
B、'\xag'
C、'45'
D、'\''
3、下列数据中合法的浮点型常量是【 c 】
A、E+10
B、2E+1.5
C、2E-10
D、0x2.5E10
4、下列数据中与256等值的数为【】
A、0256
B、0400
C、0x400
D、0x256
5、以下叙述中正确的是【】
A、局部变量说明为static存储类型,其生存期将得到延长
B、全局变量说明为static存储类型,其作用域将被扩大
C、任何存储类型的变量在未赋初值时,其值都是不确定的
D、形参可以使用的存储类型说明符与局部变量完全相同
6、 -127的16位补码的十六进制表示是【】
A、0xff81
B、0x807f
C、0xff80
D、0x8080
7、对于下面的数组声明,正确的是【】
A、int x[][5];
B、char t[ ]={…a‟,‟b‟,‟c‟,‟\0‟};
C、int n=5,a[n];
D、char s[5]=“abcde”;
8、若有以下说明和语句,则在执行for语句后,*(*pt+2)表示的数组元素【】
int t[3][3],(*pt)[3],k;
华中科技大学标准C语言程序设计与应用习题答案
WORD格式
第二章
一.选择题
1.C
2.BD
3.A
4.A
5.D
6.C
7.D
8.C
9.A10.D
11.B12.D13.C14.D15.A
16.B17.A18.B100011001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1.B66
2.n1=%d\nn2=%d\n
3.0
四.计算
1
(1)x|y=0x002f
(2)x^y=0x0026
(3)x&y=0x0009;
(4)~x+~y=0xffc6
(5)x<<=30x0068
(6)y>>=40x0002
2
(1)6
(2)50
(3)1
(4)–16
(5)1
(6)20
3
(1)0
(2)1
(3)1
(4)4
(5)8
(6)1
4
(1)12
(2)0
(3)1
(4)27
(6)6
(7)24
(8)27
(9)–29
5
(1)0
(2)1
(3)1
(4)–3
(5)2
五.程序分析题
程序1
b=20a=3600
程序2
第三章
一.填空题
1.s=6
2.96
3.(1)scanf("%c",&c);
(2)c-32更好的答案:c-('a'-'A')
2.1
main()
{
inta,b;
printf("pleaseinputa&b:");
scanf("%d%d",&a,&b);
printf("\nmaxis%d\n",(a>b)?a:b);
}
2.2
intmax(intx,inty);
main()
{
inta,b,c,max;
printf("pleaseinputa&b&c:");
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
max=c>max?c:max;
标准C语言程序设计及应用周纯杰版习题参考答案
注:以下内容为教材部分习题答案,如发现错误请告知,欢迎讨论——张惕远
习题二
一、选择题
1、C
2、BCD
3、A
4、A(注:本题强调用户标识符,所以if、int不是,但是sin是用户标识符,原
因是库函数不是标准语法成分,开发库函数的程序员也是用户,main虽然不是语法成分,但开发平台预定义了main为console application的执行入口,并且规定了定义格式,所以用户不能用作它用,但_main可以)
5、(D)(C)
6、C
7、D
8、B
9、A
10、 D
11、B(注:本题是求strlen("\\\”DEF\”\\”)的值,即字符串中有效字符的个
数,不含串结尾符,sizeof(“…”)的值与前者不同,含串结尾符)
12、 D
13、 C
14、 D
15、 A
16、 B
17、 A
18、 B
二、判断题
(对)(错)(错)(对)
三、填空题
1、B 66回车
2、n1=%d\nn2=%d
3、5
四、计算下列各表达式的值
1、注:本书假设采用16位编译平台,所以int和unsigned int均为2字节类型。
(1)47
(2)38
(3)9
(4)0xFFC6 or 65478
(5)104
(6)2
2、(1)6
(2)50
(3)1
(4)-16 or 0xFFF0
(5)1
(6)20
3、表达式值a的值b的值
(1)0 5 3
(2)1 5 3
(3)3 1 3
(4)15 10 4
(5)8 8 3
(6)1 5 3
4、表达式值x的值y的值
(1)12 25 2
(2)0 24 3
(3)1 24 3
(4) 27 24 3
(5) 1 24 3
华科周纯杰版c语言答案
第三章程序和流程控制1.输入两个整数,输出较大者。
#include<stdio.h>
void main()
{
int a,b;
int max=0;
printf("Please input two numbers:");
scanf("%d%d",&a,&b);
if(a<=b) max=b;
else max=a;
printf("The larger number is %d\n",max); }
2.有3个整数a,b,c,由键盘输入,输出其中最大的数。
#include<stdio.h>
void main()
{
int a,b,c,max;
printf("Please input three numbers:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c) max=a;
else max=c;
}
else
{
if(b>c) max=b;
else max=c;
}
printf("The largest number is %d\n",temp);
}
3.从1累加到100,用while语句。
#include<stdio.h>
#define N 100
void main()
{
int i=1,sum=0;
while(i<=N)
{
sum+=i;
i++;
}
printf("sum:%d\n",sum);
}
4.a1=10,a2 =-3,an=3an-1 +an-2 ,求{ a }的前十项。
#include<stdio.h>
华中科技大学C语言期末考试题库试题及答案汇总
知识点:赋值表达式
5.若变量 a、i 已正确定义,且 i 已正确赋值,合法的语句是___B___。
A、a==1 B、++i; C、a=a++=5; D、a=int(i);
知识点:赋值表达式
6.若变量已正确定义并赋值,下面符合 C 语言语法的表达式是__B____。
A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b
A、a=a+b=b++ B、w%((int)a+b) C、(c+w)%(int)a D、w=a=b;
知识点:赋值表达式
31.设 int a=12,则执行完语句 a+=a-=a*a 后,a 的值是__D____。
A、552 B、264 C、144 D、-264
知识点:算术表达式
32.以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数字式子 x/(y*z) 的 C 语言表达式是___A___。
A、x/y*z B、x*(1/(y*z)) C、x/y*1/z D、x/y/z
知识点:算术表达式
33.若有定义:int a=8,b=5,c;,执行语句 c=a/b+0.4;后,c 的值是__B____。
A、1.4
B、1 C、2.0 D、2
华科C语言第一次作业参考答案
一、从1900年开始到2014年为止,我们会遇到多少个素数年号?
//第一题解法1
void main( )
{
int num=0;
int i,j;
for(i=1900;i<=2014;i++)
{
for(j=2;j
{
if(i%j==0)
break;
}
if(i= =j)
num++;
}
printf("总共有%d个素数年号",num);
}
void main()
{
int i=0;
int a,b,c;
for(a=1901;a<=2014;a+=2)
{
for(b=3;b<=sqrt(a);b=b+2)
{
c=a%b;
if(c==0)break;
}
if(c)
{
i=i+1;
printf("%d ",a);
}
}
printf("%d ",i);
}
#include
void main( )
{
int num=0;
int i,j;
int data[120];
for(i=1900;i<=2014;i++)
{
for(j=2;j
{
if(i%j= =0)
break;
}
if(i==j)
data[num++]=i;
}
printf("总共有%d个素数年号:",num); for(i=0;i
printf("%d ",data[i]);
}
2.设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N值。
//第二题解法一
void main()
{
int x1,x2,x3,x4,i;
for(i=1000;i<10000;i++)
{
x1=i/1000;
x2=(i-x1*1000)/100;
x3=(i-x1*1000-x2*100)/10;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章程序和流程控制
1.输入两个整数,输出较大者。
#include<>
void main()
{
int a,b;
int max=0;
printf("Please input two numbers:");
scanf("%d%d",&a,&b);
if(a<=b) max=b;
else max=a;
printf("The larger number is %d\n",max);
}
2.有3个整数a,b,c,由键盘输入,输出其中最大的数。
#include<>
void main()
{
int a,b,c,max;
printf("Please input three numbers:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c) max=a;
else max=c;
}
else
{
if(b>c) max=b;
else max=c;
}
printf("The largest number is %d\n",temp);
}
3.从1累加到100,用while语句。
#include<>
#define N 100
void main()
{
int i=1,sum=0;
while(i<=N)
{
sum+=i;
i++;
}
printf("sum:%d\n",sum);
}
4.已知a1=10,a2 =-3,an=3an-1 +an-2 ,求{ a }的前十项。
#include<>
#define N 10
void main()
{
int a[20]={10,-3};
int i=0,m=0;
for(i=2;i { a[i]=3*a[i-1]+a[i-2]; } m=N; printf("The %d numbers are:\n",m); for(i=0;i { printf("a[%d]=%d\n",i+1,a[i]); } } 5.输入一个自然数,判断它是奇数还是偶数。 #include<> void main() { int a, temp; printf("Please input a numbers:\n"); scanf("%d",&a); temp=a%2; if(temp==0) printf("The number %d is an even!\n",a); else printf("The number %d is an odd number!\n",a); } 6.已知a1 =8,an =an-1 +bn ,b1 =1,bn =bn-1 +3,求{ a }前10项之和。 #include<> #define N 10 void main() { int a[N]={8},b[N]={1},i,sum=0; for(i=1;i { b[i]=b[i-1]+3; } for(i=1;i { a[i]=a[i-1]+b[i]; } for(i=0;i { sum+=a[i]; } printf("The sum is:%d\n",sum); } 7.有一个函数写一程序,输入x,输出Y的值。 #include<> void main() { float x,y; printf("Please input a float number x=:"); scanf("%f",&x); printf("x=%f",x); if(x<1) y=x; else if(x>=10) y=3*x-11; else y=2*x-1; printf("The value of y is:%.3f\n",y); } 8.给一个不多于5位的的正整数,要求:求出它是几位数,分别打印出每一位数字,最后按照逆序打印各位数字,例如原数为321,应输出为123。 #include<> #define N 99999 #define M 5 void main() { int i,j,k,m,b[M]; long int a,temp; printf("Please input a number:\n"); scanf("%ld",&a); if(a<0||a>N) printf("Error in input data!!!\n"); else { temp=a; for(i=0;temp!=0;i++) { temp=temp/10; } m=i; printf("The number a=%ld have %d single numbers\n",a,m); temp=a; for(j=0;j { b[j]=temp%10; temp=temp/10; } printf("The origal numbers are:\n"); for(k=m-1;k!=-1;k--) { printf("%d",b[k]); } printf("\n"); printf("every letter is:"); for(j=m-1;j>=0;j--) printf("%d\t",b[j]); printf("\n");