c语言程序设计习题集Word文件下载.docx
- 文档编号:17654490
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:35
- 大小:30.34KB
c语言程序设计习题集Word文件下载.docx
《c语言程序设计习题集Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言程序设计习题集Word文件下载.docx(35页珍藏版)》请在冰豆网上搜索。
参考标识符的定义。
**2.7C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母B)必须为下划线C)必须为字母或下划线
D)可以是字母、数字和下划线中的任一种字符
见教材对标识符的定义。
*2.14下面正确的字符常量是。
A)"
c"
B)'
\\'
'
C)'
W'
D)"
"
*2.15下面四个选项中,均是不正确的八进制或十六进制数的选项是。
A)016B)0abcC)010D)0a12
0x8f017-0x117ff
0180xa0x16-123
不正确的有A3:
非法八进制数;
B1、D1、D2:
缺少x;
D3是十进制数。
2.17下面四个选项中,均是正确的数值常量或字符常量的选项是。
A)0.0B)"
a"
3'
D)+001
0f3.9e-2.50110xabcd
8.9e1e10xFF002e2
'
&
\"
0a50.
不正确的有A2、C4:
不是ox打头;
A3:
e后不是整数;
B1是字符串;
B2:
2.5不是整数。
2.18下面不正确的字符串常量是。
A)'
abc'
B)"
1212"
C)"
0"
"
2.20若有代数式3ae/bc,则不正确的C语言表达式是。
A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3
注意表达式的计算顺序
2.21已知各变量的类型说明如下,则不符合C语言语法规定的表达式是。
intk,a,b;
unsignedlongw=5;
doublex=1.42;
A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)
不符合C语法规定的只有A,因为X为实型数。
*2.23以下不正确的叙述是。
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算表达式a=b后,b的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
整型变量可以输入实型数值,实型变量也可以输入整型数值
*2.33设变量a是整型,f是实型,i是双精度型,则表达式10+'
a'
+i*f值的数据类型为。
A)intB)floatC)doubleD)不确定
实型只要参与运算就自动转换为double型。
*2.37在C语言中,char型数据在内存中的存储形式是。
A)补码B)反码C)原码D)ASCII码
计算机系统不能存储字符本身,存储的是字符的ASCII码。
2.40设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为。
A)0-255B)0-32767C)0-65535D)0-
各种数据类型的取值范围是由其字长决定,字长确定的情况下,有符号数与无符号数的范围应当容易计算得知,2的16次方减一。
2.41设有说明:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y值的数据类型为。
A)floatB)charC)intD)double
表达式的类型由表达式结果的类型决定。
虽然本题各变量没有具体的变量值,由于参与运算的变量中z变量为double型,表达式计算的结果肯定为double型。
2.42若有以下定义,则能使值为3的表达式是。
intk=7,x=12;
A)x%=k%=5B)x%=k-k%5
C)x%=(k-k%5)D)(x%=k)-(k%=5)
A的值为0,B、C两个表达式相同,值为2,只有D的值为3。
2.2填空题
2.44在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为【1】;
一个int型数据在内存中所占的字节数为【2】。
【1】1【2】2
2.45在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为【1】;
一个double型数据在内存中所占的字节数为【2】。
【1】4【2】8
2.47设C语言中,一个int型数据在内存中占2各字节,则int型数据的取值范围为【】。
-32768~32767
2.48在C语言中的实型变量分为两种类型,它们是【1】和【2】。
【1】float【2】double
2.56若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为【1】,n的值为【2】。
【1】10【2】6
2.58若有定义:
inta=2,b=3;
floatx=3.5,y=2.5;
则表达式(float)(a+b)/2+(int)x%(int)y的值为【】。
3.5
2.59若有定义:
charc='
\010'
;
则变量c中包含的字符个数为【】。
1
2.60若有定义:
intx=3,y=2;
floata=2.5,b=3.5;
则表达式(x+y)%2+(int)a/(int)b的值为【】。
2.62若有定义:
inta,b;
表达式a=2,b=5,a++,b++,a+b的值为【】。
9
2.63C语言中的标识符只能由三种字符组成,它们是【1】、【2】和【3】。
【1】字符【2】数字【3】下划线
2.68表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为()。
int型
第三章最简单的C程序设计
3.1选择题
3.1putchar函数可以向终端输出一个。
A)整型变量表达式B)实型变量值
C)字符串D)字符或字符型变量值
putchar函数的作用是输出一个字符,可以是常量或变量。
3.3printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式【1】;
如果字符串长度小于5,则输出按方式【2】。
A)从左起输出该字符串,右补空格B)按原字符串长从左向右全部输出
C)右对齐输出该字符串,左补空格D)输出错误信息
【1】B【2】C
3.13根据定义和数据的输入方式,输入语句的正确形式为。
已有定义:
floatf1,f2;
数据的输入方式:
4.52
3.5
A)scanf("
%f,%f"
&
f1,&
f2);
B)scanf("
%f%f"
C)scanf("
%3.2f%2.1f"
D)scanf("
%3.2f%2.1f"
3.16以下说法正确的是。
A)输入项可以为一个实型常量,如scanf("
%f"
3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("
a=%d,b=%d"
);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("
%4.2f"
f);
D)当输入数据时,必须指明变量的地址,如scanf("
*3.17根据下面程序及数据的输入和输出形式,程序中输入语句的正确形式应该为。
□表示空格,<
CR>
表示换行
main()
{charch1,ch2,ch3;
输入语句
printf("
%c%c%c"
ch1,ch2,ch3);
}
输入形式:
A□B□C
输出形式:
A□B
ch1,&
ch2,&
ch3);
B)scanf("
%c,%c,%c"
%c%c%c"
D)scanf("
%c%c"
字符控制格式中有无空格对数据的读取有影响,B)ch1读取A,ch2和ch3为随机字符。
C)三个变量分别为A、B、C。
D)ch3为随机字符。
3.18有输入语句:
scanf("
a=%d,b=%d,c=%d"
a,&
b,&
c);
为使变量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<
*3.20已知ch是字符型变量,下面不正确的赋值语句是。
A)ch='
a+b'
B)ch='
\0'
C)ch='
7'
+'
9'
D)ch=5+9
B)为转义字符。
C)为7和9两个字符ASCII码值之和的字符。
D)为码值为14的字符(控制字符)。
3.21已知ch是字符型变量,下面正确的赋值语句是。
123'
\xff'
\08'
D)ch="
3.22若有以下定义,则正确的赋值语句是。
floatx;
A)a=1,b=2,B)b++;
C)a=b=5D)b=int(x);
这里强调的是赋值语句,请注意赋值表达式与赋值语句的区别。
3.2填空题
*3.26以下程序的输出结果为()。
{shorti;
i=-4;
\ni:
dec=%d,oct=%o,hex=%x,unsigned=%u\n"
i,i,i,i);
i:
dec=-4,oct=,hex=fffc,unsigned=65532
分析:
不能输出的位会向前一位四舍五入输出。
3.32以下程序的输出结果是()。
{intx=1,y=2;
x=%dy=%dsum=%d\n"
x,y,x+y);
10Squaredis:
%d\n"
10*10);
x=1y=2sum=3
10Squaredis:
100
3.46有一输入函数scanf("
%d"
k);
则不能使float类型变量k得到正确数值的原因是()和(),正确的语句应为()。
格式字符不正确缺少&
符号scanf("
k);
第四章逻辑运算和判断选取控制
4.1选择题
**4.1逻辑运算符两则运算对象的数据类型。
A)只能是0或1B)只能是0或非0正数
C)只能是整型或字符型数据D)可以是任何类型的数据
c语言中没有专用的逻辑量,任何数值类型的数据都可以作为逻辑数据使用,判断时0为假,非零为真,计算时真置1,假置0。
4.5表示图中坐标轴上阴影部分正确的表达式是。
|||
abc
A)(x<
=a)&
(x>
=b)&
(x<
=c)B)(x<
=a)||(b<
=x<
=c)
C)(x<
=a)||(x>
=c)D)(x<
(b<
4.6判断char型变量ch是否为大写字母的正确表达式为。
A'
<
=ch<
='
Z'
B)(ch>
)&
(ch<
)
C)(ch>
)D)('
=ch)AND('
>
=ch)
4.11判断char型变量ch是否为小写字母的正确表达式为。
z'
=z)
)||(ch<
)D)(ch>
*4.17已知intx=10,y=20,z=30;
以下语句执行后x,y,z的值是。
if(x>
y)
z=x;
x=y;
y=z;
A)10,20,30B)20,30,30C)20,30,10D)20,30,20
4.21当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。
if(a<
b)
if(c<
d)x=1;
else
if(a<
c)
if(b<
d)x=2;
elsex=3;
elsex=6;
elsex=3;
A)1B2C)3D)6
4.24以下程序的输出结果是。
{intx=2,y=-1,z=2;
if(x<
if(y<
0)z=0;
elsez+=1;
z);
A)3B)2C)1D)0
*4.25为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与配对。
A)缩排位置相同的ifB)其之前最近的没有else配对的if
C)其之后最近的ifD)同一行上的if
本题表述不严谨。
4.32阅读以下程序,则执行下面语句后m的值是。
intw=1,x=2,y=3,z=4,m;
m=w<
x?
w:
x;
m=m<
y?
m:
y;
z?
z;
A)1B)2C)3D)4
4.33若有intw=1,x=2,y=3,z=4;
则表达式w<
y<
y:
z的值是。
A)4B)3C)2D)1
4.38在C语言中,表示逻辑“真”值用()。
非0的数值。
4.40c语言提供的三种逻辑运算符是()、()和()。
||!
4.41设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式()。
x<
z||y<
z
4.61若运行时输入:
16<
则以下程序的运行结果是。
#include<
stdio.h>
voidmain(void)
{intyear;
Inputyouryear:
year);
if(year>
=18)
printf("
your$4.5yuan/xiaoshi"
your$3.0yuan/xiaoshi"
your$3.0yuan/xiaoshi
4.62若运行时输入:
2<
{charclass;
Enter1for1stclasspostor2for2ndpost"
%c"
class);
if(class=='
1'
1stclasspostageis19p"
2ndclasspostageis14p"
2ndclasspostageis14p
4.66以下程序实现:
输入园的半径r和运算标志m,按照运算标志进行指定计算,请填空。
标志运算
a面积
c周长
b二者均计算
#definepi=3.14159
{charm;
floatr,c,a;
Inputmarkacorb&
r\n"
%c%f"
m,&
r);
if(【1】)
{
a=pi*r*r;
areais%f"
a);
if(【2】)
c=2*pi*r;
circleis%f"
c);
if(【3】)
area&
circleare%f%f"
a,c);
}
【1】m=='
【2】m=='
c'
【3】m=='
b'
4.68以下程序实现输出x,y,z三个数中的最大者。
请分析程序填空。
{intx=4,y=6,z=7;
int【1】;
if(【2】)u=x;
elseu=y;
if(【3】)v=u;
elsev=z;
v=%d"
v);
【1】u,v【2】x>
y【3】u>
4.69以下程序将输入的三个整数按从大到小顺序输出,请分析程序填空。
{intx,y,z,c;
%d%d%d"
x,&
y,&
z);
if(【1】)
{c=y;
z=c;
if(【2】)
{c=x;
x=z;
if(【3】)
y=c;
%d,%d,%d"
x,y,z);
【1】y<
z【2】x<
z【3】x<
y
4.70以下程序对输入的两个整数,按从大到小顺序输出,请分析程序填空。
{intx,y,z;
%d,%d"
y);
{z=x;
【2】}
x,y);
【1】x<
y【2】x=y;
4.73以下程序的运行结果是。
{inta,b,c;
ints,w,t;
s=w=t=0;
a=-1;
b=3;
c=3;
if(c>
0)s=a+b;
=0)
{if(b>
0)
if(c<
=0)w=a-b;
elseif(c>
0)w=a-b;
elset=c;
%d%d%d"
s,w,t);
200
4.74以下程序的运行结果是。
{inta,b,c,d;
a=c=0;
b=1;
d=20;
if(a)d=d-10;
elseif(!
if(!
c)d=15;
elsed=25;
d);
20
4.82以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。
#include"
math.h"
{floata,b,c,s,area;
%f%f%f"
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
area);
if(【2】)
等边三角形"
elseif(【3】)
等腰三角形"
elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c=a*a))
直角三角形"
elseprintf("
一般三角形"
elseprintf("
不能组成三角形"
【1】a+b>
c&
b+c>
a&
c+a>
b【2】a==b&
b==c
【3】a==b||b==c||a==c
4.85以下程序的功能是判断输入的年份是否是闰年。
{inty,f;
if(y%400==0)f=1;
elseif(【1】)f=1;
else【2】;
if(f)printf("
%dis"
y);
%disnot"
aleapyear.\n"
【1】year%4==0&
year%100!
=0【2】f=0
4.87有四个数a,b,c,d,要求从大到小的顺序输出。
{inta,b,c,d,t;
%d%d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题集