程序设计基础(C)习题指导书2014版(附带答案)(3)

2019-03-28 15:33

《程序设计基础(C)》习题指导书

1.已有定义int x,float y;且执行scanf(\语句,若从第一列开始输入数据12345*678<回

车>,则x的值为__123___,y的值为___45_____。 2. 执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1=’A’、c2=’a’,

正确的输入数据形式为_ a=3 b=7 回车_ x=8.5 y=71.82 回车c1=A c2=a回车 __________。 main( )

{ int a,b;float x,y;char c1,c2; scanf(\scanf(\scanf(\

printf(\}

3. 若有以下定义和语句,为使变量c1得到字符’A’,变量c2得到字符’B’,正确的输入形式是

____A B 回车_________。 char c1,c2;

scanf(\

4. 假设变量a、b和c均是整数,以下语句借助中间变量把a、b和c中的值进行交换,即:把b中的值给

a,把c中的值给b,把a中的值给c。例如:交换前,a=10、b=20、c=30,交换后,a=20、b=30、c=10。请填空。_m=a_____;a=b;b=c;_c=m____ ;

5. 假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=__b___ ;

b=a-____b__; a-=____b__;

6. 已知字母A的ASCII码值为65。以下程序的输出结果是__ a=66,b=E ______。 #include main( ) { char a,b;

a='A'+'4'-'3'; b='A'+'6'-'2';

printf(\}

7. 若要求下列程序的输出结果为8.0,请填空 。 #include main( )

{ int k=2,m=5;

float s,x=1.2,y=___3.6_ ; s=2/3+k*y/x+m/2; printf(\}

8. 以下程序的运行结果是_____20___。 #include main( ) { int n=0; n+=(n=10);

printf(\}

9.有以下程序:

#include main( )

第 11 页 共 64 页

《程序设计基础(C)》习题指导书

{ int k=0;char c1='a',c2='b';

scanf(\ printf(%d,%c,%c\\n\}

若运行时从键盘输入:55 A B<回车>,则输出的结果是__55,A,B______。 10.以下程序输出的结果是_________。 main( )

{ int x=1,y=2;

printf(\ printf(\}

x=1 y=2 sum=3

10 Squared is :100 ㈡.选择题

1.以下程序的输出结果是( )。(注:*代表空格) main( )

{ printf(\ printf(\}

A.-s1=chinabeijing***- B.-s1=chinabeijing***- -s2=--chi- -s2=chi**-

C.-s1=-**chinabeijing- D.-s1=***chinabeijing- -s2=**chi- -s2=chi**-

2.已有定义int a=-2;和输出语句:printf(\以下正确的叙述是( )。 A.整型变量的输出格式符只有%d一种

B.%x是格式符的一种,它可以适用于任何一种类型的数据

C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 3.以下程序的运行结果是( )。 main( )

{ long y=-43456;

printf(\ printf(\ printf(\ printf(\}

A.y=***-43456 B.y=-43456 y=-**43456 y=-43456 y=-0043456 y=-0043456 y=-43456 y=+*-43456 C.y=-43456 D.y=**-43456 y=-43456 y=-0043456 y=-0043456 y=00043456 y=**-43456 y=+43456

4.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是(第 12 页 共 64 页

)《程序设计基础(C)》习题指导书

A.scanf(\

B.scanf(\C.scanf(\D.scanf(\

5.根据以下定义语句和数据的输入方式,scanf语句的正确形式应为( )。 已有定义:float f1,f2; 数据的输入方式:4.52<回车>

3.5<回车>

A.scanf(\ B.scanf(\

C.scanf(\

6.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为( )。 main( )

{ int x,y,z;

scanf(\ printf(\}

A.x=y=z=48 B.x=y=z=35 C.x=z=35 D.不确定的值 7.设有以下程序 #include main( )

{ char c1,c2,c3,c4,c5,c6;

scanf(\ c5=getchar(); c6=getchar(); putchar(c1); putchar(c2);

printf(\}

若运行时从键盘输入数据:abc<回车>,defg<回车>,则输出结果是( )。 A.abcd B.abde C.abef D.abfg

8.有输入语句:scanf(\为使 a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( )。

A.132<回车> B.1,3,2<回车> C.a=1*b=3*c=2 <回车> D.a=1,b=3,c=2<回车> 9.若有以下定义,则正确的赋值语句是( )。 int a,b; float x;

A.a=1,b=2, B.b++; C.a=b=5 D.b=int(x);

10.设x、y均是float型变量,则以下不合法的赋值语句是( )。 A.++x B.y=(x%2)/10; C.x*=y+8; D.x=y=0; ㈢.程序设计题

1.编写程序:输入一个字符,输出该字符的前驱字符和后继字符,并按ASCII码值从大到小顺序输出这3个字符及其对应的ASCII码值。

2.输入三角形的三边长,求三角形的面积。

3. 下面程序的功能是读入直角三角形两直角边的长度,输出斜边长度。请将程序补充完整。 #include

main( ) { int x,y; double z=sqrt(a*a+b*b); printf(“斜边长度为:%lf\\n”,z);}

第 13 页 共 64 页

《程序设计基础(C)》习题指导书

第三章 选择结构程序设计

一.知识点

1.关系运算符、逻辑运算符、逻辑值的表示与含义;注意&&、||的运算规则。

2.三种if语句。

3.选择结构的嵌套,注意if与else的配对。 4.条件运算符:?与 :

5.switch语句,注意其执行过程。 6.选择结构程序设计思想。

二.习题 ? 基础篇

㈠.填空题

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

2.C语言中的关系运算符按优先级别是 、 、 、 、 、 。 答案:>、<、>=、<=、==、!=

3.C语言中的逻辑运算符按优先级别是 、 、 。 答案:!、&&、||

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

!、>、<、>=、<=、==、!=、&&、||

5.C语言中逻辑运算符的 ! 优先级高于算术运算符。 6.将下列数学式改写成C语言的关系表达式或逻辑表达式:

a=b或a4 x>4||x<-4 7.下列程序的输出结果 1 。

main()

{ int a=100;

if(a>100) printf(“%d\\n”,a>100); else printf(“%d\\n”,a<=100);} 8.若已知a=10、b=15、c=1、d=2、e=0,请分别给出下列表达式的运算结果:

⑴ a*b && c 1 ⑵ a+b>10 || a+b<0 1 ⑶ e 0 ⑷ c==b>e 1 ⑸ !a⑽ (b==10) && (a==10) 0 ⑾ !0 || d && a==c+d 1 ⑿ (a+c==b)==(b+d==a) || (c=b+a)>(d=c+b) 1

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

if(a>c);b=a;a=c;c=b;

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

if(a>c)b=a;a=c;c=b;

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

if(a>c)b=a,a=c;c=b;

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

if(a>b) scanf(“%d”,&x);else scanf(“%d”,&y); if(a<=b) i++;else j++; 答案:if(a>b) {scanf(“%d”,&x);j++;}

第 14 页 共 64 页

《程序设计基础(C)》习题指导书

else {scanf(“%d”,&y);i++;}

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

if(w<0) k=0;else if(w<=100) k=1; else k=0; 答案:if(w>=0&&w<=100)k=1; else k=0;

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

#include main() { int k; printf(“Enter a int number:”);scanf(“%d”,&k); if( k%3==0||k%7==0 )printf(“YES\\n”);else printf(“NO\\n”);} 15.在switch语句中,当执行到break语句时,使流程跳出开关语句 。 16. C语言提供三种关系运算符,按优先级高低它们分别是:> < == >= <= !=等。

17.C语言提供三种逻辑运算符,按优先级高低它们分别是____!__、_&&____、 _||____ 。 18.设a=1,b=6,c=2,表达式 a+b>c && b==c运算后的值为____0___。

19.写出命题 “-6-6&&a<-3)||(a>2&&a<=5)_____ 。

20.条件“y能被4整除但不能被100整除,或y能被400整除”的逻辑表达式是 (y%4==0&&y0!=0)||(y@0==0) 。

21.设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式是 (x<0&&y<0)||(x<0&&z<0)||(y<0&&z<0) 。

22.若有x=1,y=2,z=3,则表达式(x

a = (x--==y++) ? x-- : y++ ; b = x++ ; c = y ;

24.若有条件“22&&x<3)||x<-10 。 25.将以下两条if语句合并为一条if语句为

if(a>b){scanf( “ %d”,&a); n++;}else{ scanf( “ %d”,&b); m++;}。 语句1: if(a>b)scanf( “ %d”,&a); else scanf( “ %d”,&b); 语句2: if(a<=b)m++; else n++; ㈡.选择题

1.若给定条件表达式(M)?(a++):(a--),则和表达式M等价的表达式为( )。 A.M==0 B.M==1 C.M!=0 D.M!=1 2.为表示关系x≥y≥z,应使用的C语言表达式是( )。

A.(x>=y) && (y>=z) B.(x>=y)AND(y>=z) C.(x>=y>=z) D.(x>=y)&(y>=z) 3.以下程序的输出结果是( C )。

A.0 B.1 C.2 D.3 main()

{ int a=2,b=-1,c=2; if(a

if(b<0) c=0; else c+=1; printf(“%d\\n”,c); } 4.以下程序的输出结果是( )。

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

第 15 页 共 64 页


程序设计基础(C)习题指导书2014版(附带答案)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年高考成语复习分类[五]特殊用法类[六]谦辞敬辞类(精校WORD

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

马上注册会员

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