C 程序设计第六章答案
- 格式:doc
- 大小:58.00 KB
- 文档页数:17
1.以下对一维整型数组a的定义,正确的是_。
(2分)A.int a(10) ;B.int n = 10 , a[n] ;C.int n ;scanf( "%d" , &n ) ;int a[n] ;D.int a[10] ;2.若有定义:int a[10] ;,则对a数组元素的正确引用是_。
(2分)A.a[10]B.a[3.5]C.a(5)D.a[10-10]3.对定义int a[10] = {6 , 7 , 8 , 9 , 10} ; 的正确理解是_。
(2分)A.将5个初值依次赋给a[1]--a[5]B.将5个初值依次赋给a[0]--a[4]C.将5个初值依次赋给a[6]--a[10]D.因为数组长度与初值个数不相同,所以此语句不正确4..若有定义:int a[3][4]; , 则对a数组元素的正确引用是_。
(2分)A.a[3][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)5.以下对二维数组a初始化正确的语句是_。
(2分)A.int a[2][ ]={{0 , 1 , 2}, {3 , 4 , 5}};B.int a[ ][3]={{0, 1, 2}, {3, 4, 5}};C.int a[2][4]={{0, 1 , 2}, {3 , 4}, {5}};D.int a[ ][3]={{0, 1, 2}, { }, {3, 4}};6.对二维数组a进行如下初始化:int a[ ][3]={0 , 1 , 2 , 3 , 4 , 5};则a[1][1]的值是_。
(2分)A.0B.3C.4D.17.下面程序段的运行结果是_。
(2分)#include<stdio.h>int main( ){int i , x[3][3] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} ;for( i = 0 ; i < 3 ; i++ )printf( "%2d" , x[i][2-i] ) ;return 0 ;}A.1 5 9B.1 4 7C.3 5 7D.3 6 98.以下对数组s的初始化,错误的是_。
《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。
它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。
1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。
其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。
1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。
每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。
1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。
通过运算符和表达式可以进行各种数值计算和逻辑判断。
第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。
整型数据类型可以表示整数值,并具有不同的取值范围。
2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。
浮点型数据可以表示较大或较小的数值,并具有一定的精度。
2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。
字符型数据可以用于表示各种字符(包括字母、数字、符号等)。
2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。
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语⾔程序设计教程第六章课后习题参考答案P158 1求三个实数最⼤值#includefloat max(float,float,float);int main(){float a,b,c,m;printf("请输⼊三个实数:");scanf("%f %f %f",&a,&b,&c);printf("最⼤数为%f\n",max(a,b,c));return 0;}float max(float a,float b,float c){float t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;elset=c;return t;}P158 2求最⼤公约数最⼩公倍数#includeint fun1(int a,int b);int fun2(int a,int b);int main(){int a,b;printf("请输⼊两个整数:");scanf("%d %d",&a,&b);printf("最⼤公约数为:%d\n",fun1(a,b));int t,r;if(a{t=a;a=b;b=t;}while((r=(a%b))!=0) {a=b;b=r;}return b;}int fun2(int a,int b) {int n;n=(a*b)/fun1(a,b); return n;}P158 3求完全数#includevoid wan(int n); void main(){int n;for(n=1;n<1000;n++) wan(n);printf("\n");}void wan(int n){if(n%i==0)s=s+i;}if(n==s)printf("%d\t",n); }P158 4⽆暇素数#include#includeint nixvshu(int n);int isPrime(int n);int main(){int n,t;printf("⽆暇素数:\n");for(n=100;n<=999;n++) {t=nixvshu(n);if(isPrime(n)&&isPrime(t)) printf("%d\t",n);}printf("\n");return 0;}int nixvshu(int n){int x=0;while(n){x=x*10+n%10;n=n/10;}return x;int i;for(i=2;i<=sqrt(n);i++)if(n%i==0) return 0;return n;}P158 7递归函数#includeint Y(int n){if(n==0)return 0;if(n==1)return 1;if(n==2)return 2;elsereturn (Y(n-1)+Y(n-2)+Y(n-3)); } int main(){int n,k=0;for(n=0;n<=19;n++){printf("%d\t",Y(n));k++;if(k%5==0)printf("\n");}return 0;}P124 6分解质因数#include#includevoid fenjie(int );int main(){int n;printf("请输⼊⼀个正整数:"); scanf("%d",&n);if(isPrime(n)){printf("%d=1*%d\n",n,n);}else{fenjie(n);printf("\n");}return 0;}int isPrime(int n){int i;for(i=2;i<=sqrt(n);i++){if(n%i==0) return 0;}return 1;}int zhi(int n){int m;for(m=2;m<=n;m++){if(isPrime(m)&&(n%m==0)) break;void fenjie(int n){int m;printf("%d=%d",n,zhi(n));while(n>zhi(n)){m=zhi(n);n=n/m;printf("*%d",zhi(n));}}P47 1输出闰年#includeint f(int year);int main(){int year,k=0;for(year=1900;year<=2000;year++){if(f(year)){printf("%d\t",year);k++;if(k%5==0)printf("\n");}}return 0;}int f(int year){if((year%4==0&&year%100!=0)||(year%400==0)) return year;P47 2输出回⽂数#includeint fun(int n);int main(){int n,k=0;for(n=10;n<=2000;n++) {if(n == fun(n)){printf("%d\t",n);k++;if(k%5==0)printf("\n");}}return 0;}int fun(int n){int i=0;while(n>0){i=i*10+n%10;n=n/10;}return i;}P47 3进制转换#includevoid trans(int n,int base); int main()printf("请输⼊要转换的⼗进制数:"); scanf("%d",&n);printf("请输⼊转换的进制:"); scanf("%d",&base);trans(n,base);printf("\n");return 0;}(⽅法⼀)void trans(int n,int base){if(n){trans(n/base,base);if(n%base>=10)switch(n%base){case 10:printf("A");break;case 11:printf("B");break;case 12:printf("C");break;case 13:printf("D");break;case 14:printf("E");break;case 15:printf("F");break;}elseprintf("%d",n%base);}}(⽅法⼆)void trans(int n,int base){int r;char c;trans(n/base,base); r=n%base;if(r>=10)c='A'+r-10;elsec='0'+r;printf("%c",c);}}。
《C语言程序设计》课后习题答案高等教育出版社《C语言程序设计》课后习题答案高等教育出版社第一章:C语言概述1. C语言的特点C语言是一种以处理底层任务和系统编程为目标的高级编程语言。
其特点包括语法简洁、执行效率高、可移植性强等。
第二章:C语言基本数据类型1. C语言中的基本数据类型C语言中的基本数据类型包括整型、字符型、浮点型等。
整型可以进一步细分为有符号整型和无符号整型。
第三章:C语言运算符1. C语言中的运算符C语言中常见的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符等。
这些运算符用于执行各种数学和逻辑操作。
第四章:C语言控制语句1. C语言中的条件语句C语言提供了if语句和switch语句来实现条件判断。
if语句用于执行基于布尔表达式的条件分支,而switch语句用于根据不同的值执行不同的代码块。
第五章:C语言函数1. C语言中的函数定义和调用函数是C语言中的基本模块,用于封装可重用的代码。
函数定义包括函数返回类型、函数名、参数列表和函数体等部分。
第六章:C语言数组1. C语言中的数组定义和使用数组是一组相同类型的数据元素的集合。
C语言中可以使用数组来存储和操作大量数据。
第七章:C语言指针1. C语言中的指针概念指针是一种变量,它存储了内存地址。
通过指针,可以直接访问和修改对应内存地址中的数据。
第八章:C语言字符串1. C语言中的字符串操作字符串是由一系列字符组成的数据类型。
C语言通过字符数组来表示和操作字符串。
第九章:C语言结构体1. C语言中的结构体定义和使用结构体是一种自定义的复合数据类型,它可以包含多个不同类型的成员变量。
第十章:C语言文件操作1. C语言中的文件读写操作文件操作是一种重要的数据输入和输出方式。
C语言提供了一系列函数来实现文件的读写操作。
总结:通过解答以上习题,我们可以更好地掌握C语言的各个方面,提升我们的编程能力和解决问题的能力。
希望本文对读者有所帮助。
谭浩强c语言程序设计第二版答案谭浩强教授的《C语言程序设计》第二版是一本广受好评的C语言教材,它不仅详细介绍了C语言的基础知识,还通过大量的实例和习题来帮助读者加深理解。
以下是对该书中一些习题的答案解析,但请注意,这些答案仅供参考,实际编程时还需要根据具体问题进行调整。
第一章:C语言概述1. 问题1:为什么C语言既具有高级语言的特点,又具有低级语言的特点?- 答案:C语言具有高级语言的特点,因为它提供了丰富的数据类型、结构化编程和抽象能力。
同时,它又具有低级语言的特点,因为它允许直接访问内存地址,进行位操作,并且具有高效的运行速度。
第二章:数据类型、运算符与表达式1. 问题1:如何理解C语言中的变量?- 答案:变量是程序中存储数据的容器,它们具有特定的数据类型,用来存储整型、浮点型、字符型等数据。
变量在使用前需要声明,声明时需要指定变量的类型和名称。
2. 问题2:C语言中的运算符有哪些?- 答案:C语言中的运算符包括算术运算符(如+、-、*、/、%)、关系运算符(如<、>、==、!=)、逻辑运算符(如&&、||、!)、位运算符(如&、|、^、~、<<、>>)等。
第三章:控制结构1. 问题1:请解释if-else语句的工作原理。
- 答案:if-else语句是一种条件控制结构,它根据条件表达式的真假来决定执行哪一段代码。
如果条件表达式为真,则执行if语句块中的代码;如果为假,则执行else语句块中的代码。
2. 问题2:while循环和do-while循环有什么区别?- 答案:while循环先判断条件再执行循环体,如果条件为假,则不执行循环体。
do-while循环则先执行一次循环体,然后再判断条件,即使条件为假,循环体也会至少执行一次。
第四章:函数1. 问题1:函数的作用是什么?- 答案:函数是一段具有特定功能的代码块,可以被重复调用。
函数的使用可以提高代码的复用性,降低程序的复杂度,并且使程序结构更加清晰。
智慧树知到《计算机程序设计(C语言)》章节测试答案第一章1、一个C程序可以有()个主函数。
A:1B:2C:3D:多个答案: 12、C语言是函数式的语言。
A:对B:错答案: 对3、C语言是高级语言。
A:对B:错答案: 对4、Visual C++不支持C语言。
A:对B:错答案: 错5、C语言是编译式的语言。
A:对B:错答案: 对第二章1、double x;scanf("%lf",&x);不可以赋值给x变量的常量是( ). A:123B:100000C:A'D:"abc"答案: "abc"2、下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案: 2133、下列程序的输出结果是().main(){char c1=97,c2=98;printf("%d %c",c1,c2);}A:97 98B:97 bC:a 98D:a b答案: 97 b4、以下标识符中,不能作为合法的C用户定义标识符的是(). A:a3_b3B:voidC:_123D:IF答案: void5、以下标识符中,不能作为合法的C用户定义标识符的是(). A:answerB:toC:signedD:_if答案: signed第三章1、逻辑运算低于关系运算.A:对B:错答案:A2、x=y+8 等价于 x=x(y+8).A:对B:错答案:A3、关系运算高于算术运算.A:对B:错答案:B4、若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". A:对B:错答案:A5、若给定条件表达式(M)?(a++):(a–),则其中表达式M(). A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第四章1、结构化程序设计所规定的三种基本控制结构是().A:输入、处理、输出B:树形、网形、环形C:顺序、选择、循环D:主程序、子程序、函数答案:C2、C语言中用于结构化程序设计的三种基本结构是().A:顺序结构、选择结构、循环结构B:if、switch、breakC:for、while、do-whileD:if、for、continue答案:A3、int a=7,b=9,t;t=(a>b)?a:b;t的值为7.A:对B:错答案:B4、赋值语句中的赋值运算符的左侧只能是唯一的变量。
C语言程序设计-第三版-谭浩强主编第6—8章课后习题答案第六章循环语句6.1输入两个正数,求最大公约数和最小公倍数.#includevoidmain(){inta,b,num1,num2,temp;printf(\请输入两个正整数:\\n\canf(\if(num1temp=num1;num1=num2;num2=temp;}a=num1,b=num2;while(b!=0){temp=a%b;a=b;b=temp;}printf(\它们的最大公约数为:%d\\n\printf(\它们的最小公倍数为:%d\\n\}编译已通过6.2输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.解:#includevoidmain(){charc;intletter=0,pace=0,degit=0,other=0;printf(\请输入一行字符:\\n\while((c=getchar())!='\\n'){if(c>='a'&&c<='z'||c>'A'&&c<='Z')letter++;eleif(c=='')pace++;eleif(c>='0'&&c<='9')digit++;eleother++;}printf(\其中:字母数=%d空格数=%d数字数=%d其它字符数=%d\\n\digit,other);}6.3求(n)=a+aa+aaa++aaa之值,其中a是一个数字,n表示a的位数。
解:voidmain(){inta,n,count=1,n=0,tn=0;printf(\请输入a和n的值:\\n\canf(\printf(\while(count<=n){tn=tn+a;n=n+tn;a=a某10;++count;}printf(\\\n\}6.4求(即1+2!+3!+4!++20!)voidmain(){floatn,=0,t=1;for(n=1;n<=20;n++){t=t某n;=+t;}printf(\\\n\}阶乘利用递归,再求和:#includeuingnamepacetd;longFunc(intn){ if(1==n)returnn;if(n>1)returnn某Func(n-1);}main(){long=0;inti=1;while(i<=6){=+Func(i);i++;}cout<6.5求voidmain(){intk,N1=100,N2=50,N3=10;float1=0.0,2=0.0,3=0.0;for(k=1;k<=N1;k++)/某计算1到100的和某/{1=1+k;}for(k=1;k<=N2;k++)/某计算1到50各数平方和某/{2=2+k某k;}for(k=1;k<=N3;k++)/某计算1到10各数倒数之和某/{3=3+1.0/k;}printf(\总和=%8.2f\\n\}已通过intmain(){intk=1,i=11,j=51;float=0.0;while(k<=10){=+k+k某k+1.0/k;while(k==10&&i<=50){=+i+i某i;while(i=50&&j<=100){ =+j;j++;}i++;}k++;}}6.6所谓“水仙开数”是指一个3位数,其个位数字立方和等于该数本身。