最新最全标准C语言程序设计第五版课后基础练习题复习答案完整版.doc
C语言程序设计课后各章节习题答案

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语言程序设计基础教程_习题答案

习题答案第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-primer-plus(第五版)课后编程练习答案(完整)精编版

7.编写一个程序,程序中要调用名为 one_three()的函数。该函数要在一行中显示单词"one", 再调用 two()函数, 然后再在另一行中显示单词"three"。 函数 two()应该能在一行中显示单词"two"。 main() 函数应该在调用 one_three()函数之前显示短语"starting now:",函数调用之后要显示"done!"o 这样, 最后的输出结果应如下所示: starting now one two three done !
第4章 编程练习
字符串和格式化输入/输出
1.编写一个程序,要求输入名字和姓氏,然后以“名字,姓氏”的格式打印。
#include<stdio.h> int main(void) { char surname[20],firstname[20]; printf("Please input your firstname and surname:"); scanf("%s",firstname); scanf("%s",surname); printf("You are %s,%s.\n",firstname,surname); return(0); }
3.编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年 ( fractional year) 和闰年(leapyear)的问题。
#include<stdio.h> int main(void) { int age=22; printf("Age:%d\n",age); printf("Day:%d\n",age*356); return(0); }
(完整版)Cprimerplus(第五版)课后编程练习答案

1 步和第 2 步)。
1. 将英寸值转化为厘米值 2. 显示“输入英寸值” -> 得到该值 -> 转换为厘米值 -> 存储 -> 告知用户已结束
第二章 C 语言概述
编程练习
1 .编写一个程序,调用 printf() 函数在一行上输出您的名和姓,再调用一次
printf() 函数在两个
单独的行上输出您的名和姓,然后调用一对 printf() 函数在一行上输出您的名和姓。输出应如下所示(当
#include<stdio.h>
int main(void) { int toes=10; int toes_add; int toes_square; toes_add=toes+toes; toes_square=toes*toes; printf("toes=%d\ntoes_add=%d\ntoes_square=%d\n",toes,toes_add,toes_square); return(0); }
2 .编写一个程序输出您的姓名及地址。
#include<stdio.h>
int main(void) { printf("Name:He Jin\n"); printf("Address:CAUC\n"); return(0); }
3 .编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年 和闰年 (leapyear) 的问题。
程序中除了 main() 函数之外,要使用两个用户定义的函数:一个用于把上面的夸奖消息输出一次: 另一个用于把最后一行输出一次。
#include<stdio.h>
void printf1(void); void printf2(void);
C_primer_plus(第五版)课后编程练习答案(完整)

1.您刚刚被 MacroMuscle 有限公司(Software for Hard Bodies)聘用。该公司要进入欧洲市场,需 要一个将英寸转换为厘米(1 英寸=2.54 cm)的程序。他们希望建立的该程序可提示用户输入英寸值。您的 工作是定义程序目标并设计该程序(编程过程的第 1 步和第 2 步) 。
int toes_square; toes_add=toes+toes; toes_square=toes*toes; printf("toes=%d\ntoes_add=%d\ntoes_square=%d\n",toes,toes_add,toes_square); return(0); }
6.编写一个能够产生下列输出的程序: Smile ! Smile ! Smile Smile ! Smile ! Smile ! 在程序中定义一个能显示字符串 smile 卜一次的函数,并在需要时使用该函数。
5.编写一个程序,创建一个名为 toes 的整数变量。让程序把 toes 设置为 10。再让程序计算两个 toes 的和以及 toes 的平方。程序应该输出所有的 3 个值,并分别标识它们。
#include<stdio.h> int main(void) { int toes=10; int toes_add;
4.编写一个能够产生下面输出的程序: For he's a jolly good fellow! For he's a jolly good fellow! For he's a jolly good fellow!
Which nobody can deny! 程序中除了 main()函数之外,要使用两个用户定义的函数:一个用于把上面的夸奖消息输出一次: 另一个用于把最后一行输出一次。
C语言基础练习题(含答案)

第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
BA、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。
BA.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是()。
AA._buy_2 B.2_buy C._buy D.buy4. 请选出可用作C语言用户标识符的一组标识符()。
BA.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
BA.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
dA.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
bA.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
bA.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
bA.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
cA.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
aA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
cA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。
C语言程序设计复习题
C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。
A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。
A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。
A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。
A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。
A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。
A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。
A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。
A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。
A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( 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语言详解(第五版)第二章程序设计项目答案C语言详解程序设计项目答案第二章1.编写一个程序,以每英里的费率计算一个售货员的里程偿还金。
程序中要求与用户进行如下方式的交互。
#include #include int main(void){float mile_1,mile_2,miles,consume,payment; printf(\); printf(\); scanf(\,&mile_1); printf(\); scanf(\,&mile_2); printf(\); scanf(\,&consume); miles=mile_2-mile_1; payment=miles*consume;printf(\is %f\,miles,consume,payment); system(\); return(0); }2.编写一个程序,用于辅助设计水力发电大坝。
提示用户输入大坝高度,以及水流量。
如果水重力所做的功有90%转化为电能,测算会有多少M瓦的功率。
#include #include int main(void){double density,weight,gravitational_acceleration,efficiency,height,water_flow_rate,work,electricity_power; printf(\); scanf(\,&density); printf(\); scanf(\,&gravitational_acceleration); printf(\); scanf(\,&height); printf(\electricity>\);scanf(\,&efficiency); printf(\); scanf(\,&water_flow_rate);weight=density*water_flow_rate;work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000;printf(\,electricity_power); system(\); return 0; }3.编写一个程序,用于预测冰箱内的温度,断电后经过的时间是给定的。
《C语言程序设计》复习 参考答案
第一章【随堂练习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;,其余为可执行语句。
3.标识符是用来标识程序中的某个对象名字的字符序列。
C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。
对于用户自定义标识符的命名C语言规定:(1)所有的用户标识符必须先定义后使用;(2)用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,并且首字符不能是数字;(3)区分大小写;(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。
4.理论上讲,程序开发过程分为四个步骤,分别为:(1)编辑源程序(2)编译源程序,生成目标程序(3)连接目标程序及其相关模块,生成可执行文件(4)运行可执行文件一.单元练习一.选择题1.构成C语言程序的基本单位是()。
A.框架B.预处理C.函数D.语句2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。
A.编辑B.编译C.连接D.运行3.关于主函数,下列说法不正确的是()。
A.一个完整的C语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数可以被其他自定义函数调用D.C语言程序的运行从主函数开始,以主函数为核心展开4.关于标识符,下列说法不正确的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课后练习题答案 Chapter 1 1.1 ×√×√√×√××√ 1.2 b c 1.3 ad 1.4 semicolon printf math.h \n
Chapter 2 2.1 ×√××√√×√××√× 2.2 typedef 255 external const
Chapter 3 3.1 ×√××√√×××√√√ 3.2 integer modula 6 logical sizeof paratheses typeconversion precedence 3.3 F F T F F F 3.4 F T T T F 3.5 (b) (c) 3.6 0 -2 7 10.25 false 3 3 1 3.10 0 1 1 1 1 3.11 d } 100 3.12 110 111 3.13 1 3.14 200 3.15 x<=y 3.16 TRUE 3.19 2 1 4 3.20 -40 40
Chapter 4 4.1 ×√√√√√××√√√× 4.2 %hd %x ctype.h %l %*d [^] blank 6 - %e 4.4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c); (c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c); 4.5 (a)10x1.230000 (b)1234x 1.23 (c)1234 456.000000 (d) “123.40 ” (e) 1020 1222(乱码) 4.7 (a)1988 x (b)乱码 (c)120 乱码 (d)乱码 x 4.8 (a)1275 -235.740000 (b) 1275 -235.740000 (c) 0 0.000000 (d) 1275xxxx-235.74 (e)Cambridge (f)1275 Cambridge 4.10 1988 无 无
Chapter 5 5.1 √×√××××××√ 5.2 && switch break if-else x=y 5.4 (a)x = 2; y = 0; (b) x = 1; y = 0; 5.5 (a) if (grade <= 59) if (grade >= 50) second = second + 1; (b) if (number > 100) printf(“out of range”); else if (number < 0) printf(“out of range”); else sum = sum + number; (c) if (T > 200) printf(“admitted”); else if (M > 60) {if (M > 60) printf(“admitted”);} else printf(“not admitted”); 5.6 F T F T 5.8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0) (c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5) 5.9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1 (c) x = 5; y = 0; z =0 (d) 无变化 5.10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0; 5.12 8 5.13 Delhi Bangalore END 5.14 2 4 4 8 5.15 0 0 2 5.16 25 5.17 Number is negative 5.18 ABC 5.19 10 5.20 无输出
Chapter 6 6.1 √√√××√×√√× 6.2 n continue infinite indefinite-repetition-loop counter-variable 6.9 (a) 43210 (b)4321 (c)55555…55555(d)10 8 6.11 (a)无数次 x = 10; x = 5; x = 10; x = 5; x = 10;… (b)5次 m = 3, m = 5, m = 7, m = 9, m = 11 (c)无数次, i 恒为0 (d)4次 m = 11 n = 9; m = 12 n = 11; m = 13, n = 13; m = 14, n = 15; 6.13 (a)for (n = 1; n <= 32; n = n * 2) printf("%d ", n); (b)for (n = 1; n <= 243; n = n * 3) printf("%d ", n); (c)for (n = -4; n <= 4; n = n + 2) printf("%d ", n); (d) sum = 0; for (i = 2; i <= 16; i = sum) { sum = sum + i; n = n - i; printf("%d %d %d \n", i, sum, n); } 6.16 100 90 80 70 60 50 40 30 20 10 0 6.17 m = 20时陷入死循环, 程序无输出 6.18 1 6.19 1 6.20 死循环,延长时间用
Chapter 7 7.1 √×√××√√√√××√ 7.2 index/subscript run-time dynamic multi-dimensional sorting 7.14 15 7.15 HLOWRD
Chapter 8 8.1 ×√√√×√××√×××√×√ 8.2 %[ a-z,A-Z] strcpy 3 stdlib gets strlen strstr strcmp s1-s2 puts 8.6 (a) The sky is the limit. (b) The sky is (c) T (d) The sky is the limit (e)84 104 101 32 115 107 121 32 105 115 32 116 104 101 32 108 105 109 105 116 (f)输出1 2 3 4 5 6 7 8 9…21这些ASCII码对应的字符,无显示符号 (g)% (h)U 8.7 (d) 8.8 7 8.9 (a)he(b)heorshe(c)5 7 8.11 pune
Chapter 9 9.1 √×××√×××√√√×××√×√√×× 9.2 actual-parameter local-variable int data-type variable-name scope recursive static type auto 9.8 abceg 9.9 abcdeg 9.12 (a) 5 (b) 4 (c)3 (d)0 9.13 (a) 5 4 4 0 (b) 5.0 4.0 3.0 0.67 9.14 题目错,设z = 5;结果为:200 1000 9.15 100 9.16 x = 3; y = 0
Chapter 10 10.1 ×√√√√×√√×√√√××√ 10.2 typedef union tag_name pointer member
Chapter 11 11.1 √×√√√√×√×× 11.2 address * * 0 null 赠送以下资料 5以内的加减法口算练习题 姓 名 得分
2+2= 3+2= 0+2= 0+1= 3-1= 2+1= 2+3= 1+4= 1-0= 2+2= 0-0= 3+2= 3-1= 2-1= 2+2= 4-3= 3+2= 2+2= 5-4= 3-1= 0+4= 4+1= 1+0= 0+0= 5-2= 3+2= 4-3= 2+2= 1+2= 5-2= 1+2= 2-0= 1+2= 4+1= 2+2= 2-0= 1-1= 2+2= 2-0= 1-0= 3+0= 4-2= 2-0= 3-0= 0+1= 4-1= 4+1= 3-1= 4-3= 2-0= 3-1= 1+3= 2-0= 1-0= 3+0= 1+2= 5-4= 1-1= 2+0= 3-1= 2-0= 0+1= 1+4= 2+3= 2-1= 3-1= 0+0= 2+2= 2-0= 3-1= 1+0= 1+2= 2+2= 1+3= 5-4= 0+2= 2+3= 1-0= 5-2= 3-3= 1+2= 2-1= 3-3= 3-0= 4-4= 5-4= 2+2= 3-2= 3-0= 3+1= 2+1= 3-3= 4-4= 2-0= 4-0= 3-2= 3-0= 4-3= 5-2= 5+0=
家长签名