程序设计基础C练习题Word下载.docx

上传人:b****5 文档编号:18899788 上传时间:2023-01-02 格式:DOCX 页数:36 大小:47.61KB
下载 相关 举报
程序设计基础C练习题Word下载.docx_第1页
第1页 / 共36页
程序设计基础C练习题Word下载.docx_第2页
第2页 / 共36页
程序设计基础C练习题Word下载.docx_第3页
第3页 / 共36页
程序设计基础C练习题Word下载.docx_第4页
第4页 / 共36页
程序设计基础C练习题Word下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

程序设计基础C练习题Word下载.docx

《程序设计基础C练习题Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计基础C练习题Word下载.docx(36页珍藏版)》请在冰豆网上搜索。

程序设计基础C练习题Word下载.docx

函数体的前面是部分,其后是部分。

7.C语言中的标识符可分为、和预定义标识符三类。

8.在C语言程序中,用关键字定义基本整型变量,用关键字定义单精度实型变量,用关键字定义双精度实型变量。

9.把a1、a2定义成单精度实型变量,并赋初值1的定义语句是。

10.C程序中定义的变量,代表内存中的一个。

11.表达式3.5+1/2的计算结果是。

12.写出数学表达式

三个等价的C语言表达式、、。

13.通常一个字节包含个二进制位。

14.当计算机用两个字节存放一个整数时,能存放的最大(十进制)整数是、最小(十进制)整数是。

15.在C语言中整数可用进制数、进制数和进制数三种数制表示。

16.C语言中,int型数据占个字节,long型数据占个字节,unsignedint型数据占个字节,short型数据占个字节,float型数据占个字节,double型数据占个字节,char型数据占个字节。

㈡.选择题:

1.组成C语言程序的是()。

A.子程序B.过程C.函数D.主程序和子程序

2.以下叙述中正确的是()。

A.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。

B.C程序由主函数组成。

C.C程序由函数组成。

D.C程序由函数和过程组成。

3.以下选项中正确的整型常量是()。

A.12.B.-20C.1,000D.456

4.以下选项中正确的实型常量是()。

A.0B.3.1415C.0.329╳102D..871

5.以下选项中不合法的用户标识符是()。

A._123B.printfC.A$D.Dim

6.C语言中运算对象必须是整型的运算符是()。

A.%B./C.!

D.*

7.可在C程序中用作用户标识符的一组标识符是()。

A.voidB.as_b3C.ForD.2c

define_123-abcDO

WORDIfcaseSIG

8.若变量已正确定义并赋值,符合C语言语法的表达式是()。

A.a=a+7;

B.a=7+b+c,a++C.int(12.3%4)D.a=a+7=c+b

9.不合法的八进制数是()。

A.0B.028C.077D.01

10.不合法的十六进制数是()。

A.oxffB.0XabcC.0x11D.0x19

㈢.程序设计题:

第二章算法与顺序结构

1.算法:

为解决一个问题而采取的方法和步骤。

2.算法的分类:

数值算法、非数值算法。

3.算法的特点:

有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。

4.算法描述方法:

自然语言、流程图、改进流程图、N—S流程图、伪代码、计算机语言。

5.C语句的类型:

控制语句、函数调用语句、表达式语句、空语句、复合语句。

6.输入输出的概念:

输入输出是相对主机而言,C语言是由函数来实现输入输出的。

7.字符数据的输入/输出:

getchar()、putchar()

8.格式输入/输出:

scanf()、printf()

9.printf的格式符:

d、i,o,x、X,u,c,s,f,e、E,g、G;

l,m,n,-。

10.scanf的格式符:

l,m,*;

&

注意输入数据时数据流的分隔符,系统默认的分隔符为空格、tab键和回车。

11.顺序结构的设计思想:

声明变量、输入数据、处理、输出结果。

㈠.用N—S图表示下列问题:

1.有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换。

2.依次将10个数输入,要求将其中最大的数打印出来。

3.有3个数a、b、c,要求按从大到小的顺序把它们打印出来。

4.求1+2+3+……+100。

5.判断一个数n能否同时被3和5除。

6.将100~200之间的素数打印出来。

7.求两个整数m和n的最大公约数。

8.求方程ax2+bx+c=0的根;

分别考虑有两个不等的实根和有两个相等的实根的情况。

㈡.填空题:

1.以下程序段执行后的输出结果是:

⑴⑵⑶。

inti=-200,j=2500;

printf(“⑴%d%d”,i,j);

printf(“⑵i=%d,j=%d\n”,i,j);

printf(“⑶i=%d\nj=%d\n”,i,j);

2.复合语句在语法上被认为是。

空语句的形式是。

3.C语句的最后用结束。

4.以下程序段的输出结果是。

intx=0177;

printf(“x=%6d,x=%6o,x=%6x,x=%6u\n”,x,,x,x,x);

5.以下程序段的输出结果是。

doublea=513.789215;

printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n”,a,a,a,a);

6.以下程序段的输出结果是8,%d

a=3+5,a*4;

x=11/3;

printf(“%d,%%d\n”,a,x);

7.以下程序输入三个整数值给a、b、c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a、b、c的值。

请填空:

#include<

stdio.h>

main()

{inta,b,c,;

printf(“Entera,b,c:

”);

scanf(“%d,%d,%d”,);

a=b;

b=c;

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

}

8.以下程序不借助任何变量把a、b中的值进行交换。

{inta,b;

printf(“Inputa,b:

scanf(“%d,%d”,);

a+=;

b=a-;

a=a-;

printf(“a=%d,b=%d\n”,a,b);

㈢.选择题:

1.若a、b、c、d都是int型变量且初始值为0,下列不正确的赋值语句是()。

A.a=b=c=100;

B.d++;

C.c+b;

D.d=(c=22)-(b++);

2.以下选项中不是C语句的是()。

A.{inti;

i++;

printf(“%d\n”,i);

}B.;

C.a=5,c=10D.{;

3.以下合法的C语言赋值语句是(B)。

A.a=b=58B.k=int(a+b);

C.a=58,b=58D.--i;

4.以下程序的输出结果是()。

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

{intx=10,y=3;

printf(“%d\n”,y=x/y);

5.若变量已正确说明为int类型,要给a、b、c输入数据,正确的输入语句是(D)。

A.read(a,b,c);

B.scanf(“%d%d%d”,a,b,c);

C.scanf(“%D%D%D”,&

a,&

b,&

c);

D.scanf(“%d%d%d”,&

6.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是()。

A.a=a+b,b=a-b,a=a-b;

B.t=a,a=b,b=t;

C.a=t;

t=b;

b=a;

D.t=b;

a=t;

7.若变量已正确定义,以下程序段的输出结果是()。

A.输出格式说明与输出项不匹配,输出无定值

B.5.1700C.5.16800D.5.16900

x=5.16894;

printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

8.执行以下程序段后,c3中的值是()。

A.0B.1/2C.0.5D.1

intc1=1,c2=2,c3;

c3=c1/c2;

9.执行以下程序段后,其输出结果是()。

A.0,0,-10B.0,0,5C.-10,3,-10D.3,3,-10

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

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

10.以下程序的输出结果是()。

A.a=%2,b=%5B.a=2,b=5C.a=%%d,b=%%dD.a=%d,b=%d

{inta=2,b=5;

printf(“a=%%d,b=%%d\n”,a,b);

11.若int型占两个字节,以下程序段的输出是()。

A.-1,-1B.-1,32767C.-1,32768D.-1,65535

inta=-1;

printf(“%d,%u\n”,a,a);

12.以下程序段的输出结果是()。

A.|3.1415|B.|3.0|C.|3|D.|3.|

floata=3.1415;

printf(“|%6.0f|\n”,a);

13.以下程序段的输出结果是()。

A.98B.89C.66D.以上三个都不对

math.h>

{doublea=-3.0,b=2;

printf(“%3.0f%3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));

14.若a为整型变量,则以下语句()。

A.赋值不合法B.输出值为-2C.输出为不确定值D.输出值为2

a=-2L;

printf(“%d\n”,a);

15.若有定义chars=‘\092’;

则该语句()。

A.使s的值包含1个字符B.定义不合法,s的值不确定

C.使s的值包含4个字符D.使s的值包含3个字符

16.若k、g均为int型变量,则下列语句的输出为()。

A.15B.16C.15D.16

6f70716f

k=017;

g=111;

printf(“%d\n”,++k);

printf(“%x\n”,g++);

17.已知字母a的ASCII十进制代码为97,执行下列语句后的输出为()。

A.b,cB.a--运算不合法,故有语法错误

C.98,cD.格式描述和输出项不匹配,输出无定值

chara=‘a’;

a--;

printf(“%d,%c\n”,a+‘2’-‘0’,a+‘3’-‘0’);

18.下列程序的输出为()。

A.27.000000B.27.500000C.28.000000D.28.500000

{intm=7,n=4;

floata=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

printf(“%f\n”,x);

}

19.下列程序的输出结果是(C)。

A.18B.9C.-18D.-9

main(){inta=9;

a+=a-=a+a;

20.下列程序的输出结果是()。

A.0B.5C.1D.不确定值

main(){inta=7,b=5;

printf(“%d\n”,b=b/a);

21.下列程序的输出结果是()。

A.12B.11C.10D.9

main(){inta=011;

printf(“%d\n”,++a);

㈣.程序设计题:

1.编写程序,输入两个整数1500和350,求出它们的商和余数并进行输出。

2.编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

3.输入一个华氏温度,要求输出摄氏温度。

公式为:

c=5(f-32)/9。

第三章选择结构程序设计

1.关系运算符、逻辑运算符、逻辑值的表示与含义;

注意&

、||的运算规则。

2.三种if语句

3.选择结构的嵌套,注意if与else的配对;

4.条件运算符:

5.switch语句,注意其执行过程;

6.选择结构程序设计思想。

1.C语言中用表示逻辑值“真”,用表示逻辑值“假”。

2.C语言中的关系运算符按优先级别是、、、、、。

3.C语言中的逻辑运算符按优先级别是、、。

4.C语言中的关系运算符和逻辑运算符的优先级别是、、、、、

、、、、、、。

5.C语言中逻辑运算符的优先级高于算术运算符。

6.将下列数学式改写成C语言的关系表达式或逻辑表达式:

a=b或a<

c|x|>

4

7.下列程序的输出结果。

{inta=100;

if(a>

100)printf(“%d\n”,a>

100);

elseprintf(“%d\n”,a<

=100);

8.若已知a=10、b=15、c=1、d=2、e=0,请分别给出下列表达式的运算结果:

⑴a*b&

c⑵a+b>

10||a+b<

0⑶e⑷c==b>

e

⑸!

a<

e⑹a++&

e++&

c++⑺!

e&

e==b==++c

⑻(0<

a)&

(a<

2)⑼1.234&

5.982

⑽(b==10)&

(a==10)⑾!

0||d&

a==c+d

⑿(a+c==b)==(b+d==a)||(c=b+a)>

(d=c+b)

9.当a=1、b=2、c=3时,执行以下if语句后,a=、b=、c=。

if(a>

a=c;

c=b;

10.当a=1、b=2、c=3时,执行以下if语句后,a=、b=、c=。

c)b=a;

11.当a=1、b=2、c=3时,执行以下if语句后,a=、b=、c=。

c)b=a,a=c;

12.将以下两条if语句合并为一条if语句:

b)scanf(“%d”,&

x);

elsescanf(“%d”,&

y);

if(a<

=b)i++;

elsej++;

13.将以下嵌套的if语句改写成不嵌套的if语句:

if(w<

0)k=0;

elseif(w<

=100)k=1;

elsek=0;

14.以下程序判断输入的一个整数是否能被3或7整除,若能整除,输出“YES”,若不能整除,输出“NO”。

{intk;

printf(“Enteraintnumber:

scanf(“%d”,&

k);

if(k%3=0||k%7=0)printf(“YES\n”);

elseprintf(“NO\n”);

15.在switch语句中,当执行到break语句时,使流程。

1.若给定条件表达式(M)?

(a++):

(a--),则和表达式M等价的表达式为(C)。

A.M==0B.M==1C.M!

=0D.M!

=1

2.为表示关系x≥y≥z,应使用的C语言表达式是(A)。

A.(x>

=y)&

(y>

=z)B.(x>

=y)AND(y>

=z)C.(x>

=y>

=z)D.(x>

=y)&

(y>

=z)

3.以下程序的输出结果是()。

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

{inta=2,b=-1,c=2;

if(a<

b)

if(b<

0)c=0;

elsec+=1;

printf(“%d\n”,c);

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

{intw=4,x=3,y=2,z=1;

printf(“%d\n”,(w<

x?

w:

z<

y?

z:

x));

5.若执行以下程序时,从键盘上输入3和4,则输出结果是()。

A.14B.16C.18D.20

{inta,b,s;

scanf(“%d%d”,&

b);

s=a;

b)s=b;

s*=s;

printf(“%d\n”,s);

6.在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式()。

A.只能用逻辑表达式B.只能用关系表达式

C.只能用逻辑表达式或关系表达式D.可用任意表达式

7.下列程序段运行后,x的值是()。

A.14B.4C.15D.3

ok1=1;

ok2=2;

ok3=3;

x=15;

if(!

ok1)x--;

elseif(ok2)if(ok3)x=3;

elsex=4;

8.在C语言中,switch语句后一对圆括号中exp的类型()。

A.可以是任何类型B.只能为int型

C.可以是整型或字符型D.只能是整型或实型

9.以下各组运算符中,优先级最高的分别为()。

⑴A.?

B.++C.&

D.+=

⑵A.*=B.>

=C.(类型)D.,

⑶A.||B.%C.!

D.==

⑷A.=B.!

=C.*(乘)D.()

10.若a为整型变量,b为字符型变量,则以下正确的switch语句是()。

A.switch((int)x/10)B.switch(b)

{case1:

a++;

break;

{case‘\042’;

x=a/b;

case2:

b++;

case‘6’;

x=a*b;

case3:

c++;

case‘\010’;

x=a+c;

}}

C.switch((int)x/10);

D.switch(a/100+10)

{case0:

{case2:

default:

case6:

case3+1:

case8:

d++;

case10:

x=a-c;

1.从键盘输入一个字母,若是大写字母,要求改用小写字母输出。

2.求ax2+bx+c=0的根。

a、b、c由键盘输入,设b2-4ac>

=0。

3.编写一个C程序,输入a、b、c三个数,输出其中最大者。

第四章循环结构程序设计

1.循环的概念,C实现循环的方法;

2.goto语句,注意标号的书写;

3.while语句,注意条件表达式的设计;

4.do……while语句,注意条件表达式的设计,及while之后的分号;

5.for语句,注意for中三个表达式的一般含义;

6.循环的嵌套;

7.break与continue语句,注意二者之间的区别;

8.循环结构程序设计思想

1.以下程序段的输出结果。

x=y=0;

while(x<

20)y++,x+=3;

printf(“y=%d,x=%d\n”,y,x);

2.当执行以下程序段后,i的值是、j的值是、k的值是。

inta,b,c,d,i,j,k;

a=10;

b=c=d=5;

i=j=k=0;

for(;

a>

b;

++b)i++;

while(a>

++c)j++;

dok++;

d++);

3.以下程序段的输出结果。

intk,m,n;

n=10;

m=1;

k=1;

while(k<

=n)m*=2;

printf(“%d\n”,m);

4.以下程序的输出结果。

{intx=2;

while(x--);

printf(“%d\n”,x);

5.以下程序段的输出结果。

inti=0,sum=1;

do{sum+=i++;

}while(i<

5);

printf(“%d\n”,sum);

6.有以下程序段:

s=1.0;

for(k=1;

k<

=n;

k++)s=s+1.0/(k*(k+1));

printf(“%f\n”,s);

要使下面的程序段的功能与上面程序段的功能相同,请填空:

s=0.0;

k=0;

do{s=s+d;

d=1.0/(k*(k+1));

}while();

7.以下程序的功能是:

从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

{floatx,amax,amin;

scanf(

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1