C语言课后习题参考答案(前5章)
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语言程序设计教程》第三版课后习题参考答案

《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语言程序设计基础教程课后答案第一章: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语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]
![《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]](https://img.taocdn.com/s3/m/893b22c5a32d7375a517800b.png)
第一篇:《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语言课后习题参考答案(前5章)

《C语言程序设计基础》书后习题参考答案(无编程题答案,红色为书上错误)第二章习题一、选择题。
1、在C语言中,要求参加运算的数必须是整数的运算符是()A)% B)/ C)!D)*2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()A)1 B)2 C)2.0 D) 2.53、若变量已正确定义并赋值,符合C语言语法的表达式是()A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为()A)1.0 B)1 C) 2.0 D)25、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()A) 0 B)1 C) 2 D)36、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()A)7 B)8 C)9 D)107、指出下列哪一个选项的程序是错误的()A)#include<stdio.h> B) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1; x=0,y=x+1;z=x+y; z=x+y;} }C) #include<stdio.h> D) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1, x=0,y=x+1;z=x+y; z=x+y,} }8、若a为整型变量,则以下语句( )a=-2L;printf(“%d\n”,a);A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为29、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);10、若执行以下程序段后,c3的值为()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)211、如下程序的运行结果是()#include<stdio.h>void main( ){ int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A) 3 4 B) 4 2 C) 4 3 D) 3 312、以下程序的输入结果为()#include<stdio.h>void main( ){int i=4,a;a=i++;printf(“a=%d,i=%d’,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=513、以下程序的输出结果是()#include <stdio.h>void main( ){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(}A) 5 B) 4 C) 6 D) 不确定14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)415、已知int i;float f;,正确的语句是()A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;16、已知int j,i=1;执行语句j=-i++;后,j的值是()A)1 B)2 C)-1 D)-217、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)18、C语言中运算对象必须是整型的运算符是( )A) %= B) / C) = D)<=19、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是( )A)12353514 B)12353513 C)12343514 D)1234351320、下面程序的输出结果是()#include<stdio.h>main( ){int x=5,y=3;printf(“%d\n”,y=x/y); }A)0 B)1 C)3 D)不确定的值21、执行下列程序中的输出语句后,a的值是()#include<stdio.h>void main( ){int a;printf(“%d\n”,(a=3*5,a*4,a+5)); }A) 65 B)20 C)15 D)1022、执行下列程序时输入1234567,程序的运行结果为()#include<stdio.h>main( ){int x,y;scanf (“%2d%2ld”,&x,&y);printf(“%d\n”,x+y); }A)17 B)46 C)15 D)923 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()A) double B)int C)float D) char二、填空题1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。
C语言答案(删减版)

C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。
1-6 编辑、编译、链接、执行。
1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。
一个函数中的语句组由声明区和可执行语句区两部分构成。
1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。
1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。
#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。
#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。
C语言课后全部答案

第一章C语言初步一、选择题1.C2.D3.D4.A5.D6.B7.B 8.B 9.C 10.A二、思考与应用题1.A.字符串常量B.字符串常量C.整型常量D.浮点型常量(double)2.A.long doubleB.long intC.floatD.字符型常量3.A.整型常量B.字符型常量C.字符串常量D.字符串常量4.FirstExample: 10,w is Yz is 5.125.int main(void){return 0;}6.#include<stdio.h>int main(void){print f("Hello World");return 0;}7.#include<stdio.h>int main(void){printf("We are to learn correct");printf("C language here");return 0;}/*main*/8.#include<stdio.h>int main(void){/*Local Definition*/int a;float b;char c;/*Statements*/printf("The end of the program."); return 0;}/*main*/9.#include<stdio.h>int main(void){/*Local Definition*/int a;float b;char c,d;/*Statements*/printf("The end of the program."); return 0;}/*main*/10.#include<stdio.h>int main(void){/*Local Definition*/int a;char b,c,d;float e,f;/*Statements*/printf("The end of the program."); return 0;}/*main*/11.A.char option;B.int sum=0;C.float produce=1;12.A.short code;B.float salesTax=.0825;C.double sum=0;13.#include<stdio.h>int main(void){float cost=172.53;printf("The sales total is: $ %6.2f\n",cost);printf("^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^");return 0;}14.#include<stdio.h>int main(void){printf("******\n");printf("******\n");printf("******\n");printf("******\n");return 0;}15.#include<stdio.h>int main(void){printf("*\n");printf("**\n");printf("***\n");printf("****\n");return 0;}16.#include<stdio.h>int main(void){int x1=1;int x2=10;int x3=100;int x4=1000;int x5=10000;printf("%d %d %d %d %d\n",x1,x2,x 3,x4,x5);printf("%f %f %f %f %f\n",x1,x2,x 3,x4,x5);return 0;}17.#include<stdio.h>int main(void){int x;printf("Please enter an integer:\n");scanf("%d",&x);printf("The number as a character:%c\n",x);printf("The number as a decimal:%d\n",x);printf("The number as a float:%f\n",x);return 0;}三、编程题1.#include<stdio.h>int main(void){int x1;int x2;int x3;printf("Please enter three numbers:");scanf("%d%d%d",&x1, &x2, &x3);printf("\nYour numbers forword:\n");printf("%8d\n%8d\n%8d\n",x1,x2,x3 );printf("Your numbers reversed:\n");printf("%8d\n%8d\n%8d\n",x3,x2,x1 );return 0;}2.#include<stdio.h>int main(void){int x1;int x2;int x3;int x4;int x5;int x6;int x7;int x8;int x9;int x10;printf("Please enter 10 numbers:\n");scanf("%d%d%d%d%d%d%d%d%d%d",&x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8, &x9, &x10);printf("\nYour numbers are:\n");printf("%8d%8d\n",x1,x10);printf("%8d%8d\n",x2,x9);printf("%8d%8d\n",x3,x8);printf("%8d%8d\n",x4,x7);printf("%8d%8d\n",x5,x6);return 0;}3.#include<stdio.h>int main(void){int x1;int x2;int x3;int x4;int x5;int x6;int x7;int x8;int x9;printf("Input:\n");printf(" ");scanf("%d%d%d%d%d%d%d%d%d",&x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8, &x9);printf("\nOutput\n");printf("%8d,%d,%d\n",x1,x2,x3);printf("%8d,%d,%d\n",x4,x5,x6);printf("%8d,%d,%d\n",x7,x8,x9);return 0;}第二章表达式与简单程序设计一、选择题1.A2.D3.C4.B5.B6.D7.B二、思考与应用题1.A.2 B.8 C.8 D.0 E.11 2.A.4,4B.4,4 C.4,4 D.2,3 E.4,53.A.12 B.-27 C.14 D.2 E.4 4.A.22.52 B.4.5 C.13.333333 D.0.882353 E.0.075.ABCEF6.A.5 B.2 C.4 D.1 E.7.A.5 B.2 C.4 D.-3 E.6 8.A.5 B.294 C.4 D.29 E.9 9. 50 50 100 2510.#include<stdio.h>int main(void){float x;float y;float p;float s;float total;printf("Please enter x and y:\n");scanf("%f%f",&x,&y);p=x*y;s=x+y;total=s*s+p*(s-x)*(p+y);printf("total=%f",total);return 0;}11.#include<stdio.h>int main(void){int x,y,z;printf("Please enter two integers:\n");scanf("%d%d",&x,&y);z=x*y;printf("%d*%d=%d",x,y,z);return 0;}12.#include<stdio.h>int main(void){float x;int y;printf("Please enter a floating point number:\n");scanf("%f",&x);y=(int)x%10;printf("%d",y);return 0;}13.#include<stdio.h>int main(void){float x;int y;printf("Please enter a floating point number:\n");scanf("%f",&x);y=(int)x/10%10;printf("%d",y);return 0;}14.#include<stdio.h>int main(void){float x;float y;float c;float s;p rintf("Please enter length and width:\n");s canf("%f%f",&x,&y);c=2*(x+y);s=x*y;p rintf("The circumference is %f\n",c);p rintf("The measure of area is %f",s);r eturn 0;}15.#include<stdio.h>int main(void){int a;f loat r;p rintf("Please enter an angle(integer):\n");s canf("%d",&a);r=a/57.295779;p rintf("%d°is %.5f radians",a,r);r eturn 0;}16.#include<stdio.h>int main(void){float c;float F;printf("Please enter centigrade:\n");scanf("%f",&c);F=32+(c*180.0/100.0);printf("Fahrenheit is %f ",F);return 0;}17.(1)double m,v,KinEn;KinEn=m*v*v/2;(2)double b,c,res;res=(b+c)/(2*b*c);18.(1)#include<stdio.h>int main(void){int x=25;x=x+5;printf("%d\n",x);x=x+5;printf("%d\n",x);return 0;}(2)#include<stdio.h>int main(void){int x=10;x=x+2;printf("%d\n",x);x=x+2;printf("%d\n",x);return 0;}(3)#include<stdio.h>int main(void){int x=32;x=x*2;printf("%d\n",x);x=x*2;printf("%d\n",x);return 0;}三、编程题1.A.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x/12;printf("%f inches is %f feet ",x,y);return 0;}B.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x/36;printf("%f inches is %f yards ",x,y);return 0;}C.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x*2.54;printf("%f inches is %f centimeters ",x,y);return 0;D.#include<stdio.h>int main(void){float x;float y;printf("Please enter an number(inch):\n");scanf("%f",&x);y=x/39.37;printf("%f inches is %f meters ",x,y);return 0;}2.#include<stdio.h>int main(void){int fib1;int fib2;int fib3;fib1=13+21;fib2=21+fib1;fib3=fib1+fib2;printf("%d,%d,%d",fib1,fib2,fib3);return 0;}3.#include<stdio.h>int main(void){int x;int b1;int b2;int b3;int b4;int b5;printf("Please enter an integer(0-32767):\n");scanf("%d",&x);b1=x%10;b2=x/10%10;b3=x/100%10;b4=x/1000%10;b5=x/10000%10;printf("%4d%4d%4d%4d%4d\n",b5,b4,b3,b2,b1);printf("%4d%4d%4d%4d%\n",b4,b3,b2,b1);printf("%4d%4d%4d\n",b3,b2,b1);printf("%4d%4d\n",b2,b1);printf("%4d",b1);return 0;}第三章分支程序设计一、选择题1.C2.D3.A4.B5.B6.A7.C8.C 9.A二、思考与应用题1.A.0 B.1 C.1 D.0 E.0 2.A.x>=y B.x<y C.x!=y D.x==y E.x>y3.A.0 B.1 C.1 D.1 E.0 4.x=4,y=3,z=25.x=4,y=1,z=26.x=4,y=2,z=27.x=4,y=1,z=28.x=0,y=0,z=19.x=2,y=0,z=210.x=0,y=0,z=111.x=0,y=0,z=112.x=-1,y=0,z=013.x=0,y=1,z=014.x=1,y=3,z=115.x=1,y=3,z=116.x=4,y=3,z=017.if(aChar=='E'){c++;printf("Value is E\n");}18.switch(ch){case ‘E’:case ‘e’:countE++;break;case ‘A’:case ‘a’:countA++;break;case ‘I’:case ‘i’:countI++;break;default:printf("Error-Not A,E,or I\a\n"); }三、编程题1.#include<stdio.h>main( ){int x,x1,x2,x3;char grade;printf("please enter three text scores(0-100):\n");scanf("%d%d%d",&x1,&x2,&x3);x=(x1+x2+x3)/3;if(x>=90)grade='A';else if(x>=70&&x<90)if(x3>90)grade='A';elsegrade='B';else if(x>=50&&x<70)if((x2+x3)/2>70)grade='C';elsegrade='D';else if(x<50)grade='F';printf("%c\n",grade);}2.#include<stdio.h>main( ){int year;printf("please enter a year:\n");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0)printf("%d is a leap year!\n",year);elseprintf("%d is a non-leap year!\n",year);}3.#include<stdio.h>main( ){i ntyearNow,monthNow,dayNow,year,month,day,x;printf("Please enter the date today(month day year):\n");scanf("%d%d%d",&monthNow,&dayNow,&yearNow);printf("Please enter your birthday(month day year):\n");s canf("%d%d%d",&month,&day,&year);if(monthNow<month)x=yearNow-year-1;else if(monthNow==month)if(dayNow<day)x=yearNow-year-1;elsex=yearNow-year;elsex=yearNow-year;printf("You are %d years old!\n",x);}4.#include<stdio.h>#include<stdlib.h>#include<time.h>main( ){int number,Ynumber;srand(time(NULL));number=rand()%20+1;printf("I am thinking of a number between 1 and 20.\n");printf("Can you guess what it is?");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{if(Ynumber>number)printf("Your guess is high.Try again:");elseprintf("Your guess is low.Try again:");scanf("%d",&Ynumber);if(Ynumber==number)printf("Congratulations!You did it.");else{printf("sorry.The number was %d.\n",number);printf("You should have gotten it by now.\n");printf("Better luck next time.");}}}}}}5.#include<stdio.h>main( ){int year,month,day,x=0,y,z;printf("Please enter your birthday:(year month day)\n");scanf("%d%d%d",&year,&month,&day);y=((year-1)*365+((year-1)/4)-((year-1)/100) +((year-1)/400))%7;switch(month){case 12:x=x+30;case 11:x=x+31;case 10:x=x+30;case 9:x=x+31;case 8:x=x+31;case 7:x=x+30;case 6:x=x+31;case 5:x=x+30;case 4:x=x+31;case 3:x=x+28;case 2:x=x+31;case 1:x=x+0;}if(year%4==0&&year%100!=0||year%400==0)day++;z=(x+day+y)%7;switch(z){case 0:printf("The day of your birthday is Sunday!");break;case 1:printf("The day of your birthday is Monday!");break;case 2:printf("The day of your birthday is Tuseday!");break;case 3:printf("The day of your birthday is Wednesday!");break;case 4:printf("The day of your birthday is Thursday!");break;case 5:printf("The day of your birthday is Friday!");break;case 6:printf("The day of your birthday is Saturday!");break;}}6.#include<stdio.h>#include<math.h>main( ){int a,b,c,p;float x1,x2;printf("Please enter a,b,c:\n");scanf("%d%d%d",&a,&b,&c);p=b*b-4*a*c;if(a==0)if(b==0)printf("There is no solution!");else{x1=-(float)c/b;printf("The solution is x1=%f",x1);}elseif(p<0)printf("There is no real solution!");else{x1=-b+sqrt(p)/(2*a);x2=-b-sqrt(p)/(2*a);printf("The solutions are x1=%f,x2=%f",x1,x2);}}。
c语言前五章基础知识练习题答案(C程序设计第五版)

一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( C )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304.逗号表达式(a=3*5,a*4),a+15的值是( B )A.15B. 30C. 60D. 755. .以下程序的输出结果是( C )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,106.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( A )A. 7,15B. 8,15C. 15,7D.15,87. C语言变量名中不能使用的字符是( D )A. 数字B. 字母C. 下划线D. 关键字8.以下变量定义中合法的是( A )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;9.若有说明语句char ch1=′\x79′;则ch1(D )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符10. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为()A. 552B. 264C. -264D. 14411.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是(A )A.1 B.2 C.3 D.412. 下面程序段执行结果是( B )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,713.以下选项中属于C语言的数据类型是( B )。
C语言课后习题参考答案

C语言课后习题参考答案第一章:基础知识问题1:C语言的发展历史及特点C语言是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代初开发的一种高级程序设计语言。
它以其简洁、高效和可移植性而闻名。
C语言被广泛应用于系统级编程、嵌入式系统和科学计算等领域,并成为其他编程语言的基础。
问题2:C语言的基本数据类型及其存储范围C语言的基本数据类型包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)和空类型(void)。
它们的存储范围如下:- char:-128 到 127 或 0 到 255- int:-32,768 到 32,767 或 0 到 65,535- float:3.4E-38 到 3.4E38- double:1.7E-308 到 1.7E308- void:无特定存储范围问题3:如何在C语言中输出语句?在C语言中,可以使用printf函数来输出语句。
它的基本语法为:```cprintf("要输出的内容");```问题4:定义变量的语法规则在C语言中,定义变量的语法规则如下:```c数据类型变量名;```例如,定义一个整型变量x:```cint x;```问题5:如何进行变量的赋值?变量的赋值可以使用赋值运算符(=)。
例如,将一个整型常量10赋值给变量x:```cx = 10;```第二章:控制结构问题1:if语句的语法结构if语句用于根据条件执行不同的代码块。
它的基本语法结构如下:```cif (条件) {// 条件为真时执行的代码}```问题2:switch语句的用法及语法结构switch语句用于根据不同的表达式值执行相应的代码块。
它的基本用法及语法结构如下:```cswitch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;default:// 当表达式的值与所有case都不匹配时执行的代码break;}```问题3:循环语句的分类及语法结构C语言中的循环语句包括for循环、while循环和do-while循环。
C语言全部章节习题集(参考答案)

选择结构答案
一、单项选择题
1.B 2.A 3.D 4.C 5.D 6.B 7.C
二、填空题
1. 5 5 4
5 5 4
3 3 4
2. 4 0
3. VeryGood
Good
VeryGood
A. 8 B. 4 C. 2 D. 出错
14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。
A. 4 B. 3 C. 2 D. 1
15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。
{ float a,b,temp;
printf("input a and b:");
scanf("%d,%d",&a ,&b);
temp = a; a = b; b = temp;
printf("a=%d , b=%d\n", a , b);
scanf(“%f”,&t);
if(t>=90) ch=’A’;
else if(t>=80) ch=’B’;
24、下列不正确的转义字符是( C )。
A. \\ B. \' C. 074 D. \0
二、填空题:
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。
《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语言基础一、判断题1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。
【】2.main函数必须写在一个C程序的最前面。
【】3.一个C程序可以包含若干的函数。
【】4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
【】5.C程序的注释只能是一行。
【】6.C程序的注释不能是中文文字信息。
【】第二部分数据类型、运算符及表达式一、选择题1.合法的字符常量是( )。
A)‘\t’B) “A” C)‘\028’D)’\x32’2.是C语言提供的合法的数据类型关键字。
A) Float B) signed C) integer D)Char3.在以下各组标识符中,不合法的标识符是。
(1)A)B01 B)table_1 C) 0_t D) k%(2)A)Fast_ B) void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)int C)_xy D)w_y235.下面选项中,不是合法整型常量的是。
A)160 B)-0xcdg C)-01 D)-0x48a6.假设int型在内存中占16位,判断int x = 0xaffbc;x的结果是。
A)赋值非法 B)溢出 C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是。
(1)A)+1e+1 B)-.60 C)123e D)-e3(2)A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4(3)A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在C语言中,参加运算的数必须是整数的运算符是。
A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以形式存放。
A)原码 B)BCD码 C)反码 D)ASCII码10.下列语句中,符合语法的赋值语句是。
A)a=7+b+c=a+7; B)a=7+b++=a+7;C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。
(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
谭浩强版C语言前5章习题答案

第二章1.x++,3x1,Xf_1_4,a$#24,bg—1,I am不是标识符3.1)2L转换成float类型,3转换成float型,012转换成float类型,44转换成float类型;2)34转换成double类型,sqrt(34)转换成int类型,6转换成double类型,5转换成double 类型,3*(int)sqrt(34)转换成double类型,0x2AF转换成double类型;3)4转换成float类型,2.5f+4转换成double类型,6转换成Long类型,6*27L转换成double 类型,1526转换成double,2.4L转换成double4.1)#include <stdio.h>int main(){printf("%f\n",3*(2L+4.5f)-012+44);return 0;} 53.5000002) #include <stdio.h>#include <math.h>int main(){printf("%f\n",3*(int)sqrt(34)-sin(6)*5+0x2af);return 0;} 703.3970773)#include <stdio.h>#include <math.h>int main(){printf("%f\n",cos(2.5f+4)-6*27L+1526-2.4L);return 0;} 1362.5765886. #include <stdio.h>double weight(double p,double d){return p*3.1415926*d*d*d/6.0;}int main(){printf("the weight of iron is :%f\n",weight(7.86,0.1));printf("the weight of gold is :%f\n",weight(19.3,0.15));return 0;} 铁:0.004115 金:0.0341067. #include <stdio.h>#include <math.h>int main(){int a,b,c,d;double s,x1,x2;printf("please input three numbers:");scanf("%d,%d,%d",&a,&b,&c);d=b*b-4*a*c;if(d>0){s=sqrt(d);x1=(-b+s)/2.0/a;x2=(-b-s)/2.0/a;printf("the result is:%f,%f\n",x1,x2);}else if(d==0){x1=-b/2.0/a;printf("the result is:%f\n",x1);}elseprintf("error!\n");return 0;} error!第三章4.调用f函数时,1转换成float类型,第一个y转换成int型,函数体中n,4转换成float 型,结果由float转换成Int型6.圆球体积:double sphere_volume(double radius){return 3.14159*4*radius*radius*radius/3;}圆球表面积:double sphere_area(double radius){return 3.14159*4*radius*radius;}圆柱体体积:double cylinder_volume(double radius,double height){return 3.14159*radius*radius*height;}圆柱体表面积:double cylinder_area(double radius,double height){return 2*3.14159*radius*radius+2*3.14159*radius*height;}7.1)全部用printf()输出2)#include <stdio.h>double weight(double y,double x){return y*3.1415926*x*x*x/6.0;}int main(){printf("the weight of gold is :%f\n",weight(7.86,0.1));printf("the weight of silver is :%f\n",weight(19.3,0.15));printf("the weight of copper is :%f\n",weight(7.86,0.1));printf("the weight of iron is :%f\n",weight(7.86,0.1));printf("the weight of tin is :%f\n",weight(7.86,0.1));return 0;}这种写法程序长度并没有减少,但是减少出错几率,只需在函数中修改圆周率即可,第二种程序修改难度降低3)double weight(double y,double x){return y*x*x*x;}只需将此函数修改,主函数中程序不变8. #include <stdio.h>double tmax(double a,double b,double c){double max=a>b?a:b;return max>c?max:c;}int main(){int a,b,c;printf("please input three numbers:");scanf("%d,%d,%d",&a,&b,&c);printf("the biggest number is:%f\n",tmax(a,b,c));return 0;}9.double resistance(double r1,double r2){return r1*r2/(r1+r2);}11.void root(double a,double b,double c){double d=b*b-4*a*c;double s;if(d>0){s=sqrt(d);printf("the result is:%f,%f\n",(-b+s)/2.0/a, (-b-s)/2.0/a);}else if(d==0){printf("the result is:%f\n",-b/2.0/a);}elseprintf("error!\n");}14. 1)100以内正整数之和#include <stdio.h>int main(){int sum,n;for(n=1,sum=0;n<=100;n++){sum+=n;}printf("100以内正整数之和为:%d\n",sum);return 0;} 50502)100以内正整数的立方和#include <stdio.h>int main(){int sum,n;for(n=1,sum=0;n<=100;n++){sum+=n*n*n;}printf("100以内正整数之和为:%d\n",sum);return 0;} 255025003) #include <stdio.h>int main(){int n;double sum;for(n=1,sum=0.0;n<=20;n++){sum+=n*3.141592653;}printf("100以内正整数之和为:%f\n",sum);return 0;} 659.7344574) #include <stdio.h>int main(){int n;int sum=0;for(n=1;n<=10;n++){printf("%d",n);sum+=n;}printf("产生的序列之和为:%d\n",sum);return 0;} 5515. 1) void print(int a,int b){for(int i=a;i<=b;i++){printf("%d ",i);}}2) void print1(int m,int n,int k){for(int i=m;i<=n;i+=k){printf("%d ",i);}}16. double power(double x,int n){double a=1;if(n>=0){for(int i=n;i>0;i--)a*=x;}else{for(int i=-1;i>=n;i--)a=a/x;}return a;}17. #include <stdio.h>#include <math.h>int main(){double r;for(int i=0;i<=18;i++){r=5.0*i/180.0*3.1415926;printf("角度:%d ,sin=%f ,cos=%f ,tan=%f ,ctan=%f \n",5*i,sin(r),cos(r),tan(r),1.0/tan(r));}return 0;}19.用for循环double sum(double a,int n){double sum=0.0;for(int k=1;k<=n;k++){sum+=k*a;}return sum;}用while循环double sum(double a,int n){double sum=0.0;while(k<=n){sum+=k*a;k++;}return sum;}等差级数求和公式double sum(double a,int n){return a*n*(n+1)/2.0;}20.21.前30个幂for(int i=1;i<=30;i++)printf("%f ",pow(2,i));2的各次幂int i=1;while(1){printf("%f ",pow(2,i));i++;}第四章1.1)递推方法#include <stdio.h>int main(){int a1,a2=0;int n=0;while(1){a1=a2;a2=a1+2*n+1;n++;if(a2>200)break;printf("%d ",a2);}return 0;}2)只使用加法的求完全平方数的程序#include <stdio.h>int main(){for(int i=1;i<200;i++){for(int k=1;k*k<=i;k++)if(k*k==i)printf("%d ",i);}return 0;}3)使用加法的求立方数#include <stdio.h>int main(){for(int i=1;i<=1000;i++){for(int k=1;k*k*k<=i;k++)if(k*k*k==i)printf("%d ",i);}return 0;}使用递推#include <stdio.h>int main(){int a1,a2=0;int n=0;while(1){a1=a2;a2=a1+3*n+3*n*n+1;n++;if(a2>1000)break;printf("%d ",a2);}return 0;}4. double factorial(int k){double sum=0,t=1;for(int i=1;i<=k;i++){t=t*i;sum+=t;}return sum;}对k=30可以得到正确结果5. #include <stdio.h>double calculate(double x,int n) {double s=x;for(int i=1;i<=10;i++){s=1.0+1.0/s;}return s;}int main(){for(int k=1;k<=20;k++)printf("%f \n",calculate(k,10));return 0;}9. #include <stdio.h>#include <math.h>int main(){double sum=0,t=0;int n=1;while(t-3.14159165>=1E-5||t-3.14159165<=-1E-5){sum+=1.0/n/n;t=sqrt(sum*6);n++;}printf("%f,%f,%d\n",sum,t,n-1);}10-5时,计算和,近似值,项数,执行时间分别为1.644923,3.141582,86784,0.005000 10-6时,1.644932,3.141591,476610,0.02500010-7时,1.644933,3.141592,865294,0.04600011. #include <stdio.h>#include <math.h>double dsin(double x){double sum=0.0,t;//t=fmod(t,3.14159);int n=0;while (t>=1E-6||t<=-1E-6){sum+=t;n++;t=-t*x*x/(2*n)/(2*n+1);}printf("%f的执行次数:%d\n",x,n);return sum;}int main(){double x;scanf("%lf",&x);printf("%f",dsin(x));}X太大时,会发生溢出。
C语言课后习题答案

第一章习题答案一、选择题1~5:BDCDA 6~10:DABBB 11~12:CC二、填空题1、main()2、函数首部,函数体3、函数4、编辑、编译、连接、运行5、.cpp、.obj、 .exe6、; 或分号三、编程题#include <stdio.h> /* 包含标准库的信息 */void main() /* 定义名为main 的函数,它不接受参数值 */{ /* main函数的语句都被括在花括号中 */printf("hello, world\n");/* main 函数调用库函数printf 以显示字符序列,其中\n代表换行符 */}第二章习题答案一、选择题1~5:CBABB 6~10:CDCDD 11~15:CADBC 16~20:BDAAD二、填空题1、整型,实型,字符型,枚举类型2、13、94、123535145、2,16、2,27、10 20 08、a=149、2,3,110、double第三章习题答案一、选择题1~5:CBBBC 6~10:DDDBB二、填空题1、控制语句,表达式语句,复合语句2、;3、{}4、15、a6、c:dec=120,oct=170,hex=78,ASCII=x7、32767,327678、10,A,109、3 310、(1) 123.456001(2) □□□□□□□ 123.456(3) 123.4560(4) 8765.456700(5) □□□□□□ 8765.457(6) 8765.4567(7) 8765.4567三、编程题1、参考答案:#include <stdio.h>void main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c );printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x, y,z);printf("x+y=%5.2f y+z=%5.2f z+x=%5. 2f\n",x+y,y+z,z+x);printf("u=%6ld n=%9ld\n",u,n); printf("c1='%c'or %d(ASCII)\n",c1,c1);printf("c2='%c'or %d(ASCII)\n",c2,c2);}2、参考答案:#include <stdio.h>void main(){float a, b, c, t;printf("please input a,b,c:\n"); scanf ("%f, %f, %f", &a, &b, &c);t=(a+b+c)/3;printf ("averageof %6.2f、%6.2f and %6.2f is %6.2f\n",a,b,c,t);}3、参考答案:#include <stdio.h>main(){int R, d;float s;printf("请输入圆的半径");scanf("%d",&R);d=2*R;c=2*3.14159*R;printf("d=%d,c=%f\n",d,c);}4、参考答案:#include <stdio.h>void main(){int h, f, x, y; /* x为鸡的数量,y为兔的数量 */printf("请输入鸡兔的总头数h,总脚数f:");scanf("%d%d", &h, &f);x=(4*h-f)/2;y=(f-2*h)/2;printf("笼中有鸡%d 只,有兔%d只。
C语言习题(前五章)参考答案

C 语言习题参考答案第一部分 C 语言基础一、判断题1.对 2.错 3.对 4.对 5.错 6.错第二部分 数据类型、运算符及表达式一、选择题 1.AD 2.B 3.(1)CD (2)BD (3)C (4) B 5.B6.D /*赋值时,若有溢出,则只截取低位*/ 7.(1)AB (2)BD (3)ABCD 8.C 9.D10.C /*A,B 赋值运算符左值只能是变量,不能是表达式或常量,D 是逗号语句*/12.B /*赋值运算符优先级比逗号表达式高*/ 13.A14.D /*八进制数中,合格字符只能是0~7*/ 15.A /*二进制补码*/16.A /*八进制数中,合格字符只能是0~7*/ 17.D 19.B 20.D21.B /*赋值运算符右值的数据类型强制转换为左值的数据类型*/ 22.ABD 23.D 24.C 25.ABD 二、填空题1. 1 , -128~127 ; 2 , -32768~32767 ; 4 ,-2147483648~2147483647 ; 4 ,383810~10 。
3. 单引号, 双引号 。
4. 优先级 , 结合性 。
6. 2.5 。
7. 3.5 。
11. 24 , 10 , 60 , 0 , 12 , 0 12. double 。
14. 9 。
16. 1.5 , 1 。
18. 2 , -2 。
/*余数符号仅由被除数的符号决定*/ 三、判断题1.错 /*如常量*/3.错 /*如float 只能准确表示7位有效数字,多余的位数是近似表示*/4.错5.对6.对 10.错 四、简答题4写出下列各数的二进制补码(写成16为二进制形式):32: 0000 0000 0010 0000 -1: 1111 1111 1111 1111 -32768:1000 0000 0000 0000 2002: 0000 0111 1101 0010 -128: 1111 1111 1000 0000 0: 0000 0000 0000 0000 五、程序阅读 1.aabb[4个空格]cc[6个空格]c A 6 2.9,11,9,10第三部分 顺序结构一、选择题 2.D3.B /*假设int 占2个字节*/4.D5.C 7.C 8.B 9.D 10.B11.C /*D ,scanf 函数的格式符中不能规定小数位数*/ 12.A /*格式控制符:%2d%2d%3d,输入时,前两个空格对应的数字赋给a ,紧挨着的两个空格的位置赋给b*/ 13.C 14.D 15.D 二、填空题 6. %8. -10 12 410.34[回车] 题目补充:scanf 函数的调用形式为:scanf(“%d%d%f ”,&i,&j,&x); 。
c语言程序设计(第3版)的习题答案

c语言程序设计(第3版)的习题答案c语言程序设计(第3版)的习题答案本文为《c语言程序设计(第3版)》中的习题答案汇总,旨在帮助读者更好地理解和掌握该教材。
以下是各章节习题的详细解答:第1章:计算机概述习题1:答案:计算机是一种能够接受输入数据、对其进行逻辑和算术运算,并产生输出结果的电子设备。
习题2:答案:计算机主要由中央处理器(CPU)、主存储器、输入设备和输出设备四个主要部分组成。
......第2章:c语言概述习题1:答案:C语言是一种通用的高级编程语言,由贝尔实验室的Dennis Ritchie于1972年开发。
习题2:答案:C语言的特点包括高效性、可移植性、灵活性和丰富的操作符与控制语句。
......第3章:数据类型、运算符和表达式习题1:答案:C语言中的基本数据类型包括int、float、double、char等。
习题2:答案:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。
......第4章:程序控制结构习题1:答案:C语言中的程序控制结构主要包括顺序结构、选择结构和循环结构。
习题2:答案:顺序结构是指程序按照语句的顺序依次执行,没有分支和循环。
......第5章:函数习题1:答案:C语言中的函数由函数头和函数体组成。
习题2:答案:函数的定义包括函数名、返回类型、参数列表和函数体。
......第6章:数组和字符串习题1:答案:数组是一组相同类型的数据元素的集合。
习题2:答案:C语言中的字符串是以空字符'\0'结尾的字符数组。
......第7章:指针习题1:答案:指针是用来存储另一个变量的地址的变量。
习题2:答案:指针变量可以通过取地址运算符(&)获取普通变量的地址。
......第8章:结构和共用体习题1:答案:结构是由不同数据类型的成员组成的复合类型。
习题2:答案:共用体(union)是一种特殊的数据类型,它可以存储不同类型的数据,但在同一时间只能存储其中的一种。
《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语言程序设计习题答案(1 5章)

case 6:m=2;break; case 7:m=3;break; case 8:m=4;break; default:m=5;break; } printf("m=%d\n",m); } Cprogram\xt4_4_1b.c #include "stdio.h" main() {int a,m; scanf("%d",&a); m=0; switch(a/10) {default:m++; case 8:m++; case 7:m++; case 6:m++; case 5:case 4:case 3:case 2: case 1:case 0:m++; } printf("m=%d\n",m); } 2. 编写程序,从键盘输入一个整数,打印出它是奇数还是偶数。 答:程序参见文件 Cprogram\xt4_4_2.c #include "stdio.h" main() {int a; scanf("%d",&a); if(a%2==1) printf("%d is a odd number !\n",a); else printf("%d is a even number !\n",a); } 3. 编写程序,从键盘输入一个字符,判别它是否是小写字母,如果是,将它转换为大写字母;如果不是, 不转换。然后输出最后得到的字符。 答:程序参见文件 Cprogram\xt4_4_3.c #include "stdio.h" main() {char ch; scanf("%c",&ch); if(ch>='a' && ch<='z') ch=ch-32; printf("%c\n",ch); } 4. 编写程序,从键盘输入一个不多于 4 位的正整数,打印出它是几位数。 答:程序参见文件 Cprogram\xt4_4_4.c #include "stdio.h" main()
c语言第五版课本课后习题答案

c语言第五版课本课后习题答案C语言是一门广泛应用的编程语言,其第五版课本通常包含了大量的理论知识和实践练习。
课后习题是帮助学生巩固和检验学习成果的重要部分。
以下是一些C语言第五版课本课后习题的答案示例,请注意,这些答案仅供参考,具体答案可能因课本版本和习题内容的不同而有所变化。
# 第一章:C语言概述习题1:简述C语言的特点。
答案: C语言是一种结构化编程语言,具有高效性、可移植性、丰富的运算符和数据类型等特点。
它广泛应用于系统软件、嵌入式系统等领域。
习题2:解释编译型语言和解释型语言的区别。
答案:编译型语言在执行前需要通过编译器将源代码转换为机器语言,生成可执行文件;而解释型语言在执行时由解释器逐行解释执行,不需要编译过程。
# 第二章:数据类型与变量习题1:列举C语言中的基本数据类型。
答案: C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)等。
习题2:什么是变量?变量声明的一般形式是什么?答案:变量是存储数据值的容器,其名称可以代表内存中的一个存储位置。
变量声明的一般形式为:`数据类型变量名;`。
# 第三章:控制结构习题1:什么是条件语句?列举C语言中的条件语句类型。
答案:条件语句用于根据条件的真假来控制程序的执行流程。
C语言中的条件语句包括if语句、if...else语句和switch语句。
习题2:循环语句的作用是什么?C语言中有哪些循环语句?答案:循环语句用于重复执行一段代码直到满足特定条件。
C语言中的循环语句包括for循环、while循环和do...while循环。
# 第四章:函数习题1:函数的定义是什么?函数的作用是什么?答案:函数是一段具有特定功能的代码块,可以被重复调用。
函数的作用是实现代码的模块化,提高代码的复用性。
习题2:函数声明和函数定义的区别是什么?答案:函数声明提供了函数的名称、返回类型和参数列表,但不包含函数的实现细节;函数定义则包含了函数的实现代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计基础》书后习题参考答案(无编程题答案,红色为书上错误)第二章习题一、选择题。
1、在C语言中,要求参加运算的数必须是整数的运算符是()A)% B)/ C)!D)*2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()A)1 B)2 C)2.0 D) 2.53、若变量已正确定义并赋值,符合C语言语法的表达式是()A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为()A)1.0 B)1 C) 2.0 D)25、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()A) 0 B)1 C) 2 D)36、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()A)7 B)8 C)9 D)107、指出下列哪一个选项的程序是错误的()A)#include<stdio.h> B) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1; x=0,y=x+1;z=x+y; z=x+y;} }C) #include<stdio.h> D) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1, x=0,y=x+1;z=x+y; z=x+y,} }8、若a为整型变量,则以下语句( )a=-2L;printf(“%d\n”,a);A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为29、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);10、若执行以下程序段后,c3的值为()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)211、如下程序的运行结果是()#include<stdio.h>void main( ){ int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A) 3 4 B) 4 2 C) 4 3 D) 3 312、以下程序的输入结果为()#include<stdio.h>void main( ){int i=4,a;a=i++;printf(“a=%d,i=%d’,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=513、以下程序的输出结果是()#include <stdio.h>void main( ){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(}A) 5 B) 4 C) 6 D) 不确定14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)415、已知int i;float f;,正确的语句是()A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;16、已知int j,i=1;执行语句j=-i++;后,j的值是()A)1 B)2 C)-1 D)-217、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)18、C语言中运算对象必须是整型的运算符是( )A) %= B) / C) = D)<=19、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是( )A)12353514 B)12353513 C)12343514 D)1234351320、下面程序的输出结果是()#include<stdio.h>main( ){int x=5,y=3;printf(“%d\n”,y=x/y); }A)0 B)1 C)3 D)不确定的值21、执行下列程序中的输出语句后,a的值是()#include<stdio.h>void main( ){int a;printf(“%d\n”,(a=3*5,a*4,a+5)); }A) 65 B)20 C)15 D)1022、执行下列程序时输入1234567,程序的运行结果为()#include<stdio.h>main( ){int x,y;scanf (“%2d%2ld”,&x,&y);printf(“%d\n”,x+y); }A)17 B)46 C)15 D)923 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()A) double B)int C)float D) char二、填空题1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。
2、若a是int型变量,则执行表达式a=25/3%3后a的值为____2____。
3、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10___ ,n的值为____6____。
4、若a是int型变量, 则表达式(a=4*5,a*2),a+6的值为____26_____。
5、若有定义int m=5,y=2;, 则执行表达式y+=y-=m*=y后y的值是_____-16______。
6、表达式8.0*(1/2)的值为___0______。
7、x为整型变量,则执行x=6;x+=x-=x*x;后,x第3章习题一、选择题1、若有说明:double a; 则正确的输入语句为()A)scanf(“%lf”,a); B) scanf(“%f”,&a);C) scanf(“%lf”,&a); D) scanf(“%le”,&a);2、若有以下程序段:int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);其输出结果是()A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,33、有以下程序#include<stdio.h>void main( ){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x); }程序运行后的输出结果是( )A)3 B)5 C)-1 D)-24、以下程序段的输出结果是()float a=57.666;printf(“*%010.2f*\n”,a);A) *0000057.66* B) *57.66* C)*0000057.67* D)*57.57*思考:若是printf(“*%10.2f*\n”,a);结果是怎样呢?* 57.67*5、若变量C定义为float型,当从终端输入283.1900后按回车键,能给变量c赋以283.19的输入语句是()A) scanf (“%f”,c); B) scanf (“%8.4f”,&c);C) scanf (“%6.2f”,&c); D) scanf (“%8f”,&c);11、已知int a,b; ,用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是()A),B)空格C)回车D)【Tab】键12、下列程序的输出结果是()#include<stdio.h>void main( ){ printf(“%f”,2.5+1*7%2/4); }A) 2.500000 B)2.750000 C)3.375000 D)3.000000二、填空题1、C语言句尾用____;分号_______结束。
2、以下程序的输出是___________。
#include<stdio.h>void main( ){int i=-200,j=25;printf(“%d,%d”, i,j);printf(“i=%d,j=%d\n”, i,j);printf(“i=%d\n,j=%d\n”, i,j);}三、编程题。
1、输入一个华氏温度f,要求输出摄氏温度c,公式为f=9/5*c+32 ,输出结果,并要求输出的结果保留到小数点后两位。
2、从键盘输入三个整数,输出最大的那个数(用条件表达式实现)。
3、输入三个小写字母,输出其对应的大写字母。
4、输入正方形的边长,输出其周长和面积。
5、编写一个程序,输入一个整数,判断它是奇数还是偶数,并输出判断结果(用条件表达式实现)。
第4章习题一、选择题1.下列错误的语句是()A)if(a>b) printf(“%d”,a); B) if(&&) ; a=m;C) if(1) a=m; else a=n; D) if(a>0) ; {else a=n;}2.阅读下列程序:#include<stdio.h>void main( ){float a,b,t;scanf(“%f,%f”,&a,&b);if(a>b){t=a; a=b; b=t;}printf(“%5.2f,%5.2f”,a,b); }运行时从键盘输入3.8和-3.4,则正确的输出结果是()A)-3.40,-3.80 B) -3.40,3.80 C)-3.4,3.8 D)3.80,-3.403.对下列程序,()是正确的判断。
#include<stdio.h>void main( ){int x,y;scanf(“%f,%f:”,&x,&y);if(x>y) x=y; y=x;else x++;y++;printf(“%d,%d”, x,y);}A)有语法错误,不能通过编译B)若输入数据3和4,则输出4和5C)若输入数据4和3,则输出3和4 D)若输入数据4和3,则输出4和44.以下关于运算符的优先顺序的描述中正确的是()//严格来说,没有正确答案A)关系运算符<算术运算符<赋值运算符<逻辑运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑运算符5.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( )A)(!a==1)&&(!b==0) B)a C)a && b D)a||(b+b)&&(c-a)6.设x,y,t均为int型变量,则执行语句x=y=3;t=++x||++y;后,y的值为()A)不定值B)4 C)3 D)17.下列程序的输出结果是()#include <stdio.h>void main( ){int a=0,b=0,c=0;if(++a>0||++b>0)++c;printf(“\na=%d,b=%d,c=%d”,a,b,c);}A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1二、填空题1.当a=1,b=2,c=3时,以下语句执行后,a、b、c中的值分别是__a=3___、__b=2__和___c=2_____。