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); }