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。⑶在TURBOC环境中用RUN命令运行一个C程序时,所运行的程序的后缀是.exe。⑷一个C语言程序必须有而且只能有一个主函数,它的函数名为main。⑸一个函数有两部分组成,第一部分称为函数首部;第二部分称为函数体。⑹函数体由符号{开始,用符号}结束。函数体的前面是声明部分,其后是执行部分。1.3上机编辑、调试、运行下列程序,发现错误,并改正之。/*求1+2+3+……+10的和*/#includestdio.hmain(){ints,n;sum=0;n=1;while(n0){sum=sum+n;n=n+1;}printf(sum=%d\n,sum);}第二章习题2.1选择题⑴在以下标识符中,(B)是合法的用户标识符。A)a#bB)getchC)voidD)ab*⑵不合法的八进制数是(B)。A)0B)028C)077D)01⑶不合法的十六进制数是(A)。0xA)oxffB)0XabcC)0x11D)0x19⑷以下选项中正确的整型常量是(B)。A)12.B)-20C)1,000D)456⑸以下选项中正确的实型常量是(D)。A)0B)3.1415C)0.329×102D).871⑹以下选项中不正确的实型常量是(B)。A)2.607E-1B)0.8103e3C)-88.77D)871e-2⑺以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子zyx的C语言表达式是(A)。A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z⑻在C语言中,字符型数据在内存中以(C)的形式存放。A)原码B)补码C)ASCII码D)BCD码⑼sizeof(float)是(C)。A)一种函数调用B)一个不合法的表示形式C)一个整型表达式D)一个实型表达式⑽表达式b=((241&15)&&('Z'|'a'))的值是(B)。A)0B)1C)TRUED)FALSE⑾若变量已正确定义并赋值,符合C语言语法的表达式是(B)。A)a=a+7;B)a=7+b+c,a++C)int(13.4%4)D)a=a+7=c+b⑿以下叙述中正确的是(A)。A)a是实型变量,C语言允许进行a=10,因此可以这样说:实型变量中允许存放整型值B)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值改变为0D)已有a=3,b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为32.2填空题⑴数学式子cos2x·baba写成C语言表达式是cos(x)*cos(x)*((a+b)/(a-b))。⑵a是整型变量,能将a清零的表达式是a=0;能将a中的各二进制为均置成1的表达式是a=-1。⑷若a,b和c均是int型变量,则执行下面表达式后,a值为6,b值为4,c值为2。a=(b=4)+(c=2)⑸经过下述赋值后,变量x的数据类型是int。intx=2;doubley;y=(double)x;⑹若x和n均是整型变量,且x和n的初值均为5,则执行下面表达式后,x值为10,n值为6。x+=n++x=x+n++⑺若有定义:intb=7;floata=2.5,c=4.7;则下面表达式的值为4.5。a+(int)(b/3*(int)(a+c)/2)%4⑻若有定义:intm=7,y=2;则执行下面表达式的值后,y值为-24。y+=y-=m*=y⑼表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的类型为整型。⑾条件“-1x3或x-99”的C语言表达式是(x-1&&x3)||(x-99)。⑿若x和a均是整型变量,则执行表达式①后的x值为12,执行表达式②后的x值为4。①x=(a=4,6*2)②x=a=4,6*2⒀一个字节包含8个二进制位,在一个字节中能存放的最大(十进制)整数是,它的二进制数的形式是;最小(十进制)整数是,它的二进制数的形式是。⒁当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是,它的二进制数的形式是;最小(十进制)整数是,它的二进制数的形式是。2.3改错题⑴#includestdio.h;#includestdio.h正确main();(多分号)/*mainfunction*/{floatr,s;/*risradius,sisareaofcircular*/r=5.0;s=3.14159*r*r;printf(%f\n,s);⑵#includestdio.h(缺<>号)#includestdio.h正确main();/*mainfunction*/{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0;(缺;号)v=a*b*c;printf(%f\n,v);(缺;号)}第三章习题3.1什么是C语言的基本执行单位?C语言的语句是如何分类的?3.2C语言的流程控制语句有哪几种?3.3结构程序设计的基本结构有哪几种?3.4C语言的输入输出操作是由语句来实现的吗?3.5顺序结构程序的特点是什么?3.6输入下面的程序,观察运行结果。#includestdio.hmain(){floata1,a2;doubleb1,b2;a1=3141.59;a2=0.000001;b1=3141.59;b2=0.000001;printf(%f,%lf\n,a1+a2,b1+b2);}答案:3141.590089,3141.5900013.7输入下面的程序,观察运行结果。#includestdio.hmain(){charch;intk;ch='a';k=66;printf(%c,%d,%x,%o,%d,%c,ch,ch,ch,ch,k,k);}答案:a,97,61,141,66,B3.8输入下面的程序,观察运行结果。#includestdio.hmain(){floatx;doubley;x=123.45678;y=123.45678;printf(%-4.2f,%-6.2e\n,x,y);}答案:123.46,1.2e+023.9输入下面的程序,观察运行结果,并说明程序的功能(注意:运行时输入大写字母)。#includestdio.hmain(){charc1,c2;c1=getchar();printf(%c,%d\n,c1,c1);c2=c1+32;printf(%c,%d\n,c2,c2);}答案:A,65a,97该程序是将键盘输入的大写字母转换为对应的小写字母。3.10编写程序:求三个正整数(小于32767)的算术平均值。main(){inta,b,c;floatd;printf(\ninputa,b,c=);scanf(%d,%d,%d,&a,&b,&c);d=(a+b+c)/3.0;printf(\nd=%f,d);}3.11编写程序:已知圆的半径,求圆的周长和面积(要求半径值由键盘接受)。main(){intr;floatk,s;printf(\ninputr=);scanf(%d,&r);k=2*3.14159*r;s=3.14159*r*r;printf(\nL=%f\nS=%f,k,s);}3.12编写程序:计算a+b2-6的值,其中:a=4,b=3;a=5,b=2;a=2,b=8。main(){floata,b,h;printf(\ninputa,b=);scanf(%f,%f,&a,&b);h=a+b*b-6;printf(\na=%f,b=%f\nh=%f,a,b,h);}第四章习题4.1判断下列陈述的真假:⑴在三种形式的if语句中,在if关键字之后均为表达式。该表达式只能是逻辑表达式或关系表达式。False⑵在if语句中,关键字之后的表达式必须用括号括起来,并随后跟分号(;)。False⑶在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。True⑷条件运算符的结合方向是自右至左。False⑸switch语句中的case后面必须是整常量表达式,如整数常数、字符常量。True⑹当switch的整类型表达式的结果值与某一个case块的整常量表达式的值相等时,将转至该case块,并且执行该case与下一个case之间的所有语句。False⑺可以使用goout语句跳出switch语句。False⑻else总是与它前面最近的if配对。True4.2阅读下面的程序,说明程序的运行结果。#includestdio.hmain(){intx=10,y=20,t;if(x!=y){t=x;x=y;y=t;}printf(%d,%d\n,x,y);}答案:20,104.3输入下面的程序,观察运行结果并说明程序的功能。#includestdio.hmain(){intx=20;if(x=0)if(x50)printf(xisok\n);elseprintf(xisnotok\n);}答案:xisok4.4分别输入下面两个程序,观察运行结果,说明有何不同。程序段1:#includestdio.hmain(){intx=20;if(x=0)if(x50)printf(xisok\n);elseprintf(xisnotok\n);}答案:什么也不输出.程序段2:#includestdio.hmain(){intx=20;if(x=0){if(x50)printf(xisok\n);}elseprintf(xisnotok\n);}答案:xisnotok.4.5输入下面的程序,观察运行结果并说明程序的功能。#includestdio.hmain(){intx,a;scanf(“%d”,&x);a=x%10;switch(a){case0:case2:case4:case6:case8:priintf(“even!\n”);break;default:printf(“odd!\n”);}}答案:输入偶数,则输出even!输入奇数,则输出odd!4.6编写程序:从键盘输入三个正整数,按由大到小的顺序输出。main(){inta,b,c,t;printf(inputa,b,c=:);scanf(%d%d%d,&a,&b,&c);if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}printf(%5d%5d%5d,a,b,c);}4.7编写程序:从键盘输入一个正整数,判断它是否既能被3整除,又能被7整除。方法1:main(){intk;scanf(%d,&k);if(k%3==0&&k%7=0)printf(\nyes);elseprintf(\nno);}方法2:#includestdio.hmain(){intx;scanf(%d,&x);if(x%3==0){if(x%7==0)printf(3-

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功