C语言练习4附参考答案.docx

上传人:b****7 文档编号:10853725 上传时间:2023-02-23 格式:DOCX 页数:24 大小:31.87KB
下载 相关 举报
C语言练习4附参考答案.docx_第1页
第1页 / 共24页
C语言练习4附参考答案.docx_第2页
第2页 / 共24页
C语言练习4附参考答案.docx_第3页
第3页 / 共24页
C语言练习4附参考答案.docx_第4页
第4页 / 共24页
C语言练习4附参考答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言练习4附参考答案.docx

《C语言练习4附参考答案.docx》由会员分享,可在线阅读,更多相关《C语言练习4附参考答案.docx(24页珍藏版)》请在冰豆网上搜索。

C语言练习4附参考答案.docx

C语言练习4附参考答案

实验4:

运算符与表达式(3)

实验目的:

1、熟悉逗号运算符等的基本运用和规则。

2、学会使用C语言的关系运算符和逻辑运算符,以及包含这些运算符的表达式。

3、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。

实验内容:

一、选择题

1、逻辑运算符两侧运算对象的数据类型( D  )。

A)只能是0或1B)只能是0或非0正数

C)只能是整型或字符型数据D)可以是任何类型的数据

2、以下关于运算符优先顺序的描述中正确的是( C  )。

A)关系运算符<算术运算符<赋值运算符<逻辑与运算符

B)逻辑与运算符<关系运算符<算术运算符<赋值运算符

C)赋值运算符<逻辑与运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑与运算符

3、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表达式是( C   )。

A)(x>=1)&&(x<=100)&&(x>=200)&&(x<=300)

B)(x>=1)||(x<=100)||(x>=200)||(x<=300)

C)(x>=1)&&(x<=100)||(x>=200)&&(x<=300)

D)(x>=1)||(x<=100)&&(x>=200)||(x<=300)

4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(  D  )。

A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122

B)!

(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)

C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122

D)!

(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)

5、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( D   )。

A)‘x’&&‘y’B)x<=y

C)x||y+z&&y-zD)!

((x

z||1)

6、已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!

y)的值是( C  )。

A)0B)语法错C)1D)“假”

7、以下正确的叙述是(  D  )。

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

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

D)在C程序中,%是只能用于整数运算的运算符

8、以下选项中,与k=n++完全等价的表达式是(A)。

A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1

9、与数学式子

对应的C语言表达式是(C)。

可参看教材P211-212页

A)3*x^n(2*x-1)B)3*x**n(2*x-1)

C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x-1)

10、设a和b均为double型变量,且、,则表达式(int)a+b/b的值是(D)。

A)6.500000B)6

11、输入并运行下面的程序,写出运行结果:

main()

{

inta=1,b=2,c=3;

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

}

输出结果:

3,1,0,0

在上机前先分析程序,写出应得结果,上机后将二者对照。

12、输入并运行以下程序,写出运行结果:

main()

{

inta=10,b=20,c=30,d;

d=++a<=10||b-->=20||c++;

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

}

在上机前先分析程序,写出应得结果,上机后将二者对照。

输出结果:

11,19,30,1

程序设计题

1、英里公里,地球与月球之间的距离大约是238857英里,请编写C程序,在屏幕上显示出地球与月球之间大约是多少公里?

#include

voidmain()

{

printf("地球与月球之间大约是%.2lf公里!

\n",238857*1.609/1.31);

}

2、编写程序计算和打印净薪酬。

假设每周工作40个小时,每小时工资6.67元,假设每个月要扣除9%的考核工资,年底再一起发放。

请计算每个月应发工资实额和第12个月发放工资额,并输出。

#include

voidmain()

{

doublehour=40,gongzi=6.67;

printf("每个月应发工资为%.2lf元\n",hour*gongzi*4*0.91);

printf("第12个月工资应发%.2lf元\n",hour*gongzi*4+hour*gongzi*4*0.09*11);

}

 

习题一

1、C语言源程序最多可能由____ABCD____________部分组成?

A)预处理部分B)变量说明部分

C)函数原型声明部分D)函数定义部分

2、一个完整的C语言源程序最少必须有___C____。

A)若干个主函数B)若干个函数

C)且只能有一个主函数D)一个函数

3、C语言以函数为源程序的基本单位最主要有利于__B_____。

A)程序设计结构化B)程序设计模块化

C)程序设计简单化D提高程序设计有效性

4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。

A)编辑和链接B)编译和链接

C)修改和运行D运行并输入数据

5、 一个C程序的执行是从______A______。

A)本程序的main函数开始,到main函数结束。

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

6、 以下叙述正确的是__A______。

A)在C程序中,main函数必须位于程序的最前面

B)C程序的每行中只能写一条语句 

C)C语言本身没有输入输出语句 

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

7、以下叙述不正确的是___D_____。

A)一个C源程序可由一个或多个函数组成

B)一个C源程序必须包含一个main函数 

C)C程序的基本组成单位是函数 

D)在C程序中,注释说明只能位于一条语句的后面

8、C语言规定:

在一个源程序中,main函数的位置是___A_____。

A)必须在最开始 

B)必须在系统调用的库函数的后面

C)可以任意 

D)必须在最后

习题二

一、程序题

1、阅读程序写运行结果

(1)#include

intmain()

{

intx=10,y=6,z=3,t;

if(x>y){t=x;x=y;y=t;}

if(y>z){t=y;y=z;z=t;}

if(x>y){t=x;x=y;y=t;}

printf("%d\t%d\t%d\n",x,y,z);

return0;

}

运行结果3610

(2)#include

intmain()

{

intn=123;

intx,y,z;

x=n/100;

y=n%100/10;

z=n%10;

printf("x=%d,y=%d,z=%d\n",x,y,z);

return0;

}

运行结果1,2,3

(3)#include

intmain()

{

intx=10,y=6;

printf("%d\n",!

x);

printf("%d\n",x||y);

printf("%d\n",x&&y);

return0;

}

运行结果0

1

1

(4)#include

intmain()

{

intx=10,y=6,z=3,s=0;

s+=x;

s+=y;

s+=z;

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

return0;

}

运行结果19

(5)#include

intmain()

{

inta=2,b=3;

floatx=3.5,y=2.5;

printf("%f\n",(float)(a+b)/2+(int)x%(int)y);

return0;

}

运行结果

(6)#include

intmain()

{

inta=-100;

unsignedb,c;

longd=32768;

floate=4.56;

b=a;

a=c=d;

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

a=e;

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

return0;

}

本题假设int型数据占两个字节。

(提示:

%u表示以无符号整型的格式输出;%ld表示以长整型的格式输出)

运行结果32768,100,32768,32768L

(7)#include

intmain()

{

inti=1,j,k;

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

k=++i;printf("k=%d,i=%d\n",k,i);

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

k=--i;printf("k=%d,i=%d\n",k,i);

return0;

}

运行结果j=1,i=2

k=3,i=3

j=3,i=2

k=1,i=1

(8)#include

#defineM(x)x*(x+1)

intmain()

{

inta=2,b=3;

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

return0;

}

运行结果

2、仿照本章的例题写程序

(1)输入三个整数,计算并输出它们的平均值。

(2)输入三个整数,对它们进行从小到大排序,并输出排序后的结果。

(3)输入一个0-100的整数,若该数是偶数且是5的倍数,则输出“Y”,否则输出“N”。

(4)输入两个英文小写字母,输出其中的较大字母、较小字母,以及较大字母和较小字母之间间隔的字符个数。

(5)输入圆的半径r,计算并输出圆的周长和面积,要求将

定义为符号常量。

二、选择题

1、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为____A___。

 A) char

B) char=int 

C) char

D)char=int=long int<=float

2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)

的值是____B___。

A) 7  B) 8   C)6   D)2 

3、下面四个选项中,均是不合法的用户标识符的选项是_C______。

A)A       B)float     C)b-a       D)_123 

P_0       la0         goto        struct 

do        _A          int         type 

4、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符____C___。

A)必须为字母   

B)必须为下划线   

C)必须为字母或下划线

D)可以是字母、数字和下划线中任一种字符

习题三

一、程序题

1、阅读程序写运行结果

(1)请写出以下程序的运行结果

intmain()

{

inta=5,b=8;

floatx=34.5678,y=-567.123;

charc='A';

longn=1234567;

unsignedu=65535;

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

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

printf("%10f%-10f\n",x,y);

printf("%e%10.2e\n",x,y);

printf("%c%d%o%x\n",c,c,c,c);

printf("%ld%lo%lx%x\n",n,n,n,n);

printf("%u%d%o%x\n",u,u,u,u);

printf("%s%3.2s\n","CHINA","CHINA");

return(0);

}

运行结果

(2)用下面的scanf函数输入数据,使a=3,b=7,,,c1=‘Q’,c2=‘q’。

问在键盘上如何输入?

intmain()

{

inta,b;

floatx,y;

charc1,c2;

scanf("a=%db=%d",&a,&b);

scanf("%f,%f",&x,&y);

scanf("%c%c",&c1,&c2);

printf("%d%d%f%f%c%c\n",a,b,x,y,c1,c2);

return(0);

}

运行结果

(3)下面程序运行时从键盘上输入,程序运行结果是什么?

#include

intmain()

{

inta,b,c;

scanf("%2d%3d%*2d%3d",&a,&b,&c);

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

return(0);

}

运行结果

(4)下面程序的输出结果是什么?

#include

intmain()

{

intc;

chard;

c=66;

d='B';

putchar(c);putchar(d);putchar('B');putchar(66);

c=68;

d='D';

putchar(c);putchar(d);putchar('B');putchar(66);

return(0);

}

运行结果

(5)下面程序的输出结果是什么?

#include

intmain()

{

inta=-1;longb=-2;floatf=123.456;charc='a';

printf("a=%d,a=%o,a=%x,a=%u\n",a,a,a,a);

printf("b=%1d,b=%1o,b=%1x,b=%1u\n",b,b,b,b);

printf("f=%f,f=%,f=%\nf=%e,f=%g\n",f,f,f,f,f);

printf("c=%c,c=%3c,c=%-3c,c=%d,c=%c\n",c,c,c,'a',65);

printf("s1=%s,s2=%7.3s,s3=%-7.3s\n","12345","ABCD","12345");

return(0);

}

运行结果

(6)下面程序的输出结果是什么?

#include

intmain()

{

intn,x1,x2,x3,y;

printf("Pleaseinputnumbern:

");

scanf("%3d",&n);

x1=n/100;

x2=n/10%10;

x3=n%100;

y=x3*100+x2*10+x1;

printf("y=%d\n",y);

return(0);

}

运行结果

2、写程序

(1)设圆柱底面圆半径r=1.5,圆柱高h=3,求底面圆周长、圆柱侧面积、圆柱面积、圆柱体积。

(2)输入一个华氏温度,要求输出摄氏温度。

公式为

要求输出要有文字说明,保留两位小数。

(3)若a=3,b=4,c=5,x=1.2,y=2.4,z=—3.6,u=33278,n=126765,c1=’a’,c2=’b’,编写程序输出以下的输出结果。

a=▁3▁▁b=▁4▁▁c=▁5

x+y=▁▁▁y+z=-1.20▁▁

u=▁33278▁▁n=▁▁▁▁126765

c1=’a’其ASCII码值为97

c2=’b’其ASCII码值为98.

(4)编写程序,读入一个字母,输出与之对应的ASCII码,输入输出都要有相应的文字提示。

二、选择题

1、已知’A’的ASCII代码是65,以下程序的输出结果是(B)

#include "stdio.h"

main()

{int c1=65,c2=66;

printf("%c, %c",c1,c2);

}

A.因输出格式不合法,输出错误信息B.65,66

C.A,B D.65,66

2、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是(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;b=a;a=t;

3、若k是整型变量,则以下程序段的输出是(D)

k=-8567;

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

A.输出格式不正确 B.输出为|008567|

C.输出为|8567| D.输出为|-8567|

4、下列可作变量的标识符是(B)

A.3rt B.je_cC.$89 D.a+6

5、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(A)

C.必须为字母

D.可以是字母、数字和下划线中的任一种字符

6、C语言并不是非常严谨的算法语言,在以下关于C语言的不严谨的叙述中,错误的说法是(A)

A.大写字母和小写字符的意义相同

B.有些不同类型的变量可以在一个表达式中运算

C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D.同一个运算符号在不同的场合可以有不同的含义

一、程序题

1、阅读程序写运行结果

(1)intmain()

{

floata=2.5,b=3.4;

intc,d;

c=(a>b);

d=(c==0);

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

return(0);

}

运行结果01

(2)intmain()

{

inta,b,c,d;

a=!

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

b=!

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

b=!

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

c=1&&2;printf("%d\n",c);

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

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

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

return(0);

}

运行结果0

1

1

1

0

1

0

(3)

#include

intmain()

{

intop1,op2,result;

charoperato;

scanf("%d",&op1);

operato=getchar();

while(operato!

='='){

scanf("%d",&op2);

switch(operato){

case'+':

result=op1+op2;break;

case'-':

result=op1-op2;break;

case'*':

result=op1*op2;break;

case'/':

result=op1/op2;break;

default:

result=0;

}

op1=result;

operato=getchar();

}

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

return(0);

}

程序运行时,

输入2*3−4=,输出:

输入2+1/4=,输出:

输入1+2*5−10/2=,输出:

(4)

#include

intmain()

{

floata=2.5,b=3.4;

intc,d;

c=(a>b);

printf("%d",c);

d=(c==0);

printf("%d",d);

return(0);

}

运行结果

(5)

#include

intmain()

{

inttestnum,remainder;

printf("Enteryournumbertobetested.\n");

scanf("%d",&testnum);

remainder=testnum%2;

if(remainder==0)

printf("Thenumberiseven.\n");

else

printf("Thenumberisodd.\n");

return(0);

}

运行结果

(6)

#include

intmain()

{

inti;

scanf("%d",&i);

switch(i)

{

case1:

case2:

putchar('i');

case3:

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

default:

printf("OK!

\n");

}

return(0);

}

运行结果

(7)下面程序运行时,分别输入‘5’、‘D’、‘w’和‘!

’后的输出结果是什么?

#include

intmain()

{

charc;

scanf("%c",&c);

if(c>='0'&&c<='9')

printf("0-9\n");

elseif(c>='A'&&c<='Z')

printf("A-Z\n");

elseif(c>='a'&&c<='z')

printf("a-z\n");

else

printf("othercharacter\n");

return(0);

}

运行结果

2、写程序

(1)有一分段函数如下:

写程序实现,输入x值,输出y值。

(2)编写程序

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

当前位置:首页 > 法律文书 > 起诉状

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

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