思考与练习
1.选择题
(1)在C语言中,如果以下变量都是int型,则输出结果是。
sum=pad=5; pAd=sum++,pAd++,++pAd;
printf("%d\n",pad);
A.7B.6C.5D.4
(2)以下程序的输出结果是。
#include
main()
{
int i=010,j=10;
printf("%d,%d\n",++i,j--);
}
A.11,10B.9,10C.010,9D.10,9
(3)已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是。
#include
main()
{
char c1='A',c2='Y';
printf("%d,%d\n",c1,c2);
}
A.因输出格式不合法,输出错误信息
B.65,90C.A,YD.65,89
(4)设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是。
A.3B.0C.9D.-12
(5)设有语句char a='\72';,则变量a。
A.包含1个字符B.包含2个字符
C.包含3个字符D.说明不合法
(6)以下选项中,可用做C语言用户标识符的一组标识符是。
A.voidB.a3_b3C.ForD.2a
define_123-abcDO
WORDIFCasesizeof
(7)设有语句int a=12,则执行完语句a+=a-=a*a后,a的值是。
A.552B.264C.144D.-264
(8)字符(char)型数据在计算机内存中的存储形式是。
A.反码B.补码C.EBCDIC码D.ASCII码
(9)执行以下程序片段后,B的值为。
int x=35;
char z='A';
int b;
B=((x&15)&&(z
A.0B.1C.2D.3
(10)以下程序片段的输出结果是。
int i=65536;printf("%d\n",i);
A.65536B.0
C.有语法错误,无输出结果D.-1
(11)设ch是char型变量,其值为A,且有以下表达式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表达式的值是。
A.AB.aC.ZD.z
(12)在C语言中,要求运算数必须是整型的运算符是。
A.%B./C.
(13)以下程序的输出结果是。
#include
main()
{
int x=10,y=3;
printf("%d\n",y=x/y);
}
A.0B.1C.3D.不确定的值
(14)C语言中最简单的数据类型包括。
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型
(15)以下程序的输出结果是。
#include
main()
{
int x=10,y=10;
printf("%d %d\n",x--,--y);
}
A.10 10B.9 9C.9 10D.10 9
(16)在C语言中合法的数据类型关键字是。
A.DoubleB.shortC.integerD.Char
(17)在C语言中,合法的长整型常数是。
A.0LB.4962710C.0.054838743D.2.1869e10
(18)在C语言中,合法的字符型常数是。
A.'\t'B."A"C.65D.A
(19)若有以下程序片段:
int a=5;
a++;
则表达式a++的值是。
A.7B.6C.5D.4
(20)用十进制数表示表达式的值,则表达式120/012的运算结果是。
A.1B.10C.12D.14
(21)在C语言中,合法的关键字是。
A.swicthB.cherC.CaseD.default
(22)在C语言中,合法的字符常量是。
A.'\084'B.'\x43'C.'ab'D."\0"
(23)若有以下变量定义语句:
char a;int b;
float c;double d;
则表达式a*b+d-c值的类型为。
A.floatB.intC.charD.double
(24)设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为
。
A.4B.16C.32D.52
(25)设有以下变量定义语句:
int i=8,k,a,b;
unsigned long w=5;
double x=1,42,y=5.2;
则符合C语言语法的表达式是。
A.a+=a-=(b=4)*(a=3)B.x%(-3);
C.a=a*3=2D.y=float(i)
(26)设有以下变量定义语句:
int k=7,x=12;
则能使x的值为3的表达式是。
A.x%=(k%=5)B.x%=(k-k%5)
C.x%=k-k%5D.(x%=k)-(k%=5)
(27)以下程序的输出结果是。
#include
main()
{
int a=12,b=12;
printf("%d %d\n",--a,++b);
}
A.10 10B.12 12C.11 10D.11 13
(28)以下选项中,属于C语言的数据类型是。
A.复数型B.逻辑型C.双精度型D.集合型
(29)在C语言中,不正确的int型常数是。
A.32768B.0C.037D.0xAF
(30)设有定义语句int x=11;,则表达式(x++* 1/3)的值是。
A.3B.4C.11D.12
(31)以下变量定义语句中,合法的是。
A.short_a=1-.le-1;B.doubleb=1+5e2.5;
C.longdo=0xfdaL;D.float2_and=1-e-3;
(32)以下程序的输出结果是。
#include
main()
{
int x='f';
printf("%c \n",'A'+(x-'a'+1));
}
A.GB.HC.ID.J
(33)设有以下变量定义语句,并已赋确定的值。
charw;intx;floaty;doublez;
则表达式w*x+z-y的值的数据类型为。
A.charB.intC.floatD.double
(34)若变量已正确定义并赋值,以下符合C语言语法的表达式是。
A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b
(35)在C语言中,运算对象必须是整型的运算符是。
A.%=B./C.=D.<=
(36)若已定义x和y为double型变量,则表达式x=1,y=x+3/2的值是。
A.1B.2C.2.0D.2.5
(37)若变量a、i已被正确定义,且i已正确赋值,下列语句中,合法的是。
A.a==1B.++i;C.a=a++=5;D.a=int(i);
(38)设有说明语句char a='\72';,则变量a。
A.包含1个字符B.包含2个字符
C.包含3个字符D.说明不合法
(39)以下C语言常量中,错误的是。
A.0xFFB.1.2e0.5C.2LD.'\72'
(40)以下选项中,合法的C语言关键字是。
A.VARB.cherC.integerD.default
(41)若a为int型变量,且其值为3,则执行完表达式a+=a-=a*a后,a的值是。
A.-3B.9C.-12D.6
(42)在C语言中,以下合法的长整型常数是。
A.OLB.4962710C.324562&D.216D
(43)以下用户标识符中,合法的一组是。
A.ForB.4dC.f2_G3D.WORD
(44)以下选项中,合法的字符常量是。
A."B"B.'\010'C.68D.D
(45)设x和y为double型,则表达式x=2,y=x+3/2的值是。
A.3.500000B.3C.2.000000D.3.000000
(46)以下合法的赋值语句是。
A.x=y=100B.d--;C.x+y;D.c=int(a+b);
(47)设正x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是。
printf("%d,%d\n",x--,--y);
A.10,3B.9.3C.9.2D.10.2
(48)以下选项中,非法的字符常量是。
A.'\t'B.'\17'C."n"D.'\xaa'
(49)若有定义int a=8,b=5,C;,执行语句C=a/b+0.4;后,C的值为。
A.1.4B.1C.2.0D.2
(50)若变量a是int型变量,并执行了语句a='A'+1.6;,则正确的叙述是。
A.a的值是字符C
B.a的值是浮点型
C.不允许字符型和浮点型相加
D.a的值是字符'A'的ASCII值加1
(51)以下选项中,不属于C语言的数据类型的是。
A.signedshortimtB.unsignedlongint
C.unsignedintD.longshort
2.上机操作题
(1)设m是一个三位数,写出将m的个位、十位、百位数字反序形成的三位数的C语言表达式。
(2)设已经定义了变量x、y,写出将x和y的值互相交换的表达式。
(3)写出以下程序的输出结果。
#include
main( )
{
int i,j,m,n;
i=9;
j=10;
m=--i;
n=j--;
printf("%d,%d,%d,%d\n",i,j,m,n);
}