第三章 数据类型、运算
符与表达式
学习目的与要求:1,掌握基本类型及其常量的表示法。
2,重点掌握变量的定义及其初始化方法。
3,掌握运算符与表达式的概念。
4,理解C语言的自动类型转换和强制类型转换、赋值的概念。
重点,1,数据类型。
2,变量的定义与使用。
3,算术运算符。
4,自增、自减运算符。
第1讲
知识归纳
1,C语言数据类型
(1) 基本类型:整型、字符型、实型、枚举型。
(2) 构造类型:数组类型、结构体类型、共用体类型。
(3) 指针类型。
(4) 空类型。
2,常量
(1) 什么是常量:在程序运行中,其值不变的量。如 123,3.14。
(2) 符号常量:用一个标识符代表一个常量。符号常量名常用大写,以区别变量。
例如,#define PI 3.1415926
符号常量的定义格式,#define 符号常量 表达式
3,变量
(1) 什么是变量:在程序运行中,其值可以改变的量。如 int x =3 ; x=5;
(2) 标识符的命名规则,
circle6 只能使用字母、数字、下划线;
circle6 必须以字母、下划线打头;
circle6 大小写字符区分;
第二部分 C语言程序设计同步训练
·103·
·103·
circle6 关键字不能用作标识符。
(3) 变量要“先定义,赋值后,再使用”。
4,整型数据
(1) 整型变量的表示方法及其相互之间的转换:十进制、二进制、八进制、十六进制
(2) 整型分类,
short,int,long,unsigned short,unsigned int,unsigned long
(3) 注意:整型数据的溢出问题。
请记住int,unsigned int 所适用的数据范围,
int(或short) -32768——32767
unsigned int 0——65535
5,实型数据
(1) 实型数据的表示方法,
小数形式——必须有小数点。
指数形式——字母E (或e)前必须有数字,E后指数必须g1038整数。
(2) 实型的分类:float,double。
(3) 注意:实型数据的g14305g1849g16835g5058。
请记住 float,double g1016g12193类型的有g6940数字g1313数。
float——有g6940数字g10387g1313数。
double——有g6940数字g103816g1313数。
基础训练(A)
一、g3647空题
1,C程序中数据有 g2656 之分,其中,用一个标识符代表一个常量的,
g12228g1038 常量。C g16833g16340规定在程序中g4557用g2052的所有数据g18129必须指定其 类型,g4557
变量必须g1582g2052先,后使用。
2,Cg16833g16340所g6564g1391的基本数据类型g2265g6336:g2345g12946g5242型、g2464g12946g5242型、,,

3,在Cg16833g16340中的实型变量分g1038g1016g12193类型,g4439g1216是 g2656 。
4,Cg16833g16340中的构造类型有 类型,类型g2656 类型g989g12193。
5,在Cg16833g16340中,以16g1313PCg7438g1038例,一个char型数据在g1881g4396中所g2356的字g14422数g1038 ;
一个int型数据在g1881g4396中所g2356的字g14422数g1038,int型数据的g2474值范围g1038 。
6,在Cg16833g16340中,以16g1313PCg7438g1038例,一个float型数据在g1881g4396中所g2356的字g14422数g1038 ;
一个double型数据在g1881g4396中所g2356的字g14422数g1038 。
7,Cg16833g16340中的标识符只能g11013g989g12193字符组g6116,g4439g1216是,g2656 。
g1000g12544一个字符必须g1038 。
8,5.4321E2 在常规表示法中表示g1038,327.876 在g12197g4410表示法中表示
g1038 。
C语言程序设计上机指导与同步训练
·104·
·104·
9,常量123456789123Lg2356用 字g14422g4396g1660空间。
10,g17139数在g16757g12651g7438中是以 形式表示。
11,g2345g12946g5242型实数的有g6940g1313是 g1313,g2464g12946g5242型实数的有g6940g1313是 g1313 。
12,写出下g2027数所g4557g5224的其g1194进制数。
(32)
D
=( )
B
= ( )
O
= ( )
H
(75)
D
=( )
B
=( )
O
= ( )
H
二、g17885g6333题
1,以下g17885g20045中g4658g1122Cg16833g16340的数据类型是( )。
A) g3809数型 B) g17935g17765型 C) g2464g12946g5242型 D) g19610g2524型
2,下g2027常数中不能作g1038C的常量的是( )。
A) 0xA5 B) 2.5e-2 C) 3e2 D) 0582
3,在Cg16833g16340中,数字029是一个( )。
A) 八进制数 B) 十六进制数 C) 十进制数 D) g19762法数
4,Cg16833g16340中的标识符只能g11013字母、数字g2656下划线g989g12193字符组g6116,g1000g12544一个字符( )。
A) 必须g1038字母
B) 必须g1038下划线
C) 必须g1038字母或下划线
D) 可以是字母、数字g2656下划线中g1231一g12193字符
5,g16786Cg16833g16340中,一个int型数据在g1881g4396中g2356g1016个字g14422,则unsigned int型数据的g2474值范围g1038( )。
A) 0g794255 B) 0g79432767 C) 0g79465535 D) 0g7942147483647
6g17g3下不g8503g11842的Cg16833g16340标识符是( )。
A) int B) a_1_2 C) ab1exe D) _x
7g17g3以下是g8503g11842的Cg16833g16340标识符是( )。
A) #define B) _123 C) %d D) \n
8g17g3在Cg16833g16340中,g19181g16835的int类型的常数是(g3g3)。
A) 32768 B) 0 C) 037 D) 0xAF
9g17g3g6203行g16833g2489 printf("%x",-1);g4643g5161g7186示( )。
A) –1 B) 1 C) g802ffff D) ffff
10,g4570字符g赋g13485字符变量c,g8503g11842的表达式是(g3g3)。
A) c=\147 B) c="\147" C) c='\147' D) c='0147'
11,g1038g8726出s=10!的值,则变量s的类型g5224g5415g1038(g3g3)。
A) int B) unsigned C) long D) 以g990g989g12193类型g3355可
能力提高(B)
一、g17885g6333题
1,下g19766g3247个g17885g20045中,g3355不g2524法的用g6155标识符的g17885g20045是(g3g3)。
A) P_0 do
B) float la0 _A
第二部分 C语言程序设计同步训练
·105·
·105·
C) b-a goto int
D) _123 temp INT
2,下g19766g3247个g17885g20045中,g3355是g2524法整型常量的g17885g20045是(g3g3)。
A) 160 g160xffff 011
B) g160xcdf 01a 0xe
C) g1601 986,012 0668
D) g160x48a 2e5 0x
3,下g19766g3247个g17885g20045中,g3355是不g2524法的整型常量的g17885g20045是(g3g3)。
A) g160f1 g160xffff 0011
B) g160Xcdf 017 12,456
C) g16018 999 5e2
D) g160x48eg g16068 03f
4,下g19766g3247个g17885g20045中,g3355是不g2524法的g9026点数的g17885g20045是(g3g3)。
A) 160,0.12 e3
B) 123 2e4.2,e5
C) g16.18 123e4 0.0
D) g16e3,234 1e3
5,下g19766g3247个g17885g20045中,g3355是g2524法g9026点数的g17885g20045是(g3g3)。
A) +1e+1 5eg169.4 03e2
B) g16.60 12eg164 -8e5
C) 123e 1.2eg16.4 +2e-1
D) g16e3,234 5.e-0
6,下g19766g3247个g17885g20045中,g3355是不g8503g11842的八进制数或十六进制数的g17885g20045是(g3g3)。
A) 016 0x8f 018
B) 0abc 017 0xa
C) 010 g160x11 0x16
D) 0a12 7ff g16123
7,下g19766g3247个g17885g20045中,g3355是g8503g11842的八进制数或十六进制数的g17885g20045是(g3g3)。
A) g1610 0x8f g16011
B) 0abc g16017 0xc
C) 0010 g160x11 0xf1
D) 0a12 g160x123 g160xa
8,在Cg16833g16340中,int、charg2656shortg989g12193类型数据在g1881g4396中所g2356用的字g14422数(g3g3)。
A) g11013用g6155g14270g5061定义 B) g3355g10382个字g14422
C) 是g1231意的 D) g11013所用g7438g3132的g7438g3132字g19283g1927定
9,g735g16833g16340中整数g168在g1881g4396中的g4396g1660形式是 (g3g3)。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000
C) 0000 0000 0000 1000 D) 1111 1111 1111 0111
10,在Cg16833g16340中(以16g1313PCg7438g1038例),5g12193基本数据类型的g4396g1660空间g19283g5242的g6502g2027g20046序g1038
C语言程序设计上机指导与同步训练
·106·
·106·
( )。
A) char<int<long int<=float<double
B) char=int<long int<=float<double
C) char<int<long int=float=double
D) char=int=long int<=float<double
二、g2040g7041题
1,常量35456g994常量23所g2356用的g4396g1660空间一g7691大。 ( )
2,g16653是有符号数,653是g7092符号数。 ( )
3,g16780g3822g13546g16805g13007g13491g4570实型常量作g1038g2345g12946g5242g7481g3800g10714。 ( )
4,在Cg16833g16340中,大写字母g2656小写字母g15999g16760g1038是g1016个不g2528的字符。 ( )
5,如g7536不指定整数g1038unsigned或指定signed,则g4396g1660g2345g1815中g7380g20652g1313代表符号(0g1038g8503,1
g1038g17139)。 ( )
第2讲
知识归纳
1,字符型数据
(1) 字符常量g8022g5577:用g2345g5353号g6336g17227g7481的一个字符,如g254ag255;在g1881g4396中g2356一个字g14422。
(2) 转义字符:g2356一个字g14422。
g989类g6523制g17767出格式的,\n,\t,\b,\r,\f
g6523制g989个g10317g8542符号g17767出的,\\,\’,\”
表示g1231g1321可g17767出的字母字符、g999用字符、g3282形字符g2656g6523制字符,
\ddd —1g20523g1313八进制数所代表的字符;
\xhh —xg5332头,1g20522g1313十六进制数;
(3) 字符数据的g4396g1660(字符数据的ASCII值),g1927定了字符数据g994整型数据,在g16128g794127
范围g1881可以通用。
2,字符串数据
(1) 字符串常量g8022g5577:用g2464g5353号g6336g17227g7481的若干个字符,如,abcd”。
(2) 字符串结束标志问题:g13007g13491g1038了区分字符串g2656字符常量,g14270动的在字符串后增加一个结束标志‘\0’,因此,一个字符串的长度g5224该是字符个数+1 。
注意:你分清“A”和‘A’了吗?,它们的长度是否相同?
3,各类数值型数据间的混合运算
(1) 在进行运g12651时,不g2528类型的数据要先转换g6116g2528一类型,然后进行运g12651。
(2) 转换规则,
第二部分 C语言程序设计同步训练
·107·
·107·
double float
long
unsigned
int
char,short
4,基本的算术运算符:*,/,%,+,g16
注意:(1) 先乘除、求余,后加减。
(2) 对于/,两个整数相除,结果仍为整数;如5/2,结果为:2。
(3) % 运算符,只对整型数据有效;如5%2,结果为:1。
5.0%2 ×
5,强制类型转换
(1) 强制类型转换的格式:(类型名) (表达式);
(2) 说明:强制类型转换未改变变量g4396g1660空间中的值。
如 float x = 13.7 ;
(int) x ;
值:13,但x的值仍g131313.7,类型仍g1038 float。
基础训练(A)
一、g3647空题
1,C g16833g16340的字符常量是用 g5353号g6336g17227g7481的 个字符,而字符串常量是用
号g6336g17227g7481的 序g2027。
2,Cg16833g16340规定:在一个字符串的结尾加一个 标志g254\0’。
3,Cg16833g16340中,字符型数据g2656 数据之间可以通用。
4,字符串"abcke"g19283g5242g1038,g2356用 字g14422的空间。
5,假g16786已指定ig1038整型变量,fg1038float变量,dg1038double型变量,eg1038long型变量,
有式子10+'a'+i*f-d/e,则结g7536g1038 型。
6,若有定义:char c=g254\010g255;则变量c中g2265含的字符个数g1038 。
7,若有定义:int x=3,y=2; float a=2.5,b=3.5;则下g19766表达式的值g1038 。
(x+y)%2+(int)a/(int)b
水平方向,自动发生垂直方向
由低向高
C语言程序设计上机指导与同步训练
·108·
·108·
8,若sg1038整型变量,g1000s=6,则表达式s%2+(s+1)%2的值g1038 。
9,在ASCII代码表中可以看g2052每一个小写字母比g4439相g5224的大写字母ASCII码
大 (十进制数)。
10,5/3的值g1038,5.0/3的值g1038 。
二、g17885g6333题
1,字符串" "的g19283g5242是( )。
A) 0 B) 1 C) 2 D) g19762法字符串
2,在Cg16833g16340中,g2524法的字符常量是:( )
A) '\084' B) '\x48' C) 'ab' D) "\0"
3,下g2027不g8503g11842的转义字符是;( )
A) '\\' B)g3 '\" C) '074' D) '\0
4,下g19766不g8503g11842的字符串常量是(g3g3)。
A) 'abc' B) "12'12" C) "0" D) ""
5,若有说明g16833g2489:char c='\72'则变量c (g3g3)。
A) g2265含1个字符 B) g2265含2个字符
C) g2265含3个字符 D) 说明不g2524法,c的值不g11842定
6,在Cg16833g16340中,char型数据在g1881g4396中的g4396g1660形式是:(g3g3)。
A) 补码 B) 反码 C) 原码 D) ASCII码
7,下g19766g8503g11842的字符常量是(g3g3)。
A),c” B) ‘\\” C) ‘W’ D) ‘ ‘
8,下g19766g3247个g17885g20045中,g3355是g2524法转义字符的g17885g20045是(g3g3)。
A) ‘\’ ‘\\’ ‘\n’
B) ‘\’ ‘\017’ ‘\”’
C) ‘\018’ ‘\f’ ‘xab’
D) ‘\\0’ ‘\101’ ‘x1f’
9,下g19766g3247个g17885g20045中,g3355是不g2524法的转义字符的g17885g20045是(g3g3)。
A) ‘\”’ ‘\\’ ‘\xf’
B) ’\1011’ ‘\’ ‘\a’
C) ’\011’ ‘\f’ ‘\}’
D) ‘\abc’ ‘\101’ ‘xlf’
10,已知字母A的ASCII码g1038十进制数65,g1000c2g1038字符型,则g6203行g16833g2489c2=’A’+’6’-‘3’;
后,c2中的值g1038(g3g3)。
A) D B) 68 C) 不g11842定的值 D) C
11,若有代数式
3ae
bc
,则不g8503g11842的Cg16833g16340表达式是(g3g3)。
A) a/b/c*e*3
B) 3*a*e/b/c
C) 3*a*e/b*c
D) a*e/c/b*3
第二部分 C语言程序设计同步训练
·109·
·109·
12,在Cg16833g16340中,要g8726运g12651数必须是整型的运g12651符是(g3g3)。
A) / B) ++ C) != D) %
13,g16786有说明:char w; int x; float y; double z;则表达式w
*
x+z-y值的数据类型g1038(g3g3)。
A) float B) char C) int D) double
14,若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3
*
(int)(x+y)%2/4的值是( )。
A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000
能力提高(B)
一、g3647空题
1,字符串"lineone\x0alinetwo\12"的g19283g5242g1038 。
2,g4570下g19766的g16833g2489补充完整,使得ch1g2656ch2g18129g15999初始化g1038字母D,但要用不g2528的方法:
char ch1=,char ch2= 。
3,若有定义:int e=1,f=4,g=2; float m=10.5,n=4.0,k;则g6203行赋值表达式k=(e+f) /g +sqrt
((double)n)*1.2/g+m后k的值是 。
4,若xg2656yg18129是double型变量,g1000x的初值g10383.0,y的初值g10382.0,则表达式pow(y,fabs(x))
的值g1038 。
二、g17885g6333题
1,若有代数式 ylogy
10
+
x
,则g8503g11842的Cg16833g16340表达式是(g3g3)。
A) sqrt(fabs(pow(y,x)+log(y)))
B) sqrt(abs(pow(y,x)+log(y)))
C) sqrt(fabs(pow(x,y)+log(y)))
D) sqrt(abs(pow(x,y)+log(y)))
2,g16786变量ng1038float类型,mg1038int类型,则以下能实现g4570n中的数值保留小数点后g1016
g1313,g12544g989g1313进行g3247g14305五g1849运g12651的表达式是(g3g3)。
A) n=(n*100+0.5)/100.0 B) m=n*100+0.5,n=m/100.0
C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.0
3,表达式18/4*sqrt(4.0)/8值的数据类型g1038(g3g3)。
A) int B) float C) double D) 不g11842定
4,sizeof (float)是(g3g3)。
A) 一个g2464g12946g5242型表达式 B) 一个整型表达式
C) 一g12193函数调用 D) 一个不g2524法的表达式
5,若有以下定义g2656g16833g2489,
char c1='a',c2='f';
printf("%d,%c\n",c2-c1,c2-'a'+'B');
则g17767出结g7536是:( )
A) 2,M B) 5,! C) 2,E D) 5,G
三、g16786有变量定义:char ch; 如下g16833g2489是否等价,说明原因
ch=’A’;
ch=’\x41’;
C语言程序设计上机指导与同步训练
·110·
·110·
ch=’\101’;
ch=65;
ch=0101;
ch=0x41;
第3讲
知识归纳
1,自增、自减运算符
+ + i (- - i ),先变值,后使用;
i + + ( i - - ),先使用,后变值 ;
注意:(1) 只能用于变量,而不能用于常量或表达式;
如:x ++; √
5++ ; ×
(x + y )++; ×
2,赋值运算符
变量= 表达式;//说明:赋值运g12651符优先级g19762常低。
(1) 在使用赋值运g12651符时,赋值号左端一定是变量。
(2) 在使用赋值运g12651符时,g5224尽量使赋值号左端的变量g994赋值号右端的表达式类型一致,否则,g14270动发生强制类型转换。
(3) 大类型变量 = 小类型数据 ;小类型数据进g1849低g1313,g20652g1313按符号g1313扩展。
小类型变量 = 大类型数据;大类型数据低g1313进g1849变量,g20652g1313g15999截g7041。
3,复合赋值运算符:+=,- =,* =,/=,% =
(1) 运g12651规则,a + = b+c ;
分解运g12651步骤,先g8726 a + (b+c) 的值;
然后g4570g8726出的值赋值g13485a ; 即 a = a + (b+c)。
(2) 结g2524方向:右结g2524。
4,逗号运算符
逗号表达式:表达式1,表达式2,表达式3,…,表达式n ;
运g12651规则:从左向右依次运g12651每一个表达式,逗号表达式的结g7536就是g7380后一个表达式的值。
基础训练(A)
一、g3647空题
1,g14270增运g12651符++、g14270减运g12651符--,只能用g1122,不能用g1122常量或表达式。
2,++g2656g16g16的结g2524方向是“g14270 至,。
第二部分 C语言程序设计同步训练
·111·
·111·
3,赋值运g12651符的作用是g4570一个数据赋g13485一个 。
4,若逗号表达式的一般形式是:表达式1,表达式2
则:逗号表达式的g8726解过程是:先g8726解表达式1,再g8726解表达式2,整个逗号表达式的值是 的值。
5,逗号运g12651符是所有运g12651符中级别g7380 的。
6,假g16786所有变量g3355g1038整型,则表达式(a=2,b=5,a++,b++,a+b)的值g1038 。
7,假g16786变量a、bg3355g1038整型,以下g16833g2489借助中间变量t把a、b的值进行交换,即:把
b中的值g13485a,把a中的值的g13485b。例如:交换前,a=10,b=20,交换后,a=20,b=10。请
g3647空。 。
8,若a是int型变量,则g6203行下g19766表达式后a的值g1038 。
a=25/3%3
9,若xg2656ng3355是int型变量,g1000xg2656n的初值g3355g10385,则g6203行下g19766表达式后x的值g1038,
n的值g1038 。
x+=n++
10,若xg2656ag3355是int型变量,则g6203行表达式(1)后的x值g1038,g6203行表达式(2)
后的x值g1038 。
(1) x=(a=4,6*2);
(2) x=a=4,6*2;
11,若a、bg2656cg3355是int型变量,则g6203行下g19766表达式后,a值g1038,b值g1038,
c值g1038 。
a=(b=4)+(c=2);
二、g17885g6333题
1,已知ch是字符型变量,下g19766不g8503g11842的赋值g16833g2489是(g3g3)。
A) ch=g254a+bg255; B) ch=g254\0g255; C) ch=g2547g255+g2549g255; D) ch=5+9;
2,已知ch是字符型变量,下g19766g8503g11842的赋值g16833g2489是(g3g3)。
A) ch=g254123g255; B) ch=g254\xffg255; C) ch=g254\08g255; D) ch=“\”;
3,以下能g8503g11842地定义整型变量a,bg2656c并g1038其赋初值5的g16833g2489是( )。
A) int a=b=c=5,B) int a,b,c=5;
C) int a=5,b=5,c=5; D) a=b=c=5;
4,若有以下定义,则g8503g11842的赋值g16833g2489是(g3g3)。
int a,b; float x;
A) a=1,b=2,B) b++; C) a=b=5 D) b=int(x);
5,以下符g2524Cg16833g16340g16833法的赋值表达式是(g3g3)。
A) d=9+e+f=d+9; B) d=9+e,f=d+9; C) d=9+e,e++,d+9; D)d=9+e++=d+7;
6,g16786以下变量g3355g1038int类型,则值不等g11227的表达式是(g3g3)。
A) (x=y=6,x+y,x+1;) B) (x=y=6,x+y,y+1;)
C) (x=6,x+1,y=6,x+y;) D) (y=6,y+1,x=y,x+1;)
7,g16786x、yg2656zg3355g1038int型变量,则g6203行g16833g2489x=(y=(z=10)+5)-5;后,x、yg2656z的值是( )。
A) x=10 B) x=10 C) x=10 D) x=10
C语言程序设计上机指导与同步训练
·112·
·112·
y=15 y=10 y=10 y=5
z=10 z=10 z=15 z=10
8,g16786 X,Y,Zg2656Kg18129是int型变量,则g6203行表达式:X=(Y=52,Z=26,K=32)后,X
的值g1038:( )
A) 4 B) 26 C) 32 D) 52
9,g16786有如下的变量定义,
int i =8,K,a,b;
unsigned long w=5;
double x=1,y=5.2;
则以下符g2524Cg16833g16340g16833法的表达式是:( )。
A) a+=a-=(b=4)*(a=3) B) X%(-3)
C) a=a*3=2 D) Y=int(i)
10,逗号表达式"(a=3*5,a*4),a+15"的值是( )。
A) 15 B) 60 C) 30 D) 不g11842定
能力提高(B)
一、g3647空题
1,若有以下定义,则g6203行表达式y+=y-=m*=y后的y值是 。
int m=5,y=2;
2,若a是int型变量,g1000a的初始值g10386,则g6203行下g19766表达式后a的值g1038 。
a+=a-=a*a
3,若xg2656ng3355是int型变量,g1000x的初始值g103812,n的初始值g10385,则g6203行下g19766表达式后x的值g1038 。
x%=(n%=2)
4,假g16786变量ag2656bg3355g1038整型,以下g16833g2489可以不借助g1231g1321变量把a、b中的值进行交换。
请g3647空。
5,g16786x、yg2656zg18129是int型变量,mg1038long型变量,则在16g1313微型g7438g990g6203行下g19766赋值
g16833g2489后,y值g1038,z值g1038,m值g1038 。
y=(x=32767,x-1);
z=m=0xFFFF;
二、g17885g6333题
1,已知各变量的类型说明如下,
int k,a,b;
unsigned long w=5;
double x=1.42;
则以下不符g2524Cg16833g16340g16833法的表达式是(g3g3)。
A) x%(-3) B) w+=-2 C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)
2,以下不g8503g11842的叙述是(g3g3)。
A) 在C程序中,逗号运g12651符的优先级g7380低
第二部分 C语言程序设计同步训练
·113·
·113·
B) 在C程序中,APHg2656aph是g1016个不g2528的变量
C) 若ag2656b类型相g2528,在g6203行了赋值表达式a=b后b中的值g4570放g1849a中而b中的值不变
D) g5415从键盘g17767g1849数据时,g4557g1122整型变量只能g17767g1849整型数值,g4557g1122实型变量只能g17767
g1849实型数值
3,以下g8503g11842的叙述是(g3g3)。
A) 在C程序中,每行中只能写一条g16833g2489
B) 若a是实型变量,C程序中允g16780赋值a=10,因此实型变量中允g16780g4396放整型数
C) 在C程序中,g7092论是整数还是实数,g18129能g15999准g11842g7092g16835地表示
D) 在C程序中,%是只能用g1122整数运g12651的运g12651符
4,若有以下定义,则能使值g10383的表达式是(g3g3)。
int k=7,x=12;
A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)
5,g16786有说明:double y=0.5,z=1.5; int x=10;则能够g8503g11842使用Cg16833g16340库函数的赋值g16833g2489是
(g3g3)。
A) z=exp(y)+fabs(x);
B) y=log10(y)+pow(y);
C) z=sqrt(y-z);
D) x=(int)(atan2((double)x,y)+exp(y-0.2));
链接二级考试
一、g17885g6333题
1,在Cg16833g16340中,要g8726运g12651数必须是整型的运g12651符是( )。
A) % B) / C) < D) !
(1996年9月)
2,Cg16833g16340中g7380简g2345的数据类型g2265g6336( )。
A) 整型、实型、g17935g17765型 B) 整型、实型、字符型
C) 整型、字符型、g17935g17765型 D) 整型、实型、g17935g17765型、字符型
(1997年4月)
3,Cg16833g16340中,运g12651g4557象必须是整型数的运g12651符是( )。
A) % B) \ C) %g2656\ D) *
(1997年4月)
4,下g2027字符中,ASCII码值g7380小的是( )。
A) A B) a C) Z D)x
(1997年9月)
5,Cg16833g16340g6564g1391的g2524法的数据类型关键字是( )。
A) Double B) short C) integer D) Char
(1997年9月)
6,在Cg16833g16340中,g2524法的g19283整型常数是( )。
C语言程序设计上机指导与同步训练
·114·
·114·
A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10
(1997年9月)
7,g2524法的Cg16833g16340中,g2524法的g19283整型常数是( )。
A) ’\t' B) "A" C) 65 D) A
(1997年9月)
8,若有说明g2656g16833g2489,
int a=5;
a++;
此g3800表达式a++的值是( )。
A) 7 B) 6 C) 5 D) 4
(1997年9月)
9,用十进制数表示表达式:12/012的运g12651结g7536是( )。
A) 1 B) 0 C) 14 D) 12
(1997年9月)
10,在Cg16833g16340g6564g1391的g2524法的关键字是( )。
A) swicth B) cher C) Case D) default
(1998年4月)
11,在Cg16833g16340中,g2524法的字符常量是( )。
A) ‘\084' B) ‘\x43' C) ‘ab' D),\0”
(1998年4月)
12,若已定义xg2656yg1038double类型,则表达式:x=1,y=x+3/2的值是( )。
A) 1 B) 2 C) 2.0 D) 2.5
(1998年4月)
13,若tg1038double类型,表达式t=1,t5,t++的值是( )。
A) 1 B) 6.0 C) 2.0 D) 1.0
(1998年4月)
14,下g2027不g8503g11842的转义字符是( )。
A) '\\' B) '\" C) '074' D) '\0'
(1998年9月)
15,若有以下定义,
char a; int b;
float c; double d;
则表达式a*b+d-c值的类型g1038( )。
A) float B) int C) char D) double
(1998年9月)
16,g16786x、y、zg2656kg18129是int型变量,则g6203行表达式:x=(y=4,z=16,k=32)后,x的值g1038(g3g3)。
A) 4 B) 16 C) 32 D) 52
(1999年4月)
17,g16786有如下的变量定义,
第二部分 C语言程序设计同步训练
·115·
·115·
int i=8,k,a,b;
unsigned long w=5;
double x=1,42,y=5.2;
则以下符g2524Cg16833g16340g16833法的表达式是( )。
A) a+=a-=(b=4)*(a=3) B) x%(-3)
C) a=a*3=2 D) y=float(i)
(1999年4月)
18,假定有以下变量定义,
int k=7,x=12;
则能使值g10383的表达式是( )。
A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)
(1999年4月)
19,以下g17885g20045中g4658g1122Cg16833g16340的数据类型是( )。
A) g3809数型 B) g17935g17765型 C) g2464g12946g5242型 D) g19610g2524型
(1999年9月)
20,在Cg16833g16340中,不g8503g11842的int类型的常数是( )。
A) 32768 B) 0 C) 037 D) 0xAF
(1999年9月)
21,g16786有 int x=11; 则表达式 (x++ * 1/3) 的值是( )。
A) 3 B) 4 C) 11 D) 12
(2000年4月)
22,下g2027变量定义中g2524法的是( )。
A) short _a=1-.le-1; B) double b=1+5e2.5;
C) long do=0xfdaL; D) float 2_and=1-e-3;
(2000年4月)
23,若变量已g8503g11842定义并赋值,下g19766符g2524Cg16833g16340g16833法的表达式是( )。
A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b
(2000年9月)
24,Cg16833g16340中运g12651g4557象必须是整型的运g12651符是( )。
A) %= B) / C) = D)〈=
(2000年9月)
25,若已定义xg2656yg1038double类型,则表达式x=1,y=x+3/2 的值是( )。
A) 1 B) 2 C) 2.0 D) 2.5
(2000年9月)
26,g16786有说明g16833g2489:char a=’\72’;则变量a( )。
A) g2265含1个字符 B) g2265含2个字符 C) g2265含3个字符 D) 说明不g2524法
(2000年9月)
27,以下所g2027的Cg16833g16340常量中,g19181g16835的是( )。
A) 0xFF B) 1.2e0.5 C) 2L D) ‘\72’
C语言程序设计上机指导与同步训练
·116·
·116·
(2001年4月)
28,下g2027g17885g20045中,g2524法的Cg16833g16340关键字是( )。
A) VAR B) cher C) integer D) default
(2001年4月)
29,以下变量x.、y、zg3355g1038double类型g1000已g8503g11842赋值,不能g8503g11842表示数g4410式子
x
yz
的C
g16833g16340表达式是( )。
A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z
(2001年4月)
30,若ag1038int类型,g1000其值g10383,则g6203行完表达式a+=a-=a*a后,a的值是( )。
A) g163 B) 9 C) g1612 D) 6
(2001年4月)
31,在Cg16833g16340中,g2524法的g19283整型常数是( )。
A) OL B) 4962710 C) 324562& D) 216D
(2001年9月)
32,以下有4组用g6155标识符,其中g2524法的一组是( )。
A) For B) 4d C) f2_G3 D) WORD
-sub g3 DO g3 IF void
Case g3 Size abc define
(2001年9月)
33,以下g17885g20045中g2524法的字符常量是( )。
A)“B” B) g254\010g255 C) 68 D) D
(2001年9月)
34,假定xg2656yg1038 double型,则表达式x=2,y=x+3/2的值是( )。
A) 3.500000 B) 3 C) 2.000000 D) 3.000000
(2001年9月)
35,以下g17885g20045中,g19762法的字符常量是( )。
A) ‘\t’ B) ‘\17’ C)“n” D) ‘\xa’
(2001年9月)
36,英文小写字母d的ASCII码g1038100,英文大写字母D的ASCII码g1038( )。
A) 50 B) 66 C) 52 D) 68
(2002年4月)
37,以下g17885g20045中不g4658g1122Cg16833g16340的类型的是( )。
A) signed short imt B) unsigned long int
C) unsigned int D) long short
(2002年4月)
38,以下g17885g20045中g2524法的实型常数是( )。
A) 5E2.0 B) E-3 C) 2E0 D) 1.3E
(2002年9月)
39,以下g17885g20045中g2524法的用g6155标识符是( )。
第二部分 C语言程序设计同步训练
·117·
·117·
A) long B) _2Test C) 3Dmax D) A.dat
(2002年9月)
40,已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量g254\101g255是( )。
A) 字符A B)字符a C)字符e D)g19762法的常量
(2002年9月)
41,g16786ag2656bg3355g1038double型变量,g1000a=5.5、b=2.5,则表达式(int)a+b/b的值是( )。
A) 6.500000 B) 6 C) 5.500000 D) 6.000000
(2002年9月)
42,g994数g4410式子
12
3
x
n
x
g4557g5224的Cg16833g16340表达式是( )。
A) 3*x^n(2*x-1) B) 3*x*n(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)
(2002年9月)
43,以下g17885g20045中,g994k=n++完全等价的表达式是( )。
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
(2002年9月)
44,下g2027关g1122Cg16833g16340用g6155标识符的叙述中g8503g11842的是( )。
A) 用g6155标识符中可以出现下划线g2656中划线(减号)
B) 用g6155标识符中不可以出现中划线,但可以出现下划线
C) 用g6155标识符中可以出现下划线,但不可以放在用g6155标识符的g5332头
D) 用g6155标识符中可以出现下划线g2656数字,g4439g1216g18129可以放在用g6155标识符的g5332头
(2003年4月)
45,下g2027关g1122g2345目运g12651符++、g16g16的叙述中g8503g11842的是( )。
A) g4439g1216的运g12651g4557象可以是g1231g1321变量g2656常量
B) g4439g1216的运g12651g4557象可以是char型变量g2656int型变量,但不能是float型变量
C) g4439g1216的运g12651g4557象可以是int型变量,但不能是double型变量g2656float型变量
D) g4439g1216的运g12651g4557象可以是char型变量、int型变量g2656float型变量
(2003年4月)
46,以下g17885g20045中可作g1038Cg16833g16340g2524法整数的是( )。
A) 10110B B) 0386 C) 0Xffa D) x2a2
(2003年9月)
47,以下不能定义g1038用g6155标识符的是( )。
A) scanf B) Void C) _3com_ D) int
(2003年9月)
一、g3647空题
1,数g4410式子
ba
ba
)
sin
(
2
+
x 写g6116Cg16833g16340表达式是________。 (1996年4月)
2,数字符号0的ASCII码十进制表示g103848,则数字符号9的ASCII码十进制表示g1038
C语言程序设计上机指导与同步训练
·118·
·118·
________。
(1997年4月)
3,请写出以下数g4410式的Cg16833g16340表达式 _________。
a
bc
(1998年4月)
4,g16786xg2656yg3355g1038int型变量,g1000x=1,y=2,则以下表达式的值g1038_______。
1.0+x/yg3g3g3g3g3g3g3g3g3g3g3g3g3g3 (1998年9月)
5,g16786有以下变量定义,并已赋g11842定的值
char w; int x; float y; double z;
则表达式:w*x+z-y所g8726得的数据类型g1038 ________。 (200年4月)