标准c程序设计第5版答案【篇一:c程序设计教程课后习题答案吉顺如版】
题
1、a
2、d
3、c
4、d
5、b
6、c
7、c
8、b
9、b 10、a
二、填空题
1、一,函数体
2、main(主),main(主)
3、编译,目标
4、.c,.obj,.exe
5、缩进,无影响,/* */
三、程序分析题
1、
*****************
very good!
*****************
2、
a=12,b=5
a=17,b=22
3、
r= 5.50,s=95.033098
四、编程题
1.用printf()函数在屏幕上输出自己的班级、学号、姓名。
#includestdio.h
void main()
{
printf(班级:bx1109\n);
printf(学号:111003530901\n);
printf(姓名:王孟荣\n);
}
2.从键盘输入两个整数,计算它们的和、差、积、商,并在屏幕上输出结果。
#includestdio.h
void main()
{
int x,y,a,b,c;
float d;
printf(please input two integers:\n);
scanf(%d%d,x,y);
a=x+y;
b=x-y;
c=x*y;
d=1.0*x/y;
printf(a=%d\nb=%d\nc=%d\nd=%f\n,a,b,c,d);
}
第2章习题
一、选择题
1~5bcdcd
6~10 dbbca
二、填空题
1.单精度浮点型、双精度浮点型、字符型
2.0
3.x%10*10+x/10
4.5.5
5.5.720
6.sin(sqrt(x*x))/(a*b)
7.,
8.1111011173 7b
9.33
10.3
三、程序分析题
1. 7,8,10
2. 1,3
3.5 f
4. (int)i=12,
12.50
5. 4
61
57
9
112
四、编程题
1.编写程序,求表达式c=21%9-(float)a+4/b*b的值,假设表达式中a和b的值分别由键盘输入。
#includestdio.h
void main( )
{
int a,b;
float c;
printf(please input data a,b: );
scanf(%d%d,a,b);
c=21%9-(float)a+4/b*b;
printf(c=%5.2f\n, c);
}
2. 编写程序,从键盘输入两个整数存入变量a和b中,求a2-b2的值并输出。
#includestdio.h
void main( )
{
int a,b,c;
printf(please input data a,b: );
scanf(%d%d,a,b);
c=a*a-b*b;
printf(c=%d\n, c);
}
第3章习题
一、选择题
1
d 2 c 3 a、b 4 a 5 b 6 b 7 b、c 8 b 9 d 10 d
二、填空题
1. 有穷性确定性可行性
2. #
3. 从终端(键盘)输入一个字符
4. md
5. 97,g
6. 123.456000,123.46, 123
7. 格式控制符不正确(输入数据时不能控制列宽和小数位数)
8. 63,63,77,3f
9. %f%f x,y
10. stdio.hchch
三、程序分析题
1. c=11
2. a=123 f=457
3. x=345
y=3.460000
4. a=1,b=3
a=3,b=1
5. (题目需修改为:从键盘输入一个除a和z以外的小写字母)
程序的功能:从键盘输入一个除a和z以外的小写字母,求出该字
母对应的大写字母的前趋和后继字母,然后顺序输出此三个大写字母,每个字母所占列宽为3。
运行结果:假如输入:f
输出:e f g
四、编程题
1.编写程序,计算的值并输出(保留3位小数),其中a、b的值由
键盘输入。
#include stdio.h
#includemath.h
void main( )
{ float a, b,x;
scanf(%f%f, a, b);
x=(a*a+b*b)/sqrt(3*(a+b));
printf(x=%.3f\n,x);
}
2.编写程序,从键盘输入一个梯形的上底a、下底b和高h,输出梯形的面积s。
#include stdio.h
【篇二:c-primer-plus(第五版)编程练习全部答案.】
练习
1.您刚刚被 macromuscle 有限公司(software for hard bodies)聘用。该公司要进入欧洲市场,需要一个将英寸转换为厘米(1 英寸
=2.54 cm)的程序。他们希望建立的该程序可提示用户输入英寸值。
您的工作是定义程序目标并设计该程序(编程过程的第 1 步和第 2 步)。
1.将英寸值转化为厘米值
2.显示“输入英寸值”-得到该值-转换为厘米值-存储-告知用户已结束
第二章 c 语言概述
编程练习
1.编写一个程序,调用 printf()函数在一行上输出您的名和姓,再调用一次 printf()函数在两个单独的行上输出您的名和姓,然后调用一对 printf()函数在一行上输出您的名和姓。输出应如下所示(当然里面要换成您的姓名):
anton bruckner
anton
bruckner
anton bruckner
第一个输出语句
第二个输出语句
仍然是第二个输出语句
第三个和第四个输出语句
#includestdio.h
int main(void)
{
printf(he jin\n);
printf(he\n);
printf(jin\n);
printf(he jin\n);
return(0);
}
2.编写一个程序输出您的姓名及地址。
#includestdio.h
int main(void)
{
printf(name:he jin\n);
printf(address:cauc\n);
return(0);
}
3.编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year) 和闰年(leapyear)的问题。
#includestdio.h
int main(void)
{
int age=22;
printf(age:%d\n,age);
printf(day:%d\n,age*356);
return(0);
}
4.编写一个能够产生下面输出的程序:
for hes a jolly good fellow!
for hes a jolly good fellow!
for hes a jolly good fellow!
which nobody can deny!
程序中除了 main()函数之外,要使用两个用户定义的函数:一个用于把上面的夸奖消息输出一次:另一个用于把最后一行输出一次。 #includestdio.h
void printf1(void);
void printf2(void);
int main(void)
{
printf1();
printf1();
printf1();
printf2();
return(0);
}
void printf1(void)
{
printf(for hes a jolly good fellow!\n);
}
void printf2(void)
{
printf(which nobody can deny!\n);
}
5.编写一个程序,创建一个名为 toes 的整数变量。让程序把toes 设置为 10。再让程序计算两个 toes 的和以及 toes 的平方。程序应该输出所有的 3 个值,并分别标识它们。
#includestdio.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_a dd,toes_square);
return(0);
}
6.编写一个能够产生下列输出的程序:
smile ! smile ! smile
smile ! smile !
smile !
在程序中定义一个能显示字符串 smile 卜一次的函数,并在需要时使用该函数。
#includestdio.h
void display(void);
int main(void)
{
display();
display();
display();
printf(\n);
display();
display();
printf(\n);
display();
printf(\n);
return(0);
}
void display(void)
{
printf(smile!);
}
7.编写一个程序,程序中要调用名为 one_three()的函数。该函数要在一行中显示单词 one,再调用 two()函数,然后再在另一行中显示单词three。函数 two()应该能在一行中显示单词two。main()函数应该在调用 one_three()函数之前显示短语starting now:,函数调用之后要显示done!o 这样,最后的输出结果应如下所示:
starting now
one
two
three
done !
#includestdio.h
void one_three(void);
void two(void);
int main(void)
{
printf(starting now:\n);
one_three();
printf(done!\n);
return(0);
}
void one_three(void)
{
printf(one\n);
two();
printf(three\n);
}
void two(void)
{
printf(two\n);
}
第三章数据和 c
编程练习
【篇三:c primer plus(第五版)课后编程练习答案】
习
1.您刚刚被macromuscle有限公司(software for hard bodies)聘用。该公司要进入欧洲市场,需要一个将英寸转换为厘米(1英寸
=2.54 cm)的程序。他们希望建立的该程序可提示用户输入英寸值。
您的工作是定义程序目标并设计该程序(编程过程的第1步和第2步)。
1.将英寸值转化为厘米值
2.显示“输入英寸值”-得到该值-转换为厘米值-存储-告知用户已结束
第二章 c语言概述
编程练习
1.编写一个程序,调用printf()函数在一行上输出您的名和姓,再
调用一次printf()函数在两个单独的行上输出您的名和姓,然后调用
一对printf()函数在一行上输出您的名和姓。输出应如下所示(当然里面要换成您的姓名):
anton bruckner
anton
bruckner
anton bruckner
第一个输出语句
第二个输出语句
仍然是第二个输出语句
第三个和第四个输出语句
#includestdio.h
int main(void)
{
printf(he jin\n);
printf(he\n);
printf(jin\n);
printf(he jin\n);
return(0);
}
2.编写一个程序输出您的姓名及地址。
#includestdio.h
int main(void)
{
printf(name:he jin\n);
printf(address:cauc\n);
return(0);
}
3.编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year)和闰年(leapyear)的问题。
#includestdio.h
int main(void)
{
int age=22;
printf(age:%d\n,age);
printf(day:%d\n,age*356);
return(0);
}
4.编写一个能够产生下面输出的程序:
for hes a jolly good fellow!
for hes a jolly good fellow!
for hes a jolly good fellow!
which nobody can deny!
程序中除了main()函数之外,要使用两个用户定义的函数:一个用于把上面的夸奖消息输出一次:另一个用于把最后一行输出一次。 #includestdio.h
void printf1(void);
void printf2(void);
int main(void)
{
printf1();
printf1();
printf1();
printf2();
return(0);
}
void printf1(void)
{
printf(for hes a jolly good fellow!\n);
}
void printf2(void)
{
printf(which nobody can deny!\n);
}
5.编写一个程序,创建一个名为toes的整数变量。让程序把toes 设置为10。再让程序计算两个toes的和以及toes的平方。程序应该输出所有的3个值,并分别标识它们。
#includestdio.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_a dd,toes_square);
return(0);
}
6.编写一个能够产生下列输出的程序:
smile ! smile ! smile
smile ! smile !
smile !
在程序中定义一个能显示字符串smile卜一次的函数,并在需要时使用该函数。
#includestdio.h
void display(void);
int main(void)
{
display();
display();
display();
printf(\n);
display();
display();
printf(\n);
display();
printf(\n);
return(0);
}
void display(void)
{
printf(smile!);
}
7.编写一个程序,程序中要调用名为one_three()的函数。该函数要在一行中显示单词one,再调用two()函数,然后再在另一行中显示单词three。函数two()应该能在一行中显示单词two。main()函数应该在调用one_three()函数之前显示短语starting now:,函数调用之后要显示done!o这样,最后的输出结果应如下所示:
starting now
one
two
three
done !
#includestdio.h
void one_three(void);
void two(void);
int main(void)
{
printf(starting now:\n);
one_three();
printf(done!\n);
return(0);
}
void one_three(void)
{
printf(one\n);
two();
printf(three\n);
}
void two(void)
{
printf(two\n);
}
第三章数据和c
编程练习
1.通过试验的方法(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
#includestdio.h
int main(void)
{
unsigned int a=4294967295;
float b=3.4e38;
float c=b*10;
float d=0.1234e-2;
printf(%u+1=%u\n,a,a+1);
printf(%e*10=%e\n,b,c);
printf(%f/10=%f\n,d,d/10);
return(0);
}
2.编写一个程序,要求输入一个ascii码值(如66),然后输出相应的字符。
#includestdio.h
int main(void)
{
char a;
scanf(%d,a);
quot;,a);
return(0);
}
3.编写一个程序,发出警报声,并打印下列文字:
startled by the sudden sound, sally shouted, by the great pumpkin, what was that!
#includestdio.h
int main(void)
《C/C++程序设计》实验报告 实验五 练习5.2 代码如下: #include
//display the number's 逆序 int reverse(int number) { int i,sum=0; while(number>0) { i = number % 10; number = number / 10; sum = sum*10 + i; } return sum; } int main() { cout << "Please enter an integer:"; int a; cin >> a; //use the function int reverse cout<
第一章单片机由哪几部分组成?、80511可P2P0和个8位并行I/O口(其中8位中央处理器CPU、片内振荡电器及其时钟电路,4,个中断优先级)个中断源(具有2位定时器/计数器,5 用于外部存储器的扩展),2个16 全双工串行口,布尔处理器。单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能?、80512 表P7 1-3个特殊功能寄存器,在物理 上是分散在片内各功能部件中,在数218051单片机内部有答:中,以便能使用统一的直接寻址方式80H~FFH学上把它们组织在内部数据存储器地址空间来访问。这些特殊功能寄存器颁 在以下各个功能部件中:主要完;DPH两个8位寄存器组成)PSW、SP、DPTR(由DPL和(1)CPU:ACC、B、成运算和逻辑判断功能;完成中断管理IP、IE;(2)中断系统:完成 定时或者计数功能、TH1;TCOM、TL0、TH0、TL1(3)定时器/计数器:TMOD、口带有可选的纵向拓展I/O完成I/O口功能,其中部分P1P0、、P2、P3(4)并行I/O口:功能。主要完成数据的串行发送和接收SBUF、PCON5)串行口:SCON、(、决定程序执行顺序的寄存器是哪几个?它是几位寄存器?是否为特殊功能寄存器?它的3 内容是什么信息?它的内容是下一条 将要执行的不是特殊功能寄存器,它是16位寄存器,是程序计数器PC,程序的地址的用途是什么?它由哪几个特殊功能寄存器组DPTRDPTR是什么特殊功能寄存器?4、成?位)和8DPL (数据指针低是16位数据指针寄存器,它由两个8位特殊功能寄存器DPTR位地址,作地址寄存器用,可寻址外部16DPTR用于保存DPH(数据指针高8位)组成,数据存储器,也可寻址程序存储器。线?它们和单片机对外的地址总线和数据总线有什么关系?地址的引脚有多少I/O5、8051 总线和数据总线各是多少位?线可以在外扩存储器时分时复根I/OP0口8I/O8051单片机的40个引脚中有32根口线,和P3.6位地址总线,P2口作为高8用作为外部存储器的低8位地址 总线和8位数据总线,位。16位,数据总线为8P3.7分别作为外部存储器的写和读控制线。地址总线单片机堆栈的最大容量不能超过多少字8051、什么是堆栈?堆栈指针SP的作用是什么? 6 节?堆栈是数据寄存器的一部分,这一部分数据的存取是按照先入后出、后入先出的原则进行的。堆栈指针SP在启用堆栈之前是用来决定堆栈的位置。如在8051芯片复位后,SP的值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM的其它部分。在堆栈启 用之后,SP指向堆栈顶部,即由SP来决定数据读出和存入堆栈的地址。8051单片机内部用作 数据区的RAM的容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只是最大可能的容量。一般情况下,内部RAM还要分出一部分作一般的数据区,或者还要用其中的位寻址区来用于位操作,等等。所以,8051 的堆栈区是比较小的,使用时要注意到这个限制。 8、8051内部RAM低128字节可分为几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少? 8051内部RAM的低128字节可以分为通用寄存器区、位寻址区、便签(工作或者堆栈RAM)1 中的个字节。设置PSW区和特殊功能寄存器区。通用寄存器区的地址从00H到1FH共3212816个字节RS1可以切换当前通用寄存器组。位寻址区地址从20H到2FH共位RSO和127. 0到位,占用地址8051单片机对外有几条专用控制线?其功能是什么?9、,高电位有效,当有条专用控制线。它们是复位信号线RST一般的说法是8051单片机有4,低电平有效,当此复位信号从此线输入时,使单片机复位。访问外部存贮器控制信号EA先使用片单片机全部使用外部指令存贮器,而当此控制线为高电平时,控制线为低电平时,1000H(地址为,在4KB范围之外,才使用指令存贮器FFFFH内的4KB指令存贮器(0000H-)和外部地址锁存器允PSEN-FFFFH)。另有两条输出控制:外部程序存贮器的读选通信号。前者是低电平有效,在读外部程 序存贮器时使用。后者是高电平有效,在锁存ALE许信号P0口输出的低8位地址时使用。端必须怎样处理?为什么?10、8031的/EA为有效时,/EA访问内部ROM,当端是访问外部程序
1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max
{char #include
循环结构程序设计 P115 5.1 用while计算1至100的合. #include
{ int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0. while(i<=10) { sum=sum+i; i++; } printf("The sum of 1-10 is %d .\n",sum); return 0; } #include
第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x
习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100;
a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。 #include <> main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** *
C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);
}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);
C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include
课后练习题答案 Chapter 1 1.1×√×√√×√××√ 1.2b c 1.3ad 1.4semicolon 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 -23 5、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
C程序设计第三版答案 1.5请参照本章例题,编写一个C程序,输出以下信息:************ Very Goodj! ************ 解: main() { printf(" ************ \n"); printf("\n"); printf(" Very Good! \n"); printf("\n"); printf(" ************\n"); } 1.6编写一个程序,输入a b c三个值,输出其中最大者。解:main() {int a,b,c,max; printf("请输入三个数a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max
if(max 单选题 1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6}; 2、在定义数组int arr[10]后,下列选项中对arr的引用正确的是() A.arr[10] B.arr[6.3] C.arr(6) D.arr[0] 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是() A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若int arr[5] = {1,2,3}; 则arr[2]的值为() A.1 B.2 C.3 D.null 5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为() A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能正确定义并赋初值的是() A.int n = 5,b[n][n]; B.int a[1][2] = {{1},{3}}; C.int c[2][] = {{1,2},{3,4}}; D.int a[3][2] = {{1,2},{3,4}}; 7、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s); 其输出结果为() A.a book! B.a book C.a bo D.a 8、阅读下列程序: int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } }; printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]); 《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号 第二部分习题篇 第一章C语言概述 一.单项选择题 1.A)2.A)3.A)4.B)5.C)6.D)7.C)8.A)9.D)10.C)11.C)12.D)13.B)14.D)15.A)二.填空题 1.高级语言2.main( ) 3.main( ) 4.{ } 5.分号 6.换行7.*/ 8.函数9.编译10..exe 三.判断题 1.(对)2.(对)3.(错)4.(对)5.(对)6.错)7.(对)8.(错)9.(对)10.对) 第二章数据类型与表达式 一.单项选择题 1.A)2.C 3.D)4.A)5.C)6.D)7.C)8.C)9.A)10.A)11.B)12.C)13.C)14.D)15.B)16.B)17.C) 二.填空题 1.Double 2.不同3.27 4.35 5.5 6.double 7.43 8.53 9.12,10,18 10.12.20 11.1,3,3,1 12.4,8 三.判断题 1.(对)2.(对)3.(错)4.(对)5.(对)6.(错)7.(对)8.(错)9.(对)10.(对) 第三章顺序结构程序设计 一.单项选择题 1.D)15.0,25.0,35.0 2.C)x=1.23,y=1.26 3.B)scanf(“%d%d%d”,&a,&b,&c); 4.A)scanf("%f",&a); 5.D)程序输出小写字母d 6.B)3 二.填空题 1.5.5 2.c+25 3.1,2,A,a 4.2D 三.判断题 1.顺序结构、选择结构和循环结构可以组成所有的各种复杂程序。(对)2.复合语句就是多条语句,不必须用花括号括起来。(错)3.在变量说明中,允许连续给多个变量赋初值。(错)4.scanf函数和printf函数的原型在头文件“stdio.h”中。(对)5.printf函数格式字符串中%4d表示输出一定是四位十进制整数。(错)6.putchar 函数的功能是在显示器上输出一个字符。(对)7.在scanf函数的格式串中,如果是“%d%d%d”,在输入三个十进制整数时要用一个以上的空格键、回车键和Tab键作为每两个输入数之间的间隔。(对)8.在scanf函数的格式串中,如果是“%c%c%c”,在输入三个字符时要用一个以上的空格键、回车键、Tab键和逗号作为每两个输入字符之间的间隔。(错)9.scanf("%5.2f",&a);是合法的,目的是输入小数为2位的实数。(错)10.getchar函数的功能是从终端输入一个字符。(对) 第四章选择结构程序设计 一.单项选择题 1.C)算术运算、关系运算、逻辑运算 2.A)% 3.B)x= =0 4.B)!、&&、|| 5.D)(x<=y)&&(y<=z) 6.D)(x<=-10)||(x>=7) 7.A)6 /*练习5-3*/ #include main() { int a,n,i,x,y=0; printf("enter a and n:\n"); scanf("%d",&a); scanf("%d",&n); for(i=1;i<=n;i++) { x=fn(a,i); y=y+x; } printf("y=%d\n",y); } /*习题5.2*/ #include 教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分 习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A 5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ± ~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15 6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7. 8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一 第3章习题解答 第1章 1.C 语言程序主要由预处理命令、函数、注释等组成。 2.填空 (1)分号 (2)main (3)stdio.h 3. 源程序: #include b. x=4,y=3 f.x=3,y=6 4. 16 5. #include(完整版)C语言程序设计教程第五章练习题题目
(完整版)《C语言程序设计》基本知识点
C程序设计与应用实验指导与习题1,2章答案
c语言程序设计课后习题答案 第五章
C语言程序设计教程第三版(李凤霞)习题答案
c语言程序设计(科学出版社)课后习题解答