北京理工大学C语言教材习题答案

合集下载

《C语言程序设计教程(第二版)》习题答案

《C语言程序设计教程(第二版)》习题答案

1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。

2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。

递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。

*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。

C语言教材课后习题答案

C语言教材课后习题答案

2.简述程序设计语言发展的过程
程序设计语言经过最初的机器代码到今天接近自然语言的表达, 经过了四代的演变。 一 般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代, 面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。首先分析出解决问题所需要的步骤,然 后用函数把这些步骤一步一步地实现, 使用的时候依次调用函数即可。 一般的面向过程是从 上往下步步求精,所以面向过程最重要的是模块化的思想方法。 “面向对象”是一种以事物为中心的编程思想。面向对象的方法主要是将事物对象化, 对象包括属性与行为。 面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体 执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设 计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。编程关注的是如 何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
不能使变量 k 得到正确数值的原因是: scanf("%d", &k);中的格式控制类型与变量 k 的定义类型不匹配,应将%d 改为%f.
习题 4 答案
选择题 1. B 2. A 3. B 4. B 阅读程序,写结果 7. 12 8.13 9. *0**2* 10. if(s>=90) m=4; else if(s>=80) m=3; else if(s>=70) m=2; else if(s>=60) m=1; else m=0; 11.输入 4 个整数 a,b,c,d,编写程序,将它们按从大到小顺序输出。 #include<stdio.h> main() { int a,b,c,d,t; scanf("%d%d%d%d",&a,&b,&c,&d); if(a<b) {t=a;a=b;b=t;} if(a<c) {t=a;a=c;c=t;} if(a<d) {t=a;a=d;d=t;} if(b<c) {t=b;b=c;c=t;} if(b<d) {t=b;b=d;d=t;} if(c<d) {t=c;c=d;d=t;} printf("%4d%4d%4d%4d",a,b,c,d); } 12.据所输入的 3 条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、 直角三角形还是一般三角形? 源程序: 5. C 6. B

北理C语言作业及答案3

北理C语言作业及答案3

C语言作业3 43. 缩写展开成绩: 10 / 折扣: 0.8在保存字符串时,对出现在连续位置的若干个字符,如这些字符在ASCII表中也是连续出现,则可以将这些字符使用缩写形式进行保存,以节省保存空间。

例如用A-Z表示ABCD...XYZ,1-5表示12345,c-f表示cdef。

输入:包含缩写形式的字符串输出:将缩写形式进行还原后的字符串说明:只分别对大写字母、小写字母和数字进行压缩,对于形如9-A,a-C这样的缩写不进行处理。

测试输入期待的输出时间限制内存限制额外进程测试用例1以文本方式显示1.0-9↵以文本方式显示1.0123456789↵1秒64M 0测试用例2以文本方式显示1.G-I↵以文本方式显示1.GHI↵1秒64M 0测试用例以文本方式显示1.ABDG-K035-9abd-h↵以文本方式显示1.ABDGHIJK0356789abdefgh↵1秒64M 0#include <stdio.h>int main(){int i=0;char s[100];gets(s);while(s[i]!='\0'){if(s[i+1]!='-'){printf("%c",s[i]);i++;}else{if(s[i+2]>s[i] && ((s[i]<=57)+(s[i+2]<=57)!=1) && (s[i]<=57||s[i]>=65)){while(s[i]!=s[i+2]){printf("%c",s[i]++);}i+=2;}else printf("%c",s[i++]);}}printf("\n");return 0;}44. 函数递归成绩: 10 / 折扣: 0.8编写一个函数,使用递归算法求满足下述定义的整数序列的第n项。

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案北理工《C语言程序设计》在线作业含正确答案一、单选题共40题,80分1、在以下对C语言的描述中,正确的是()。

A在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参BC语言函数既可以嵌套定义又可以递归调用C函数必须有返回值,否则不能使用函数DC语言程序中有定义关系的所有函数都必须放在同一源文件中2、若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。

A、scanf("%f",&c);Bscanf("8.4f",&c);Cscanf("%6.2f",&c);Dscanf("8f",&c);3、以下()不是C语言的特点。

A语言的表达能力B语言定义严格C数据结构系统化D控制流程结构化4、C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是()。

A编辑和编译B编译和连接C连接和运行D编辑和运行5、以下程序的输出是( )。

main(){char a[2][5]={“6937”,”8254”};inti,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}A、6385B69825C63825D6938256、已知:struct{int i; char c; float a; }test; 则sizeof(test)的值是()。

A4B5C6D772分已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a 的值为()。

A1B0C4D582分为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时()。

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】69

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】69

《C语言程序设计》复习提纲第1章程序设计基础知识1.1 程序与程序语言1.2 算法和算法的表示1.3 结构化程序设计方法第2章 C 语言概述2.3 C 语言的基本组成2.4 C 程序的上机执行过程第3章数据类型与运算规则3.1 数据与数据类型3.2 C 语言的基本数据类型及其表示3.3 算术运算与赋值运算3.4 关系运算与逻辑运算3.5 位运算3.6 其它运算3.7 混合运算及数据类型转换第4章顺序结构的程序设计4.1 C 语句4.2 赋值语句4.3 数据输入4.4 数据输入第5章选择结构的程序设计5.1 用 if 语句设计选择结构程序5.2 用 switch 语句设计多分支结构程序第6章循环结构的程序设计6.1 循环的基本概念6.2 用 while 语句设计循环结构程序6.3 用 do-while 语句设计循环结构程序6.4 用 for 语句设计循环结构程序6.5 break 语句与 continue 语句6.6 几种循环语句的比较6.7 循环的嵌套第7章数组7.1 数组的基本概念7.2 一维数组7.3 一维字符数组7.4 字符串处理函数7.5 二维数组7.6 二维字符数组第8章函数8.1 C 程序的结构8.2 函数的定义8.3 函数的调用与返回8.4 在函数之间传递数据8.5 变量的存储属性8.6 函数的递归调用8.7 库函数简介第9章指针9.1 指针及其引用9.2 指针与函数9.3 数组与指针9.4 指针与字符串9.5 指针数组第10章结构、联合与枚举类型10.1 结构类型10.2 结构数组10.3 结构指针10.5 联合类型10.6 枚举类型第11章文件11.1 文件概念11.2 文件处理。

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案
A1,2,0
B2,1,0
C1,2,1
D2,1,1
18、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。
A地址传递
B值传递
C由实参传给形参,并由形参传回给实参
D由用户指定传递方式
19、在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。
A、6385
B69825
C63825
D693825
6、已知:struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A4
B5
C6
D7
7
2分
已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。
A1
B0
C4
C数据结构系统化
D控制流程结构化
4、C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A编辑和编译
B编译和连接
C连接和运行
D编辑和运行
5、以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}
Dscanf("%d%d%d",&a,&b,&c);

C语言课程 课后练习 参考答案

C语言课程 课后练习 参考答案

实验6-1课后练习:1.选择题(1)B (2)C(3)A(4)D(5)C (6)C (7)D 2.阅读程序,写出运行结果3020103.阅读程序,写出运行结果20104. 阅读程序,写出运行结果1 2 35.阅读程序,写出运行结果7 8 96.阅读程序,写出运行结果97.阅读程序,写出运行结果#include <stdio.h>int digit(int n,int k);int main(){ int n,k;printf("Enter n,k: ");scanf("%d %d",&n,&k);printf("\nThe result is:%d\n",digit(n,k));return 0;}int digit(int n,int k){ int d;while(k>0){ d=n%10;n=n/10;k--;}return d;}8.程序填空#include <stdio.h>double max(double a,double b);int main(){ double x,y;prinf("please input two double numbers:"); scanf("%lf %lf"),&x,&y;printf("%.2f\n",max(x,y));return 0;}double max(double a,double b){return (a>b?a:b);}9.原版#include <stdio.h>int check(int n,int d);int main(){ int n,d;printf("Enter n,d: ");scanf("%d %d",&n,&d);if(check(n,d)==1)printf("The digit %d is in data %d",d,n); elseprintf("The digit %d is not in data %d",d,n); return 0;}int check(int n,int d){ int temp;while(n>0){ temp=n%10;if(temp==d)return 1;n=n/10;}return 0;}改进版#include <stdio.h>int check(int n,int d);int main(){ int n,d,position;printf("Enter n,d: ");scanf("%d %d",&n,&d);position=check(n,d);if(check(n,d)>0)printf("The digit %d is in data %d,position is %d",d,n,position);elseprintf("The digit %d is not in data %d",d,n);return 0;}int check(int n,int d){ int temp,position=1;while(n>0){ temp=n%10;if(temp==d)return position;position++;n=n/10;}return 0;}实验6-2课后练习1.选择题(1)B (2)C(3)B(4)B(5)C (6)B (7)D (8)D (9)C(10)B(11)A2.填空(1) 函数中声明有局部变量,若声明中带有static,则该局部变量采用静态存储方式,在编译时分配空间,若函数中未显式设定初始值,则系统将其自动初始化,函数被调用结束时,该空间不释放。

北理C语言作业及答案2

北理C语言作业及答案2

34 北理工的恶龙成绩: 10 / 折扣: 0.8背景:最近,北理工出现了一只恶龙,它长着很多头,而且还会吐火,它将会把北理工烧成废墟,于是,校长下令召集全校所有勇士杀死这只恶龙。

要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。

而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。

校长想花最少的学分数杀死恶龙,于是找到你寻求帮助。

输入:第一行龙头数n , 勇士人数m (1<=n, m<=100 )接下来n 行,每行包含一个整数,表示龙头的直径接下来m 行,每行包含一个整数,表示勇士的身高l输出:如果勇士们能完成任务,输出校长需要花的最小费用;否则输出“ bit is doomed! ”测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示1. 2 3↵2.5↵3.4↵4.7↵5.8↵6.4↵以文本方式显示1.11↵1秒64M 0测试用例2 以文本方式显示1. 2 1↵2.5↵3.5↵4.10↵以文本方式显示1.bit is doomed!↵1秒64M 0#include<stdio.h>void main(){int s=0,t,i,j,m,n,a[100],b[100],c[100]; for(i=0;i<=99;i++)a[i]=0,b[i]=0,c[i]=0;scanf("%d%d",&m,&n);for(i=0;i<=m-1;i++)scanf("%d",&a[i]);for(i=0;i<=n-1;i++)scanf("%d",&b[i]);if(m>n)printf("bit is doomed!\n");else{for(i=0;i<=m-1;i++)for(j=i;j<=m-1;j++){if(a[i]>a[j]){t=a[i],a[i]=a[j],a[j]=t;}}for(i=0;i<=n-1;i++)for(j=i;j<=n-1;j++){if(b[i]>b[j]){t=b[i],b[i]=b[j],b[j]=t;}}t=0;for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)if(a[i]<=b[j]){c[t]=b[j];t++;b[j]=0;break;}if(t<m)printf("bit is doomed!\n");else{for(i=0;i<=t;i++)s=s+c[i];printf("%d\n",s);}}}35 杀鸡用牛刀——要用递归啊!成绩: 5 / 折扣: 0.8背景:哈哈!我们终于学了递归了,现在大家一定感到非常有意思吧,那个典型的“汉诺塔”问题,一个非常短的程序居然可以完成如此复杂的工作,真是神奇啊!来吧,让我们也动手编写一个递归程序,当然,我们要编写的不可能太复杂。

C语言程序设计教程北京理工大学出版社-部分课后习题答案

C语言程序设计教程北京理工大学出版社-部分课后习题答案
际支付金额和返还金额*/
}
===========================================
CP6
5./*计算6个学生5门课成绩,每人的平均成绩。*/
#include<stdio.h>
void main()
{
int i,j,xuesheng;
double fen,mean,zongfen;
{
j=100*a+10*b+c;
if ( ex(j) )
printf ("%d=%d*%d*%d+%d*%
d*%d+%d*%d*%d\n", j,a,a,a,b,b,b,c,c,c);
}
}
int ex (int m)
{
int sum=0, z, k;
z=m;
while (z>0)
{
k= z%10;
sum += k*k*k;
a[100],b[100]调用此函数,交换a、b中具有相同下标的数组元素的值,
且输出交换后的a、b数组。
/*p279_1.c*/
//this is a wrong program
#include "stdlib.h"
void swap(int *pa,int *pb)
{
int t;
t=*pa;*pa=*pb;*pb=t;
while(strcmp(s,"stop")!=0)
{
p=s;
while(*p!='\0')
{
if(*p==32||*p=='\0')n++;p++; Nhomakorabea}

(完整)北理工C语言编程网上作业答案

(完整)北理工C语言编程网上作业答案

H1:计算通用产品代码(UPC)的校验位(选作)成绩: 5 / 折扣: 0.8背景许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。

这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。

超市可以通过扫描产品上的条码来确定支付此项商品的费用。

每一个条码由十二位数字构成,通常这些数字会显示在条码下面。

例如,包装为26盎司的Morton 牌碘化盐所用条码下的数字是:0 24600 01003 0第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券).接下来的一组五位数字用来识别生产商。

而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。

最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。

如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码.下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。

然后把第二位、第四位、第六位、第八位和第十位数字相加.接着把第一次加法结果乘以3后再加上第二次加法的结果。

随后,再把上述结果减去1。

减法后的结果除以10取余数.最后,用9减去上一步骤中得到的余数。

现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。

把第一组加法值乘以3后再加上第二组加法值得到的结果是30。

再减去1,结果变为29。

再把这个值除以10取余数为9。

9在减去余数结果9,最终值为0。

输入每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。

输出UPC的校验位提示本题有隐藏测试用例。

如果想多找不同的实例验证你的算法,可以拿身边书或食品背后的条码测试一下。

1.#include〈stdio。

C语言基础知识习题答案——第一章

C语言基础知识习题答案——第一章

第一章C语言基础知识一,选择题1 答案是AA正确B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。

这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。

这个题目考察用户标识符的概念。

4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dlong 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d 中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是DVisual C++6.0中int类型的变量占的字节数为4。

16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D本题目类似与第七课时的例一,解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C本题目考察的是课本第15页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D对于++、--单目运算符来说,其运算对象可以是char型、int型和float 型变量36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39 答案是Dlong 和short不能相互修饰40 答案是C标识符中不能有$41答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B 中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D 中,%(求余运算符)运算对象只能是整形数。

C语言课后习题答案(最终)

C语言课后习题答案(最终)

C语言课后习题答案(最终)第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575 答:(1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400(4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B 答:(1)821、335 (2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32 答:(1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:0~65535、-128~127、-32768~32767C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区放在应用程序数据区。

北京理工大学C语言教材习题答案

北京理工大学C语言教材习题答案

教材习题答案 习题单项选择题1. C2. B3. B4. C5. D6. A7. C8. A填空题1. 判断条件2. 面向过程编程3. 结构化4. 程序5. 面向对象的程序设计语言6. 基本功能操作、控制结构7. 有穷性8. 直到型循环结构9. 算法 10.可读性11.模块化 12.对问题的分解和模块的划分 习题一 、单项选择题1. B2. D3. C4. B5. A6. A7. B8.C 二、填空题1. 主2. C 编译系统3. 函数、函数4. 输入输出5.头6. .OBJ7. 库函数8. 文本 习题一、单项选择题1. D2. B3. A4. C5. C6. D7. D8. B9. B 10.C 11.A 12.D13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D, A 25.D 26.A 27.B 二、填空题1. 补码2. 30810-±(~)30810,15—6 2. 30810-±(~)30810,15—6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或b(题目有错,小括号后面的c<=98改成(c>=97&&c<=98)就可以得到所给的答案了)7. 1 8. 65,89 习题一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B7. A 8. C9. B10.B二、填空题 1. 一 ; 2. 5.1690003. (1)-200 2500 (2)i=-200,j=2500 (3)2500200=-=j i4. a=98,b=765.000000,c=4321.0000005.100 25.81 1.89234 ,100 25.81按Enter 键)1.89234,100(按Tab 键)25.81(按Tab 键)1.892346. 0,0,37. 38. scanf(" %lf %lf %lf",&a,&b,&c);9. 13 13.000000 13.00000010.b=a;a=c;c=b;或a=a+b;c=c-b;(对于本题来说,后者的答案更好,不仅使a 与c 的值进行交换而且能保持中间变量b 的值不发生改变)习题一、单项选择题 1. D2. C3. B4. B5. D6. A7. B 8. D二、填空题1. 非零,零2. k= =0 2. k= =03.if(abs(x)>4) Printf(“%d ”,x); elseprintf(“error!”);4. if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);5. k=1(原题最后一行漏了个d,如果认为原题正确,则输出k=%。

C语言程序设计教程北京理工大学出版社-部分课后习题答案

C语言程序设计教程北京理工大学出版社-部分课后习题答案
}
main()
{
int a[100],b[100],i;
for(i=0;i<100;i++) /*产生数组a和b */
{
a[i]=random(100);
b[i]=random(100);
}
printf("before swap A:\n"); /*输出交换前数组a */
for(i=0;i<100;i++)
for(i = 1; i <= 6; i ++)
{
zongfen = 0;
for(j = 1; j <= 5; j ++)
{
scanf("%lf",&fen);
zongfen = zongfen + fen;
}
mean = zongfen / 5.0;
printf("xuesheng%d = %lf\n",i,mean);
{
j=100*a+10*b+c;
if ( ex(j) )
printf ("%d=%d*%d*%d+%d*%
d*%d+%d*%d*%d\n", j,a,a,a,b,b,b,c,c,c);
}
}
int ex (int m)
{
int sum=0, z, k;
z=m;
while (z>0)
{
k= z%10;
sum += k*k*k;
while(strcmp(s,"stop")!=0)
{
p=s;
while(*p!='\0')

C语言教材课后习题参考答案.docx

C语言教材课后习题参考答案.docx
printf( “\n”);
}
}
}
4、
main()
{int i, a, min, max;
scanf(“%d" , &a);
min=a;max=a;
for(i=2;i<=100;i++)
{ scanf(“,&a);
if (a<min) min=a;
if (a>max) inax=a;
}
printf (<<Max=%d, Min=%d\nv, max, min);
3、存储单元、符号地址、内存地址
4、十、十六、八
5、double(双精度型)
6、8
7、5.500000
8、a二-32768
9、+0017,021,0x11
三、写程序运行结果
3257
32 57
7.8& -345.12,7. 8765,-345.1230
7.87654e+00,-3. 5e+02
a,97, 141,61
main()
{int x, y;
for(x=20;x<=100;x++)
for (y=20;y<=100;y++)
if(x*x+y二二1053&&x+y*y二二873)
printf (i(x=%dy=%d\n” , x, y);
}
7、
main()
{
long int k, g, s=0;
printf ("Please input an integer:,z);
Printf(is not a quadratic);

北理工C语言答案

北理工C语言答案

北理工C语言答案1-3.磨磨你的砍柴刀:判断三角形的形状成绩: 10 / 折扣: 0.8输入三角型的三条边,判断三角形的形状。

假设输入的三边边长均 >0 。

输入:三角型的 3 条边的长度( int 型)。

输出:三角形形状等边三角形: equilateral triangle. 等腰三角形: isoceles triangle. 不构成三角形: non-triangle. 一般三角形: triangle.友情提示:这个题有点复杂吧,因为用到了分支语句,你参考一下教材P98的程序。

要把a、b、c三条边长度的可能情况都想到。

如果程序运行出现了问题,你尝试用开发工具的单步执行调试工具,检查问题出在哪一句。

什么叫单步执行?老师在课上告诉你们了吗?没讲过?那就读读网络教室的那些文章吧!测试输入期待的输出时间限制内存限制额外进程64M 测试用例 1以文本方式显示 1. 2 2 2?以文本方式显示 1. equilateral triangle.? 1秒64M 测试用例 2以文本方式显示 1. 3 2 2?以文本方式显示 1. isoceles triangle.? 1秒#include main() {int a,b,c;scanf(\ if(a+b>c&&a+c>b&&b+c>a) if(a==b&&a==c)printf(\ else if(a==b||b==c||a==c) printf(\ elseprintf(\ elseprintf(\ getch(); }2-1. 整型数的表示范围编写一个循环程序,输入 N 值,输出 N 的阶乘。

关于循环程序怎么编写,可以参考教材第六章P123的内容。

注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出怎么是负数了?自己想明白吧!1. #include2. main()3. {4. int i,n;测试输入期待的输出时间限制内存限制额外进程测试用例 1 64M 以文本方式显示 1. 5?以文本方式显示 1. 120? 1秒测试用例 4 64M 以文本方式显示 1. 12?以文本方式显示1. 479001600? 1秒测试用例 2 64M 以文本方式显示 1. 20?以文本方式显示1. N is too big!? 1秒5. long m;6. scanf(\7. i=1;8. m=1;9. do{m=m*i; 10. i=i+1;11. }while(i<=n); 12. if(m>=0)13. printf(\14. else15. printf(\16. }2-2. 求正弦函数值成绩: 10 / 折扣: 0.8已知求正弦 sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε。

北京理工大学网络教室C语言编程题库及答案绝对

北京理工大学网络教室C语言编程题库及答案绝对

1.Hello world.输入:无输出:Hello world.程序:#include<>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.程序:#include <>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序:#include<>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 求 x 的 3次方输入:一个整数。

输出:该整数的 3 次方值。

程序:#include<>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 学习打印你的第一个图形编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

程序:#include<>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444 输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教材习题答案 习题 单项选择题 1. C 2. B 3. B4. C5. D6. A 7. C 8. A 填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操 作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分 解和模块的划分 习题 一 、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C 编译系统 3. 函数、函数 4. 输入输出 5.头 6. .OBJ 7. 库函数 8. 文本 习题 一、单项选择题 1. D 2. B 3. A 4. C 5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D, A 25.D 26.A 27.B 二、填空题
3.
4. ASCII,二进制,文件尾,非 0 值
3
习题
一、单项选择题
1. A
2. A
3. B
4. A
5. B
6. D (题目有错,将 D 中的\改成\\)
7. B
8. B
9. B
10.B
11Байду номын сангаасB
12.B
13.C
14.C
15.D
16.A
17.D
二、填空题
1. ASCII,二进制
2. pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);
14.C
15.B
二、填空题
1. ①return(0) ②return(n+sum(n-1))
2. ①return(1) ②n*facto(n-1)
习题
一、单项选择题
1. D 2. C 3. D 4. A 5. C6. C
7. C 8. A 9. B 10.C11.A
12.A 13.B14.B 15.B 16.D
5. k=1(原题最后一行漏了个 d,如果认为原题正确,则输出 k=%。)
6. 10!,Right!11
7. $$$a=0
8. a=2,b=1
9. 0<a<b
习题
一、单项选择题
1. B
2. C
3. C
4. B
5. C
6.B
7. C
8. A
二、填空题
1. 无穷次
2. 8(原题有误。应该把 b=1 后面的逗号改为分号)
3. ①break
②i==8
4. ①a[i]>b[j] ②i<3
③j<5
5. ①b[j]=a[j][0] ②b[j]<a[j][k]
6. a[k++]=a[j]
2
习题
一、单项选择题
1. B 2. C 3. C 4. A 5. A6. C
7. C 8. D 9. D 10.B 11.A
12.C
13.A
1. D 2. C 3. D 二、填空题 1. 一 ; 2. 5.169000
4. A 5. D 6. B
7. A 8. C
9. B 10.B
i 200 3. (1)-200 2500 (2)i=-200,j=2500 (3) j 2500
4. a=98,b=765.000000,c=4321.000000 5.100 25.81 1.89234 ,100 25.81 按 Enter 键)1.89234,100(按 Tab 键)25.81 (按 Tab 键)1.89234 6. 0,0,3 7. 3 8. scanf(" %lf %lf %lf",&a,&b,&c); 9. 13 13.000000 13.000000 10.b=a;a=c;c=b;或 a=a+b;c=c-b;(对于本题来说,后者的答案更好,不仅使 a 与 c 的值进行交 换而且能保持中间变量 b 的值不发生改变)
3. 20
4. 11
5. 2.400000
6. *#*#*#$
7. 8 5 2
8. ①d=1.0 ②k++
③k<=n
9. ①x>=0 ②x<amin
习题
一 、单项选择题
1. B
2. B
3. C
4. C
5.A
6. A
7. B
8. A
二、填空题
1 2 4 8 16
1.
32 64 128 256 512
2. ①a[age]++ ②i=18;i<26
习题
一、单项选择题
1. D 2. C 3. B 4. B 5. D 6. A
7. B
8. D
1
二、填空题
1. 非零,零
2. k= =0
2. k= =0
3.if(abs(x)>4)
Printf(“%d”,x);
else
printf(“error!”);
4. if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);
17.C 18.D19.B20.D
填空题
1. ①int * ②* z
2. ①*p++
3. ①’\0’
②++
4. ①q=p+1 ②q<p+10 ③*q>max ④*q<min
习题
一、单项选择题
1. D
2. D
3. A
4.C
5. B
6. A
7. A
8. B
9.D
10.B
11. C
12.B
13.D
14.C
1. 补码 2. (10308 ~10308),15—6 2. (10308 ~10308),15—6
3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b(题目有错,小括号后面的 c<=98
改成(c>=97&&c<=98)就可以得到所给的答案了)7. 1
8. 65,89
习题
一、单项选择题
二、填空题
1. 0x34,0x12
2. ARRAY a[10],b[10],c[10];
3. 2,3
4. “ab”,”cd”
5. (*b).day,b->day
6. ad
abcdef
ghimno
hino
7.①node* ②!=NULL ③p=top
8 p1->next
9.①list* ②list*
③return h;
相关文档
最新文档