C语言程序设计(张曙光)教材各章习题解答

合集下载

c语言程序设计教材全部答案

c语言程序设计教材全部答案
本文由wbb308060955贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 C 教材习题答案 教材习题 习题答案 习题 1 一.填空题 1.C 程序是由(函数 )构成的,一个 C 程序中至少包含 (main 函数 ( 函数 ) 是 C 程序的基本单位。 2.C 程序注释是由(/* ) 和( */ ) 所界定的文字信息组成的。 3.函数体一般包括(声明部分) 和(执行部分 ) 。 ) 。因此, 二.判断题 1.一个 C 程序的执行总是从该程序的 main 函数开始,在 main 函数最后结束。 (正确) 2.main 函数必须写在一个 C 程序的最前面。 (错误) 3.一个 C 程序可以包含若干的函数。 (正确) 4.C 程序的注释部分可以出现在 程序的任何位置,它对程序的编译和运行不起任何作用。 但是可以增加程序的可读性 。 (正确) 5.C 程序的注释只能是一行。 (错误) 6.C 程序的注释不能是中文 文字信息。 (错误) 8.可以使用 Turbo C 来编译和连接一个 C 程序。 (正确) 9.可以使用 Turbo C 来运行一个 C 程序。 (正确) 10.可以使用 Turbo C 来实 时调试(即动态调试)一个 C 程序。 (正确) 三、在 c++ 6.0 中输入如下的程序 ,编译、连接通过后显示结果 (1) #include “stdio.h” void main() { printf(“ * ”) printf(“ *** ”); printf(“ ***** ”); printf(“******* ”); } 答案 : * *** ***** ******* (2)已知底和高,计算三角形的面积。 #include “stdio. h” void main() { int bottom,high,area; /*bottom 表示底,high 表示高,area 表示面积*/ bottom=4; high=6; area=bottom*high/2; printf(“the area is %d\n”,area); } 答案: the area is 12 四、算法设计:请试着分别用自然语言或、程序流程图和 NS 图描述如下算法。 1. 设计一个程序在屏幕上显示如下的文字 HELLO WELCOME Y OU 2. 打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其个位数字 立方 和等于该数本身。例如:153 是一个“水仙花数” ,因为 153=1 的三次方+5 的三 次方+3 的三次方。 3. 对输入的某学生成绩, 如果学习成绩>=90 分的同学 用 A 表示, 60-89 分之间的用 B 表示,60 分以下的用 C 表示。 4. 一个数如果恰 好等于它的因子之和,这个数就称为“完数” 。例如 6=1+2+3.编程 找出 1000 以 内的所有完数。 5. 一只猴子摘了 N 个桃子第一天吃了一半又多吃了一个,第二天又 吃了余下的一半又 多吃了一个,到第十天的时候发现还有一个,问共有多少个桃子。

《C语言程序设计》课件 《C语言程序设计》参考答案

《C语言程序设计》课件 《C语言程序设计》参考答案

《C语言程序设计》教材参考答案包括各单元:一.随堂练习二.本章自测第1章一.随堂练习【随堂练习1-1】1.根据上述示例模仿编程,输入正方形的边长,计算其面积。

#include <stdio.h>void main( ){ int a,s; //数据准备,边长a,面积sprintf("请输入正方形的边长:");scanf("%d",&a); //数据输入s=a*a; //数据计算printf("该正方形的面积为:%d.\n",s);}【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。

答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。

答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。

【随堂练习1-3】1.在VC++6.0环境中完成【例1.2】程序开发过程。

(略)2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。

工程文件夹中:.CPP:用C/C++语言编写的源代码文件。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。

项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。

c语言程序设计教程(第2版)完整编程答案1-8章

c语言程序设计教程(第2版)完整编程答案1-8章

9 c 32 ,程序中有多处错误, 5
请改正错误后运行正确的程序。 答:#include <stdio.h> #include <stdio.h> main() main() {float c=0,f=0; {float c=0,F=0; printf("input c:"); printf("input c:"); scanf("%f",&c); scanf("%f", c); f=((float)9/5)*c+32; f=(9/5)·c+32; printf("c=%f,f=%f\n",c,f); print("c=%f,f=%f\n",&c,&f); } } 扩展:把程序功能改为:输入华氏温度 f,计算摄氏温度 c。 #include <stdio.h> main()
0 x 2 2、编写程序,求下面分段函数的值,要求 x 的值从键盘输入。 y 2 x 3 10
(当x 0时) (当0 x 5时) (当5 x 10时) (当x 10时)
#include <stdio.h> main() { double x=0.0,y=0.0; int k=0; scanf("%lf",&x); k=1*(x<0)+2*(x>=0&&x<5)+3*(x>=5&&x<10)+4*(x>=10); switch(k) { case 1: y=0;break; case 2: y=x+2;break; case 3: y=x*x-3;break; case 4: y=10;break; } printf("x=%lf,y=%lf\n",x,y); } 训练 3.1:输入一个字符,如果是数字字符,则转换成对应的数字。 #include <stdio.h> main() { char ch='\0'; int a=-1; ch=getchar(); if(ch>='0'&&ch<='9') { a=ch-'0'; printf("charter %c ,digit:%d\n",ch,a); } else printf("%c is not digit\n",ch); } 扩展:将程序的功能改为:如果所输入的字符为大写字母,则将其转换为小写字母。请使用库函数判断和转 换。 #include <stdio.h> #include <ctype.h> main() { char ch='\0'; ch=getchar(); printf("the input charter is %c \n",ch); if(isupper(ch)) { ch=tolower(ch); printf("The corresponding lowercase letter is %c\n",ch); } else printf("It is not the capital letter!\n"); } 训练 3.2:求一元二次方程 ax2+bx+c=0 的实根(要求 a,b,c 的值从键盘输入,a≠0) #include <stdio.h> #include <math.h> main()

c 程序设计(第2版)课后习题答案

c 程序设计(第2版)课后习题答案

c 程序设计(第2版)课后习题答案C 程序设计(第2版)是一本经典的计算机编程教材,被广泛应用于计算机科学与技术专业的教学中。

该教材的每一章都附带了一系列的习题,这些习题在巩固学生对于 C 语言的理解和掌握方面起到了重要的作用。

然而,很多学生在自学或者课后复习的过程中常常会遇到习题解答的困扰。

因此,本文将为大家提供一些 C 程序设计(第2版)课后习题的答案,希望能够对大家的学习有所帮助。

第一章:C 程序设计概述1.1 习题解答:1) C 程序设计的特点包括高效性、可移植性、灵活性和可扩展性。

2) C 程序设计的基本结构包括预处理指令、函数定义和主函数。

3) C 程序设计的编译过程包括预处理、编译、汇编和链接四个阶段。

第二章:C 语言基础2.1 习题解答:1) C 语言中的标识符是指用于标识变量、函数、数组等各种程序实体的名称。

标识符的命名规则包括:只能由字母、数字和下划线组成,且不能以数字开头;不能使用 C 语言的关键字作为标识符;标识符区分大小写。

2) C 语言中的常量是指在程序中直接使用的固定值,包括整型常量、实型常量、字符常量和字符串常量。

3) C 语言中的变量是指用于存储数据的内存空间,包括整型变量、实型变量、字符变量和字符串变量。

第三章:运算符和表达式3.1 习题解答:1) C 语言中的算术运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)和取模运算符(%)等。

2) C 语言中的关系运算符包括大于运算符(>)、小于运算符(<)、等于运算符(==)、不等于运算符(!=)等。

3) C 语言中的逻辑运算符包括与运算符(&&)、或运算符(||)和非运算符(!)等。

第四章:选择结构4.1 习题解答:1) C 语言中的 if 语句用于实现单一条件的判断,格式为:if (条件表达式) {语句块}。

2) C 语言中的 if-else 语句用于实现两个条件的判断,格式为:if (条件表达式) {语句块1} else {语句块2}。

第7章C语言程序设计(张曙光)教材各章习题解答

第7章C语言程序设计(张曙光)教材各章习题解答

(1)地址(2)0(3)&(4)*(5)地址赋值语句(6)0(7)2(8)a[0] a[4](9)s=p+3; s=s-2; 5 2(10)6 42.(1)错误原因:指针变量p在使用之前没有明确指向某一变量printf("%d\n",*p); 更正:使指针变量p指向某一整型变量(2)错误原因:指针变量p1、p2指向不同类型的变量,不能互相赋值更正:使指针变量p1、p2指向同类型变量(3)错误原因:不能将一般变量的内容赋值给指针变量更正:x=&y;(4)错误原因:输出函数中的%f与p不对应,若用%f则应输出*p,若要输出p,则应用格式%d、%o或%x更正:printf("%f\n",*p);或printf("%d\n",p); 或printf("%o\n",p); 或printf("%x\n",p);(5)指针变量aptr之前没有明确指向,更正:在此语句前加aptr=a;不能将地址赋给一般变量,更正:n=aptr[2];a是数组名,表示数组首地址,是常量,不能进行自增运算,更正:删除该语句3.(1)C)(2)A)(3)A)(4)B)(5)D)(6)B)(7)B)(8)D)(9)B)(10)A)(1)7,3 3,7(2)1,66,7(3)24(4)5,-2,7(5)8,8(6)4, 2,12,11(7)7(8)7,8,75.#include <stdio.h>int main(void){int a,b,c,x;int *pa,*pb,*pc;pa=&a;pb=&b;pc=&c;printf("请输入3个整数\n");scanf("%d%d%d",pa,pb,pc);if(*pa>*pb){x=*pa;*pa=*pb;*pb=x;}if(*pa>*pc){x=*pa;*pa=*pc;*pc=x;}if(*pb>*pc){x=*pb;*pb=*pc;*pc=x;}printf("这3个数由小到大的排列顺序为%d,%d,%d",*pa,*pb,*pc);return 0;}#include <stdio.h>#include <string.h>void input(int number[]){int *p=number;printf("Input 10 numbers:");for(p=number;p<number+10;p++)scanf("%d",p);}void max_min_value(int array[]){int *max,*min,*p,*array_end,temp;array_end=array+10;max=min=array;for(p=array+1;p<array_end;p++)if(*p>*max) max=p;else if(*p<*min) min=p;temp=array[0];array[0]=*min;*min=temp;temp=array[9];array[9]=*max;*max=temp; }void output(int array[]){int *p;printf("Now, they are:");for(p=array;p<array+10;p++)printf("%d ",*p);printf("\n");}int main(void){int number[10];input(number);max_min_value(number);output(number);}7.#include <stdio.h>#define N 6void fan(int *s,int n){int *p=s,*q=s+n-1,t;while(p<q)t=*p;*p=*q;*q=t;p++;q--;}}int main(void){int a[N],i;printf("输入数组:");for(i=0;i<N;i++)scanf("%d",&a[i]);fan(a,N);printf("逆序数组:");for(i=0;i<N;i++)printf("%d\t",a[i]);return 0;}8.#include <stdio.h>int main(void){ int k,i,t,m,n,num[50],*p;printf("Input number m,n:");scanf("%d%d",&m,&n);p=num;for(i=0;i<n;i++)*(p+i)=i+1; /*以1至n为序给每个人编号*/i=0; /*每次循环时的计数变量*/k=0; /*按1到m报数时的计数变量*/t=0; /* 退出人数*/while(t<=n-1) /*当退出人数比n-1少时(即未退出人数大于1时)执行循环体*/ { if(*(p+i)!=0) k++;if(k==m) /*将退出的人的编号置为0*/{ printf("%d,",*(p+i));*(p+i)=0;k=0;t++;}i++;if(i==n) i=0; /*报数到尾后,i恢复为0*/}return 0;}。

C语言程序设计(张曙光)教材各章习题解答

C语言程序设计(张曙光)教材各章习题解答

1.填空题。

(1)UNIX
(2)编译程序
(3)结构化面向对象
(4)函数
(5)主函数(main函数)
(6)c obj exe
2.选择题。

(1)B(2)A(3)B(4)C(5)B
3.问答题。

(1)
采用与硬件无关的计算机语言来编写程序便于程序的移植。

与机器相关的语言一般是低级语言。

低级语言需要编程人员对操作系统和硬件有一定的了解。

(2)
一个C语言程序由若干个函数组成,有且仅有一个main函数(主函数),它是程序执行的入口。

函数是C语言程序的基本单位,C语言中的函数可分为系统库函数和用户自定义函数。

每个函数完成整个程序功能中的一个独立的子功能。

C语言程序中可以包含预处理命令(如:#include命令)。

预处理命令通常放在程序的开始位置,它不是C语言程序中的语句。

程序中一行可以写一条语句,也可以写多条语句。

当一条语句一行写不下时,可以分成多行写。

每一条语句必须以分号结尾。

为了增强程序的可读性,可以在程序的中增加注释。

注释以“/*”开头,以“*/”结束,在程序中出现的操作对象(如变量、数组、函数等)都必须在使用前进行声明或定义。

(3)
编辑源程序,编译程序生成目标代码,连接目标文件模块和系统提供的标准库函数生成可执行文件,运行程序。

第5章C语言程序设计(张曙光)教材各章习题解答

第5章C语言程序设计(张曙光)教材各章习题解答

(1)int(2)fun(n,x)(3)函数类型(4)3(5)3(6)单向值传递(7)double fun(double x);void two_beeps();(8)1+2+…+n 递归算法(9)auto register static extern(10)编译2.(1)函数定义和函数原型不一致。

函数定义的头部改为:double f1(float num)(2)num为形参。

删除float num;(3)缺少函数原型的声明。

在#include <stdio.h>命令行下增加函数原型声明float ftoc(float temperature);3.(1)C)(2)C)(3)A)(4)B)(5)D)(6)D)(7)D)(8)C)4.(1)①float fs( float x, float y) ②float z ③z;(2)④double max(3)⑤k+1;i++ ⑥n%10(4)⑦3+DIF(n-1)(5)⑧i<=y⑨s=s*x5.(1)6(2)3.00(3)7(4)12624120(5)The number of taozi is 316.#include <stdio.h>int fun(int m){int i=1,s=0;while(i<=1000){if(i%m==0)s+=i;i++;}return(s);}int main(void){int m,sum=0;scanf("%d",&m);sum=fun(m);printf("%d",sum);return 0;}7.#include <stdio.h>double fun(int n){int i=1;double s=0;while(i<=n){if(i%3==0|| i%5==0)s+=1.0/i;i++;}return(s);}int main(void){int n;double sum=0;scanf("%d",&n);sum=fun(n);printf("%f",sum);return 0;}8.#include <stdio.h>int hef(int u,int v){int t,r,m=u,n=v;if (v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(m*n/v);}int main(void){int b[5],i,f[5];for(i=0;i<5;i++)scanf("%d",&b[i]);f[4]=b[4];for(i=4;i>=0;i--)f[i-1]=hef(f[i],b[i-1]);printf("%d",f[0]);return 0;}9.#include <stdio.h>#include <math.h>int num_of_primes(int x, int y){int n,i,num=0,flag;for (n=x;n<=y;n++){ flag=0;for (i=2;i<=sqrt((double)n);i++)if (n%i==0){flag=1;break;}if (!flag)num++;}return(num);}int main(void){int a,b,t;int countnum;scanf("%d%d",&a,&b);if(a>b){t=a; a=b;b=t;}countnum=num_of_primes(a,b);printf("%d",countnum);return 0;}。

c程序设计第二版习题答案

c程序设计第二版习题答案

c程序设计第二版习题答案C程序设计第二版习题答案第一章:C语言概述1. 描述C语言的特点。

- C语言是一种结构化编程语言,以其高效性、灵活性和可移植性而闻名。

它支持过程式编程和低级内存操作,适合编写系统软件、操作系统和嵌入式系统。

2. 解释C语言的编译过程。

- C语言的编译过程通常包括预处理、编译、汇编和链接四个步骤。

预处理阶段处理宏定义和条件编译指令,编译阶段将源代码转换为汇编代码,汇编阶段将汇编代码转换为目标代码,链接阶段将目标代码与库函数链接生成可执行文件。

第二章:数据类型、运算符和表达式1. 列举C语言的基本数据类型。

- C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)以及枚举型(enum)。

2. 说明赋值运算符的用法。

- 赋值运算符(=)用于将一个值赋给一个变量。

例如,`a = 5;`表示将整数5赋给变量a。

第三章:控制语句1. 描述if语句的语法结构。

- if语句的基本语法是:`if (条件) { 语句; }`。

如果条件为真,则执行花括号内的语句。

2. 解释while循环的工作原理。

- while循环在每次迭代之前都会检查条件是否为真。

如果条件为真,循环体内的语句将被执行,然后再次检查条件。

这个过程会一直重复,直到条件为假。

第四章:函数1. 函数的定义和声明。

- 函数定义是创建函数的主体,包括函数名、参数列表和函数体。

函数声明是告诉编译器函数的原型,包括函数名、返回类型和参数列表。

2. 函数的调用过程。

- 函数调用包括函数名和参数列表。

调用时,实际参数的值将传递给形式参数,函数执行完毕后,返回值(如果有的话)将返回给调用者。

第五章:数组和指针1. 数组的基本概念。

- 数组是一种数据结构,可以存储固定大小的同类型元素的集合。

数组的元素可以通过索引访问。

2. 指针的用途。

- 指针用于存储内存地址,可以直接操作内存。

指针可以指向基本数据类型、数组、结构体等。

C语言程序设计课后习题答案

C语言程序设计课后习题答案

C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息:**************************V ery good!**************************解:#include<stdio.h>void main(){printf(“**************************”);printf(“\n”);printf(“V ery good!\n”);printf(“\n”);printf(“**************************”);}2.编写一个C程序,输入a、b、c三个值,输出其中最大值。

解:#include<stdio.h>void main(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf(“最大数为: %d”,max);}第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。

解:#include<stdio.h>#include<math.h>void main(){double P, r=0.1, n=10;P=pow((1+r), n);printf(“%lf\n”, P);}3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是“E”,“E”代替“A”。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为‟C‟、‟h‟、‟i‟、‟n‟、‟a‟,经过运算,使c1、c2、c3、c4、c5分别变为‟G‟、‟l‟、‟m‟、‟r‟、‟e‟,并输出。

(word完整版)C语言程序设计课后习题1-8参考答案

(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

c语言程序设计第2版习题答案

c语言程序设计第2版习题答案

c语言程序设计第2版习题答案C语言程序设计是计算机科学领域中一门重要的编程语言,它被广泛应用于软件开发和系统设计中。

为了帮助学习者更好地理解和掌握C语言的基本概念和编程技巧,本文将为读者提供《C语言程序设计第2版》习题答案。

第一章:基本概念和语法本章主要介绍了C语言的基本概念和语法规则。

以下是一些习题的答案:1. 编写一个程序,输出"Hello, World!"。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 编写一个程序,输入两个整数并计算它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```第二章:控制结构本章主要介绍了C语言中的控制结构,包括条件语句和循环语句。

以下是一些习题的答案:1. 编写一个程序,判断一个整数是否为正数、负数或零。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num > 0) {printf("正数\n");} else if (num < 0) {printf("负数\n");} else {printf("零\n");}return 0;}```2. 编写一个程序,计算1到100之间所有偶数的和。

《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); // 存活期存款。

(完整版)C教材习题答案(1-8章)

(完整版)C教材习题答案(1-8章)
#include <stdio.h>
main()
{
int score;
char ch;
printf("请输入一个百分制分数:");
scanf("%d",&score);
if(score>100 || score<0){
printf("非法输入!\n");
return 0;
}
switch(score/10) {
#include<math.h>
main(){
float s=0;
int i,j,n,t;
printf("请输入n的值:");
scanf("%d",&n);
for(i=1;i<=n;i++){
t=1;
for(j=1;j<=i;j++)
t*=j;
s+=1.0/t;
}
printf("%.2f\n",s);
}
2.输出100以内所有能被13和17整除的数。
#include<stdio.h>
main(){
int i;
for(i=1;i<=100;i++)
if(i%13==0 || i%17==0)
printf("%4d",i);
}
3整元换零钱问题。把5元兑换成1角,2角,5角的硬币,一共有多少种换法,编写求解此问题。
printf("5角:%d个\t2角:%d个\t1角:%d个\n",i,j,k);
n++;

C语言程序设计教程 前三章答案

C语言程序设计教程 前三章答案

第一章(第13页)1.计算机程序也常称为“代码”,是用一系列指令编写的,可以由计算机执行的以完成某一特定任务的脚本。

程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。

程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。

程序设计过程应当包括分析、设计、编码、测试、排错、撰写文档等不同阶段。

专业的程序设计人员常被称为程序员。

2.通过计程序设计语言,可以实现人与计算机之间的沟通,使计算机能够按照人的意图进行工作。

特点:(1)高级程序设计语言不依赖于具体的机器,对计算机了解较少的人也可以学习和使用,有良好的可移植性,在一种类型的机器上编写的程序不做很大的改动就能在别的机器上运行:(3)每条高级语言语句对应于多条汇编指令或机器指令,编程效率高:(4)高级语言提供了丰富的数据结构和控制结构,提高了问题的表达能力,降低了程序的复杂性;(5)高级语言接近于自然语言,编程更加容易,编写出的程序有良好的可读性,便于交流和维护。

3.算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。

一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

目前描述算法的方法有很多,如:自然语言、流程图、N-S流程图、PAD图和伪代码等。

、4.(1)头文件。

如:#include“stdio.h”,即表示库函数中的输入输出函数;(2)主函数,一个C语言程序中只能有一个主函数:main();(3)用户自定义函数;(4)函数体。

当中包含数据类型的定义,赋值,和一系列的执行语句。

5.#include <stdio.h> //编译预处理int main() //主函数头部{ //主函数体开始printf("Hello,C World!\n"); //输出字符串return 0; //返回值为0}6.(1)写代码。

《C语言程序设计》课后习题答案第四版

《C语言程序设计》课后习题答案第四版

《C语言程序设计》课后习题答案第四版C语言程序设计课后习题答案第四版第一章基本概念和语法1.以下是一些基本概念和语法的习题答案:1.1 基本概念1.1.1 C语言是一种高级程序设计语言,最初由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)于1972年开发。

1.1.2 C语言具有跨平台性,能够在多个操作系统上运行。

1.1.3 C语言程序是由函数构成的,每个程序都至少包含一个main函数。

1.2 数据类型和变量1.2.1 C语言中的基本数据类型包括整型(int)、浮点型(float)、字符型(char)和布尔型(bool)等。

1.2.2 变量是用来存储数据的内存位置,它们需要在使用前进行声明。

1.3 运算符和表达式1.3.1 运算符用来执行各种运算操作,例如加减乘除和逻辑运算等。

1.3.2 表达式由变量、常量和运算符组成,用来进行数据计算和逻辑判断。

1.4 控制语句1.4.1 if语句用于条件判断,根据条件的真假来选择执行不同的代码块。

1.4.2 for循环语句用于重复执行某段代码,可以设定循环次数或者循环条件。

1.4.3 switch语句用于多条件选择,根据不同的条件执行相应的代码块。

第二章数组和字符串2.以下是关于数组和字符串的习题答案:2.1 数组2.1.1 数组是一种用来存储多个相同类型数据的数据结构。

2.1.2 数组可以通过索引访问和修改其中的元素,索引从0开始。

2.1.3 数组的长度是固定的,声明时需指定数组的大小。

2.2 字符串2.2.1 字符串是由字符组成的数组,以空字符'\0'结尾。

2.2.2 字符串可以通过数组或者指针方式进行操作。

2.2.3 C语言提供了许多用于处理字符串的函数,例如strcpy、strcmp和strlen等。

第三章函数和指针3.以下是有关函数和指针的习题答案:3.1 函数3.1.1 函数是一段可重复调用的代码块,用于执行特定的任务。

C语言程序设计》课后习题详细答案

C语言程序设计》课后习题详细答案
(2)在同一行上的/ * main function * /显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d

第9章C语言程序设计(张曙光)教材各章习题解答

第9章C语言程序设计(张曙光)教材各章习题解答

1.(1)struct struct student stu(2). ->(3)4(4)a(5)malloc() free()(6)s->next=p->next p->next=sp->next=p->next->next(7)typedef(8)枚举2.(1)scanf("%s",*cPtr->suit);错误。

更正为scanf("%s",cPtr->suit);(2)printf("%s\n", hearts.face); 错误。

更正为printf("%s\n", hearts[0].face); (3)赋初值错误。

应该赋予一个字符型的初值。

(4)枚举类型的定义错误。

更正为enum a {one=9,two=-1,three};3.(1)A)(2)D)(3)D)(4)D)(5)D)(6)B)4.(1)①sizeof(stu)(2)②struct object *next;(3)③old=q->age; ④q->name,q->age(4)⑤struct link *head ⑥p->data ⑦p->next5.(1)51,60,21(2)1,1(3)04510(4)2,3(5)求链表中所有节点数据域之和。

6.#include <stdio.h>struct complex /*定义结构体类型复数*/{double x; /*实部*/double y; /*虚部*/};struct complex complex_add( struct complex a,struct complex b )/*求复数的加法*/ {struct complex c;c.x = a.x+b.x;c.y = a.y+b.y;return c;}struct complex complex_sub( struct complex a,struct complex b ) /*求复数的减法*/ {struct complex c;c.x = a.x-b.x;c.y = a.y-b.y;return c;}void complex_print( struct complex c ) /*输出复数*/{if( c.x )printf( "%lf",c.x );if( c.y>0 )printf( "+%lfi",c.y );else if( c.y<0 )printf( "%lfi",c.y );}void complex_scan( struct complex *p ){scanf( "%lf%lfi",&p->x,&p->y );}int main(void){struct complex a, b, c;complex_scan( &a );complex_scan( &b );c = complex_add( a,b );complex_print( a );printf( " + " );complex_print( b );printf( " = " );complex_print( c );printf("\n");c = complex_sub( a,b );complex_print( a );printf( " - " );complex_print( b );printf( " = " );complex_print( c );printf("\n");return 0;}7..struct dt{ int year;int month;int day;}date;main(){ int I,day_num;printf(“please input year,yue and day\n”);scanf(“%d,%d,%d”,&date.year, &date.month, &date.day);printf(“\n %d 月%d 日is %d 第%d天”,date.month, date.day, date.year,days(date.year,date.month,date.day));}days(year,month,day)int year,month,day;{int day_sum,I;static int_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};day_sum=0;for (i=1;i<month;i++){day_sum+=day_tab[i];}day_sum+=day;if{{year%4==0 &&year%100!=0||year%4==0}&&month>=3}day_sum+=1;return(day_sum);}8.typedef char datatype;typedef struct node{ datatype data;struct node *next;}linklist;insert(linklist *head,datatype a, datatype key) { linklist *s,*p,*q;s=(linklist *)malloc(sizeof(linklist));s->data=key;q=head; p=head->next;if(p==NULL){s->next=p;q->next=s;return;}while((p->data!=a)&&(p->next!=NULL)) {q=p; p=p->next;}if(p->data==a){s->next=p;q->next=s;}else{s->next=NULL;p->next=s;}}9.typedef int datatype;typedef struct node{ datatype data;struct node *next;}linklist;invert(linklist *head){ linklist *p,*q;p=head->next;if(p!=NULL){ head->next=NULL;do{q=p->next; p->next=head->next;head->next=p; p=q;}while(p!=NULL);}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.填空题。

(1)UNIX
(2)编译程序
(3)结构化面向对象
(4)函数
(5)主函数(main函数)
(6)c obj exe
2.选择题。

(1)B(2)A(3)B(4)C(5)B
3.问答题。

(1)
采用与硬件无关的计算机语言来编写程序便于程序的移植。

与机器相关的语言一般是低级语言。

低级语言需要编程人员对操作系统和硬件有一定的了解。

(2)
一个C语言程序由若干个函数组成,有且仅有一个main函数(主函数),它是程序执行的入口。

函数是C语言程序的基本单位,C语言中的函数可分为系统库函数和用户自定义函数。

每个函数完成整个程序功能中的一个独立的子功能。

C语言程序中可以包含预处理命令(如:#include命令)。

预处理命令通常放在程序的开始位置,它不是C语言程序中的语句。

程序中一行可以写一条语句,也可以写多条语句。

当一条语句一行写不下时,可以分成多行写。

每一条语句必须以分号结尾。

为了增强程序的可读性,可以在程序的中增加注释。

注释以“/*”开头,以“*/”结束,在程序中出现的操作对象(如变量、数组、函数等)都必须在使用前进行声明或定义。

(3)
编辑源程序,编译程序生成目标代码,连接目标文件模块和系统提供的标准库函数生成可执行文件,运行程序。

相关文档
最新文档