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

合集下载

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语言程序设计》课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A(8)D(9)A(10)B(11)C(12)C(13)D(15)B(16)C(17)A(18)A(19)B(20)C(21)C(22)D(23)C(24)A(25)D(26)B(27)C(28)B(29)B(30)A2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6(4)3 3(6)36(7)int x=8,y=8;(8)1(9)E(10)6,7,8,9(11)6(12)66,96(13)240(14)1,1,-1,-1(15)5,2,6(16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0) (20)A3.程序分析题(1)2 72 74 94 412 12116(3)100 d 68 D97 a 49 1 (4)0 1 0 1 (5)2 4 6 7-0.58 7046.587.5(6)33 12 113 13 082 32(7)618 30181814.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d符合赋值左边不能是表达式第三章:算法概念与顺序结构程序设计1.选择题(1)D(2)B、D(3)D(4)B(5)C(6)A(8)C(9)B(10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.00(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)65535,65536(10)1234,123.5,12345.5第四章:选择结构程序设计(1)C (2)B (3)B (4)B (5)D (6)D (7)D (8)A (9)B (10)A (11)B (12)B (13)D (14)A (15)C (16)A (17)C (18)D (19)B (20)D (21)A(23)A(24)A2.填空题.(1)1(2)5 8 8(3)4 5 99(4)2(5)10 20 0(6)2 1(7)-4(8)3(9)No(10)25(11)45 45(12)0(13)5.5(14)13(15)3第五章:循环结构程序设计(1)C(2)A(3)D(4)B(5)D(6)B(7)A A或B(8)输出4444(9)B(10)A(11)B(12)C(13)A(14)B2.填空题.(1)r=m;m=n;n=rm%n(2)3(3)-5(4)i%3==2&&i%5==3&&i%7==2 j==5j!=k(6)int s=8,j=i+2k+i+j==8(7)8(8)k&&i<=500 k/10 continue第六章:数组1.选择题(1)B(2)C(3)D(4)D(5)B(6)C(7)B(8)A(9)A(10)D2.填空题.(1)按行序优先的原则(2)0 9(4)1 2(5)6(6)前者以回车后者以空格或回车作为间隔符(7)gets()(8)&a[i](9)char k -1(10)9 83.程序分析题.(1)1 3 7 15(2)0 0 0(3)读取输入字符串中数字字符(4)①if(str1==str2) (strcmp(str1,str2)==0)②&c1[0]③m[i][k-1]第七章:函数的调用1.选择题(1)B(2)C(3)C(4)A(6)D(7)D(8)D(9)B(10)D(11)A(12)A(13)B(14)B2.填空题.(1)有参无参(2)顺序类型(3)定义调用(4)①fmax(a,N) ②s[k]=s[p](5)①age(n-1)+2 ②age(5)(6)①prt(c,n-1) ②prt(…‟,n-i) ③prt(…*‟,2*i-1) 3.程序分析题.(1)h l o(2)3(3)2 6(4)5 25。

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

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

《C语言程序设计教程》课后题答案第一章一选择题1.A2.B3.C4.D5.B6.C二.填空题1.程序2.算法3.main或主4.编译5.编译6. .obj7.库函数8.文本或ASCII码三、编程题1.参考代码如下:#include <stdio.h>void main(){printf("金\n木\n水\n火\n土\n");}2. 参考代码如下:#include <stdio.h>void main(){ int a,b;scanf("%d%d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);}3. 参考代码如下:#include <stdio.h>void main(){float a,b,h,s;scanf("%f%f%f",&a,&b,&h);s=(a+b)*h/2;printf("s=%f\n",s);}第二章一选择题答案及分析:1.B,略2.A,-8在内存中是以补码(设两个字节)形式存储的3.A,C语言有32个关键字(参见课本第18页),且C语言标识符是区分大小写字母的4.A,略5.D,八进制数据中不能出现数码86.B,字符常量应该用单引号括起来,答案D超出了ASCII取值范围(ASCII的取值范围为[0,255])7.C,该字符串中转义字符有三个:\\、 \22和 \n,普通字符有三个:a、 ,和0,所以字符串长度为68.C,略9.D,C语言没有read函数和%D格式符号,且scanf函数第二个形参为地址列表10.B,根据题意,scanf函数输入数据时分隔符号不应该是逗号,应该是空格或回车符,且输入数据时分一行或几行均可11.A,scanf函数中不允许出现%8.4,%6.2和%8这样的格式符号12.C,既要保证5位小数位,还得保证整数位不变,这样数据12345.67800用10列不能完全显示出来,按C语言规定,12345.67800原样输出13.B,printf函数中格式符号%d,%o,%x表示对应的整型数据分别按十进制,八进制和十六进制输出14.C,按C语言规定,scanf函数形参双引号中,如果包含非格式符号,在输入数据时要求原样输入二.填空题答案及分析:1.int float double(略)2.65,89 ,printf函数中如果格式符号是%d,则输出相应字符的ASCII十进制数值3.a=98,b=765.000000,c=4321.000000,scanf函数中的格式符号%2d%3f%4f,表示将键盘输入的数据9876543210按2,3,4位分割,然后再分别赋给变量a,b,c4.scanf("%lf%lf%lf",&a,&b,&c); double类型的变量对应的格式符号是%lf三、编程题1. 参考代码如下:#include <stdio.h>void main(){int a=97;printf("%c\n",a);printf("%d\n",a);printf("%o\n",a);printf("%x\n",a);}程序分析:通过printf函数中不同的格式符号,即%c(字符),%d(十进制),%o(八进制),%x (十六进制)输出相应的值。

《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语言程序设计》课后习题答案(第四版)

《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语言程序设计教程》(第三版)李凤霞 主编——第五章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第五章习题答案
else printf(“%d\n”,(w>x?w:z>y?z:x));
}
A)1 B)2 C)3D)4
7、下面的程序段所表示的数学函数关系是( )。
y=-1;
if(x!=0){if(x>0)y=1;}
else y=0;
A) -1 (x<0)B) 1(x<0)
y= 0 (x=0)y= -1(x=0)
1 (x>0)0(x>0)
else printf(“$$$ a=%d\n”,a);
}
9.下列程序的输出结果是__________。(a=2,b=1)
#include“stdio.h”
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;br
=1
6.下列程序段的输出是__________。(k=1)
int i=0,k=100,j=4;
if(i+j)k=(i=j)?(i=1):(i=i+j);
printf(“k=%d\n”,k);
7.下列程序段当a的值为014和0x14时的执行结果分别是________。
if(n>10){printf("%d",n%10);n=n/10;}printf("s=%ld\n",s);
printf("%d\n",n); }
}
3、有一个函数:
分别用:(1)简单if语句,(2)嵌套的if语句,(3)if…else语句,(4)switch语句编写程序,要求输入x的值,输出y的值。

《C语言程序设计教程》答案 (1)[2页]

《C语言程序设计教程》答案 (1)[2页]

习题参考答案第一章计算思维与C语言程序设计1.什么是计算思维?计算思维有哪些特点?答:计算思维(Computational Thinking)又称构造思维,是指从具体的算法设计规范入手,通过算法过程的构造与实施来解决给定问题的一种思维方法。

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为的,涵盖了计算机科学之广度的一系列思维活动。

计算思维有如下特点:①计算思维吸取了问题求解所用的一般数学思维方式,颠覆了现实世界中巨大复杂系统设计与评估的一般过程思维方法和理解心理以及人类行为的一般科学思维方法。

②计算思维建立在计算过程的能力和限制之上,由人和机器执行;计算方法和模型可以处理那些原本无法由个人独立完成的问题和系统设计。

③计算思维最根本的内容是抽象,计算思维中的抽象完全超越物理中的时空观,以致完全用符号来表示;与数学和物理的抽象相比,计算机思维的抽象更为丰富和复杂。

2.计算思维与计算机之间的关系?答:计算思维虽然具有计算机科学的许多特征,但是计算思维本身并不是计算机科学的专属。

实际上,即使没有计算机,计算思维也会逐步发展,甚至有些内容与计算机没有关系。

但是,正是由于计算机的出现,给计算思维的研究和发展带来了根本性的变化。

计算机对于信息和符号的快速处理能力,使得许多原本只是理论可以实现的过程变成了实际可以实现的过程。

3.什么是C语言?为什么要学习C语言?答:C语言是种高级程序设计语言,具有简洁、紧凑、高效等特点。

它既可以用于编写应用软件,也可以用于编写系统软件。

C语言是一种通用的、面向过程的程序语言。

它的诸多特点使它应用面很广,其强大的功能被广泛应用于各领域:(1)C语言可以写网站后台程序,诸如百度、腾讯后台。

(2)C语言可以写出绚丽的GUI界面。

(3)C语言可以专门针对某个主题写出功能强大的程序库,然后供其他程序方便使用,从而让其他程序节省开发时间。

(4)C语言可以写出大型游戏的引擎。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文由huangwen199002贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

语言程序设计教程》 《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 位小数可以用%.2f 1.15 输入两个整数,输出其中最大者。

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

C语言程序设计教程 课后习题参考答案
(2)编辑、编译、链接、执行
(3)一个C程序由一或多个函数组成,一函数若干条语句构成,每条语句的末尾必须以分号结束。
(4)标识符,关键字,运算符,分隔符,常量,注释符等
4.从键盘输入一个双精度小数,打印出它的余弦值。
#include <stdio.h>
#include <math.h>
main( )
else if( score>=90 )
printf(“优秀\n”);
else if( score>=80 )
printf(“良好\n”);
else if( score >= 70 )
printf(“中等\n”);
else if( score >= 60 )
printf(“及格\n”);
else
printf(“不及格\n”);
printf(“%lf\n”, result);
}
习题3
1.
(1)D(2)AD(3)C(4)B(5)A
(6)-(10):BDACB
2.
(1)3.141593,3.1416,3.142
(2)c=K
(3)| 123.46|,|123 |
(4)x= 1.23,y= 50.00
(5)0
3.
(1)scanf(%f”, c);改为:scanf(“%f”, &c);
{
double x;
scanf(“%lf”, &x);
printf(“%lf\n”, cos(x) );
}
第2章
1.
(1)BDE、ACFG
(2)D(3)C(4)C
2.
(1)错(2)错(3)错(4)对(5)错

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

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

任务一C程序设计概述一,填空题1.用C语言编写的程序称为源程序。

2.C语言源程序的基本单位是若干函数。

3. 一个C语言源程序只能包含一个主函数。

4. 在C语言中,输入操作是由库函数scanf()完成的,输出操作是由库函数printf()完成的。

5. C语言源程序文件的扩展名是.C,经过编译后,生成文件的扩展名是.obg,生成文件的扩展名是.exe。

6. C语言注释所用到的符号是/* */和// //。

二,选择题1. C语言规定在源程序中,主函数的位置(C)A.必须在开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.下列程序错在(C)处A.main()B.float x,yC.a=3:b=8D.a=b+c3.以下说法正确的是(D)A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用一个定义的函数必须在主函数中定义C.C语言程序中的主函数必须在程序的开始部分D.C语言程序总是从主函数开始执行4.以下叙述正确的是(B)A.在C程序中,main函数必须位于程序的最前面B.C语言本身没有输入输出函数C.C程序的每行只能写一条语句D.在对每一个C程序进行编译的过程中,可发现注释中的拼写错误5.C语言程序的语句如果一行写不下时,可以(D)A.用分号换行B.在任意空格处换行C.用逗号换行D.用回车符换行任务二C语言程序设计的基本概念一.选择题1.下面不是C语言中整型常量的是(C)。

A. 03B. 12C. 059D. 0xA82.下面程序段的输出结果是(B)。

int i=65535;printf(“%d”,i);A. 65535B. -1C. 1D. 03.以下不能用来表示整形常熟的进制形式为( A )。

A. 二进制B. 八进制C. 十进制D. 十六进制4.下列程序段的输出结果是(D )。

Int a=1,b=1,c=1;a=a+++b+++c;printf(“%d”,a);A. 6B. 5C. 4D. 35.C语言中的预算对象必须是整形的运算符是(C)。

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

C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]
5
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); else f3(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); } }
3
{ 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>

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

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

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

《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语言程序设计》课后习题详细答案
(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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
case 1:printf("&");break;
case 2:printf("*");break;
}
case 0:switch(c= =5){
case0:printf("!");break;
case 1:printf("#");break;
default:printf("%%");
}
default:printf("@");
}
}
运行结果:&#@
4.5将以下语句改写成switch语句。
if((t>0)&&(t<=10))
if((t>=3)&&(t<=6)) x=2;
else if((t>1)||(t>8)) x=3;
else x=1;
else x=0;
提示:int t;
if(t<=0||t>10) c=0;
else c=t;
4.14编程实现,使用循环结构打印以下图案。
*
* * *
提示:printf("%s",a+b>c&&a+c>b&&b+c>a?"Yes":"No");
3.19输入三个数x,y,z,按从小到大的输出结果。
提示:分别用max0,min0代表最大、最小值,mid0表示中间值。
max0=(x>y?x:y)>z?(x>y?x:y):z;max0=(x<y?x:y)<z?(x<y?x:y):z;
A)BA、x_0、do
B)float、1a0、_Y
C)x-y、goto、123
D)_123、tmp、CHAR
2.9下列选项中不正确的常数的选项是(D)。
A)0x12FB)-1.23E-2C)12.0D)0388
2.10下面正确的字符常量是(B)。
A)"a"B)'\\'C)"\n"D)"\376"
2.11下面正确的字符串常量是(C)。
A)1111 1111 1111 1111
B)0000 0000 0000 0001
C)1111 1111 1111 1110
D)1000 00000000 0001
2.15存储字符串"\\\'abc\376"需要的字节数是(D)。
A)11B)13C)6D)7
【习题
一、计算题
3.12.8+7%3*11%2/4(答案:2.8)
if(grade=='A') printf("\n90-100");
else if(grade=='B') printf("\n80-89");
....
4.4写出下面程序的运行结果:
#include<stdio.h>
main()
{
int a=-1,b=1,c=5;
switch(a>0){
case 1:switch(b-2<0){
A)ch>="0"&&ch<="9"B)ch>='0'&&ch<='9'
C)'0'≤ch≤'9'D)ch>='0'||ch<='9'
三、编程题(应用条件运算)
3.16输入一个整型成绩x,如果大于等于60分,输出“pass”,否则输出“fail”。
提示:printf("%s",x>60?"pass":"fail");
《C语言程序设计教程》习题参考答案
祝胜林主编
华南理工大学出版社
【习题
一、简答题(在课本中寻找答案,略)
1.1C程序的基本结构包括哪些内容?
1.2如何定义标识符?
1.3输入格式、输出格式的组成包括哪些内容?
1.4C语言函数分为哪两类?
1.5计算表达式的值应该考虑哪些方面?
1.6上机调试程序的步骤如何?
则以下能实现将n中的数值保留小数点后两位,第三位四舍五入的表达式是(B)。
A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0
3.11设k=7,x=12;则下列表达式值为3的是(D)。
二、判断并改错
1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。并不限定在程序的开头。
1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9编辑与编译不是一回事。
2.3变量为什么要“先定义,后使用”?
2.4字符常量'a'与字符串常量"a"有何区别?
2.5大小写字母转换的规则是什么?
2.6变量的具有哪三种属性?
二、单项选择题
2.7C语言中,int型数据在内存中的存储形式是(D)。
A)ASCII码B)原码C)反码D)补码
2.8下面四个选项中,均是不合法的用户标识符的选项是(C)。
A)x%=(k%=5)B)x%=(k-k%5)
C)x%=k-k%5D)(x%=k)-(k%=5)
3.12已知m=48,ch='a',n=0;则表达式(m>=n&&ch<'b'&&!n)的值是(B)。
A)0B)1C)真D)非0
3.13下面哪个式子在b为奇数时结果为假(C)。
A)a%2==1B)!(a%2==0)C)!(a%2)D)a%2
提示:先判断数是否为完数,如果是再考虑输出因子。以6为例输出因子:
for(i=1;i<6;i++) if(6%i==0) printf("%d,",i);
4.11编程实现,计算序列的前20项之和,
, , , , , ,...
提示:这是一个累加式,每项是一个分式,用a、b分别表示分子、分母。注意:如果a、b都是整数,则是整除。float sum=0,a=2,b=1; int i;
1.12所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题
“张三”,对应的拼音为“Zhang San”,输出用printf()函数。
1.14输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
3.17输入一个年份y,如果是闰年,输出“y is a leap year”,否则输出“y is not a leap year.”
提示:printf("%d is %s",y%4==0&&y%100!=0||y%400==0?"a leap year.":"not a leap year.");
3.18输入三条边a,b,c,如果它们能构成一个三角形,输出“Yes”,否则输出“No”。
3.25/2+5.0/2+7%6(答案:5.5)
3.3a=12,a*=2+3(答案:a=60)
3.4a=3,b=4,c=5,a+b>c&&b= =c(答案:0)
3.53>5?3:5<8?25:40(答案:25)
3.6设a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),计算表达式后m,n的值?
mid0=x+y+z-max0-min0;
3.20输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆内,输出“Yes”,否则输出“No”。
提示:分别用x,y代表平面上一个点。
printf("%s",x*x+y*y<=0?"Yes":"No");
【习题
以下的编程题目要求首先画出程序的传统流程图或N-S流程图,再编写程序代码。上机实验时再输入到计算机中进行调试,并将调试过程中出现的问题和测试情况记录下来。
(流程图请读者自己参考课本自己画,略)
4.1编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息。
提示:x代表输入的整数,if(x%2==0) printf("\neven");else printf("\nodd");
4.2编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。
提示:x,y代表平面坐标,if(x*x+y*y==1)printf("\nYes");else printf("\nNo");
4.3编程实现,输入一个成绩等级(A-E),显示相应的百分制成绩段。
A: 90-100
B: 80-89
C: 70-79
D: 60-69
E: <60
提示:char grade;
错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
相关文档
最新文档