c语言教材全部答案

2020-04-18 02:38

C教材习题答案

习题1

一.填空题

1.C程序是由(函数 )构成的,一个C程序中至少包含(main函数 ) 。因此,( 函数 ) 是C程序的基本单位。

2.C程序注释是由(/* ) 和( */ ) 所界定的文字信息组成的。 3.函数体一般包括(声明部分) 和(执行部分 ) 。

二.判断题

1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。 (正确) 2.main函数必须写在一个C程序的最前面。 (错误) 3.一个C程序可以包含若干的函数。 (正确)

4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。 (正确) 5.C程序的注释只能是一行。 (错误)

6.C程序的注释不能是中文文字信息。 (错误)

8.可以使用Turbo C来编译和连接一个C程序。 (正确) 9.可以使用Turbo C来运行一个C程序。 (正确)

10.可以使用Turbo C来实时调试(即动态调试)一个C程序。 (正确)

三、在c++ 6.0中输入如下的程序,编译、连接通过后显示结果 (1) #include “stdio.h” void main() {

printf(“ * ”) printf(“ *** ”); printf(“ ***** ”); printf(“******* ”); }

答案:

* *** ***** *******

(2)已知底和高,计算三角形的面积。 #include “stdio.h” void main()

{ int bottom,high,area; /*bottom 表示底,high 表示高,area表示面积*/ bottom=4; high=6;

area=bottom*high/2;

printf(“the area is %d\\n”,area); }

答案:

the area is 12

四、算法设计:请试着分别用自然语言或、程序流程图和NS图描述如下算法。

1. 设计一个程序在屏幕上显示如下的文字

HELLO WELCOME YOU 2. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其个位数字立方

和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 3. 对输入的某学生成绩,如果学习成绩>=90分的同学用A表示,60-89分之间的用B

表示,60分以下的用C表示。

4. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

找出1000以内的所有完数。

5. 一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又

多吃了一个,到第十天的时候发现还有一个,问共有多少个桃子。

答案:

1.#include “stdio.h” main() {

printf(“HELLO WELCOME YOU”); }

2.水仙花数产生在100到999之间,利用穷举法,对此范围之内的所有数一个个进行测试,关键是要对每一个三位数分离出它的三个数字。具体的算法是: n,得到个位,(n/10),得到百位数字,n/100,得到个位数字。再利用水仙花数的含义来判断该数是否满足条件。 #include “stdio.h” main() {

int n,,i,j,k;

for(n=100;n<=999;n++) {

i=n; j=(n/10); k=n/100;

if( i*i*i+j*j*j+k*k*k= =n) printf(“%d\\n”,n); } }

3.此题用if ?else if 来实现。对于每次输入的成绩,判断它属于哪个等级。 #include \main() {

int grade;

printf(\ scanf(\

if (grade>=90) printf(\

else if(grade>=60 &&grade<=89) printf(\ else printf(\}

4.先考虑一个整数m,如何判断它是否为完数。从数学知识可知:一个数m除该数本身外的所有因子都在1~m/2之间。算法中要取得因子之和,只要在1~m/2之间找到所有的整数m的数,将其累加起来即可。如果累加起来与m本身相等,则表示m是一个完数,可以将m输出。

#include \main() {

int m,i,s;

for(m=2;m<=1000;m++) { s=0; for(i=1;i<=m/2;i++) if(m%i==0) s+=i; if(m==s) printf(\ }

printf(\}

5. 找出前后两天的数量关系,然后用递推法求解。设第十天的桃子数目为t,昨天的数为y,则t=y/2-1,得到y=2t+2,这样由今日数目可以求出昨日数目,从最后一天开始,倒退到第一天,倒退的循环次数比天数少1。所以,若已知第n天只留下一个,问第一天有多少个时,则倒退循环n-1次得到结果。

天数: 10 9 8 7 6 5 4 3 2 1 桃子数目:1 4 10 22 46 94 190 382 766 1534

#include \main() {

int i,t,y,n; t=1;

printf(\ n:\\n\ scanf(\ for(i=1;i<=n-1;i++) { y=2*t+2; t=y; }

printf(\ } 习题2 一、选择题

C语言基本类型包括( D )

A) 整型、实型、逻辑型 B) 整型、实型、字符型、逻辑型 C) 整型、字符型、逻辑型 D) 整型、实型、字符型

下列四组选项中,均不是C语言关键字的选项是 A 。 A) define IF type B) getc char printf C) include case scanf D) while go pow

语言的字符型数据在内存中的存储形式是( D ) A)原码 B)补码 C) 反码 D) ASCII码

C 语言的整型数据在内存中的存储形式是( B ) A)原码 B)补码 C) 反码 D) ASCII码

已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=?A?+?6?-?3?后,c2中的值为 A 。

A) D B) 68

以下叙述正确的是 C 。 A) 在C程序中,每行只能写一条语句

C) 不确定的值

D) C

B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C) 在C程序中,%是只能用于整数运算的运算符

D) 在C程序中,无论是整数还是实数,都能被准确无误地表示

以下叙述不正确的是 D 。

A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量

C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变

D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

下面正确的字符常量是 A 。 A) “c” B) ?\\\\?? C) ‘’ D) ?K?

下列四组选项中,均是合法转义字符的选项是 A 。 A) ?\\”?‘\\\\?‘\\n? B) ?\\?‘\\017?‘\\”? C) ?\\018?‘\\f?‘xab? D) ?\\\\0?‘\\101?‘xlf?

下列四组选项中,均是不合法的用户标识符的选项是 B 。 A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP

若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52

设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double

设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647

若运行时给变量x输入12,则以下程序的运行结果是 。(有错误,应为0) main() { int x,y;

scanf(“%d”,&x); y=x>12 ? x+10 : x-12; printf(“%d\\n”,y); }

A) 4 B) 3 C) 2 D) 1

若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是 C 。

A) A%2==1 B) !(A%2==0) C) !(A%2)

D) A%2


c语言教材全部答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于中国化学会2018年第32届全国化学奥林匹克(初赛)蚌

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: