课后题答案.docx
- 文档编号:7839265
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:21
- 大小:35.95KB
课后题答案.docx
《课后题答案.docx》由会员分享,可在线阅读,更多相关《课后题答案.docx(21页珍藏版)》请在冰豆网上搜索。
课后题答案
项目一
一、选择题
1.A2.C3.B4.A5.D
二、填空题
1.编辑、编译、链接、运行
2.至少一个,可以由任意多个
3.Options子菜单【Directories】子菜单项;Include路径、库文件路径、输出路径、TC路径
4.按照指定格式输出数据
5.快捷键Ctrl+F9;Alt+F5
三、编程题
#include
main()
{
printf("*\n");
printf("**\n");
printf("**\n");
printf("*******\n");
printf("*Triangle!
*\n");
}
项目二
一、填空题
1.'\n':
换行;'\t'跳格;'\0':
空字符;'\07':
BEL;'\"':
双引号。
2.10:
整型;'A':
字符型;1.5E12:
实型;'\n':
字符型。
3.格式字符%d用于输出十进制整数;%c用于输出单个字符;%s用于输出字符串。
4.格式字符%d用于输入十进制整数;%f用于输入单精度数值;%s用于输入字符串。
5.单引号(')
6.axbycz
7.英文大小写字母、数字、下划线。
字母、下划线
8.printf(“n1=%d\nn2=%d”,n1,n2);
二、选择题
1.D
2.C
3.C
4.B
5.D
6.B
7.D
8.B
三、程序的执行结果
项目三
一、选择题
1.C2.D3.D4.C5.D
二、填空题
1.1
2.103
3.1
4.2
5.12;10
三、编程题
1.j
2.x=3,y=2,a=1,b=3
3.
(1)x转换为double型xdouble,y转换为int型yint
(2)计算yint%3
(3)将y转化为double类型ydouble与xdouble相加
(4)将步骤(3)的结果强制转化为int类型
(5)将步骤
(2)的结果与将步骤(4)的结果相乘,结果仍为整数
(6)将步骤(5)的结果转换为double类型,和xdouble相加
main()
{
floatx=3.01;chary='A';
printf("%lf\n",x+y%3*(int)(x+y));
printf("%d",x+y%3*(int)(x+y));
}
4.
main()
{
intn,n1,n2,n3;
printf("inputanumber(100~999):
\n");
scanf("%d",&n);
if(n<100||n>999)
{
printf("%disnotanumberbetween100and999.");
exit(0);
}
n1=n%10;
n2=(n/10)%10;
n3=n/100;
printf("sum:
%d+%d+%d=%d",n1,n2,n3,n1+n2+n3);
}
项目四
四、填空题
1.顺序、选择、循环
2.顺序
3.1
4.&&、||、!
5.x 6.y%2==1 五、选择题 1.C 2.D 3.B 4.C 5.C、D 6.D 六、求解下面表达式的值 1.0 2.1 3. (1)1 (2)0(3)0(4)1 七、程序题 1.2 2.you$3.0yuan/xiaoshi 3.25,18,16 4.功能是完成大小写字母转换,输入Z运行结果是 : z 八、编写程序 参考程序如下: 1.#include main() {inta; intb; scanf("%d,%d",&a,&b); if(a*a+b*b>100) printf("a*a+b*b=%d",a*a+b*b); else printf("a+b=%d",a+b); } 2.#include main() {intx; scanf("%d",&x); if(x%5==0&&x%7==0) printf("yes" ); else printf("no"); } 3.#include main() {inta; intb; intc ; intmax ; scanf("%d,%d,%d",&a,&b,&c); if(a>b)max=a ; elsemax=b if(max printf("Max=%d",max); } 项目五 一、填空题 1.0 2.终止当前switch语句的执行;多个switch表达式对应同样的操作 3.如果没有满足的case语句,就执行default对应的语句 4.执行该语句时,顺次判断各条件,一旦满足某一个条件i,就接着执行对应的语句i。 并且不再执行其他判断,直接退出整个if-else语句。 在执行switch语句时,先计算switch后面括号里表达式的值,然后根据这个结果选择匹配的case语句执行(case后面的常量表达式与switch表达式的值相等称为匹配)。 如果没有满足的case语句,就执行default对应的语句。 5.2 6.0 二、编程题 1. main() { doublex=1; inty; printf("pleaseinputvalueofx: \n"); scanf("%lf",&x); switch((x<=0)+(x<0)) { case0: y=1; break; case1: y=0; break; case2: y=-1; break; } printf("y=%d\n",y); } 2. main() { intmonth,days; printf("inputmonth: \n"); scanf("%d",&month); if(month<1||month>12) return; switch(month) { case1: case3: case5: case7: case8: case10: case12: days=31; break; case2: days=28; break; default: days=30; break; } printf("%dthmonthhas%ddays\n",month,days); } 3. main() { intn1,n2,n3,n4,m1,m2; printf("input4integers: \n"); scanf("%d",&n1); scanf("%d",&n2); scanf("%d",&n3); scanf("%d",&n4); if(n1 if(n3 if(n1>n3) printf("Maxvalueis%d",n1); else printf("Maxvalueis%d",n3); } 4. main() { intn,n1,n2,n3; printf("inputanumber(0~999): \n"); scanf("%d",&n); if(n<0||n>999) { printf("%disnotaintegerbetween0and999.\n",n); return; } n3=n/100; if(n3) { printf("three-digitnumber.\n"); } else { n2=(n/10)%10; if(n2) { printf("two-digitnumber.\n"); } else { n1=n%10; if(n1) { printf("one-digitnumber.\n"); } else { printf("zero.\n"); } } } } 5. main() { doublemiles,cost; printf("inputmiles: \n"); scanf("%lf",&miles); if(miles<0) return; if(miles<3) cost=7; else cost=7+(miles-3)*2.2; printf("%.2lfmilescost%.2lfyuan.\n"); } 项目六 九、填空题 1.forwhiledo-while 2.do-while语句 3.for语句 4.先判断,后执行。 先执行,后判断。 5.循环变量终值 一十、选择题 1.B 2.A 3.A 4.C 5.C 6.B 7.B 一十一、程序填空 1.(-1)*f 2.①pow1=1②n 3.①sum=0②i++ ; ③sum=sum+1.0/i 4.①i=1 ②scanf("%d",&a); ③a>max 5.①fact=1②i<=n 一十二、写出程序执行结果 1.###### 2.8921 3.52 4.死循环,无结果 5.*#*#*#$ 6.输出n的阶乘 7.输出x的n次方 8.输出所有输入的数中偶数的和,当输入的数小于0时结束程序 一十三、编写程序 参考程序如下: 4.#include main() { inti,s; doublet,sum; s=2; for(i=1;i<=10;i++) { s=s+i-1; t=s*(1.0)/i; sum=sum+t; } printf("%f\n",sum); } 5.#include main() {inti; longsum,t; t=0; sum=0; for(i=1;i<=6;i++) {t=t*10+8; sum=sum+t; } printf("%ld\n",sum); } 项目七 一、选择题 1.C2.D3.D4.D 二、填空题 1.M-1;N-1 2.strcat 3.str1[0]='\0' 4.&a[i];i%4==0;printf("\n");; 5.a[i][j]%2==0;number++ 三、编程题 1. main() { charstr1[20],str2[20]; inti=0,len; printf("Input2strings: \n"); gets(str1); gets(str2); if(strlen(str1)+strlen(str2)+1>20) return; len=strlen(str1); for(i=0;i str1[len+i]=str2[i]; str1[len+i]='\0'; printf("Thenewstringis: %s\n",str1); } 2. main() { doubledata[5],sum; inti; printf("input5doublefloatnumber: \n"); for(i=0;i<5;i++) scanf("%lf",&data[i]); sum=0.0; for(i=0;i<5;i++) sum=sum+data[i]; sum=sum/5; printf("average: %lf\n",sum); printf("thosenumberarebiggerthanaverage: \n"); for(i=0;i<5;i++) if(data[i]>sum) printf("%lf",data[i]); } 3. main() { intarr[10]={23,45,-22,32,-56,-1,30,-10,22,16}; inti,num=0; clrscr(); for(i=0;i<10;i++) { if(arr[i]>0)num++; if(arr[i]<0)arr[i]=0; } printf("thereare%dpositivenumbers.\n",num); printf("thenewelementsare: \n"); for(i=0;i<10;i++) { printf("%d,",arr[i]); } printf("\n"); } 4. main() { charstr[20]; chartemp; inti,j; printf("inputastring.\n"); gets(str); for(i=0,j=strlen(str)-1;i { temp=str[i]; str[i]=str[j]; str[j]=temp; } printf("reversedstring: %s\n",str); } 5. intIsSymmetric(char*str) { inti,j; for(i=0,j=strlen(str)-1;i { if(str[i]! =str[j])return0; } return1; } main() { charstr[20]; chartemp; inti,j; clrscr(); printf("inputastring.\n"); gets(str); if(IsSymmetric(str)) printf("Symmetric.\n"); else printf("NotSymmetric\n"); } 项目八 一十四、写执行结果 1.x=2,y=5.000000 x=2,y=5.000000 ffc2,ffc4 ffc2,ffc4 (注: 后两行结果不一定与此相同) 2.1 2 3 4 5 6 7 8 9 10 3.C,program,CLanguge 4.1345 5.最后少了“printf("b=%d",b);} ”,结果为: b=13 一十五、编写程序 1.#include main() {inti=0; chars[30],*p; printf("pleaseinputtwostrings: \n"); gets(s); p=s; while(*p! ='\0') {i++;p++;} printf("Thelengthofstringis%d\n",i); } 2.#include main() {inti,n,t; intnum[20],*p,*q; printf("\nPleaseinputn(n<20): "); scanf("%d",&n); for(i=0;i {printf("\nPleaseinputNo.%d: ",i+1); scanf("%d",&num[i]); } for(p=num,q=num+n-1;p {t=*p;*p=*q;*q=t;} for(i=0;i } 或: #include main() {intn,t; intnum[20],*p,*q; printf("\nPleaseinputn(n<20): "); scanf("%d",&n); for(p=num;p {printf("\nPleaseinputNumber: "); scanf("%d",p); } for(p=num,q=num+n-1;p {t=*p;*p=*q;*q=t;} for(p=num;p } 项目九 一、选择题 1.A2.C3.A4.D5.B 二、填空题 1.一一对应,个数相同,对应参数的类型相同 2.从实参到形参的单向传递 3.返回主调函数继续向下执行 4.A+B=12,C=14 三、编程题 1. intsum(intn) { inti,s=0; for(i=2;i<=n;i+=2) s=s+i; returns; } main() { inti,n; printf("inputainteger(>1): \n"); scanf("%d",&n); if(n<1) return; printf("sumis%d\n",sum(n)); } 2. intIsPrime(intn) { inti; if(n<2) return-1; for(i=2;i { if(n%i==0)return0; } return1; } main() { intn,m; clrscr(); printf("inputapositiveinteger: \n"); scanf("%d",&n); m=IsPrime(n); if(m==1) printf("%disaprimenumber.\n",n); elseif(m==0) printf("%disnotaprimenumber.\n",n); } 3. intsum(intn) { inti,s=0; while(n) { s=s+n%10; n=n/10; } returns; } main() { inti,n; printf("inputapositiveinteger(>1): \n"); scanf("%d",&n); if(n<1) return; printf("sumis%d\n",sum(n)); } 4. voidfunc(char*str) { intlen,i; printf("inputastring: \n"); gets(str); len=strlen(str); for(i=1;i<=len;i++) str[i-1]=str[i]; printf("newstringis: \n"); printf("%s\n",str); } main() { intn,m; charstr[20]; clrscr(); func(str); } 项目十 一十六、分析程序功能 1.计算整数u和v的最大公约数H.C.F和最小公倍数L.C.D。 2.输入一个不超过10个字符的字符串,将字符串中字符从大倒小排序输出。 一十七、错误分析 正确的程序如下: intsum(inta,intb) { return(a+b); } main() { intx,y; x=3; y=5; printf("%d\n",sum(x,y)); } 一十八、读程序,写结果 1.运行结果为: Theresultis243.000000 程序的功能为: 求乘方 2.程序运行结果为: 5050。 该程序的功能为: 求1+2+3+4+……+k的和 3.程序运行结果为: 140。 该程序的功能为: 计算7*20 项目十一 一十九、简答题 1.函数gettime获取当前系统时间。 需要加载头函数dos.h 2.函数initgraph 3.调用格式为: initgraph(*gdriver,*gmode,*path) 调用方法: intgdriver=VGA,gmode=VGAHI; initgraph(&gdriver,&gmode,"d: \\turboc"); 4.使用函数setcolor(4)设置前景色为红色 使用函数setbkcolor (1)设置背景色为蓝色。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课后 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)