C语言程序设计教程习题答案

合集下载

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识一、单项选择题1、面向过程的程序设计语言是________。

A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。

A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是_________。

A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是__________。

A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是___________。

A)程序就是软件,但软件不仅仅是程序。

B)程序是指令的集合,计算机语言是编写程序的工具。

C)计算机语言都是形式化的语言,它有一个语法规则和定义。

D)计算机语言只能编写程序而不能表示算法。

6、下面描述中,正确的是_____________。

A)结构化程序设计方法是面向过程程序设计的主流。

B)算法就是计算方法。

C)一个正确的程序就是指程序书写正确。

D)计算机语言就是编写程序的工具而不是表示算法的工具。

7、下面描述中,不正确的是______________。

A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。

C)对于同一个问题,递推算法比递归算法的执行时间要长。

D)递推算法总可以转换为一个递归算法。

8、N-S图与传统流程图比较,主要优点是_________。

A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。

C)简单、只管。

D)有利于编写程序。

A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。

(判断条件)2、结构化程序设计是__________应遵循的方法和原则。

(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。

(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。

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

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

C语言程序设计教程课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2C语言程序的基本结构是怎样的?举一个例子说明。

答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。

3C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。

4★指出合法与不合法的标识符命名。

答AB12--√ leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--×XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。

答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。

6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main(){ int a,b,c,t;printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

c语言程序设计教程习题答案

c语言程序设计教程习题答案

c语言程序设计教程习题答案C语言程序设计教程习题答案C语言是一门广泛应用于计算机科学领域的编程语言,它的学习对于想要从事软件开发或计算机科学研究的人来说是非常重要的。

在学习C语言的过程中,练习编写程序是必不可少的一部分。

本文将为大家提供一些C语言程序设计教程中常见习题的答案,希望能对大家的学习有所帮助。

1. 编写一个程序,计算并输出两个整数的和。

```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;}```2. 编写一个程序,判断一个整数是否为正数、负数或零。

```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;}```3. 编写一个程序,判断一个年份是否为闰年。

```c#include <stdio.h>int main() {int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("%d年是闰年。

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

C语言程序设计课后各章节习题答案
答include"math.h"
main()
{
float x,y,d;
printf("Input x,y:");
scanf("%f,%f",&x,&y);
d=sqrt((x-2)*(x-2)+(y-2)*(y-2));
if(d>1)printf(ntf("inside");
}
12有一函数
x-1 -5<x<0
y= x x=0
x+1 0<x<8
编写一程序,要求输入x的值,输出y的值。分别用不嵌套的if语句,嵌套的if语句,switch语句编写。
答使用不嵌套的if语句程序如下:
main()
{
int x,y;
printf("Input x:");
scanf("%d",&x);
答main()
{
int x,a,b,c;
printf("Input number:");
scanf("%d",&x);
a=x/100;/*变量a中记录x的百倍数字*/
b=x/10%10;/*变量b中记录x的十位数字*/
c=x%10;/*变量c中记录x的个位数字*/
if(a*a*a+b*b*b+c*c*c==x)
if(m==2)
d=28+f;
else
d=31-(m==4)+(m==6)+(m==9)+(m==11);
printf("%d-%d is %d days.\n",y,m,d);

C语言程序设计基础教程_习题答案

C语言程序设计基础教程_习题答案

习题答案第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。

1.1.2 一个函数由__函数头__和__函数体__两部分组成。

1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。

1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。

1.1.5 C语言程序的基本单位或者模块是__函数__。

1.1.6 C语言程序的语句结束符是_;___。

1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。

1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。

1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。

且第一个字符必须为字母或下划线。

1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。

1.2 选择题1.2.1 一个C程序的执行是从( A )。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束1.2.2 以下叙述不正确的是(C)。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。

A)必须在程序的开头B)必须在系统调用的库函数的后面C)可以在程序的任意位置D)必须在程序的最后1.2.4 C编译程序是(A)。

A)将C源程序编译成目标程序的程序B)一组机器语言指令C) 将C源程序编译成应用软件D) C程序的机器语言版本1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《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语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

第一篇:《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语言可移植性好;生成目标代码质量高,程序执行效率高。

《C语言程序设计教程》课后题答案

《C语言程序设计教程》课后题答案

《C语言程序设计教程》课后题答案第一章一选择题1.A2.B3.C4.D5.B6.C二.填空题1.程序2.算法3.main或主4.编译5.编译6. .obj7.库函数8.文本或ASCII码第二章一选择题1.B2.A3.A4.A5.D6.B7.C8.C9.D 10.B 11.A 12.C 13.B 14.C二.填空题1.int float double2.65,893.a=98,b=765.000000,c=4321.0000004.scanf("%lf%lf%lf",&a,&b,&c);第三章一选择题1.A2.C3.C4.D5.C6.B7.C8.B9.A 10.A 11.A 12.B 13.D 14.A 15.B 16.C 17.C 18.C 19.C 20.C 21.C 22.B 23.C 24.C 25.A 26.B 27.A 28.A29.C 30.A 31.C 32.C二.填空题1.非零零2.passwarm3.5252524.fabs(x)>55.x%y==06.if((1<=x&&x<=10||200<=x&&x<=210)&&x%2==1)printf("%d",x);7.k=18.Right!1Right!19.$$$ a=010.a=2,b=111.0<a<b12. t;"%f%f"a=b;13. "%c",&ch'A'<=ch&&ch<='Z'ch14.死循环15.34516. 7 3 -117.x>=0x<amin18.scanf("%f",&x);sum+=x;19.820.1121. 2.40000022.892123.i<=9j%3!=024. b=i+125. 8 5 226. d=1.0k++k<=n第四章一选择题1.A2.C3.D4.D5.B6.B7.B8.D9.B 10.A 11.C 12.D 13.C 14.A 15.D16.C 17.A 18.C 19.A 20.D 21.D 22.A二.填空题1. a=1234 b=52. Hello3.j<3; b[j][i]=a[i][j]; i<34. a[age]++i=18;i<=255.c[i]=n%base; b[d]6.break; i>=87. -850,2,08.a[i]>b[j] i<3 j<59.a[i][j] j=0;j<4;j++ j==3 printf("\n");10.fi11.GDABC12. s[i++]13.ahAMa14.LBLMNP15. '\0' i++16.b[j]=a[j][0]; b[j]=a[j][k]17.a[k++]=a[j]第五章一.选择题1-5 DDBCB 6-10 BACAA 11-15DBBCD二.填空题1. How does she2. *(p+i*4+j)printf("\n")3. *(++p)4. num+1q<num+10*q>max*q<min5.0或'\0'n++b[n]= '\0'第六章一.选择题1-5 CBCDA 6-10 AADBB 11-15BBDBD 16-20 AABAA 二.填空题1. 四auto, register, static, extern2. 5 63. 8,174. 126241205.return 1return n+sum(n-1)第七章一.选择题1-5BDDCC 6-10 BBDCB 11-15BBDCB 16-18 DBB 二.填空题1.3042. ARRAY a,b,c;3. 234. ac5.p->name&p->post_codestruct communication *p->post_code第八章一.单选题1-5 BABAD 6-10 DDDCD 11 D 二.填空题1. 二进制文本2. pf=fopen("D:\\zk04\\data\\txfile.dat","w")3. 二进制文本文件结束符非0值第九章1.(1)30 (2)3 (3)9 (4)292.(1)1 (2)1 (3)1 (4)7 (5)15 (6)6第十一章一.单选题1-5 CBBDD 6 D二.填空题1.struct link *next;2.①struct student *②tail->next③head3.Answer:34.①break②(struct data *)malloc(struct data)③while(1)④p!=NULL⑤p=p->link5.①x②p③s。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。

图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。

如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。

要事先准备好保存文件的目录,例d:\lx 目录。

在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。

设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。

图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。

图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。

在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。

内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案默认分类2007-09-10 12:38:44 阅读6618 评论13 字号:大中小订阅【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

错误:main函数可以放在程序的任何位置。

并不限定在程序的开头。

1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

1.9 编辑与编译不是一回事。

错误:不是一回事。

编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。

1.10 scanf("%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 输入两个整数,输出其中最大者。

提示:模仿例1.31.16 输入三个整数,输出其中最小者。

提示: min(min(a,b),c);【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2.2 C语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用”?2.4 字符常量'a'与字符串常量"a"有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7C语言中,int型数据在内存中的存储形式是(D)。

程序设计基础教程(c语言版)课后答案

程序设计基础教程(c语言版)课后答案

z习题解答目录1.2 习题解答 (3)1.2.1 选择题 (3)1.2.2 填空题 (3)1.2.3 编程题 (4)2.2 习题解答 (5)2.2.1 选择题 (5)2.2.2 填空题 (7)2.2.3 编程题 (8)3.2 习题解答 (11)3.2.1 选择题 (11)3.2.2 填空题 (12)3.2.3 编程题 (12)4.2 习题解答 (15)4.2.1 选择题 (15)4.2.2 填空题 (17)4.2.3 编程题 (18)5.2 习题解答 (29)5.2.1 选择题 (29)5.2.2 填空题 (31)5.2.3 编程题 (33)6.2 习题解答 (37)6.2.1 选择题 (37)6.2.2 填空题 (41)6.2.3 编程题 (43)7.2 习题解答 (67)7.2.1 选择题 (67)7.2.2 填空题 (68)7.2.3 编程题 (68)21.2 习题解答1.2.1 选择题1、B【分析】在一个C程序中必须有且只能有一个main函数,而且main函数可以在任何地方出现.2、C【分析】C 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。

A中,-sub 不合法。

B 中4d不合法。

D 中void 为关键字。

3、【分析】4、C【分析】转义字符中,第一个\”输出“,第二\\输出\,第三个\b退格,把前一个\去掉了,第四个\’输出’,第五个\t跳格,第六个\”输出”,第七个\n输出换行。

5、C【分析】本题将10进制17,分别按8、16进制输出。

8的进制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10)1.2.2 填空题1、主【分析】一个C源程序中至少包括一个主函数,其他函数没有限制。

2、双引号。

【分析】两种写法都是允许的,使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找.使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。

(完整版)C语言程序设计习题集及答案

(完整版)C语言程序设计习题集及答案

C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]

C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]
2
(4). #include <stdio.h> int main() {
float p,r; scanf("%f",&p); if(p<=10) r=p*0.1; else if(p>10&&p<=20) r=10*0.1+(p-10)*0.075; else if(p>20&&p<=40)
r=10*0.1+10*0.075+(p-20)*0.05; else if(p>40&&p<=60)
float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do { x=(a+b)/2; f=(((2*x-4)*x+3)*x)-6; if(f*f1<0) { b=x; f2=f; } else { a=x; f1=f; } }while(fabs(f)>=1e-6); printf("%6.2f\n",x); return 0; } (10). #include<stdio.h>
printf("%f\n",r); return 0; } (5). #include <stdio.h> int main() { char c; while((c=getchar())!='\n') { if(c>='a'&&c<='z') c=c-32; putchar(c);
} return 0; } (6). #include<stdio.h> int main() { int m,k=2; printf("输入一个正整数:\n"); scanf("%d",&m); while(k<m) if(m%k==0) { printf("%4d",k); m=m/k; } else k++; printf("%4d\n",m); return 0; } (7). #include<stdio.h> int main() { int a,n,s=0,p=0,i; scanf("%d %d",&n,&a); for(i=1;i<=n;i++) { p=p*10+a; s=s+p; } printf("%d\n",s); return 0; } (8). #include<stdio.h> int main()

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案C语言程序设计教程习题参考答案一、基本概念和语法要点1. 整型变量x的声明和初始化语句为:int x = 10;2. C语言的标识符命名规则:- 只能由字母、数字和下划线组成;- 必须以字母或下划线开头;- 大小写敏感。

3. 常量的分类:- 整型常量;- 实型常量;- 字符常量;- 字符串常量;- 枚举常量;- 特殊常量。

4. 基本输入输出函数的使用:- printf():输出格式化字符串;- scanf():从标准输入读取格式化数据。

5. C语言中的运算符:- 算术运算符:+、-、*、/、%;- 关系运算符:==、!=、>、<、>=、<=; - 逻辑运算符:&&、||、!;- 位运算符:&、|、^、~、<<、>>。

二、流程控制语句1. if语句的基本结构:```if (条件表达式){// 如果条件成立执行的代码}```2. switch语句的使用:```switch (表达式)case 值1:// 执行的代码块break;case 值2:// 执行的代码块break;default:// 执行的代码块break;}```3. while循环语句的基本结构: ```while (条件表达式){// 循环执行的代码}4. for循环语句的使用:```for (初始化表达式; 条件表达式; 更新表达式) {// 循环执行的代码}```三、数组与字符串1. 数组的声明和初始化语句:```int arr[5] = {1, 2, 3, 4, 5};```2. 字符串的声明和初始化语句:```char str[20] = "Hello, World!";```3. 字符串的输入输出函数:- gets():从标准输入读取字符串; - puts():将字符串输出到标准输出。

4. 字符串处理函数:- strlen():计算字符串长度;- strcat():拼接字符串;- strcpy():复制字符串;- strcmp():比较两个字符串。

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

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

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

《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语言程序设计》课后习题参考答案

高等院校计算机基础教育规划教材《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语言适合进行图形程序设计。

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

第二章1.单项选择CBCCC CDCDC DBB2.填空题(1)1(2)26(3)6,4,2(4)10,6(5)3.000000(6)double (7)9 (8)字母,数字,下划线(9)13.700000(10)11(12)0(13)10,9,11(15)(x<0&&y<0)||(x<0&&z<0)||(y<0||z<0) (16)double(17)x==0(18)sqrt(fabs(a-b))/(3*(a+b)) (19)sqrt((x*x+y*y)/(a+b))第三章1.单项选择CCCDD BCDBC BCBBB A2.填空题(1)用;表示结束(2){ }(3)y=x<0?1:x==0?0:-1(4)y%4==0&&y%100!=0||y%400==0(5)上面未配对(6)default标号(7)while,do while,for(8)do while(9)本次(10)本层3.阅读程序,指出结果(1)yes(2)*&(3)ABother(4)2870(5)2,0(6)8(7)36(8)1(9)3,1,-1,3,1,-1(10)a=12,y=12(11)i=6,k=4(12)1,-24.程序填空(1)x:y,u:z(2)m=n,m!=0,m=m/10(3)t<eps,t*n/(2*n+1),printf(“%lf\n”,2*s)(4)m%5==0,printf(“%d\n”,k)(5)cx=getchar(),cx!=front , cx(6)double s=0,1.0/k,%lf(7)s>=0,s<gmin,5.编程题(1)#include <stdio.h>int main(){double x , y;scanf("%lf",&x);if(x<1)y=x;else if(x>=1.0&&x<10)y=2*x-11;elsey=3*x-11;printf("%lf\n",y);return 0;}(2 )#include <stdio.h>int main(){double x,y,z,min;scanf("%lf%lf%lf",&x,&y,&z);if(x>y)min=y;elsemin=x;if(min>z)min=z;printf("min=%lf\n",min);return 0;}(3)#include <stdio.h>int main(){int y,m,d,flag,s=0,w,i;scanf("%d%d%d",&y,&m,&d);flag=(y%4==0&&y%100!=0||y%400==0);w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i<=m;i++){switch(i){case 1:s=d;break;case 2:s=31+d;break;case 3:s=59+d;break;case 4:s=90+d;break;case 5:s=120+d;break;case 6:s=151+d;break;case 7:s=181+d;break;case 8: s=212+d;break;case 9: s=243+d;break;case 10:s=273+d;break;case 11:s=304+d;break;case 12:s=334+d;break;}}if(flag==1&&m>2)s=s+1;s=(w+s)%7;if(s==0)printf("星期日\n");elseprintf("星期%d\n",s);return 0;}(4)#include <stdio.h>int main(){float p,r;scanf("%f",&p);if(p<=10)r=p*0.1;else if(p>10&&p<=20)r=10*0.1+(p-10)*0.075;else if(p>20&&p<=40)r=10*0.1+10*0.075+(p-20)*0.05;else if(p>40&&p<=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p>60&&p<=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015;else if(p>100)r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;printf("%f\n",r);return 0;}(5)#include <stdio.h>int main(){char c;while((c=getchar())!='\n'){if(c>='a'&&c<='z')c=c-32;putchar(c);}return 0;}(6)#include<stdio.h>int main(){int m,k=2;printf("输入一个正整数:\n");scanf("%d",&m);while(k<m)if(m%k==0){printf("%4d",k);m=m/k;}elsek++;printf("%4d\n",m);return 0;}(7)#include<stdio.h>int main(){int a,n,s=0,p=0,i;scanf("%d %d",&n,&a);for(i=1;i<=n;i++){p=p*10+a;s=s+p;}printf("%d\n",s);return 0;}(8)#include<stdio.h>int main(){int i,j,k;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)printf("%5d",100*i+10*j+k);return 0;}(9)#include<stdio.h>#include<math.h>int main(){float a=-10,b=10,x,f1,f2,f;f1=(((2*a-4)*a+3)*a)-6;f2=(((2*b-4)*b+3)*b)-6;do{x=(a+b)/2;f=(((2*x-4)*x+3)*x)-6;if(f*f1<0){b=x;f2=f;}else{a=x;f1=f;}}while(fabs(f)>=1e-6);printf("%6.2f\n",x);return 0;}(10).#include<stdio.h>#include<math.h>int main(){int n=2;double eps,t,s=0,x;scanf("%lf %lf",&x,&eps);t=x;s=t;while(fabs(t)>=eps){t=-t*(2*n-3)*x*x/(2*n-2);s=s+t/(2*n);n++;}printf("%d,%lf\n",n,s);return 0;}(11).#include<stdio.h>int main(){unsigned long s,t=0,p=1;scanf("%u",&s);while(s!=0){if((s%10)%2!=0){t=t+(s%10)*p;p=p*10;}s=s/10;}printf("%u\n",t);return 0;}第四章1.单项选择题DDDBD BADCD BDAB2.填空题(1)2(2)嵌套,递归(3)全局变量,静态变量,动态变量(4)auto,static , register,extern(5)外部变量(6)编译,运行3.阅读程序,指出结果(1)15(2)5(3)5,4,3(4)i=5 i=2 i=2 i=4 i=2(5)求水仙花数(6)-5*5*5(7)30(8)0 10 1 11 2 12 4.程序填空(1)float fun(float , float),x+y,x-y,z+y,z-y(2)x-16(3)s=0,a=a+b 5.编程题(1)#include<stdio.h>unsigned int fun(unsigned int);int main(){unsigned int s;scanf("%u",&s);printf("%u\n",fun(s));return 0;}unsigned int fun(unsigned int s){unsigned int p=0;while(s!=0){p=p+s%10;s=s/10;}return p;}(2).#include<stdio.h>#include<stdlib.h>#include<math.h>void f1(float,float,float,float);void f2(float,float,float,float);void f3(float,float,float,float);int main(){float a,b,c,d;scanf("%f %f %f",&a,&b,&c);if(a==0){printf("不是一元二次方程\n");exit(0);}d=b*b-4*a*c;if(d>0)f1(a,b,c,d);else if(d==0)f2(a,b,c,d);elsef3(a,b,c,d);return 0;}void f1(float a,float b,float c,float d){float x1,x2;{x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("%.2f ,%.2f\n",x1,x2);}}void f2(float a,float b,float c,float d){float x1,x2;{x1=-b/(2*a);x2=-b/(2*a);printf("%.2f ,%.2f\n",x1,x2);}}void f3(float a,float b,float c,float d){float x1,x2;{x1=-b/(2*a);x2=sqrt(-d)/(2*a);printf("%.2f+i*%.2f\n",x1,x2);printf("%.2f-i*%.2f\n",x1,x2);}}(3)#include<stdio.h>double p(int,double);int main(){int n;double x;do{scanf("%d",&n);}while(n<0);scanf("%lf",&x);printf("%lf\n",p(n,x));return 0;}double p(int n,double x){double pn;if(n==0)pn=1;else if(n==1)pn=x;elsepn=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;return pn;}(4).#include<stdio.h>#define RATE 0.053double fun(float);void display(float,int);int main(){float dep;int season;scanf("%f %d",&dep,&season);display(dep,season);return 0;}double fun(float d){return d*RATE;}void display(float d,int s){int i;printf("季度利息余额\n");printf("-------------------------------\n");for(i=1;i<=s;i++){printf("%-4d %-.2f %-.2f\n",i,fun(d),fun(d)*i+d);printf("-------------------------------\n");}}(5)#include<stdio.h>double fun(void);int main(){printf("%lf\n",fun());return 0;}double fun(void){double s=0;int n=1;while((double)(2*n-1)/((2*n)*(2*n))>1e-4){s=s+(double)(2*n-1)/((2*n)*(2*n));n++;}return s;}(6).#include<stdio.h>int fun(int);int main(){int w;scanf("%d",&w);printf("%d\n",fun(w));return 0;}int fun(int w){int n=1,p=1,m;m=w;while(m>10){m=m/10;p=p*10;n++;}return w%p;}第五章1、选择题C BC B B AD D B2、填空题(1)0,9(2)float realArray[100],char strArray[16],int intArray[1000](3)运算符sizeof(4)6字节3、阅读程序,写出下面程序的运行结果(1)aa bb cc dd(2)ab c d(3)ahAMa(4)0010(5) 1 3 4 5 (6)This is the title.Name 1 is RosalindaName 2 is ZekeThe biggest name alpabetically is ZekeBoth names are Rosalinda Zeke(7)0 0 0 0 0 0 0 00 1 2 3 4 5 6 70 2 5 6 8 10 748 140 4 8 12 16 20 24 280 5 10 15 20 177 30 350 6 12 18 24 30 36 420 7 14 21 28 35 42 494、程序填空(1)a[i][j] != a[j][i] , 1(2)0, a[i] < a[mini] , maxi = i , a[maxi] =a[mini] (3)int a[], int b[], b[i] = a[i], -999, arraycopy(a,b), b[i++](4)a<sizeof(ch), if5、编程题(1)#include<stdio.h>int main ( ){int a[3][4] = {0, 2,9,7, 5,13,6,8, 27,11,1,3};int i,j,temp;for(i=0,j=0;j<4;j++){temp = a[2-i][j];a[2-i][j] = a[i][j];a[i][j] = temp;}for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",a[i][j]);printf("\n");}return 0;}(2)#include<stdio.h>int main ( ){static int a[6][6];int i,j,t=1;for(i=0;i<6;i++){t = i+1;for(j=0;j<i+1;j++)a[i][j] = t--;}for(i=0;i<6;i++){for(j=0;j<6;j++)printf("%3d",a[i][j]);printf("\n");}return 0;}(3)#include <stdio.h>#define M 3#define N 4#define R 5int main( ){static int a[M][N],b[N][R],c[M][R];int i,j,k;printf("Matrix a:\n");for( i = 0; i < M; i++ )for( j = 0; j < N; j++ )scanf( "%d",&a[i][j] );printf("Matrix b:\n");for( i = 0; i < N; i++ )for( j = 0; j < R; j++ )scanf( "%d",&b[i][j] );for( i = 0; i < M; i ++ )for( j = 0; j < N; j++ )for( k = 0; k < R; k++)c[i][k] += a[i][j]*b[j][k];for( i = 0; i < M; i++ ){for( j = 0; j < R; j++ )printf( "%3d",c[i][j] );printf("\n");}return 0;}(4)#include <stdio.h>#define M 5int main( ){static int a[M];int i,max = -1,min = 100,maxi,mini,temp;for( i = 0; i < M; i++ )scanf( "%d",&a[i] ); //0~99间的值for( i = 0; i < M; i++ ){if( max < a[i] ){max = a[i];maxi = i;}if( min > a[i] ){min = a[i];mini = i;}}temp = a[maxi];a[maxi] = a[mini];a[mini] = temp;for( i = 0; i < M; i++ )printf( "%3d",a[i] );return 0;}(5)#include <stdio.h>#define M 3#define N 4int main( ){static int a[M][N];int max = -1,sumcol=0,sumrow=0;int i,j,maxi,col;for( i = 0; i < M; i++ ){sumrow = 0;for( j = 0; j < N; j++ ){scanf( "%d",&a[i][j] );sumrow += a[i][j];}if ( max < sumrow ){max = sumrow;maxi = i;}}printf("which col sum will be caculated?(>0)");scanf("%d",&col);for( i = 0; i < M; i ++ )sumcol += a[i][col-1];printf("The %dth row's sum is max,max=%d\n",maxi+1,max);printf("The %dth column's sum=%d\n",col,sumcol);return 0;}(6)#include <stdio.h>#define M 81int main( ){static char str[M];int i,count = 0;char ch;gets(str);fflush(stdin); //清空输入缓冲区,以便读入字符数据printf("Which character will be found?");ch = getchar();for( i = 0; i < strlen(str); i++ )if( ch == str[i] )count++;printf( "The number of character '%c' is %d\n",ch,count );return 0;}(7)#include <stdio.h>#include <stdlib.h>#define N 10 //同学人数#define M 5 //课程数void enter_scores(void);void sort_scores(int score[][M], int average[N][3]);void disp_scores(int score[][M]);void histogram(int n, int score[][M]);void printchar(int n);static int score[N][M];static int aver[N][3]; //第1列为均值,第2列原始顺序,第3列为均值逆序int main(){int course;enter_scores();printf("\n===========Oringenal Score Start=========\n");disp_scores(score);printf("\n===========Oringenal Score End===========\n");printf("\n===========Sorted Score Start============\n");sort_scores(score,aver);printf("\n===========Sorted Score End==============\n");printf("\nWhich class will be statisticed?\n");scanf("%d",&course);histogram(course, score);system("Pause");return 0;} /*输入成绩*/void enter_scores(){int i, j;for(i=0; i<N; i++) {for(j=0; j<M; j++){scanf("%d",&score[i][j]);aver[i][0] += score[i][j];}}for( i = 0; i < N; i++ )for ( j = 1; j < 3; j++ )aver[i][j] = i;} /*成绩排序. */void sort_scores(int score[][M], int average[N][3]){int i,j,t;int temp,tempindex;for( i = 0; i < N - 1; i++ )for( j = 0; j < N - 1 - i; j++ )if ( average[j][0] < average[j+1][0] ){temp = average[j][0];average[j][0] = average[j+1][0];average[j+1][0] = temp;tempindex = average[j][2];average[j][2] = average[j+1][2];average[j+1][2] = tempindex;}printf("\n Score1 Score2 Score3 Score4 Score5\n");for( i = 0; i < N; i++ ){t = average[i][2];for( j = 0;j < M; j++ ){printf("%8d", score[t][j]);}printf("\n");}} /*输出成绩*/void disp_scores(int score[][M]){int i, j;printf("\n Score1 Score2 Score3 Score4 Score5\n");for( i = 0; i < N; i++ ){for( j = 0;j < M; j++ )printf("%8d", score[i][j]);printf("\n");}}void printchar(int n){int i;for (i = 0; i < n; ++i) putchar('*');}void histogram(int course, int score[][M]){int i,temp;int segs[5] = {0};int sc[N];for( i = 0; i < N; i++ )sc[i] = score[i][course];for (i = 0; i < N; i++)/*统计各分段人数*/{temp = (int)sc[i]/10;segs[ temp<6?0:temp-5]++; /*成绩/10,将成绩分段*/}printf("\nSegment Number\n");for (i = 0; i < 5; i++) /*输出直方图,每段的人数*/{printf("<%3d: %5d| ", (i+1)*10+50, segs[i]);printchar(segs[i]);putchar('\n');}putchar('\n');}(8)#include <stdio.h>#define M 81int main( ){static char str[M];int i,count = 0;char ch = 0;gets(str);for( i = 0; i < strlen(str); i++ )if( ch < str[i] )ch = str[i];for( i = 0; i < strlen(str); i++ )if( ch == str[i] )count++;printf( " max = '%c' ,count = %d\n",ch,count );return 0;}第六章1.选择题BBDDA CCABD CBCDA A2.填空题(1)常量,变量(2)指针(3)2(4)12,12(5)a[0],a[3]3、阅读程序,写出下面程序的运行结果(1)5(2)6(3)abcdefglkjih(4)976531(5)5,9(6)2,4,5,7,6,0,11,9,7,3,(7)string_a=I am a teacher.string_b=You are a student.string_a=I am a teacher.string_b=I am a teacher.4、程序填空(1)*p != '\0', *p-'0', j—(2)i <strlen(str), j=i, k+1(3)a+i, (char)(n%10) + '0'(4)*pk = i,a,n,i+1,pk(5)s1++, *s2,s1=p 5、编程题(1)#include <stdio.h>int main(){int a=3,b=7,c=2;int *ptra = &a,*ptrb =&b,*ptrc = &c;int temp;printf("a=%d,b=%d,c=%d\n",a,b,c);printf("*ptra=%d,*ptrb=%d,*ptrc=%d\n",*ptra,*ptrb,*ptrc);if ( *ptra > *ptrb ){temp = *ptra;*ptra = *ptrb;ptrb = temp;}if ( *ptra > *ptrc ){temp = *ptra;*ptra = *ptrc;*ptrc = temp;}if ( *ptrb > *ptrc ){temp = *ptrb;*ptrb = *ptrc;*ptrc = temp;}printf("a=%d,b=%d,c=%d\n",a,b,c);printf("*ptra=%d,*ptrb=%d,*ptrc=%d\n",*ptra,*ptrb,*ptrc);return 0;}(2)#include <stdio.h>#include <stdlib.h>void inputdata(int a[],int n);void process(int a[],int n);void outputdata(int a[],int n);int main(){int a[10],n=10;inputdata(a,n);outputdata(a,n);process(a,n);outputdata(a,n);system("Pause");return 0;}void inputdata(int a[],int n) //0~99之间的数{int i;for( i = 0; i < n; i++ )scanf("%d",a+i);}void outputdata(int *ptr,int n){int i;printf("\n==========OutPut Data Start=============\n");for( i = 0; i < n; i++ )printf("%4d",*ptr++);printf("\n==========OutPut Data End================\n");}void process(int *ptr,int n){int i,maxi,mini;int max=-1,min=101;for( i = 0; i < n; i++ ){if ( max < *(ptr+i) ){max = *(ptr+i);maxi= i;}if ( min > *(ptr+i) ){min = ptr[i];mini= i;}}if ( mini != 0){i = ptr[0];ptr[0] = ptr[mini];ptr[mini] = i;}if (maxi != n-1){i = ptr[n-1];ptr[n-1] = ptr[maxi];ptr[maxi] = i;}if (maxi == 0 && mini == n-1){i = ptr[maxi];ptr[maxi] = ptr[mini];ptr[mini] = i;}}(3)#include<stdio.h>int strLength (char *);int main(){static char str[81];gets(str);printf("string "%s" length:%3d\n",str,strLength(str)) ;system("Pause");return 0;}int strLength (char *s){char *p=s;while (*p) p++ ;return (p-s) ;}(4)#include <stdio.h>#define M 3#define N 4void Transpose (int (*a)[N],int (*T)[M]);int main( ){static int a[M][N],T[N][M];int i,j;for( i = 0; i < M; i++ )for( j = 0; j < N; j++ )scanf( "%d",&a[i][j] );printf("\n======Oringinal Matrix Start=========\n");for( i = 0; i < M; i ++ ){for( j = 0; j < N; j++ )printf( "%4d",a[i][j] );printf("\n");}printf("\n======Oringinal Matrix End===========\n");Transpose(a, T);printf("\n======Transpose Matrix Start=========\n");for( i = 0; i < N; i ++ ){for( j = 0; j < M; j++ )printf( "%4d",T[i][j] );printf("\n");}printf("\n======Transpose Matrix End===========\n");return 0;}void Transpose (int (*a)[N],int (*T)[M]){int i,j;for( i = 0; i < N; i++ )for( j =0; j < M; j++ )T[i][j] = a[j][i];}(5)#include <stdio.h>int main(){static char source[81],target[81];int result;gets(source);gets(target);result = Strcmp(source,target);if (result){if( result < 0 )printf("%s < %s\n",source,target);elseprintf("%s > %s\n",source,target);}elseprintf("%s = %s\n",source,target);return 0;}int Strcmp(char *s,char *t){while (*s && *t && (*s == *t)){s++;t++;}return *s - *t;}(6)#include <stdio.h>#define M 5#define N 3int sum (int *a);int main( ){static int a[M][N];int i,j;for( i = 0; i < M; i++ )for( j = 0; j < N; j++ )scanf( "%d",&a[i][j] );for( i = 0; i < M; i ++ )printf("Row %d sum: %3d\n", i, sum(a[i]));return 0;}int sum (int *ptr){int i,result = 0;for( i = 0; i < N; i++ )result += *(ptr+i);return result;}第七章1.选择题CCDBA CBADB DDA2.判断题FTTFT FTFTT第八章1.选择题CDAAD CDB2.填空题(1).(成员域访问运算符),-〉(成员域间接访问运算符) (2)4,6.0(3)enum(4)typedef(5)<person+3, old=p->age, q->name,q->age 3、阅读程序,写出下面程序的运行结果(1)p!=NULL, c++, p->next(2)p1->next, p1->next, p1->next4、程序阅读题(1)7,3(2)zhangping 20(3)Li:3 Zhang:3 Wang:25.编程题#include <stdio.h>#include <stdlib.h>#define N 10 /*学生人数*/#define M 3 /*课程数*/struct stu{ /*定义结构体类型*/char name[15];char num[6];float score[M];float aver;} student[N]; /*说明结构体变量*/struct stu findmax(struct stu student[]);void input(struct stu student[]);void output(struct stu student[]);int main(){struct stu temp;input(student);output(student);temp = findmax(student);printf("Max is:\n");printf("%15s%8s%7.2f%7.2f%7.2f%7.2f",,temp.num, temp.score[0],temp.score[1],temp.score[2], temp.aver/M);system("Pause");return 0;}struct stu findmax(struct stu student[]){float max = 0.0;int i,maxi;for(i=0; i<N; i++){if(max < student[i].aver){max = student[i].aver;maxi = i;}}return student[maxi];}void input(struct stu student[]){int i,j;printf("input data:\n");for( i=0;i<N;i++){scanf("%s %s",student[i].name,student[i].num);student[i].aver = 0;for( j=0;j<M;j++){scanf("%f", &student[i].score[j]);student[i].aver += student[i].score[j];}}}void output(struct stu student[]){int i,j;for( i=0;i<N;i++){printf("%15s%8s",student[i].name,student[i].num;for( j=0;j<M;j++)printf("%7.2f", student[i].score[j]);printf("%7.2f\n",student[i].aver/M);}}第九章1.选择题ADBBA ACDAA2.填空题(1)文本文件,二进制文件(2)fopen, fclose(3)fprintf, fscanf, feof (4)fwrite, fread, fputs, fgets(5)文本,二进制(6)1,0(7)字节,流式3、程序填空题(1)*fp1, *fp2, ftell(fp1); fgetc(fp1),fp2(2)*fp, fp,sizeof(stud[0])*i,0 &stud[i] (3)“r”, fgetc(fp), count++(4)FILE *f, sizeof(r), r.num,r.total 4.编程题#include <stdio.h>#define N 5 /*学生人数*/#define M 3 /*课程数*/struct stu{ /*定义结构体类型*/char name[15];char num[6];float score[M];float aver;} student[N]; /*说明结构体变量*/void sort(struct stu student[]);void writetofile(struct stu student[], char filename[],char mode[]);int main(){FILE *fp;struct stu *ptr=NULL;int i,j;printf("input data:\n");for( i=0;i<N;i++){scanf("%s %s",student[i].name,student[i].num);student[i].aver = 0;for( j=0;j<M;j++){scanf("%f", &student[i].score[j]);student[i].aver += student[i].score[j];}}writetofile(student, "student.txt","w");writetofile(student, "sort.txt","w");writetofile(student, "sort2.txt","w");sort(student);writetofile(student, "sort.txt","a");ptr = (struct stu *)malloc(sizeof(struct stu));scanf("%s %s", ptr->name,ptr->num);ptr->aver = 0;for( j=0;j<M;j++){scanf("%f",&ptr->score[j]);ptr->aver += ptr->score[j];}if ((fp=fopen("sort2.txt","a"))==NULL){printf("cannot open file");exit(0);}fprintf(fp,"%s %s",ptr->name,ptr->num);for( j=0;j<M;j++)fprintf(fp,"%7.2f", ptr->score[j]);fprintf(fp,"%7.2f\n",ptr->aver/M);fclose(fp);return 0;}void sort(struct stu student[]){struct stu temp;int i,j,k;for(i=0; i<N-1; i++){k=i;for(j=i+1; j<N; j++)if(student[j].aver < student[k].aver)k=j;if(k!=i){temp=student[i];student[i]=student[k];student[k]=temp;}}}void writetofile(struct stu student[], char filename[],char mode[]){FILE *fp;int i,j;if ((fp=fopen(filename,mode))==NULL){printf("cannot open file");exit(0);}for( i=0;i<N;i++){fprintf(fp,"%s %s",student[i].name,student[i].num);for( j=0;j<M;j++)fprintf(fp,"%7.2f", student[i].score[j]);fprintf(fp,"%7.2f\n",student[i].aver/M);}fclose(fp);}。

相关文档
最新文档