c教材习题.docx

上传人:b****4 文档编号:13902551 上传时间:2023-06-19 格式:DOCX 页数:30 大小:36.75KB
下载 相关 举报
c教材习题.docx_第1页
第1页 / 共30页
c教材习题.docx_第2页
第2页 / 共30页
c教材习题.docx_第3页
第3页 / 共30页
c教材习题.docx_第4页
第4页 / 共30页
c教材习题.docx_第5页
第5页 / 共30页
c教材习题.docx_第6页
第6页 / 共30页
c教材习题.docx_第7页
第7页 / 共30页
c教材习题.docx_第8页
第8页 / 共30页
c教材习题.docx_第9页
第9页 / 共30页
c教材习题.docx_第10页
第10页 / 共30页
c教材习题.docx_第11页
第11页 / 共30页
c教材习题.docx_第12页
第12页 / 共30页
c教材习题.docx_第13页
第13页 / 共30页
c教材习题.docx_第14页
第14页 / 共30页
c教材习题.docx_第15页
第15页 / 共30页
c教材习题.docx_第16页
第16页 / 共30页
c教材习题.docx_第17页
第17页 / 共30页
c教材习题.docx_第18页
第18页 / 共30页
c教材习题.docx_第19页
第19页 / 共30页
c教材习题.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c教材习题.docx

《c教材习题.docx》由会员分享,可在线阅读,更多相关《c教材习题.docx(30页珍藏版)》请在冰点文库上搜索。

c教材习题.docx

c教材习题

第2章C语言基础

二、选择题

1.下列合法的字符常量是________。

A)"c"B)cC)'char'D)'\n'

2.下列合法的字符串常量是________。

A)56B)'56'C)"56"D)'\t'

3.合法的C语言标识符是__。

A)2aB)sumC)defaultD)a*b

4.不合法的C语言标识符是__。

A)_8_B)j2_KEYC)4dD)Double

5.以下语句的输出结果是__。

printf("%d",strlen("\t\''\065\xff\n\\"));

A)6B)14C)8D)输出项不合法,无正常输出

6.在C语言中,要求运算数必须是整型的运算符是__。

A)%B)/C)

7.已知字母A的ASCII码为十进制的65,下面程序的输出是__。

A)67,DB)B,CC)C,DD)不确定的值

voidmain()

{

charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c",ch1,ch2);

}

8.下面程序的输出是__。

A)0B)1C)3D)不确定的值

voidmain()

{

intx=10,y=3;

printf("%d",y=x/y);

}

9.有关运算符的正确描述是________。

A)运算符优先级最高的是圆括号运算符

B)“.”仅是小数点,不能作为运算符

C)圆括号只能用于算术表达式

D)赋值号的运算优先级是最低的

10.语句floatx=3.0,y=4.0;下列表达式中y的值为9.0的是________。

A)y/=x*27/4B)y+=x+2.0

C)y-=x+0.8D)y*=x-3.0

11.若有下列类型说明语句:

charw;intx;floaty;doublez;

则表达式w*x+z-y值的正确数据类型为________。

A)floatB)charC)intD)double

12.下列浮点数的表示中不正确的是__。

A)22.3B).719e22C)e23D)12.e2

三、编程题

1.编写程序,输出|-6|+16.3*5.4的值。

2.编写程序,输入a、b两个整数值,输出两个数中较大值的平方根。

3.编写程序,从键盘输入的一个实数,输出他的平方和立方。

4.编写程序,从键盘输入的4个实数,输出他们的平均值。

5.编写程序,从键盘输入一个5位正整数,然后分别求出它的个位数、十位数、百位数、千位数和万位数,并打印出这五位数字的和。

如输入12345,打印出15(1+2+3+4+5=15)。

第3章顺序结构程序设计

二、选择题

1.运行下面程序,输出结果是______。

voidmain()

{inta=5;

printf("a=%d\n",++a+2);

A)a=6B)8C)a=5D)a=8

2.putchar函数可以向屏幕输出一个_________。

A)整型变量值B)实型变量值

C)字符串D)字符或字符变量值

3.运行以下程序,从键盘输入25,13,10<回车>,则输出结果是______。

voidmain()

{

inta1,a2,a3;

scanf("%d,%d,%d",&al,&a2,&a3);

printf("al+a2+a3=%d\n",al+a2+a3);

A)al+a2+a3=48B)al+a2+a3=25

C)al+a2+a3=10D)不定

4.设有以下程序段,则输出结果是__________。

charc1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

A)2,MB)3,E

C)2,ED)输出结果不确定

5.下面程序的执行结果是_______。

voidmain()

{inta,b;

a=20;b=10;

a+=a+b;

a-=a-b;

printf("%d\n",a);

}

A)10B)-10C)30D)0

6.下面哪个语句正确地描述了计算公式

A)y=ax*x*x/x–bB)y=ax*x*x/(x–b)

C)y=(a*x*x*x)/(x–b)D)y=a*x*x*x/x–b

7.有以下程序,叙述中正确的是_______。

voidmain()

{chara1='M',a2='m';

printf("%c\n",(a1,a2));

}

A)程序输出大写字母MB)程序输出小写字母m

C)程序运行时产生出错信息D)格式说明符不足,编译出错

三、编程题

1.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。

想得到以下的输出结果,请写出程序(包括定义变量和输出设计)。

要求输出的结果如下:

  a=3b=4c=5

x=1.200000,y=2.400000,z=-3.600000

x+y=3.60y+z=-1.20z+x=-2.40

u=51274n=128765

c1='a'or97(ascii)

c2='b'or98(ascii)

2.编写程序,输入圆的半径,计算并输出其周长和面积。

常量pi的值取3.14159,周长和面积取小数点后2位数字。

3.编写程序,把整数华氏温度f,转换为浮点型的摄氏温度c。

转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。

4.编写程序,输入三角形的三边的边长,求三角形面积

三角形面积的计算公式为:

p=(a+b+c)/2,S=sqrt(p(p-a)(p-b)(p-c))。

5.编写程序,使用类似printf("AA\aBB");语句,分别测试以下10个转义字符的显示效果:

\a,\b,\n,\r,\t,\v,\’,\”,\\,\?

6.编写程序,输入一个小写字母,输出其对应的大写字母。

7.编写程序,从键盘输入两个字符分别存放在变量c1和c2中,要求交换c1和c2的值并输出。

8.编写程序,设银行定期存款的年利率rate为3.25%,存款期为n年,存款本金为capital元,计算并输出n年后的本利之和deposit。

interest(利息)=principal(本金)*rate(年利率)*n(年)

9.编写程序,输入销售员的销售额,计算并输出其月工资。

公司规定销售人员的工作由底薪加提成构成。

底薪为1000元,提成为当月总销售额的9%。

第4章选择结构

一、选择题

1.若变量c为char类型,能正确判断出c为小写字母的表达式是___________。

A)'a'<=c<='z'B)(c>='a')||(c<='z')

C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')

2.有如下程序,运行后的输出结果是_。

voidmain()

{inta=10,b=4,C=3;

if(a

if(a

printf("%d,%d,%d\n",a,b,c);

A)3,4,10B)4,4,3C)3,4,3D)10,4,3

3.有如下程序段,执行该程序段后,x的值为__________。

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B');

A)tureB)falseC)0D)l

4.运行以下程序,如果从键盘上输入5,则输出结果是________。

voidmain()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

A)3B)4C)5D)6

5.下列关于if语句的描述中,错误的是()。

A)if语句中可以没有elseif子句,也可以没有else子句

B)if语句中只能有1个else子句

C)if语句中只能有不超过5个的elseif子句

D)if语句中的条件可以是任意表达式

6.以下程序的输出结果是___________。

main()

{inta=-1,b=1;

if((++a<0)&&!

(b--<=0))

printf("%d%d\n",a,b);

else

printf("%d%d\n",b,a);

A)–11B)01C)10D)00

7.有如下程序,该程序的输出结果是_________。

voidmain()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=l.0;

printf("%f\n",y);

A)0.000000B)0.250000C)0.500000D)1.000000

8.以下语法不正确的语句是___________。

A)if(x>y);

B)if(x<y){x++;y++;}

C)if(x=y)&&(x!

=0)x+=y;

D)if(x!

=y)scanf("%d",&x);elsescanf("%d",&y);

9.以下程序输出结果为_________。

main()

{intx=2,y=-1,z=2;

if(x<y)

if(y<0)z=0;

elsez+=1;

printf("%d\n",z);

}

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

10.若输入字符B,以下程序的运行结果为___________。

main()

{chargrade;

scanf("%c",&grade);

switch(grade)

{case'A':

printf(">=85");

case'B':

case'C':

printf(">=60");

case'D':

printf("<60");

default:

printf("error");

A)>=85B)>=60C)>=60<60errorD)error

11.有如下程序段:

intscore=5;

switch(score)

{case5:

printf("verygood!

");

case4:

printf("Good!

");

default:

printf("dataerror!

");

}

程序输出结果为_。

A)Verygood!

B)Good!

C)dataerror!

D)Verygood!

Good!

dataerror!

12.下列关于switch语句和break语句的说法中,只有___________是正确的。

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

B)在switch语句中可以根据需要使用或不使用break语句。

C)在switch语句中必须使用break语句。

D)以上三种说法有两个是正确的。

二、填空题

1.设a=1,b=2,c=3,写出下列关系表达式的值

(1)(a

(2)(c(a

(3)a+b==c。

(4)a+b>=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()

{floata,b,_____;

scanf(______,&a,&b);

if(a

{t=a;

__________;

b=t;

}

printf("%5.2f,%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的值。

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

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

9.根据某人的体重指数判断他的体重是属于何种类型,其中体重指数的计算公式为:

体重指数t=体重w/(身高h)2(其中体重w以千克为单位,身高h以米为单位)。

而体重指数对肥胖程度的划分是:

当t小于18时为体重偏轻;当18≤t<25时为体重正常;当25≤t<27时为体重超重;当t≥27时为肥胖。

第5章循环结构程序设计

一、选择题

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

intk=0,a;

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

printf("k=%d",k);

A)1B)1001C)1000D)溢出

2.设有如下程序段,则最后输出的a=()。

inta;

for(a=1;a<=1000;a++)printf("a=%d",a);

A)1B)1001C)1000D)溢出

3.设有如下程序段,则输出结果为a=()。

inta;

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

printf("a=%d",a);

A)1B)1001C)1000D)溢出

4.设有如下程序段,则输出结果为k=()。

intk=0,a;

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

printf("k=%d",k);

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

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

A)0B)5C)10D)无限

6.语句for(x=0,y=0;y!

=1&&x<4;x++);是()。

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

7.设有程序段:

intk=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

voidmain()

{inti,j,k;

for(i=1;i<=2;i++)

for(j=1;j<=2;j++)

printf("i=%d\tj=%d\t\n",i,j);

}

(A)(B)

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

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

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

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

(C)(D)

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

i=2j=2i=2j=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)doublefun(doubleu,v)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2