内容正文:
一、 选择题(共40题)
1. C语言中的基本数据类型包括( )
A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型
2. 下列常数中不能作为C语言常量的是( )
A.0x45 B.2.5e-2 C.3e2 D.0582
3. 下列可以正确表示字符型常量的是( )
A."a" B."\t' C."
" D.297
4. 已知:unsigned int x=65535;,则执行以下语句输出是( )
printf("%d
", x);
A.65535 B.1 C.无定值 D.-1
5. 已知:chara; intb; float c; double d;,执行语句c=a+b+c+d;后,变量c的数据类型是( )
A.int B.char C.float D.double
6. C语言中规定,不同类型的数据占用存储空间的长度是不同的。下列各组数据中满足占用存储空间从小到大顺序排列的是( )
A.short,char,float,double
B.char, float, int, double
C.int,char, long,float
D.char, short,long,double
7. char型表示的数据范围是( )
A.-32768~32767 B.03 C.0~255 D.0~65535
8. 假如有定义:double a=10.0;则在内存中变量a所占的存储空间占______个字节。( )
A.1 B.2 C.4 D.8
9. 下列关于变量定义错误的是( )
A.char ch; B.floatx,y; C.int al=a2; D.double y;
10. 以下选项中属于C语言的数据类型是( )
A.复数型 B.逻辑型 C.双精度型 D.集合型
11. 下列选项属于C语言提供的合法关键字的是( )
A.Int B.Double C.Float D.char
12. 以下选项中,不属于C语言的类型的是( )
A.signed long int B.unsigned short int
C.unsigned int D.long short
13. 以下关于long,int和short型数据占用内存大小的叙述,正确的是( )
A.均占4个字节 B.根据数据的大小来决定所占内存的字节数
C.由用户自己定义 D.由C语言编译系统决定
14. 以下关于C语言数据类型的使用,错误的叙述是( )
A.在字符型变量中,只能保存一个字符
B.若要处理的数据对精度要求很高,则应使用双精度类型
C.若要处理类似“人员信息”这种含有多种信息的数据,应采用结构体类型
D.若只处理"真"和"假"两种逻辑值,应使用逻辑类型
15. C语言中,short类型数据所占的字节数是( )
A.4个 B.1个 C.2个 D.8个
16. 设C语言中,一个short型数据在内存中占2个字节,则unsigned short型数据的取值范围为( )
A.0~255 B.0~32767 C.0~65535 D.0~2147483647
17. 以下结果为整数的表达式(设有int i;char c;float f;)( )
A.i+f B.i* c C.c+f D.i+c+f
18. 下列选项中,不属于C语言的类型的是( )
A.signed long int
B.unsigned short .int
C.unsigned int
D.long short
19. 设C语言中,一个short型数据在内存中占2个字节,则unsigned short型数据的取值范围为
A.0〜255 B.0〜32767 C.0〜65535 D.0〜2147483647
20. 下列关于long,int和short型数据占用内存大小的叙述,正确的是( )
A.均占4个字节 B.根据数据的大小来决定所占内存的字节数
C.由用户自己定义 D.由C语言编译系统决定
21. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是字符( )
A.,A,
22. 设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为 ( )
A.0~255
B.-32768~32767
C.0~65535
D.-2147483648 ~ 2147483647
23. 在C语言中,int、char和short三种类型数据在内存中所占用的字节数( )
A.由用户自己定义 B.均为2个字节 C.是任意的 D.由所用机器的机器字长决定
24. 若int类型数据占两个字节,则下列C语言语句的输出结果为 ( )
int t=-1 ;
printf("%u", t);
A.32768 B.-1 C.1 D.65535
25. 以下选项中,不正确的C语言字符型常量是( )
A.‘a’ B.‘\x41’ C.‘∖101’ D."a"
26. 下列哪项不是C语言提供的基本数据类型( )
A.整型 B.浮点型 C.字符型 D.字符串型
27. C语言中较为简单的数据类型包括( )
A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型
28. C语言提供的合法数据类型关键字是( )
A.float B.Signed C.Integer D.Char
29. 在C语言中,错误的int类型的常量是( )
A.32768 B.0 C.037 D.OXaf
30. 以下程序的运行结果是
# include
main()
{ int m=5, n=10,s;
s=m;
s=s*n;
printf(“%d”,s);}
A.0 B.5 C.50 D.10
31. 下列变量定义中合法的是( )
A.int_a=.el B.double b=1+lel.1
C.long x=2.5 D.float 2_and=1-3-3
32. 设x和y为double型变量,则表达式x=2,y=x+3/2的值是( )
A.3 B.3.000000 C.3.500000 D.2.000000
33. C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母、数字和下划线中的任一种字符
34. 下列C语言用户标识符中合法的是( )
A.3ax B.X C.case D.-e2
35. 请选出可用作 C 语言用户标识符的一组标识符( )
A.void define B.a3 _b3 _123 C.For -abc D.2a DO sizeof
36. C语言中最基本的数据类型是( )
A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、逻辑型、字符型 D.实型、逻辑型、字符型
37. 设C语言中,一个short型数据在内存中占2个字节,则unsigned short型数据的取值范围为( )
A.0~255 B.0~32767 C.0~65535 D.0~2147483647
38. 以下选项中,合法的实型常量是( )
A.5E2.0 B..E-3 C..2E0 D.1.3E
39. 下列说法不正确的是( )
A.C语言的数据类型有char、int、float和 double等
B.C语言中几种数据类型的长度是由所用机器的机器字长决定的
C.int型数据类型所能表示的最大整数是65535
D.C语言中的实型数据有 float和double两类
40. 下列选项中不合法的C语言赋值语句是( )
A.a=b=58; B.k=(int)(a+b); C.a+b=58; D.--i;
二、 简答题(共7题)
41. 常见的转义字符有哪些?并写出他们的作用。
42. 整型常量的表示方法有哪些?
43. 浮点型的表示方法有哪些?
44. 字符常量的种类有哪些?
45. 如何用八进制和十六进制表示转义字符?
46. 求short型11和-11的补码。
47. 将12分别转换成二进制、八进制、十六进制;并将00100101、023、0x2a转换成十进制。
三、 案例分析题(共6题)
48. 以下程序的输出结果为________。
main(
{ short i;
i=-4;
printf("%d, %o, %x, %u
", i, i, i, i);
}
49. 以下程序的输出结果为________。
main()
{ char c='x';
printf("%d, %‰, %x, %c
", c, c, c, c);
50. 以下程序的输出结果是________。
#include
main()
{ int a=252;
printf("a=%d, a=%0, a=%x
", a, a, a);
}
51. 写出程序运行的结果:________。
main()
{ char a, b, cl, c2;
float x,y;
a=3;
b=7;
x=8.5;
y=71.82;
c1='A';
c2='a';
printf("a=%d b=%d/n", a, b);
printf("x=%fy=%f/n", x,y);
printf("c1=%c, c2=%c", c1, c2);
}
52. 以下程序的输出结果是( )。
main()
{ int a=100, x=10, y=20, ok1=5, ok2=0;
if(xif(y!=10)
if(!ok1)a=1;
else if(ok2)a=10;
a=-1;
printf("%d
", a);
}
53. 下面程序的运行结果:
#include
main()
{ int i=16, j, x=6, y, z;
j=i+++1; printf("%d
", j); /*输出①*/
x*=i=j; printf("%d
", x); /*输出②*/
x=1;y=2; z=3;
printf("%d
", z=x>y?x++: y++); /*输出③*/
x=y=z=1;
++x||++y&&++z;
printf("%d%d%d
", x, y, z); /*输出④*/
}
四、 综合应用题(共3题)
54. 编写程序,读入三个整数a、b、c然后交换它们的值,即把a原来的值给b,把b原来的值给c把c原来的值给a,并区别输出交换前和交换后的值。
55. 通过键盘输入三个整数,由变量x,y,z存储,求三个整数中最大者并输出结果。
56. 写程序输出所有的“水仙花数”,所谓“水仙花数”为一个三位数,其各位数字立方和等于该数本身。例如:153=l + 125 + 27,即153是“水仙花数”。
五、 程序分析题(共3题)
57. 从键盘上输入2个整数,并将它们交换后输出。
main()
{ int a, b, t;
scanf("%d%d", &a, &b);
______=a;a=b;b=______;
print("a=%d, b=%d
", a, b);}
58. 下列程序的输出结果是__________。
main0
{ int a;
float c;
a=12;
c=(float)a;
printf(“%d,%f”,a,c);
}
59. 分析下面程序的运行结果__________.
main( )
{ chara,b;
a='x'; b='y'; a=a-32; b=b-32;
pritf(“%c,%c
%d,%d”,a,b,a,b);
}
六、 编程题(共5题)
60. 编写程序:输入一矩形的长和宽,计算该矩形的面积。
61. 编程:输入三个数,求出这三个数的平均值,并在屏幕上输出。
62. 编程:已知三角形的三边a=3,b=4,c=5,求其面积s。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。
63. 求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。
64. 编程:输入一个两位整数,将其逆向输出。
参考答案及解析
一、 选择题
1. 【答案】B
2. 【答案】D
【解析】(0582是八进制,出现非法数字8。)
3. 【答案】B
【解析】(字符型常数是用单引号引起来的。)
4. 【答案】D
【解析】(%d是有符号格式,65535被当作负数处理。)
5. 【答案】D
【解析】(double数据类型级别最高。)
6. 【答案】D
【解析】
(char占1字节,float占4字节,int占4字节,double占8字节,long 占4字节,short 占2字节。)
7. 【答案】C
【解析】[unsigned char:0~255,unsignedshort:0~65535 (0~216-1),char:0-255。]
8. 【答案】D
9. 【答案】C
10. 【答案】C
11. 【答案】D
12. 【答案】D
13. 【答案】D
14. 【答案】D
15. 【答案】C
16. 【答案】C
17. 【答案】B
18. 【答案】D
19. 【答案】C
20. 【答案】D
21. 【答案】A
22. 【答案】B
23. 【答案】D
24. 【答案】D
25. 【答案】D
26. 【答案】D
27. 【答案】B
28. 【答案】A
29. 【答案】A (int类型的常数的范围是-32768-32767。)
【解析】
30. 【答案】C
31. 【答案】C
32. 【答案】B
33. 【答案】C
34. 【答案】B
【解析】
(A中的标识符以数字开头;选项C,为关键字;选项D中的-e2表示错误。)
35. 【答案】B
36. 【答案】B
37. 【答案】C
【解析】
(short、unsigned short所占字节数相同,所以 unsigned short也占2个字节。short最高位为符号位,只能表示-32768~32767, unsignedshort 无符号位,可以表示0~65535。)
38. 【答案】C
39. 【答案】C
40. 【答案】C
【解析】
(赋值号“=”的左边一定是一个变量,而不能是常量或表达式,故C错误。)
二、 简答题
41. 【答案】常见的转义字符有:
“n'换行符(将当前位置移到下一行开头)
“\t'水平制表符(跳到下一个位置)
“\b'退格
\r'回车(将当前位置移到本行开头)
“\f走纸
“1'反斜杠
“”单引号
“””双引号
42. 【答案】十进制整型常量(包含数字0~9);
八进制整型常量(以0开头,包含数字0~7);
十六进制整型常量(以0x或OX开头,包含数字0~9、字母A~F或a~f);
long型十进制整型常量(以1或L结尾)
43. 【答案】浮点型数据的表示方法:
①科学计数表示法
②十进制浮点表示法
44. 【答案】字符的种类:
①数字字符0'~“9'
②大写字母'A'~'Z'
③小写字母'a'~'z'
④特殊形式的字符常量-转义字符
45. 【答案】八进制表示转义字符:使用“\”加上一个1~3位的八进制数。
十六进制表示转义字符:“\x”加上一个1~2位的十六进制数
46. 【答案】11为正数,补码就是原码。为:II0I 0000 0000 0000
-11补码:先求反码为:1111 1111 11110100
反码加1为原码:1111 1111 11110101
47. 【答案】12(2)=0000 1100
12(8)=14
12(16)=C
00100101(10)=1*20+1*22+1*25=37
023(10)=3*80+2*81=18
0x2a(10)=10*160+2*161=42
三、 案例分析题
48. 【答案】-4,177774,fffc,65532
49. 【答案】120, 170,78,x
50. 【答案】a=252,a=374,a=fc
51. 【答案】a=3 b=7
x=8.500000 y=71.820000
cl=A, c2=a
52. 【答案】-1
53. 【答案】①17 ②102 ③2 ④211
四、 综合应用题
54. 【答案】# include
main( )
{int a,b,c,t;
scanf(" %d%d%d" , &a, &b, &c);
printf("(1)a= %d,b= % ,c= %d" ,a,b,c);
t=c;c=b;b=a;a=t;
printf("(2)a= %d,b= % ,c= %d" ,a,b,c);
}
55. 【答案】
# include
int main( )
( int x,y,z,max;
scanf ( "%d%d%d",&x,&y, &z);
max== x;
if(maxmax=y;
if( maxmax=z;
printf(" %d" , max);
}
56. 【答案】
# include
int main( )
{
int i= 0;
int a,b,c,sum;
for(i= 100 ; i<1000 ; i+ +)
{
a= i/100;
b=(i∕10)%10;
c=i%10;
sum=a *a * a+b * b * b+c *c * c;
if(i= =sum)
{
Printf("%5d" ,i);
}
五、 程序分析题
57. 【答案】t,t
58. 【答案】12,12.000000
59. 【答案】X,Y
88,89
六、 编程题
60. 【答案】程序如下:
# include
main()
{ float a,b,s;
scanf("%f,%f",&a,&b);
s=a*b;
printf("s is%.2f
", s);
}
61. 【答案】程序如下:
# include
main()
{ flat a, b,c,s;
printf("请任意输入三个数:
");
scanf("%d%d%d", &a, &b,&c);
s=(a+b+c)/3;
printf("%.2f
”, s);}
62. 【答案】程序如下:
#include
#include
main()
{ int a=3,b=4,c=5;
double p, s;
p=(a+b+c)/2.0;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("s=%lf", s);}
63. 【答案】程序如下:
#include
#include
main( )
{ float a, b, c, disc, x1, x2, p, q;
scanf("a=%f, b=%f, c=%f", &a, &b, &c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("
x1=%5.2f
x2=%5.2f
", x1,x2);}
64. 【答案】#include
main( )
{ int a, b;
scanf(“%d”,&a);
b=a%10;
printf(“%d”,b);
a=a/10;
printf(“%d”, a);
}
学科网(北京)股份有限公司
$$