C++课后习题

合集下载

C语言课后习题及答案

C语言课后习题及答案

三、根据下列条件写一个 C/C++表达式。 1.a 和 b 中有一个大于 d:a>d||b>d 2.将 x、y 中较大的值送给 z:z=x>y?x : y 3.将直角坐标系中点(x,y)表示在第 3 象限内:x<0&&y<0 4.3 个数据 x、y、z 能组成三角形:x+y>z||y+z>z||x+z>y 5.将含有 3 位小数的实型变量 x 的值,四舍五入到百分位:(int)(x*100+0.5)/100. 6.d 是不大于 100 的偶数:d>0&&d<=100&&d%2==0 7.x、y 中至少有一个是 5 的倍数:x%5==0||y%5==0 8.对 n(>0)个人进行分班,每班 k(>0)个人,最后不足 k 人也编一个班,问要编几个班: n%k==0?n/k : n/k+1 四、编程题: 1 编程序求半径为 r、高为 h 的圆柱体的体积。 #include "iostream.h" void main() {float r,h,v; cin>>r>>h; v=3.1416*r*r*h; cout<<v; } 2.任意输入 3 个数据,输出它们的平均值和最小的一个数。 #include "iostream.h"
5.在 cout 命令中,使用 ( )格式控制符可以把一个数据以十六进制的形式输出。hex 6.在 C/C++中,头文件的扩展名一般为( ) 。.h 7.程序的错误一般分两种: ( )和( ) 。前者是编译器可以发现的,而后者编译器则无 法发现。语法错误和逻辑错误 8.在 Visual C++中调试程序时,可以使用快捷菜单中的 ( )命令来插入断点和清除断 点。Insert/Remove Breakpoint 9.C++源程序的扩展名为( ) 。.cpp 10. 在 Visual C++中, 浏览当前项目中的所有源程序文件应在工作区的 ( ) 选项卡。 Fileview 三、 简答题

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。

解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。

```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。

解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。

解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。

C语言课后习题答案(最终)

C语言课后习题答案(最终)

第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575答:(1)10000000、200、80(2)111111111、777、1FF(3)10000000000、2000、400(4)1111111111111111、177777、FFFF(5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B答:(1)821、335(2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32答:(1)00001111、00000000、00001111(2)10010100、11101011、11101100(3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:0~65535、-128~127、-32768~327675.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存放在应用程序数据区。

计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区又分为系统程序数据区和应用程序数据区两类。

C语言程序设计 – 第 01 章课后习题

C语言程序设计 – 第 01 章课后习题

一、二、三、、选择1.2.3.4.5.、填空1.2.3.4.5.、算法1.2.1. 以下2. 在一3. 以下4. 结构5. 在程1. 一个2. 3. 算法4. 结构5. 结构算法设1. 求三2. 选择题以下叙A. B. C.D.(句在一个A. B. C.D.(程序以下叙A. B. C.D.(结构化A. B. C.D.(在程序A. B. C.D.填空题一个简一个算法的结构化结构化算法设计求三个求1+2择题 以下叙述 C 语言C. D. (解释句,另外 必须 可以C. 必须D. 必须(解释程序也就以下叙述 C 语言C. D. 同一(解释结构化程 程序 程序C. 程序D. 程序(解释在程序设 不限 减少C. 程序D. 程序空题 一个简单C 算法的特结构化程结构化程法设计题求三个数1+2+3下叙述不正一个语言程在一个解释:一个必须在程可以在任必须在程必须在系解释:序也就执下叙述中正在语言程构成同一个解释:构化程序设程序的规程序的易程序的执程序的可解释:程序设计时不限制减少或取程序越短程序结构个简单的语言法的特性是构化程序由构化程序设计题三个数中的+2+3+述不正确个C 语言语言程序C 语言程个C 语言:另外被C 须在程序以在任意须在程序须在系统:一个也就执行述中正确C 语言程语言程序成C 语言一个:程序设计序的规模序的易读序的执行序的可移:结构设计时限制got 少或取消序越短越序结构应单的语言程序特性是程序由程序设计 数中的最+3+不正确的语言程言程序的语言程序语言程C 语言程外被“程序中在程序的在任意地在程序的在系统调一个就执行完了中正确的语言程序言程序中语言程C 语言main 序设计主的规模的易读性的执行效的可移植结构化程计时,或取消注越短越好结构应有C 语言言程序是性是 有穷序由 顺序序设计方中的最大…正确的是语言程序程序的基本言程序中语言程序语言程序/*”序中,程序的最任意地方程序的最系统调用个C 程序行完了正确的是言程序中程序中有输语言程序语言程ain 函数设计主要强规模易读性执行效率可移植性构化程序,应采纳goto 语句取消注释短越好构应有助语言程程序是从顺序结设计方法的的最大者+100的是(言程序可的基本组程序中言程序必言程序中”和“,序的最后面意地方序的最前面统调用的库程序总完了)的是(程序中,中有输入言程序的语言程序函数在一主要强调读性行效率移植性化程序设应采纳的语句的消注释行越好应有助于读语言程序至序是从有穷性顺序结构方法的主大者。

C程序设计课后习题1-3(答案)

C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。

A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。

A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。

A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:参考本章例题,编写一个C程序,输出以下信息。

***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。

《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)数组 x 的长度大于数组 y 的长度 D)数组 x 的长度小于数组 y 的长度 8.下面各语句行中,能正确进行赋字符串操作的语句行 是( )。
A)char st[4][5]={“ABCDE”}; B)char s[5]={‘A’,’B’,’C’,’D’,’E’}; C)char s[5];scanf{“%s”,s}; D)char s[5];s=”ABCD” 9.下面程序的输出结果是( )。
3.设有“int x=2,y=3,z;z=(++x>=y--)?((--y==1)?x--:--y):y--;”则 z 的值是__________。
习题三
一、选择题
1.以下程序的输出结果是( )。
#include “stdio.h”
void main()
{ int a=2,b=-1,c=2;
if(a<b)
5.有输入语句 scanf(“i=%d,f=%f”,&i,&f);,要将 100 和 98.5
分别赋给 i 和 f,则正确的输入方式为( )
A)100 98.5<CR>
ቤተ መጻሕፍቲ ባይዱ
B)I=100 f=98.5<CR>
C.i=100,f=98.5<CR>
D)100<CR>98.5<CR>
三、填空题
1.C 语言程序中的语句必须以__________结束。 2.C 语言程序的执行总是从_________函数开始。 3.有输出语句 printf(“a=%5d,b=%6.2f\n”,100,98.546);,则输出结果是___________。
A)‘\’’ ‘\018’ ‘\0’
B)‘\\’ ‘\xb’

C语言课后习题参考答案(前5章)

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语言课后习题的答案
}
(2)
#include "math.h"
int isPrime(int n)
{
int i,rtn=1;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
rtn=0;
break;
}
}
return rtn;
}
int main(int argc, char* argv[])
n++;
else if((c>='A' && c<='Z') || (c>='a' && c<='z'))
m++;
else
other++;
c=getchar();
}
printf("字母的个数:%d\n数字的个数:%d\n其他字符的个数:%d",m,n,other);
{
int max,min,n,i;
scanf("%d",&n);
max=min=n;
for(i=1;i<=9;i++)
{
scanf("%d",&n);
if(n>max)max=n;
if(n<min)min=n;
}
printf("最大数为:%d\n最小数为:%d\n",max,min);
x=1;
y=n/2+1;

C语言教材课后习题参考答案

C语言教材课后习题参考答案

习题参考答案习题 1一、选择题1、B2、C3、B4、D5、A6、B7、C二、填空题1、源程序文件 c2、obj3、可执行文件 exe4、机器语言汇编语言高级语言三、解答题略四、编程题1、main(){printf(“Hello! Welcome to China!”);}2、main(){int x;scanf(“%d”,&x);if(x>=20&&x<1000) printf(“x=%d”,x);else printf(“Input error!”);}习题 2一、选择题1、C2、A3、B4、D5、 A6、D7、B8、B9、B 10、D11、D 12、B 13、A 14、B 15、C二、填空题1、整型、实型、字符型2、用户标识符、关键字标识符3、存储单元、符号地址、内存地址4、十、十六、八5、double(双精度型)6、 87、5.5000008、a=-327682959、+0017,021,0x11三、写程序运行结果325732577.88, -345.12,7.8765,-345.12307.87654e+00, -3.5e+02a,97,141,611234,2322,4d2CHINESE, CHI四、scanf函数的使用a=3 b=78.5 71.82A a五、用scanf函数输入数据1020Aa1.5-3.75 123.45,67.8注意,其中123.45可以是任意实数,因为该值将被跳过,不用于赋值。

习题 3一、选择题1.C 2.B 3.D 4.D二、填空题基本概念题1.22.23.1阅读程序写出运行结果题4.1.005.1,0,16.9,11,9,10三、写出下面表达式运算后a的值,设原来a=12。

(1)24 (2)10 (3)60 (4)0 (5)0 (6)0习题4一、选择题1、B2、D3、B4、D5、A6、C二、填空题1、1,0,12、1,2,33、ch1>=′A′&&ch1<=′Z′ ch1=ch1-32;三、编程题2961、从键盘输入三个数,然后按照由小到大的顺序输出。

C语言课后习题参考答案

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语言课后习题答案

C语言课后习题答案

1.1选择题:⑴一个C程序的执行是(A)。

A)从main()函数开始,直到main()函数结束B)从第一个函数开始,直到最后一个函数结束C)从第一个语句开始,直到最后一个语句结束D)从main()函数开始,直到最后一个函数结束⑵计算机能直接执行的语言是(B)。

A)汇编语言B)机器语言C)高级语言D)A和B⑶一个C程序是由(C)。

A)一个主程序和若干子程序组成B)若干过程组成C)一个或多个函数组成D)若干子程序组成⑷下列说法正确的是(B )。

A)C程序书写格式限制严格,一行内必须写一个语句B)C程序书写比较自由,一个语句可以分行写在多行上C)C程序书写格式限制严格,要求一行内必须写一个语句,并要求行号D)C程序中一个语句不可以分写在多行上1.2填空题:⑴构成C语言程序的基本单位是函数。

⑵C语言源程序文件的后缀是.c,经过编译后,生成文件的后缀是,obj,经过连接后,生成文件的后缀是.exe。

⑶在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是.exe。

⑷一个C语言程序必须有而且只能有一个主函数,它的函数名为main。

⑸一个函数有两部分组成,第一部分称为函数首部;第二部分称为函数体。

⑹函数体由符号{开始,用符号}结束。

函数体的前面是声明部分,其后是执行部分。

1.3上机编辑、调试、运行下列程序,发现错误,并改正之。

/*求1 + 2 + 3 + ……+ 10的和*/#include <stdio.h>main(){int sum,n;sum = 0;n = 1;while(n < 10){sum = sum + n;n = n + 1;}printf("sum = %d \n",sum);}2.1选择题⑴ 在以下标识符中,( B )是合法的用户标识符。

A ) a#bB ) getchC ) voidD ) ab*⑵ 不合法的八进制数是( B )。

C语言课后习题答案

C语言课后习题答案

《C语言程序设计》复习题第1章C语言程序设计概述一、选择题1.下列关于计算机语言的叙述中,正确的是___C____。

A.在计算机语言中,只有机器语言属于低级语言B.高级语言的源程序可以被计算机直接执行C.C语言属于高级语言D.机器语言是与所有机器无关的语言2.源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是___B____。

A.TEST.BAK和TEST.OBJ B.TEST.OBJ和TEST.EXEC.TEST.EXE 和TEST.C D.TEST.BAK和TEST.EXE3.一个C程序的执行是从___A____。

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

A.在C程序中,main函数必须位于程序的最前面B.程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误5.以下叙述不正确的是___C____。

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

A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成7.关于C语言程序书写规则说法中正确的是___D____。

A.程序语句必须占一行B.不区分大小写C.每行必须有行号D.每条语句用分号结束8.下面关于算法的说法,错误的是___B____。

A.算法必须有输出,但不一定有输入B.算法必须在计算机上用某种语言实现C.算法必须在有限步执行后能结束D.算法的每一步骤必须有确切的定义9.结构化程序设计规定的3种基本控制结构是___D____。

C语言课后习题答案(最终)

C语言课后习题答案(最终)

C语言课后习题答案(最终)第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575 答:(1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400(4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B 答:(1)821、335 (2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32 答:(1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:0~65535、-128~127、-32768~32767C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区放在应用程序数据区。

c课后习题解答

c课后习题解答

第6章;类和对象(一)练习题6判断题×1.使用class定义的类,其默认的访问权限是公有的,使用struct定义的类,其默认的访问权限是私有的。

×2.类中的成员函数都是公有的,数据成员都是私有的。

×3.定义在类体内的成员函数是内联函数,定义在类体外的成员函数不能是内联函数。

√4.类定义后,它的成员个数及名称就不会再被改变了。

×5.定义或说明对象时,系统会自动调用构造函数为创建的对象初始化。

如果类中没有定义任何构造函数时,就无法给定义的对象初始化。

√6.定义一个对象时,系统只为该对象的数据成员开辟内存空间,而成员函数是同类对象共享的。

√7.对象成员的表示方法与结构变量成员的表示方法相同。

√8.创建对象时系统自动调用相应的构造函数为对象初始化,没有相应的构造函数时,系统会自动生成。

√9.构造函数是一个其名与类名相同的特殊的成员函数。

×10.析构函数是一个函数体为空的成员函数。

√11.构造函数和析构函数都是系统自动调用的成员函数。

×12.构造函数和析构函数都可以重载。

√13.成员函数与一般函数一样可以重载、内联和设置参数的默认值。

×14.静态成员是指静态对象的成员。

×15.静态数据成员必须在构造函数的成员初始化列表中进行初始化。

√16.静态成员都可以使用类名加作用域运算符的方法来引用。

×17.静态成员函数中引用静态数据成员和非静态数据成员的方式是相同的。

√18.常成员指的是类体内使用const关键字说明的常数据成员和常成员函数。

×19.常数据成员在常成员函数中的值是不允许改变的,而在非常成员函数中是允许改变的。

√20.常对象需要引用常成员函数,而不能引用非常成员函数。

×21.常对象的数据成员都是常数据成员。

√22.友元函数是说明在类体内的非成员函数,它可以访问类中的所有成员。

×23.可以把一个一般函数说明为某类的友元函数,也可以将某类的成员函数说明为另类的友元函数。

c语言课后习题

c语言课后习题
13. a+=a;24, a-=2;10, a*=2+3;60, a%=(n%=2);0, a/=a+a;0, a+=a-=a*=a;0
14. 8
15. 2
习 题 3 (参考答案)
1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。
参考代码(尽量运用本章所学知识)
40.下列变量定义中合法的是( )。
A.float _a = 1?.1e?1; B.double b = 1 + 5e2.5;
C.long do = 0xfdaL; D.float 2_and = 1 ? e ? 3;
44.以下选项中不属于字符常量的是( )。
B D B B A C B A D D
二、填空题
1. 255
2. a/(b*c)
3. 20
4. 1.0
5. x==0或(x==0)?1:0
6. x<-5 || x>5
7. 97或字符 ‘a’
8. 0
9. 2.5
10. 3.5
11. 3
12. 9, 11, 9, 10
5.源程序执行过程中,有哪些步骤?
C语言源程序的执行要经过:编辑、编译、链接、运行等步骤。
6.简述MATLAB的主要应用领域有哪些?
MATLAB软件是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司开发的商业数学软件,主要包括MATLAB和Simulink两大部分。它和Mathematica、Maple并称为三大数学软件。MATLAB软件可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,代表了当今国际科学计算软件的先进水平。

C语言课后习题答案

C语言课后习题答案
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<25;i++)
{
j=25-i;
if(2*i+4*j==80)
break;
}
printf("笼中有鸡%d只,有兔%d只",i,j);
}
10.输出1~999中能被3整除,且至少有一位数字是5的所有整数。
#include<stdio.h>
#include<stdio.h>
void main()
{
int i=0,sum=0;
float h=100;
while(i<10)
{
sum+=h;
h=h/2;
sum+=h;
i++;
}
printf("共经过%d米\n",sum);
printf("第十次反弹高度为:%f",h);
}
9.鸡与兔同笼,其中共有25个头,有80只脚,问笼中鸡和兔各多少只?
void main(void)
{
int i;
for(i=1;i<1000;i++)
{
if(i%3==0)
{
if(i%10==5||i%100==5||1%1000==5)
{
printf("%d\n",i);
}
}
}
}
11. 1.求2~1000中的守形数(若某数的平方,其低位与该数本身相同,则称该数为守形数。例如25,25的平方=625,625的低位25与原数相同,则25称为守形数。

C语言课后习题答案

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程序设计课后习题1-3(答案)

C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。

A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。

A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。

A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:参考本章例题,编写一个C程序,输出以下信息。

***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。

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

#include &lt;iostream&gt;
using namespace std;
int main( )
{
int a,b;
c=add(a,b)
cout&lt;&lt;&quot;a+b=&quot;&lt;&lt;c&lt;&lt;endl;
return 0;
}
int add(int x,int y);
#include &lt;iostream&gt;
using namespace std;
int main( )
{ void sort(int x,int y,int z);
int x,y,z;
cin &gt;&gt; x &gt;&gt; y &gt;&gt; z;
sort(x,y,z);
息,全面考虑,找出真正出错之处。例如编译出错信息通知第2行出错,其实可能是第1行出错。
(2)有时,有的错误开始时未被检查出来并告知用户(例如未定义变量c),由于其他错误未解决,掩盖了这个错误。当解决了其他错误后,这个错误会被检查出来。有时在调试过程中会不断检查出新的错误,这是不奇怪的。一一处理,问题会迎刃而解。
#include &lt;iostream&gt;
using namespace std;
int main( )
{
int a,b,c;
c=a+b;
cout&gt;&gt;&quot; a+b=&quot; &gt;&gt;a+b;
return 0;
Hale Waihona Puke } 重新编译。编译出错信息告知在第7行出错,经检查,是“&gt;&gt;”用得不当,“&gt;&gt;”是提取运算符,应与cin联合使用,用来从输入流中提取数据,输出时应该用插入运算符“&lt;&lt;”。把两处“&gt;&gt;”都改为“&lt;&lt;”,再重新编译,发现没有error错误,但有两个警告(warning),原因是定义了a和b,但未对它们赋值。应增加赋值语句或输入语句,使a和b获得值,将程序改为
cout &lt;&lt;&quot; a+b=&quot; &lt;&lt; c &lt;&lt;endl;
return 0;
}
int add(int x,int y)
{int z;
z=x+y;
return(z);
}
运行情况如下:
5 8↙
13
10.输入以下程序,编译并运行,分析运行结果。
第一章 c++的初步知识
第二章类和对象
第三章关于类和对象的进一步讨论(静态成员函数、友元函数、构造函数,构造函数的重载;析构函数;类模板)
第四章 运算符重载()
第五章继承与派生
第六章多态性与虚函数
1 5 3↙ (输入3个整数)
1 (输出其中最小的数)
8.在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接
{
z=x+y;
retrun(z);
}
【解】 发现7个错误:
(1)对add函数未声明就调用,应在main函数中对add函数进行声明。
(2)定义add函数时,函数首行末尾不应有分号。
(3)变量c未经定义。
(4)add函数中的变量z未经定义。
(5)第6行末尾少了一个分号。
(6)add函数中的retrun拼写错误,应为return。编译系统把retrun作为未声明的标识符而报错,因为retrun(z)会被认为是函数调用的形式。
}
重新编译,没有编译错误,能通过编译和连接,可以正常运行,在Visual C++ 6.0环境下运行时屏幕显示如下:
5 9↙
a+b=14Press any key to continue
显然这样的输出不理想,“Press any key to continue”是Visual C++系统在输出了运行结果后自动显示的一个信息,告诉用户“如果想继续工作,请按任何一个键”。当用户按任何一个键后,显示运行结果的窗口消失,屏幕显示回到Visual C++的主窗口,显示出源程序和编译信息。
(3)为了说明调试过程,这里全部依靠计算机系统来检查错误,其实有些明显的错误,完全可以由人工查出,这样可以提高调试效率。由人工在纸面或屏幕上检查错误,称为静态查错,用计算机编译系统检查错误,称为动态查错。建议尽量先用静态查错的方法排除错误,只有人工检查不出来的错误才让计算机检查。
9.输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
int main( )
{
int a,b,c;
a=10;
b=23;
c=a+b;
cout&lt;&lt;&quot; a+b=&quot;;
cout&lt;&lt;c;
cout&lt;&lt;endl;
return 0;
}
【解】 前两个cout语句在输出数据后不换行,第3个cout语句输出一个换行,因此输出的结果为
5.分析下面程序运行的结果。
#include &lt;iostream&gt;
using namespace std;
int main( )
{
cout&lt;&lt;&quot; This &quot;&lt;&lt;&quot; is &quot;;
cout&lt;&lt;&quot; a &quot;&lt;&lt;&quot; C++ &quot;;
和运行,分析运行结果。
int main( );
{
int a,b;
c=a+b;
cout &gt;&gt;&quot; a+b=&quot; &gt;&gt; a+b;
}
【解】 上机编译出错,编译出错信息告知在第2行出错,经检查,发现第1行的末尾多了一个分号,编译系统无法理解第2行的花括号,导致报告第2行出错。将第1行的末尾的分号去掉,重新编译,编译出错信息告知在第5行和第6行出错。第5行出错原因是cout未经声明,因为cout不是C++语言提供的系统的关键字,而是输出流的对象,必须使用头文件iostream。第6行出错原因是main是int型函数,应返回一个整型值。将程序改为
为了解决以上输出不理想的情况,可以在最后一个输出语句中增加输出一个换行符。最后的程序如下:
#include &lt;iostream&gt;
using namespace std;
int main( )
{
int a,b,c;
cin&gt;&gt;a&gt;&gt;b;
c=a+b;
cout&lt;&lt;&quot;a+b=&quot;&lt;&lt;a+b&lt;&lt;endl;
第七章输入输出流
第八章c++工具
谭浩强C++课后习题答案
1.请根据你的了解,叙述C++?的特点。C++?对C有哪些发展?
【解】 略。
2.一个C++的程序是由哪几部分构成的?其中的每一部分起什么作用?
【解】 略。
3.从拿到一个任务到得到最终结果,一般要经过几个步骤?
【解】 略。
4.请说明编辑、编译、连接的作用。在编译后得到的目标文件为什么不能直接运行?
return 0;
}
运行时屏幕显示如下:
5 9↙
a+b=14
Press any key to continue
这就完成了程序的调试。
这里对本题的调试过程作了比较详细的分析,以便使读者对如何调试程序有比较具体而清晰的了解。需要说明:
(1)编译系统给出的编译出错信息,只是提示性的,引导用户去检查错误,用户必须根据程序的上下文和编译出错信
a+b=33
7.分析下面程序运行的结果。请先阅读程序写出程序运行时应输出的结果,然后上机运行程序,验证自己分析的结果是否正确。以下各题同。
#include &lt;iostream&gt;
using namespace std;
int main( )
{
int a,b,c;
int f(int x,int y,int z);
(7)变量a和b未被赋值。
改正后的程序如下:
#include &lt;iostream&gt;
相关文档
最新文档