c语言数据类型运算符与表达式Word格式.docx
- 文档编号:21297416
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:14
- 大小:23.92KB
c语言数据类型运算符与表达式Word格式.docx
《c语言数据类型运算符与表达式Word格式.docx》由会员分享,可在线阅读,更多相关《c语言数据类型运算符与表达式Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
++b;
k=a++;
l=b;
printf("
%d,%d,%d"
j,k,l);
6.读下列程序的运行结果
j=(--a==b++)?
四、完善程序题(即:
给出了程序所完成的功能,根据此功能在上填写合适的一条语句)
1.下面的程序是借肋于第三个变量将a,b中的值交换。
inta,b,c;
scanf(“%d%d”,&
a,&
b);
printf(“a=%db=%d\n”,a,b);
c=a;
;
2.求三个数值中的较大的数:
intx,y,z,max;
inputx,y,z:
\n"
);
scanf("
%d%d%d"
);
max=(x>
y)?
X:
y;
max=;
max=%d\n"
max);
3.从键盘上输入一个小写字母字符,将它转换为大写字母。
charch;
ch=getchar();
;
putchar();
}
4.从键盘上输入一个大写字母字符,将它转换为小写字母。
后面的题目,自己做练习并根据答案批改,如有错误自行看书分析,若有不懂,课间休息时问老师。
第二部分:
数据类型、运算符与表达式
一、基础题
【l】以下四个字符序列中,能用作用户自定义的标志符是。
A.putcharB.doubleC.A123_D.int
【2】在C语言中,合法的长整型常数是。
A.0LB.4962710C.324-562&
D.216D
【3】以下选项中合法的字符常量是。
A.”B”B.’\010’C.68D.D
【4】假定x和y为double型,则表达式x=2,y=x+3/2的值是。
A.3.500000B.3C.2.000000D.3.000000
【5】以下合法的赋值语句是。
A.x=y=100B.d--;
C.x+y;
D.c=int(a+B.;
【6】以下程序的输出结果是。
{charc=’z’;
printf(”%c”,c-25);
【7】若a为int类型,且其值为8,则执行完表达式a+=a%=a%3后,a的值是。
A.8B.3C.2D.0
【8】设有定义“floaty=3.45678;
intx;
”,则以下表达式中能实现将y中数值保留小数点后2位,第三位四舍五入的表达式是。
A.y=(y*100+0.5)/100.0B.x=y*100+0.5,y=x/100.0
C.y=y*100+0.5/100.0D.y=(y/100+0.5)*100.0
【9】设x和y均为int型变量,且x=9和y=3,则以下语句
printf(“%d,%d”,x++,--y);
的输出结果是。
A.10,3B.9,3C.9,2D.10,2
【10】有如下程序
{inta=5,b=-3,c=4;
printf(“%d%d\n”,(++a,b++),c-2);
运行该程序的输出结果是。
A.-42B.-32C.-42D.-22
【11】若a1,a2,a3,a4均为整型变量,则以下选项中,符合C
语法规则的表达式是( )
Aa1=25%3.3Ba2=a1+a3=3*5Ca3=078Da4=0xa2
【12】假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为。
【13】字符串”\n\”defg\101\x5B\t”的长度为。
【14】若a是int型变量,则下面表达式的值为。
(a=3+5,a*2),a*6
【15】经过下述赋值后,变量x的数据类型是,y的值是。
intx=100;
doubley;
y=(int)(float)x;
【16】语句:
x++;
++x;
x=x+l:
x=l+x:
,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)
【17】以下程序的输出结果为()
#include<
{
inta=2;
a%=4-1;
printf(“%d,”,a);
a+=a*=a-=a*=3;
printf(“%d”,a);
A)2,0B)1,0C)-1,12D)2,12
。
答案:
1.C;
2.A;
3.B;
4.D;
5.B;
6.A;
7.D;
8.B;
9.C;
10.B;
11.D;
12.9;
13.9;
14.48;
15.整型100.0;
16.x+=l;
或x-=-1;
17.A
二、提高题
【1】设有说明“intx=10,y=4,f;
floatm;
”,执行表达式“f=m=x/y”后,
则f,m的值分别是( )
A 2、2.5 B 3、2.5 C 2.5、2.5 D 2、2.0
【2】在数学式
中,变量x和y的取值为整数,变量a和b的取
值为实数,在C程序中对应的正确表达式是( )
A 3/5*x*y/a/bB3*x*y/5/a/b
C3*x*y/5*a*bD3/a/b/5*x*y
【3】表达式“(a=4*5,b=a*2),b-a,a+=2”的值是()
A2B20C22D42
【4】设有说明“inta=3,b=5,m;
”,则执行表达式
“m=a<
=3&
a+b<
8”后,m的值为()
AtrueBfalseC0D1
【5】设有说明“intx=5,y=7,z=8;
”,执行表达式“z+=x++||y++||z++”
后,则x,y,z的值分别为( )
A6、7、9 B6、8、10 C6、8、8 D6、8、1
【6】设有说明“inta=15,b=17,c;
”,执行表达式“c=a||(b+=b)”后,
则a,b,c的值分别为( )
A15、17、1 B1、34、35 C15、34、1 D15、17、15
【7】设有说明“inta,b,c;
a=b=c=5;
”,执行表达式
“b+=++a>
b&
++c>
b”后,则a,b,c的值分别为( )
A6、7、6 B6、6、6 C6、6、5 D6、1、6
【8】设有定义“intj,i;
”,则执行“j=(i=1,1+9)>
9?
i++||++i:
++i;
”
后,i,j的值为( )
A10,10 B2,2 C2,3 D2,1
【9】设“intx=2,y=3,z=(++x<
=y--)?
((--y==1)?
y--:
--y):
y--;
”,
则x,y,z的值为( )
A3,0,1B2,0,0C3,1,1D2,2,1
【10】若有定义:
intb=17;
floata=4.5,c=6.5;
则下面表达式的值为。
a+(int)(b/3*(int)(a+C./2)%4
【11】若int类型数据占两个字节,则下列语句的输出结果是()
intk=-1;
prinntf(“%d,%u\n”,k,k);
A.-1,-1B.-1,32767
C.-1,32768D.-1,65535
【12】以下程序的输出结果是。
{inta=l,b=2,c=3,k;
k=a+++b+++c;
printf(“k=%dc=%d\n”,k,C.;
【13】若x为int型变量,则执行以下语句后,x的值为。
x=5;
x+=x-=x*x;
【14】下列程序的输出结果是16.00,请将程序填完整()。
{inta=9,b=3;
float,x=,y=2.1,z;
z=a/2十b*x/y+l/2;
printf(%5.2f\n"
,z);
设有语句“floatx=2.9;
inta=5,b;
b=a+x”,则变量b的值()
【15】“inta=5,b=7,c=15,d;
d=b>
a||(c=a+b).”,则c的值是( )
【16】有“inta=5;
a+=a-=-a*a;
”,则a的值是()
【17】句”inta=2,b=3,c=2;
a+=b*=(++b-c++);
”,变量b的值是()
【18】下列不合法的十六进制数是()
A.oxffB.0XcdeC.0x11D.0x23
【19】在C语言中,下列合法的字符常量是()
A.’\039’B.’\x76’C.’ab’D’/n’
1.D;
2.D;
3.C;
4.C;
5.A;
6.A;
7.B;
8.D;
9.A;
10.7.5;
11.D;
12.k=6c=3;
13.-40;
14.8.4;
15.15;
16.60;
17.8;
18.A;
19.B
三、历年真题
【1】06年9月(14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是________。
A.++x,y=x-- B.x+1=y C.x=x+10=x+y D.double(x)/10
【2】06年9月(17)有以下程序
main()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("
x,y,z);
}
程序运行后的输出结果是________。
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
【3】06年9月(24)以下选项中,值为1的表达式________。
A.1-"
0"
B.1-"
\0"
C."
1"
-0 D."
-"
【4】08年4月。
以下选项中不合法的标志符是()
A)printfB)FORC)&
aD)_00
【5】08年4月。
以下选项中不属于字符常量的是()
A)‘C’B)“C”C)‘\xcc’D)’\072’
【6】08年4月。
设变量已正确定义并赋值,以下正确的表达式是()
A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0
【7】08年4月。
以下语句中正确的是()
A)inta=b=0;
B)charA=65+1,b=’b’;
C)floata=1,*b=&
a,*c=&
b;
D)doublea=0.0;
b=1.1;
【8】08年4月。
有以下程序段
intk;
ch=’a’;
k=12;
printf(“%c,%d”,ch,ch,k);
printf(“k=%d\n”,k);
已知字符a的ASCII码十进制代码为97,则执行上述愁段后输出结果是()
A)因变量类型焉格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个食不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
【9】08年4月。
书变量已正确定义为整型,则表达式n=i=2,++i,i++的值为。
【10】07年9月。
可在C程序中用做用户标识符的一组标识符是()
A)andB)DateC)HiD)case
_2007y-m-dDr.TomBigl
【11】07年9月。
以下选项中,合法的一组C语言数值常量是(A)028
B)12.
C).177
D)0x8A
.
5e-3
OXa23
4c1.5
10,000
-0xf
4.5e0
Oabc
3.e5
【12】07年9月,以下关于long、int和short类型数据占用内存大小的叙述中正确的是()
A)均占4个字节B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义D)由C语言编译系统决定
【13】07年9月。
(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
A)x=y==5;
B)x=n%2.5;
C)x+n=I;
D)x=5=4+1;
【14】07年9月。
以下正确的字符串常量是()
A)"
\\\"
B)’abc’C)OlympicGamesD)"
"
【15】07年4月。
设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是()
A)k++B)k+=1C)++kD)k+1
【16】07年4月。
有以下程序,其中%u表示按无符号整数输出
{unsignedintx=oxFFFF;
/*x的初值为十六进制数*/
%u\n"
x);
程序运行后的输出结果是()
A)-1B)65535C)32767D)0xFFFF
【17】07年4月。
以下合法的字符型常量是()
A)'
\x13'
B)'
\081'
C)'
65'
D)"
【18】07年4月。
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。
以下不能将变量c中的大写字母转换为对应小写字母的语句是()
A)c=(c-'
A'
)%26+'
a'
B)c=c+32C)c=c-'
+'
D)c=('
+c)%26-'
1-5ABBAB6-10CBD3A11-15BDADA16-18BAD
第三部分位运算
一、基础题
【1】设有定义语句:
charc1=92,c2=92;
则以下表达式中值为零的是()
A)c1^c2B)c1&
c2C)~c2D)c1|c2
【2】有以下程序
{unsignedchara,b;
a=4|3;
b=4&
3;
printf(“%d%d\n”,a,b);
}执行后输出结果是()
A)70B)07C)11D)430
【3】有以下程序
{intx=3,y=2,z=1;
%d\n"
x/y&
~z);
}程序运行后的输出结果是()
A)3B)2C)1D)0
【4】设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()
A)10101001B)10101000
C)11111101D)01010101
【5】设有如下定义:
intx=l,y=-1;
,则语句:
,(x--&
++y));
的输出结果是()
A)1B)0C)-1D)2
参考答案:
1.A;
2.A;
3.D;
4.D;
5.B
【1】设有以下语句:
chara=3,b=6,c;
c=a^b<
<
2;
则c的二进制值是()。
A)00011011B)00010100
C)00011100D)00011000
【2】以下程序的功能是进行位运算
{unsignedchara,b;
a=7^3;
b=~4&
3;
%d%d\n"
a,b);
A)43B)73C)70D)40
【3】执行下面的程序段
intx=35;
charz='
;
intb;
B=((x&
15)&
(z<
'
));
后,B的值为()
A)0B)1C)2D)3
【4】语句:
%d\n"
,12&
012);
A)12B)8C)6D)012
【5】有以下程序
{unsignedchara,b,c;
a=0x3;
b=a|0x8;
c=b<
1;
printf(“%d%d\n”,b,c);
A)–1112B)–6–13C)1224D)1122
【6】若定义unsigneda=31003,b=21103;
则表达式a^b^b的值为()
A)1B)31003C)21103D)0
【7】下列语句中符合C语言语法的赋值语句是()
A)a=7+b+c=a+7;
B)a=7+b++=a+7;
C)a=7+b,b++,a+7;
D)a=7+b,c=a+7;
【8】若变量已正确定义并赋值,符合C语言语法的表达式是()
A)a=a+7;
B)a=7+b+c,a++
C)int(12.3/4)D)a=a+7=c+b
【9】对于条件表达式(M)?
(a++):
(a--),其中的表达式M等价于()
A)M==0B)M==1C)M!
=0D)M!
=1
【10】以下程序的结果为()
#include<
inta=32,b=66;
printf(“%c\n”,a|b);
A)66B)98C)bD)B
【11】以下程序的结果为()
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf(“%d\n”,d*y);
A)3B)3.2C)0D)3.07
【12】设intx=2,y=1;
表达式(!
(x-2)||++y)的值和y的值是()
A)1,1B)1,2C)0,1D)0,2
【13】假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式为()
A)1.0/a*b*cB)1/(a*b*c)C)1/a/b/(float)cD)1.0/a/b/c
3.B;
4.B;
5.D6.B7.D8.B9.C10.C11.C12.A13.D
【1】设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是()。
【2】以下程序的输出结果是()
A)0B)1C)2D)3
{intx=05;
charz=’a’;
printf(“%d\n”,(x&
1)&
’z’));
【3】整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是()
A)x||yB)x|yC)x&
yD)x^y
【4】以下程序的输出结果是()
{charx=040;
%0\n"
x<
1);
A)100B)80C)64D)32
【5】设有以下语句
inta=1,b=2,c;
c=a^(b<
2);
执行后,c的值为()
A)6B)7C)8D)9
1.11110000;
2.B;
4.A;
5.D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型 运算 表达式