C语言程序设计-第3章-习题

  • 格式:docx
  • 大小:18.49 KB
  • 文档页数:8

C语言程序设计-第3章-习题

习题

1、选择题

(1)以下选项中属于C语言的数据类型的是()。

A. 复数型

B. 逻辑型

C. 双精度型

D.集合型

(2)在C语言中,不正确的int型的常数是()

A. 32768

B. 0

C. 037

D.0XAF

(3)以下所列的C语言常量中,错误的是()

A. 0xFF

B. 1.2e0.5

C. 21

D. '\72'

(4)C语言中的基本类型包括()

A. 整型、实型、逻辑型

B. 整型、实型、逻辑型、字符型

C. 整型、逻辑型、字符型

D. 整型、实型、字符型

(5)以下所列的C语言常量中,错误的是()

A. 'abc'

B. "12`12"

C. "0"

D. ""

(6)以下有关C语言标识符的描述中,正确的是() A. 标识符可以由汉字组成

B. 标识符只能以字母开头

C.关键字可以作为用户标识符

D. Area与area是不同的标识符

(7)以下不正确的转义字符是()

A. '\\'

B. '0101'

C. '\n'

D. '\xlf''

(8)C语言中,下列常量不正确的为()

A.543210L

B.05078

C.-0x41

D.12345

(9)下面程序片段的输出结果是()

int i=65536;

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

A.65535

B.0

C.有语法错误,无输出结果

D.-1

(10)在符号常量定义"# define MAX 1000"中,符号常量MAX代表的是()

A.实型数

B.整型数

C.常量

D.字符串

(11)以下程序的输出结果是()

# define SQR(X) X*X

main() {

int a=10,k=2,m=1;

a=SQR(k+m)/SQR(k+m);

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

}

A.1

B.7

C.8

D.9

(12)运行以下程序时,从键盘输入24,16,80?,则输出结果是()

main( )

{

int a1,a2,a3;

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

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

}

A.a1+a2+a3=120

B. a1+a2+a3=24

C. a1+a2+a3=80

D.不确定

(13)若有以下定义和语句,则输出结果是()

char c1='b',c2='e';

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

A.2,M

B. 3,E

C. 2,E

D.输出项对应的格式控制一致,输出结果不确定

(14)为使下列程序段输出“123,456,78”,要由键盘输入数据,正确的输入是()int i,j,k; scanf("%d,3%d%d", &i,&j,&k);

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

A.12345678

B.123,456,78

C.123,45678

D.123,*45678

2、填空题

(1)C语言的基本类型为、、、。

(2)C语言的标识符分为、及预定义标识符。

(3)变量在内存中占据一定的,变量名实际上是一个名字,在对程序编译时由系统给每一个变量名分配一个。

(4)在C语言中,整数可用进制数、进制数和进制数3种形式来表示。

(5)设有以下变量定义,并已赋确定的值:

Char w ; int x ; float y ; double z ;

则表达式:w*x+z-y所求得的数据类型为。

(6)字符串"AB\t\101f\n\\"在机器那个占个字节。

(7)若有定义:int a=7,float x=2.5,y=4.7;则表达式x+a/3*(int) (x+)/4的值是。

(8)下面程序的输出结果是。

main ()

{

unsigned a=32768;

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

}

(9)下面程序的输出结果是。

main ()

{

int k=17;

printf("%+0.5d,0%o,0x%x\n",k,k,k); }

3. 写出程序的运行结果:

#include

main ()

{

int a=32,b=57;

float x=7.876543,y=-345.123;

char c='a';

long l=1234;

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

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

printf("%8.2f,%8.2f,%.4f,%.4f\n",x,y,x,y);

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

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

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

printf("%s,%5.3s\n","CHINESE","CHINESE");

}

4. 请写出下面程序的输出结果:

main()

{

int a=5,b=7;

float x=67.8564,y=-789.124

char c='a';

long n=1234567;

unsigned u=65535;

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

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

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

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

printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f,%\n",x,y,x,y); printf("%e,%10.2e\n",x,y);

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

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

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

printf("%s,%5.3s\n","coMputuer","coMputer");

}

5. 请写出下面程序的输出结果:

main ( )

{

char c1='a', c2='b' ,c3='c' , c4='\110',c5 ;

c5=c4+1;

printf("a%cb%cc\t\abc\n",c1,c2,c3);

printf("%c%c\n",c4,c5);

}

6. 分析以下程序的功能:

# include

main ( )

{

char ch;

scanf("%c",&ch);

printf("%c%c%c\n",ch-1,ch,ch+1);

}

7. 用下面的scanf函数输入数据,使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("a=%d b=%d",&a,&b); scanf("%f %e",&x,&y);

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

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

printf("%f %e",x,y);

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

}

8. 用下面的scanf函数输入数据,使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据?

scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z,);

9. 字符常量和字符串常量的区别是什么?符号常量和变量的区别是什么?

10. 请把下列表示形式中不合法的常量找出来,并说明原因。

239 0196 0xfk 076L 0x3AL 61f

2.653e"as678\0" '\678' PI 'as' " "

11. 整型变量存储一个整数值,而字符型变量存储一个字符。C语言允许整型变量与字符型变量进行加、减运算,试说明运算的原理,并计算表达式'A'+'8'-10的值。

# include

main ()

{

int a,b;

float d,e;

char c1,c2;

double f,g;

long m,n;

unsigned int p,q;

a=61;b=62;

d=5.67;e=-6.78; f=1234.56789;g=0.123456789;

m=50000;n=-60000;

p=32768;q=40000;

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

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

printf("f=%15.6f,g=%15.10f\n",f,g);

printf("m=%ld,n=%ld\np=%u,q=%u\n",m,n,p,q); }