【免费下载】c语言程序设计学习指导答案
- 格式:pdf
- 大小:242.12 KB
- 文档页数:10
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句59 3.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
c语言程序设计基础教程课后答案C语言程序设计基础教程课后答案第一章:C语言概述1. 简述C语言的特点。
- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。
- 它支持多种编程范式,如过程式编程、结构化编程、面向对象编程等。
- C语言具有较低的抽象级别,接近硬件,因此执行效率较高。
2. C语言的发展历史。
- C语言在1972年由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发。
- 它最初是作为UNIX操作系统的系统编程语言而设计的。
第二章:C语言环境和基本语法1. 如何设置C语言的开发环境?- 选择一个C语言编译器,如GCC、MSVC等。
- 安装编译器并配置环境变量,以便在命令行中直接调用编译器。
2. C语言的基本语法结构是什么?- C语言的基本结构包括预处理指令、函数定义、变量声明和语句。
第三章:数据类型、运算符和表达式1. C语言中的基本数据类型有哪些?- 整型(int)、字符型(char)、浮点型(float和double)等。
2. 运算符的分类及其用法。
- 算术运算符:+、-、*、/、%等。
- 赋值运算符:=、+=、-=等。
- 比较运算符:==、!=、>、<等。
- 逻辑运算符:&&、||、!等。
第四章:控制语句1. 条件语句的用法。
- if语句用于基于条件执行代码块。
- switch语句用于多条件选择。
2. 循环语句的用法。
- while循环用于在满足条件时重复执行代码块。
- for循环用于已知迭代次数的循环。
- do-while循环先执行代码块再判断条件。
第五章:数组和字符串1. 数组的基本概念和使用。
- 数组是相同数据类型的元素集合,存储在连续的内存位置。
- 声明数组:int arr[10]; 表示一个包含10个整数的数组。
2. 字符串的表示和操作。
- 在C语言中,字符串是以空字符('\0')结尾的字符数组。
- 使用标准库函数如strcpy、strlen等操作字符串。
第一篇:《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、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计学习指导与实践教程——第2章习题和实验解答2.1 C语言概述1.【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。
或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
有穷性:一个算法应包含有限的操作步骤而不能是无限的。
确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。
有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
对于程序设计人员,必须会设计算法,并根据算法写出程序。
可以用自然语言、流程图、伪代码和计算机语言表示算法。
3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。
ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。
4.用传统流程图表达如下:5. 计算机硬件系统的组成:计算机硬件系统主要由运算器、控制器、存储器、输入设备和输出设备构成,运算器和控制器合称为中央处理器(CPU),输入设备和输出设备统称为外部设备。
6.计算机网络常用的传输介质:分为有线介质和无线介质;有线介质包括光纤、同轴电缆和双绞线;无线介质包括红外信号、微波等。
2.2 数据类型与表达式1.【习题解答】一、选择题1.D2.B3.A4.B5.A6.B7.D8.D9.C二、填空题1.整型、实型、字符型、枚举类型2.3.5000003.逗号运算符4.三,自右向左5.1,06.32767三、编程题1.已知球的半径为1.5cm,计算球的体积。
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
第1章C语言概述一、选择题1.B2.D3.C4.C5.A6.B7.D8.C9.A二、基本概念填空题1. 小写2. 有且仅有3. 函数4. 执行部分5. 编译连接6. /* */7. Alt+Enter 8. F29. F6 10. F10第2章程序的灵魂—算法一、基本概念填空题1. 一个或多2. 流程图N-S3. 判断4. 分支5. 顺序结构循环结构6. 一个一个7. 结构8. 适合9. 一个算法应包含有限个操作步骤10. 略二、算法填空题1.(1)a与b互换(2)输出a,c,b(3)输出a,b,c2.(1)n=1 (2)a>max(3)n=n+13.(1)sum=sum+n (2)输出sum4.(1)n被5整除(2)输出n不能被3和5整除第3章数据类型、运算符与表达式一、选择题1.D2.A3.B4.C5.A6.B7.B8.A9.B 10.D 11.D 12.B 13.C 14.C 15.C 16.D 17.A 18.B 19.C 20.D21.A 22.C 23.C 24.A 25.C 26.D 27.A 28.D二、基本概念填空题1. unsigned2. #define 符号常量名常量3. 预定义标识符用户标识符4. 字母数字下划线字母下划线5. 换行6. 4.07. a/(b*c) 8.(1)58.(2)5 8.(3)39. float a1=1,a2=1; 10. 65535 0 1111111111111111 0000000000000000 11. 0 1 12. ! && ||13. 非0 0 1 0 14. 1 015. x>20&&x<30||x<-100 一、 选择题 1.C2.D3.D4.C5.B6.D7.C8.D9.C10.D二、基本概念填空题 1. 4.2 4.22. 11 123. 将10赋值给s4. \ 'A' '\0'5. 36. 0.07. cos(3.14/3)+8*exp(x) 8. -b+ac b 429. 20 3 10. 12 11. 145 12. 3 13. 5.5 14. 1015. 116. 算术 关系 逻辑 逗号 条件 赋值第4章 顺序结构程序设计一、选择题 1.B 2.D 3.B4.C5.A6.D7.D8.C9.B10.C11.A12.D二、填空题1. ;2. 花括号(“{}”)3. 12454.(1)-200 2500 4.(2)i=-200, j=2500 4.(3)i=-200 j=25005. a=513.789215,a= 513.79,a= 513.78921500,a= 513.789215006. 25 21 37 三、完善程序题1. a=b b=c2. ch=ch-32 ch3. scanf("%f%f",&x,&y); z4. #define PI 3.14159 scanf("%f",&r,) v=4.0/3*PI*r*r*r 一、选择题 1.B 2.D3.A4.D5.D6.B7.A二、填空题1. 02. 100 300 400三、完善程序题1. a/1000 a/100%10 a%100/10 a%102. 方法1:a-b a-b 方法2:a/b a/b第5章选择结构程序设计一、选择题1.A2.C3.D4.B5.A6.B7.D8.C9.D 10.C11.A 12.C 13.A 14.B 15.A 16.C二、填空题1. yes2. -43. 14. 10 20 05. 5 0 3三、完善程序题1. a%2==1 "no\n"2. ch>=’A’&&ch<=’Z’ch+323. z=-2*x/Pi x==0 z=2*x/Pi4. temp=a b=temp5. x%3==0||x%7==0 f=16. (int)(score/10) default:grade='E'一、选择题1.C2.A3.D4.B5.B6.A7.C8.D9.A 10.B二、填空题1. 32. *#3. m=1 m=3三、完善程序题1. b<=c b<=a&&b<=c printf("%d,%d,%d\n",c,a,b) printf("%d,%d,%d\n",c,b,a)2. x>=1&&x<10 y=3*x-113. k==1 k==2 k==34. ch=ch+3 ch=ch+3-265. scanf("%ld",&i) b2+200000*0.05 b=i*0.1 b10+(i-1000000)*0.01第6章循环结构程序设计一、选择题1.A2.C3.A4.C5.D6.D7.D8.A9.B 10.A11.A 12.B 13.D 14.C 15.C 16.D 17.C 18.B 19.B 20.C二、填空题1. 1 2 32. 363. 74. 1 35. 1206. 5 4 67. 0918273645 8. *#*#*#$9. 3,3 10. 18三、完善程序题1. while(i<=100) i++2. amin=x x!=-1 x<amin3. int ok ok i++ yes no4. r!=0 n r m%n5. >=1e-6 xn1 (xn0+a/xn0)/26. #include<math.h> x0=x x0-f/f1 fabs(x-x0)>=1e-57. 4-i 2*i-18. n<=13 t=1.0/n9, prime=1 m%n==0 prime10. b=i+111. break continue12. sn=tn=0 i<=n a=a*1013. int n t=t*n14. j=n/10%10 i*i*i+j*j*j+k*k*k==n15. s=s+2*h h=h/2一、选择题1.C2.B3.B4.D5.C6.C7.B8.B9.B 10.D11.D二、填空题1. m=2 求m和n的最大公约数2. -23. 16,604. This Is Book!5. 101,-1三、完善程序题1. (ch=getchar())!='#' letter++ ch>='0'&&ch<='9' other++2. fabs(t) x*x/n (2*n+1)3. f1*f2<0 x=(x1+x2)/2 x2=x x1=x4. fz+fm i++5. n=0 i%7==26. k*k break n/10%107. (a!=c&&b!=c&&a!= 'X'&&c!= 'X'&&c!= 'Z'8. d=1 a%i==0&&b%i==0&&c%i==0 d=d*i9. n!=0 n/10 continue i10. s=0 m==s m%i==0第7章数组一、选择题1.D2.D3.C4.B5.D6.A7.B8.C9.C 10.D11.A 12.B 13.C 14.B 15.C 16.C 17.C 18.C 19.C 20.C二、基本概念填空题1. 首地址2. 有限3. 行列下标值相等4. 两个原序列同为升序或同为降序5. gets(str);6. 0三、阅读程序题1. s=12342. *************************3. 求数组最大元素的下标4. s=155. 0 1 26. 0 0 0 0 10 1 20 1 27. 6 8. 将两个字符串合并,并输出合并串的串长9. e,hello 10. 将读入的十进制正整数转换成十六进制序列y, ,0四、完善程序题1. x=x/2 x!=0 i-12. a/100%10 aa[i]=aa[i]%10 i<23. k=SIZE-1 j<k4. find=1 low=mid+1 high=mid-15. i==j a[i][4-i]=16. a[m-1][0] a[m][n-1]=a[m-1][n]7. k++ a[i][j] printf("\n")8. " " strcmp(a,max)>09. i=0 a[i++]=b[j] a[i]= '\0'10. char s[ ] j=0,k=0 s[k]= '\0'11. a[i]!=’\0’a[i]+3-26 a[i]+3一、选择题1.C2.C3.D4.B5.A二、阅读程序题1. 将任意读入的整数插入有序数组后,使之依然有序2. 2 5 83.SWITCH*#WaMP*三、完善程序题1. a[i++] b[j++] break2. x%10 m<n m>=n3. a[k]=k a[k]!=0 a[j]%a[k]==04. a[i][0]=a[i][i]=1 a[i-1][j-1]+a[i-1][j] j<=i5. (N+1)/2 a[j][N-k] printf("\n")6. i=0,j=strlen(str)-1 str[j] str[j]7. a[i]-97 i+978. <ctype.h> s=0 strlen(a)9. toupper(c)- 'A'+10 c-‘0’d*r+cr第8章函数一、选择题1.C2.B3.C4.B5.C6.D7.C8.A9.D 10.A 11.B 12.B 13.D 14.B 15.B 16.D 17.D 18.B 19.D 20.A21.B 22.C 23.D 24.A 25.B 26.D二、填空题1. 30,20,102. 83. hlo4. 6 7 85. 110…f(1)6. 2 11 3 11 4 11210…f(2)100…main()7. 2,5,1,2,3,-2 8. 15,64,69. c=0c=-1c=-2三、完善程序题1. i<2 j<4 arr[i][j]>max max=arr[i][j]2. ch ch=='#' i++3. str[num]!= '\0' num4. float fmax(x,y) (x>y)?x:y5. return(1) return(n+sum(n-1))6. void inverse(char str[ ]) j=strlen(str) i<j-17. str[i++]=str2[j] str[i]= '\0' stringcat(s1,s2,s)8. return x return((2*n-1)*x*p((n-1),x)-(n-1)*p((n-2),x))/n一、选择题1.B2.A3.D4.A5.A6.C7.D8.B9.B 10.C二、填空题1. 212. 43. 0123454. 3 1 55. 567 16. 5,257. 1 1 1 10 121 2 2 9 131 3 3 8 14三、完善程序题1. str[i] word=0 num++2. m%k==0 prime(n-i)3. y>x&&y>z return z j%x1==0&&j%x2==0&&j%x3==04. m=1 m*i m=0 fun(k)5. s[i]=k (i+1)%5==0 sum=06. #include <ctype.h> flag=0 len++ place=start7. (i=n/10)!=0 n%10第9章预处理命令一、选择题1.A2.B3.C4.D5. B6.C7.D二、基本概念填空题1. 不占用2. 无三、阅读程序题1. 152. ar=9 ar=9 ar=11一、选择题1.A2.C二、阅读程序题1. 8 92. 12三、完善程序题#include "myf.txt"第10章指针一、选择题1.D2.B3.D4.D5.B6.A7.B8.D9.B 10.D 11.C 12.A 13.A 14.D 15.B 16.A 17.D 18.C 19.C 20.C21.A 22.C 23.B 24.D 25.C二、基本概念填空题1. NULL 合法空间的地址2. a[5]元素的地址a[5]元素的值3. 54.(1)&a[1] 即数组a的第二行的首地址4.(2)&a[2][0] 4.(3)&a[1][2]4.(4)a[0][2]5. 12 126. ABCD A7. 3 字符串“FILE2.OUT”三、阅读程序题1. 2,52. ga3. xyabcABC4. ABCDBCDCDD5. 6,6 9,96. 调用函数求得任意输入的两整数之和7. 10,20 10,20 8. 48 62 659. AD BC BB 10. 1四、完善程序题1. p p=a *p2. p=a p-a3. getchar() ‘\0’++4. 方法1:&a[0][0] i*4+j方法2:i/4 i%4 &a[0][0] i*4+j方法3:p=a p+i/4 i%45. t[80] strcmp(c[i],c[i+1])>0 puts6. char a[10] strcmp(a,p[i])<07. max_value(a,10) p++ *p>m8. t=*x *x=*y *y=t9. *t++ str1,str210. p[n]!=c p+n一、选择题1.B2.A3.D4.C5.A6.B7.D8.D9.C 10.C11.B 12.C 13.C 14.D二、基本概念填空题1. 3*i+j i j2. nanjing i e g3. BBBAAA123三、阅读程序题1. 152. 4,53. 8retupmo puter4. elpoeP anihC5. hane四、完善程序题1. break ‘\0’*p++2. s+n-1 break p2—3. *(text+i) n++ j=04. fac[left] fac[right] fac[left] fac[left++]5. j++ j++ j++ a!=0 r<10 i-16. exit(0) *(p+i)=*p1 p++7. *fun)(double) (*fun)(a+i*h) mypoly第11章结构体、共用体与枚举类型一、选择题1.C2.B3.D4.D5.A6.B7.C8.A9.D 10.B11.A 12.A二、基本概念填空题1.2.3. 成员指向成员4. p->b (*p).b5. 346. 20 w[0].a[3] w[1].x.c pw->a[1] (*pw).a[1] pw->x.c (*pw).x.c三、阅读程序题1. 92. 0:706,1:9083. 48四、完善程序题1. t=a[i] a[i]=a[k] a[k]=t2. scanf("%s",name) stu[j].dps++3. a[i].con++ a[j].con++4. (d-1)5. return h p1!=NULL p1=p1->link p1->link=h6. p2->next head head->next p2->next=p1一、选择题1.D2.A3.B二、阅读程序题1. 512.101 200 31 4060213. 2,54. 4,85. 2,5dime dollar三、完善程序题1. break Find(a,num,n) q->score.exam2 q->score.exam12. free(p2) NULL3. v2=h p=v2->next4. h!=NULL break (NP)malloc(sizeof(ND)) h=p p++第12章位运算一、选择题1.D2.A3.B4.A5.D二、基本概念填空题1. 111100002. a&03. a|077774. x|0xff005. a=012500>>26. ch|0x20提高题阅读程序题a1f6一、选择题1.B2.D3.C4.C二、基本概念填空题1. rewind2. stdio.h三、阅读程序题1. 将文件z.c复制到文件s.c中2. Like C四、完善程序题1. fgetc(fp) fclose(fp)2. fopen(fname, "w") ch3. w一、选择题1.D2.C3.D4.B5.C6.D二、阅读程序题1. 1213142526272. The fifth record is:#,9,5.6三、完善程序题1. int argc; char *argv[] argv[1] NULL fgetc(fp)2. int x[ ][6],int n \\my.out fp, "%3d",a[i][j] fp3. "a" fgetc(fp1) c,fp24. filename fp fp。
《C语言程序设计教程》习题参考答案C语言程序设计教程习题参考答案1. 基本概念与数据类型1.1 什么是C语言程序设计?C语言程序设计是一种计算机编程语言,它是一种结构化,通用的程序设计语言。
1.2 C语言的主要特点有哪些?C语言具有代码简洁、执行速度快、可移植性好等特点。
1.3 C语言的数据类型有哪些?请简要介绍。
C语言的数据类型包括基本数据类型和派生数据类型。
基本数据类型包括整型、浮点型、字符型和布尔型;派生数据类型包括数组、结构体、枚举和指针等。
2. 变量与运算符2.1 什么是变量?怎样定义和使用变量?变量是计算机内存中的一块存储空间,用于存储数据。
在C语言中,变量需要先定义后使用。
定义变量使用关键字"int"、"float"等,然后指定变量名,并可选地赋初值。
2.2 C语言中的运算符有哪些?请简要介绍。
C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符等。
算术运算符用于基本的数学运算;关系运算符用于比较两个变量的关系;逻辑运算符用于逻辑判断;赋值运算符用于将一个值赋给一个变量;位运算符用于对二进制数进行逐位操作。
3. 控制语句3.1 C语言中的条件语句有哪些?请简要介绍。
C语言中的条件语句包括if语句、switch语句等。
if语句用于根据条件执行不同的代码块;switch语句用于根据不同的表达式值选择不同的分支。
3.2 C语言中的循环语句有哪些?请简要介绍。
C语言中的循环语句包括while循环、do-while循环和for循环等。
while循环用于根据条件重复执行一段代码;do-while循环和while循环类似,但它会首先执行一次代码;for循环用于固定次数的循环。
4. 函数与数组4.1 什么是函数?怎样定义和调用函数?函数是一段完成特定任务的代码块,它可以接收输入参数,并返回一个值。
在C语言中,可以使用关键字"void"定义无返回值的函数,使用其他数据类型定义有返回值的函数。
高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案――武汉大学出版社习题1参考答案一、选择题1. A2. D二、填空题1. BASIC、FORTRAN、AL_GOL60和COBOL2. 83. 关键字4. 编辑、编译、链接和运行三、简答题1.答:(1)C语言具有结构化的控制语句。
C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。
(2)C语言具有丰富的数据结构类型。
C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。
C语言还提供了与地址密切相关的指针类型。
此外,用户还可以根据需要自定义数据类型。
(3)C语言具有丰富的运算符。
C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。
(4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。
(5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。
它既是成功的系统描述语言,又是通用的程序设计语言。
(6)C语言与汇编语言相比,可移植性好。
(7)功能强大。
C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。
现在许多系统软件都用C语言来描述,可以大大提高了编程效率。
2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。
3.答:(1)操作系统的设计与实现。
C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。
(2)工业控制。
由于C语言具有简洁、灵活、代码效率高、能进行位操作等优点,C语言大量应用在单板机、单片机上,以及嵌入式领域等。
(3)图形图像处理。
C语言在内存管理和进程控制方面有丰富的指令,而且它能提供快速运行的代码,因而C语言适合进行图形程序设计。
《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (17)【习题9】 (17)【习题10】 (20)一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?二、判断并改错1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。
并不限定在程序的开头。
1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确1.11注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
1.12所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题1.13在屏幕上输出自己名字的拼音。
提示:中文名字叫‚张三‛,对应的拼音为‚Zhang San‛,输出用printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15输入两个整数,输出其中最大者。