c教材习题 下载本文

内容发布更新时间 : 2024/5/23 19:51:26星期一 下面是文章的全部内容请认真阅读。

A) break是 switch语句中的一部分。

B) 在switch语句中可以根据需要使用或不使用break语句。 C) 在switch语句中必须使用break语句。 D) 以上三种说法有两个是正确的。

二、填空题

1.设a=1, b=2, c=3,写出下列关系表达式的值 (1)(a(a=c 。 2.设a=1, b=2, c=3, d=4写出下列逻辑表达式的值 (1)a && b && c 。 (2)a || !b || !c 。 (3)a !=11 && b<4 。 3. 当a=1, b=2, c=3时执行下面语句后,a,b,c的值分别为_______、_______、________。 if(a>c)

b=c;a=c; c=b;

4.以下程序实现将两个数从大到小输出。 main()

{ float a,b,_____;

scanf(______,&a,&b); if (a

{ t=a ;

__________; b=t;

}

printf(\,%5.2f\\n\,a, b); } 三、编程题

1.输入一个整数,判别它是奇数还是偶数。

2.输入一个字符,如果输入的是大写字母,则将它转换成小写字母后输出,否则按原样输出。

3.输入一个考试分数,如果分数是60分以下输出“不及格”,90分以上输出“优秀”,否则输出“合格”。

4.输入员工的工作时间,计算并输出该员工的工资。公司规定每个雇员40小时以内的报酬为10.00美元/小时,超出40小时以外的按1.5工资付酬。

5.输入一个考试分数,要求输出成绩等级。如果不在0~100之间,显示出错信息:“数据错误”, 60分以下输出“不及格”, 60~69之间输出“及格”,70~79之间输出“中”,80~89之间输出“良”,90分以上输出“优”。 6.根据分段函数y=f(x),输入x,输出y的值。

?2x3?1?2?xf(x)???x?3x?2?x??1?1?x?00?x?1x?1

7.输入年、月、日三个整数值,计算并输出这一天是该年的第几天。

8.输入一个字符,判断输入字符的种类并输出,字符分为空格、数字字符、英文字母和其他字符。

9.根据某人的体重指数判断他的体重是属于何种类型,其中体重指数的计算公式为:体重指数t=体重w/(身高h)2 (其中体重w以千克为单位,身高h以米为单位)。而体重指数对肥胖程度的划分是:当t小于18时为体重偏轻;当18≤t<25时为体重正常;当25≤t<27时为体重超重;当t≥27时为肥胖。

第5章 循环结构程序设计

一、选择题

1. 设有如下程序段,则输出结果为k=( )。 int k=0,a;

for (a=1;a<=1000;a++) k=k+1; printf(\

A) 1 B) 1001 C) 1000 D) 溢出 2. 设有如下程序段,则最后输出的a=( )。 int a;

for (a=1;a<=1000;a++) printf(\

A) 1 B) 1001 C) 1000 D) 溢出 3. 设有如下程序段,则输出结果为a=( )。 int a;

for (a=1;a<=1000;a++) ; printf(\

A) 1 B) 1001 C) 1000 D) 溢出 4. 设有如下程序段,则输出结果为k=( )。 int k=0,a;

for (a=1;a<=1000;a++) {a=a+1;k=k+1;} printf(\

A) 1000 B) 499 C) 500 D) 501

5. 循环语句for(int i=1,j=10; i==j; i++,j--); 的循环次数是( )

A) 0 B) 5 C) 10 D) 无限 6. 语句for(x=0,y=0;y!=1&&x<4;x++); 是( )。

A)无限循环 B) 循环次数不定 C) 循环4次 D)循环3次

7. 设有程序段:int k=10;while(k=0)k=k- 1;则下面叙述正确的是( )。 A)while循环执行10次 B) 循环是无限循环

C)循环体语句执行一次 D)循环体语句一次也不执行 8. 与语句while(!x);等价的语句是( )。 A) while(x= =0); B)while(x!=1);

C)while(x!=0); D)while (x= =1); 9. 设有如下程序段,程序运行结果应为( )。 #include void main() { int i,j,k;

for(i=1;i<=2;i++) for(j=1;j<=2;j++) printf(\ } (A) (B)

i=1 j=1 i=1 j=1 i=1 j=2 i=2 j=1 i=2 j=1 i=1 j=2 i=2 j=2 i=2 j=2 (C) (D)

i=1 j=1 i=1 j=2 i=2 j=2 i=2 j=2

10. 下述有关break语句的描述中,错误的是( )。 A) break语句用于循环体内,它将结束该循环

B) break语句用于switch语句,它结束该switch语句 C) break语句用于if语句的内嵌语句内,它结束该if语句 D) break语句在一个循环体内可使用多次

11. 下面关于循环体的描述中,错误的是( )。 A) 循环体内可以包含有循环语句

B) 循环体内必须出现break语句和continue语句 C) 循环体内可以出现选择语句 D) 循环体可以是空语句 二、编程题

1. 用for循环语句编程输出1—20之间的所有整数,两数之间以空格分隔。 2. 用for循环语句编程输出20—1之间的所有整数,两数之间以空格分隔。

3. 用for循环语句编程输出A—Z,之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。

4. 输出100~200之间所有能被3和7整除的数(每行输出4个数)。

5. 输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。

6. 先读入一个正整数n,然后计算并显示前n个偶数的和。例如n为5,则求2+4+6+8+10的值,即sum=30。

7. 计算 S=1+1/2+1/3+1/4+...+1/200的值并输出。 8. 计算1-3+5-7+?-99+101的值。 9. 输入6个整数并显示其平均值。

10. 输出Fibonacci数列的前几项,直到该项的值大于10000为止(每行输出5项)。fobinacci数列为1,1,2,3,5,8,13,21,34,…。即第一项和第二项为1,其他为前两项之和。

11. 输出10000至99999中所有的回文数(回文数是指从左到右读与从右到左读都一样的正整数,如11、22、3443、94249等)。

12. 找出所有“水仙花数”。所谓的“水仙花数”是指一个三位整数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153=13+53+33。

13. 输出1至100之间所有各位数之积大于各位数之和的数,例如23,因为2*3>2+3。 14. 输入一个整数,计算该整数的位数及各位之和。

15. 一个正整数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,且6=1+2+3,因此6是“完数”。输入一个数,判断该数是否为完数。

16. 输出“九九乘法表”。 17. 输出如下图形:

A BBB CCCCC DDDDDDD

18. 输出如下图案: * * * * * * * * * * * * * * * * * * * * * * * * *

19. 找出10000之内的所有完数。 20. 找出500内的所有素数。

21. 有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13, ??求出这个数列的前20项之和。

22. 计算100至999之间有多少个数其各位数字之和是5。

23. 编写程序,输出1500至3000年间的所有闰年,要求每行输出8个数据。

24. 求一个二位整数AB(其中AB分别为两位整数的十位和个位), 使AB-BA=45成立。

25. 36块砖,36人搬。男搬4,女搬3,两个小孩抬一砖。一次刚好搬完,问男、女、小孩各多少人?

26. 编程求解马克思手稿中的数学题:有30个人,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?

第6章 函数 二、选择题

1.C语言程序由函数组成。正确的说法是__________。

A) 主函数写在必须写在其他函数之前,函数内可以嵌套定义函数 B) 主函数可以写在其他函数之后,函数内不可以嵌套定义函数 C) 主函数必须写在其他函数之前,函数内不可以嵌套定义函数 D) 主函数必须在写其他函数之后,函数内可以嵌套定义函数 2. 一个C语言程序的基本组成单位是__________。

A)主程序 B)子程序 C)函数 D)过程

3.

以下说法正确的是__________。 A) C语言程序总是从第一个定义的函数开始执行 B) C语言程序中,被调用的函数必须在main()函数中定义 C) C语言程序总是从主函数main()开始执行。 D) C程序中的main()函数必须放在程序的开始处 4. 已知函数fun类型为void,则void的含义是__________。

A)执行函数fun后,函数没有返回值 B)执行函数fun后,可以返回任意类型的值

C)执行函数fun后,函数不再返回 D)以上三个答案都是错误的 5. 下列对C语言函数的描述中,正确的是__________。

A)在C语言中,调用函数时只能将实参的值传递给形参,形参的值不能传递给实参 B)函数必须有返回值

C)C语言函数既可以嵌套定义又可以递归调用

D)C程序中有调用关系的所有函数都必须放在同一源程序文件中 6. 以下叙述中错误的是__________。

A) 函数形参是存储类型为自动类型的局部变量 B) 外部变量的缺省存储类别是自动的。 C) 在调用函数时,实参和对应形参在类型上只需赋值兼容 D) 函数中的自动变量可以赋初值,每调用一次赋一次初值 7. C语言中的函数__________。

A)不可以嵌套调用 B)可以嵌套调用,但不能递归调用 C)可以嵌套定义 D)嵌套调用和递归调用均可 8. C语言中函数返回值类型由_________决定。

A)调用该函数的主调函数类型 B)函数参数类型

C)return语句中的表达式类型 D)定义函数时指定的函数类型 9. C语言规定,调用一个函数,实参与形参之间的数据传递方式是________。

A)由实参传给形参,并由形参传回来给实参 B)按地址传递 C)由用户指定方式传递 D)按值传递 10. 下列叙述错误的是__________。

A) 形参是局部变量 B) 复合语句中定义的变量只在该复合语句中有效 C) 主函数中定义的变量在整个程序中都有效 D) 其他函数中定义的变量在主函数中不能使用

11. 若函数类型和return语句中的表达式类型不一致,则__________。

A)运行时出现不确定结果 B)返回值的类型以函数类型为准 C)编译时出错 D)返回值的类型以return语句中表达式的类型为准 12. 下面函数定义正确的是__________。

A)double fun(double u,v) B)double fun(double u;double v) {return u+v;} {return u+v;}

C)double fun(float u,float v) D)double fun( u,v)

{return u+v;} { float u,v ;return u+v;} 13. 以下函数fun的返回值类型为__________。

fun(double x){ ??}

A)double B)void C)int D)无法确定类型