当前位置:文档之家› C语言试题:数据类型、运算符与表达式.doc

C语言试题:数据类型、运算符与表达式.doc

C语言试题:数据类型、运算符与表达式.doc
C语言试题:数据类型、运算符与表达式.doc

3 数据类型、运算符与表达式

一、单项选择题

1、以下选项中,不正确的 C 语言浮点型常量是( C )。

A. 160.

B. 0.12

C. 2e4.2

D. 0.0

分析:e 后面的指数必须为整数。

2、以下选项中,( D )是不正确的 C 语言字符型常量。

A. 'a'

B. '\x41'

C. '\101'

D. "a"

分析:在C 语言中,’a ’表示字符常量,”a ”表示字符串。

3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。

A.原码

B.反码

C. ASCII 码

D. BCD 码

分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII 码放到储存单元中。

4、若x 、i 、j 和k 都是int 型变量,则计算下面表达式后,x 的值是( C )。 x=(i=4,j=16,k=32)

A. 4

B. 16

C.32

D.52

分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以x=32.

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B )。

A. 算术运算、赋值运算、关系运算

B. 算术运算、关系运算、赋值运算

C. 关系运算、赋值运算、算术运算

D. 关系运算、算术运算、赋值运算

分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“*”以及除法运算符“/”,赋值运算符包括“=、+=、-=、*=、/=、……”,关系运算符包括“<、<=、>、>=”。

6、若有代数式bc ae

3 ,则不正确的C 语言表达式是( C )。

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 选项表达的是3ace/b 。

7、表达式!x||a==b 等效于( D )。

A. !((x||a)==b)

B. !(x||y)==b

C. !(x||(a==b))

D. (!x)||(a==b) 分析:由符优先级先后顺序在!x||a==b 中应先算“||”再算“!”,最后算“==”。选项B 不影响运算顺序。

8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A )。

A. 0,0

B. 0,1

C. 1,0

D. 1,1

分析:先算括号里面的,a 不大于b ,则m=0,c 不大于d ,则n=0.

9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。

A. 3

B. 0

C. 9

D. -12

分析:从后往前算,a*=a 即a=a*a ,a=9;然后a-=a=9,a=a-9,=0;a+=0,a=a+a=0.

10、在以下一组运算符中,优先级最低的运算符是( D )。

A. *

B. !=

C. +

D. =

分析:在上述选项中,运算符优先级从低到高为=、!=、+、*。

11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6

B. 12

C. 15

D. 表达式出错

分析:++i表示在将i运算前先加上1再进行运算。

12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。

A. 1

B. 2

C. 2.0

D. 2.5

分析:double类型下,3/2=1,y为double类型,故y=1+1=2.0。

13、sizeof (double)的结果值是( A )。

A. 8

B. 4

C. 2

D. 出错

分析:SIZEOF的作用是判断数据类型长度,double在C里用8个字节来存储数据。

14、设a=1,b=2,c=3,d=4,则表达式:a

A. 4

B. 3

C. 2

D. 1

分析:a

15、设a 为整型变量,不能正确表达数学关系:10

A. 10

B. a= =11|| a= =12 || a= =13 || a= =14

C. a>10 && a<15

D. !(a<=10) && !(a>=15)

分析:a 为整型变量表示a为整数,1010并且a<15。D表示a不小于等于10并且a不大于等于15.均符合题意。

16、设 f是实型变量,下列表达式中不是逗号表达式的是( A )。

A. f= 3.2, 1.0

B. f>0, f<10

C. f=2.0, f>0

D. f=(3.2, 1.0)

分析:逗号的优先级低于等号的优先级。A表示将3.2赋值给f,1.0无法识别。

17、表达式18/4*sqrt(4.0)/8值的数据类型是( B )。

A. int

B. float

C. double

D. 不确定

分析:int表示整形, float表示单精度型, double表示双精度型。

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是( A )。

A. D

B. 68

C. 不确定的值

D. C

分析:字符型常量A为65,加上6减去3为68,对应D的ASCII码。

19、以下用户标识符中,合法的是( B )。

A. int

B. nit

C. 123

D. a+b

分析:C语言规定标识符只能由字母、数字、下划线组成,并且只能由字母、下划线开头。一些标识符被赋于特定的含义就叫做保留字,不用于标识符。

20、C 语言中,要求运算对象只能为整数的运算符是( A )。

A. %

B. /

C. >

D. *

分析:%表示求余,运算对象只能为整数。

21、若有说明语句:char c='\72';则变量c在内存占用的字节数是( A )。

A. 1

B. 2

C. 3

D. 4

分析:char 是字符型,它定义的字符,在内存中只占一个字节,定义的char c='\72',系统只会将它做一个字符处理。

22、字符串"ABC"在内存占用的字节数是( B )。

A. 3

B. 4

C. 6

D. 8

分析:C规定在每一个字符常量的结尾加上一个字符串结束标志’/0’,在内存单元中ABC表示6个字符。

23、要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。

A. char a="3";

B. char a=’3’;

C. char a=%;

D. char a=*;

分析:字符用单引号,字符串用双引号。

24、下列不正确的转义字符是( C )。

A. \\

B. \'

C. 074

D. \0

分析:所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为它后面的字符都不是它本来的ASCII字符意思了。

二、填空题

1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。

3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.75 。

5、判断变量 a、b 的值均不为 0 的逻辑表达式为 a!==0&&b!==0 。

6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4、10、10、6 。

7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为 18、3、3 。

逗号运算符应先求解逗号前面的,求出后变量经重新赋值,在计算逗号后面的。

8、数学式a/(b*c)的 C 语言表达式 a/b/c 。

三、判断题

( Y )1、C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1,取得false值时,为0。

( N )2、为了确保表达式n/2的值为float型,可写成float(n/2)。

( N )3、若有(float)x,则x变成float型变量。

( N )4、若a=3,b=4,c=5,则d=!(a%b)的值是0。

( Y )5、a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值

(N )6、在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式

( N )7、执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0

( N )8、有a=3,b=5。执行a=b,b=a后,使a的值为5,b的值为3。

( N)9、getchar( )和scanf()均为输入函数,它们之间可通用,没有任何区别。(N )10、执行语句scanf("%6.3f" ,&a)后,输入123456可使a的值为123.456 。

( Y )11、putchar()函数的作用是输出一串字符。

( Y )12、使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。( Y )13、在C中所用的变量必须先定义后使用。

( Y )14、在 C 程序中,运算符%仅能用于整型数的运算。

( Y )15、APH与aph 分别表示不同的变量。

( Y )16、设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y的值。

( N )17、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。

( Y )18、C语言中无逻辑变量,也无逻辑表达式。

四、编程题:

1、设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和面积。

#include

void main()

{

float a,b,C,S;

a=1.5,b=2.3;

C=2*(a+b);S=a*b;

printf(“%f,%f\n”,C,S);

}

2、编写一个程序,将大写字母 A转换为小写字母 a。

#include

void main()

{

char c;

c=’A’;

c=c+32;

printf(“%c”,c)

}

C语言中的运算符总结解读

C语言中的运算符总结 C语言中的操作符:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。 1.算术操作符:+ - * / % 1除了% 操作符之外,其他的几个操作符均可以作用于整数和浮点数。 2对于/ 操作符,如果两个操作数都为整数,执行整数除法;而只要有浮点数执行的就是浮点数除法。 3% 操作符的两个操作数必须为整数,返回的是整除之后的余数。 2.移位操作符: << 左移操作符和 >> 右移操作符(针对二进制位、是对整数的操作 1左移操作符移位规则:左边丢弃、右边补0。 2右移操作符移位规则:(1算术移位:左边补符号位,右边丢弃。 (2逻辑移位:左边补0,右边丢弃。 注:对于移位运算符,不能移动负数位,这个是标准未定义的。 3.位操作符:& 按位与 | 按位或 ^ 按位异或(操作数都必须是整数,是针对二进制数的操作 4.赋值操作符:= 可以重新为变量赋值(赋值操作符是可以连续使用的,从右向左执行,不建议使用。 5.复合赋值符:+= = *= /= %= >>= <<= &= |= ^= 6.单目操作符:! 逻辑反操作(真---假

- 负值+ 正值 & 取地址从内存中取地址,不能从寄存器register 中取址。 sizeof 操作数的类型长度(以字节为单位 ~ 一个数的二进制按位取反 -- 前置、后置-- ++ 前置、后置++ (1前置++和--:先自增后使用,表达式的值是自增之后的值。 先自减后使用,表达式的值是自减之后的值。 (2后置++和--:先使用再自加。 先使用再自减。 * 间接访问操作符(解引用操作符 (类型强制类型转换 7.关系操作符:> >= < <= != 不相等 == 相等 注:== 相等 = 赋值,二者易混淆,需注意。 8.逻辑操作符:&& 逻辑与|| 逻辑或 注:逻辑与、逻辑或是判断真假的,按位与、按位或是对二进制数进行操作的。 对逻辑与操作,只要有一个为假,便不必再进行后边的计算;对逻辑或操作,只要有一个为真,便不必再进行后边的操作。 9.条件操作符(三目操作符:exp1 ? exp2 : exp3 先计算表达式1 的值,如果表达式1 为真,整个表达式的值就是表达式 2 的值,如果为假,整个表达式的值就是表达式 3 的值。

C语言关键字共32个

由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 1数据类型关键字 A.基本数据类型(5个) void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char:字符型类型数据,属于整型数据的一种 int:整型数据,通常为编译器指定的机器字长 float:单精度浮点型数据,属于浮点数据的一种 double:双精度浮点型数据,属于浮点数据的一种 B.类型修饰关键字(4个) short:修饰int,短整型数据,可省略被修饰的int。 long:修饰int,长整形数据,可省略被修饰的int。 signed:修饰整型数据,有符号数据类型 unsigned:修饰整型数据,无符号数据类型 C.复杂类型关键字(5个) struct:结构体声明 union:共用体声明 enum:枚举声明 typedef:声明类型别名 sizeof:得到特定类型或特定类型变量的大小 D.存储级别关键字(6个) auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值 2流程控制关键字

二级C语言-运算符与表达式

二级C语言-运算符与表达式 (总分:60.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:38,分数:38.00) 1.设变量已正确定义并赋值,以下合法的C语言赋值语句是______。 ? A.x=y==5 ? B.x=n%2.5 ? C.x+n=i ? D.x=5=4+1 (分数:1.00) A. √ B. C. D. 解析:[解析] 赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C和D错误。“%”运算符两侧都应当是整型数据,选项B错误。 2.在x值处于-2~2、4~8时值为“真”,否则为“假”的表达式是______。 ? A.(2>x>-2)||(4>x>8) ? B.!(((x<-2)||(x>2))&&((x<=4)||(x>8))) ? C.(x<2)&&(x>=-2)&&(x>4)&&(x<8) ? D.(x>-2)&&(x>4)||(x<8)&&(x<2) (分数:1.00) A. B. √ C. D. 解析:[解析] 本题是考查关系运算和逻辑运算的混合运算。要给出此题的正确答案,首先需要了解数学上的区间在C语言中的表示方法,如x在[a, b]区间,其含义是x既大于等于a又小于等于b,相应的C语言表达式是x>=a&&x<=b。本例中给出了两个区间,一个数只要属于其中一个区间即可,这是“逻辑或”的关系。在选项A中,区间的描述不正确。选项B把“!”去掉,剩下的表达式描述的是原题中给定的两个区间之外的部分,加上“!”否定正好是题中的两个区间的部分,是正确的。选项C是恒假的,因为它的含义是x同时处于两个不同的区间内。选项D所表达的也不是题中的区间。 3.sizeof(double)是______。 ? A.一种函数调用 ? B.一个整型表达式 ? C.一个双精度表达式 ? D.一个不合法的表达式 (分数:1.00)

(完整word版)C语言运算符与表达式的练习题答案

C语言运算符与表达式的练习题 单项选择题 (1)以下选项中,正确的 C 语言整型常量是(D)。 A. 32L B. 510000 C. -1.00 D. 567 (2)以下选项中,(D)是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3)字符串的结束标志是(C)。 A. 0 B. '0' C. '\0' D. "0" (4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (5)逻辑运算符中,运算优先级按从高到低依次为(D)。 A. && ! || B. || && ! C. && || ! D. ! && || (6)表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 *(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 (9)在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = (10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。 A. 6 B. 12 C. 15 D. 表达式出错 (11)若已定义 x 和 y为double 类型,则表达式的值是(D)。

C语言运算符大全 (2)

C语言运算符大全C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言有三大运算符:算术、关系与逻辑、位操作。另外,C还有一些特殊的运算符,用于完成一些特殊的任务。 表2-5列出了C语言中允许的算术运算符。在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。 一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C 语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。 最后一行打印一个0和一个1,因为1/2整除时为0,余数为1,故1%2取余数1。 C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x; 自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1 操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。请看下例: x=10; ;y=++x;

此时,y=11。如果程序改为: x=10;y=x++; 则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码 要快得多,所以尽可能采用加1或减1运算符是一种好的选择。 。下面是算术运算符的优先级: :最高++、- -- -(一元减) *、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。C语言 处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。 关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture分别返回值0或1(见表2-6)。 表2-6给出于关系和逻辑运算符,下面用1和0给出逻辑真值表。关系和逻辑运算符的优先级比算术运算符低,即像表达式10>1+12的计算可以假定是对表达式10>(1+12)的计算,当然,该表达式的结果为Flase。在一个表达式中允许运算的组合。例如: 10>5&&!(10<9)||3<=4 这一表达式的结果为True。

c语言数据类型关键字

1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明联合数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)(2)控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量 4 其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用 (4)volatile:说明变量在程序执行中可被隐含地改变

C语言中条件运算符的语法为

条件运算符的语法为: (条件表达式)?(条件为真时的表达式):(条件为假时的表达式) 例如: x=ay?"greater than":x==y?"equal to":"less than" 它等价于: (x>y)?"greater than":((x==y)?"equal to":"less than") 当x>y时,值为"greater than",x==y时,值为"equal to",否则,值为"less than"。条件运算符的嵌套可读性不够好。 在一个条件运算符的表达式中,如果后面两个表达式的值类型相同,均为左值,则该条件运算符表达式的值为左值表达式。例如: int x=5; long a,b; (x?a:b)=1;//ok:因为a和b都是左值 (x?x:a)=2;//error:x和a不同类型。编译器将其解释为(1ong)x和a (x==271:a)=3;//error:1非左值 "(x?a:b)=1"表示当x为0时,b=1,否则a=1。这里的括号是必须的,否则将被看作x?a:(b=1)。"(x?x:a)=2”中,尽管x是左值,a也是左值,但x与a不同类型,条件运算符要对其进行操作数的隐式转换,使之成为相同的类型。任何被转换的变量都不是左值。 ->在C中,条件运算符是不能作左值的,所以"(x?a:b)=1;"将通不过编译。 getchar 函数名: getchar 功能: 从stdio流中读字符 用法: int getchar(void); 注解:

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题.选择题 1. 以下不合法的用户标识符是: ( ) a) f2_G3 b) If c) 4d d) _8 2. 以下选项中合法的用户标识符是: ( ) a) long b) _2Test c) 3Dmax d) A.dat 3. 以下可用作用户标识符的是: ( ) a) 12_a b) signed c) t-o d) _if 4. 以下不是关键字的标识符是: ( ) a) continue b) char c) If d) default 5. C 语言提供的合法的关键字是: ( ) a) swicth b) cher c) Case d) void 6. 以下选项中不合法的int 整型常数是( ) a) 32768 b) -56 c) 03 d) 0xAF 7. 以下合法的长整型常量是( ) a) 2L b) 49627 c) d) 213& 8. 以下正确的实型常量是( ) a) 1.2E b) . c) 1.2e0.6 d) 8 9. 以下选项中合法的实型常数是( ) a) 5E2.0 b) E-3 c) .2E0 d) 1.3E 10. 以下合法的八进制数是( ) a) 0135 b) 068 c) 013.54 d) o7

11. 以下合法的十六进制数是( ) a) 0x b) 0x4de c) 0x1h d) ox77 12. 以下选项中非法的数值常量是( ) a) 019 b) 0L c) 0xff d) 1e1 13. 若变量已正确定 以下合法的赋值表达式是( ) 义, a) a=1/b=2 b) ++(a+b) c) a=a/(b=5) d) y=int(a)+b 14. 若变量已正确定 以下非法的表达式是( ) 义, a) a/=b+c b) a%(4.0) c) a=1/2*(x=y=20,x*3) d) a=b=c 15. 设x为int 类型,其值为11,则表达式( x++*1/3 )的值是: a) 3 b) 4 c) 11 d) 12 16.设a,b 均为double 型,且 a=5.5;b=2.5; 则表达式 (int)a+b/b 的值是( ) a) 6. b) 6 c) 5. d) 6. 17.若a为int型,且其值为3,则执行完表达式: a+=a-=a*a 后,a 的值是( ) a) -3 b) 9 c) -12 d) 6 18.设k 和x 均为int 型变量,且k=7 ;x=12;则能使值为 3 的表达式是( )

c语言34种运算符

C语言运算符 算术运算符 TAG:运算符,数据类型 TEXT:算术运算符对数值进行算术运算,其中:加、减、乘、除、求余运算是双目运算。其结果可以是整数、单精度实数和双精度实数。自增、自减运算是单目运算,其操作对象只能使整型变量,不能是常量或表达式等其他形式。 REF:.TXT,+运算符.txt,-运算符.txt,*运算符.txt,/运算 符.txt,%运算符,++运算符,--运算符 加+ TAG:算术运算符,运算符,数据类型 TEXT:双目运算符,算数加法。单目运算符,表示正数。REF:.TXT,算数运算符.txt 减- TAG:算术运算符,运算符,数据类型 TEXT:双目运算符,算数减法。单目运算符,表示负数。REF:.TXT,算数运算符.txt 乘* TAG:算术运算符,运算符,数据类型 TEXT:*,双目运算符,算数乘法。 REF:.TXT,算数运算符.txt

除/ TAG:算术运算符,运算符,数据类型 TEXT:/,双目运算符,算数除法;如果两个参与运算的数是整数,表示整除,舍去小数部分。 如5.0/2等于2.5,而5/2等于2。 REF:.TXT,算数运算符.txt 取余% TAG:算术运算符,运算符,数据类型 TEXT:/,双目运算符,算数除法;如果两个参与运算的数是整数,表示整除,舍去小数部分。 如5.0/2等于2.5,而5/2等于2。 REF:.TXT,算数运算符.txt 自加++ TAG:算术运算符,运算符,数据类型 TEXT:单目运算符,针对整数运算,可以放在运算数的两侧,表示运算数增1。 REF:.TXT,算数运算符.txt 自减-- TAG:算术运算符,运算符,数据类型 TEXT:单目运算符,针对整数运算,可以放在运算数的两侧,表示运算数减1。

C语言的基本数据类型及其表示

3.2 C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1 常量与变量 1. 常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.4 10-38~3.4 1038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define 标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows 98",可用下面两个宏定义命令: #define PAI 3.1415927 #define W "Windows 98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows 98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C语言的基本数据类型及其表示

3.2C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1常量与变量 1.常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.410-38~3.41038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows98",可用下面两个宏定义命令: #define PAI3.1415927 #define W"Windows98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C语言程序设计实验报告实验数据类型运算符和表达式

凯里学院C 语言程序设计实验报告 ×××××专业××年级××班,学号××××××姓名××成绩 合作者实验日期年月日 指导教师评阅日期年月日 实验二数据类型、运算符和表达式 一、实验目的: (1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 (2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C 语言的输入和输出函数的使用 (4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用stepbystep 功能。 (5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。 二、实验内容: (1)输人并运行下面的程序 #include voidmain() { charc1,c2; c1='a'; c2='b'; 装 订 线 装 订 线

printf("%c%c\n",c1,c2); } (2)按习题3.7的要求编程序并上机运行 该题的要求是: 要将“China”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。 例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre"。 请编一程序,用赋初值的方法使。cl,c2,c3,c4,c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使cl,c2,c3,c4,c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。 三、实验步骤: (1)输人并运行下面的程序 #include voidmain() { charc1,c2; c1='a'; c2='b'; printf("%c%c\n",c1,c2); } ①运行此程序。 程序结果为:

c语言位运算符简介举例

c语言位运算符 C语言既具有高级语言的特点,又具有低级语言的功能。 所谓位运算是指进行二进制位的运算。 C语言提供的位运算: 运算符含义 & 按位与 | 按位或 ∧按位异或 ∽取反 << 左移 >> 右移 说明: 1。位运算符中除∽以外,均为二目(元)运算符,即要求两侧各有一个运算了量。 2、运算量只能是整形或字符型的数据,不能为实型数据。 “按位与”运算符(&) 规定如下: 0&0=0 0&1=0 1&0=0 1&1=1 例:3&5=? 先把3和5以补码表示,再进行按位与运算。 3的补码:00000011 5的补码:00000101 -------------------------------------------------------------------------------- &: 00000001 3&5=1 “按位或”运算符(|)

规定如下: 0|0=0 0|1=1 1|0=1 1|1=1 例:060|017=? 将八进制数60与八进制数17进行按位或运算。 060 00110000 017 00001111 -------------------------------------------------------------------------------- |: 00111111 060|017=077 “异或”运算符(∧),也称XOR运算符 规定如下: 0∧0=0 0∧1=1 1∧0=1 1∧1=0 例:57∧42=? 将十进制数57与十进制数42进行按位异或运算。 57 00111001 42 00101010 -------------------------------------------------------------------------------- ∧: 00010011 57∧42=19 “取反”运算符(∽) 规定如下: ∽0=1 ∽1=0 例:∽025=? 对八进制数25(即二进制0000000000010101)按位求反。

C语言数据类型及表示范围

C语言各种数据类型在系统中占的字节和取值围 基本类型包括字节型(char)、整型(int)和浮点型(float/double)。 定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对于int、double)对变量的取值区间和精度进行说明。 下面列举了Dev-C++下基本类型所占位数和取值围: 符号属性长度属性基本型所占位数取值围输入符举例输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u signed -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u unsigned -- char 8 0 ~ 2^8-1 %c %c、%d、%u [signed] short [int] 16 -2^15 ~ 2^15-1 %hd unsigned short [int] 16 0 ~ 2^16-1 %hu、%ho、%hx [signed] -- int 32 -2^31 ~ 2^31-1 %d unsigned -- [int] 32 0 ~ 2^32-1 %u、%o、%x [signed] long [int] 32 -2^31 ~ 2^31-1 %ld unsigned long [int] 32 0 ~ 2^32-1 %lu、%lo、%lx [signed] long long [int] 64 -2^63 ~ 2^63-1 %I64d unsigned long long [int] 64 0 ~ 2^64-1 %I64u、%I64o、%I64x -- -- float 32 +/- 3.40282e+038 %f、%e、%g -- -- double 64 +/- 1.79769e+308 %lf、%le、%lg %f、%e、%g -- long double 96 +/- 1.79769e+308 %Lf、%Le、%Lg 几点说明: 1. 注意! 表中的每一行,代表一种基本类型。“[]”代表可省略。 例如:char、signed char、unsigned char是三种互不相同的类型; int、short、long也是三种互不相同的类型。可以使用C++的函数重载特性进行验证,如: void Func(char ch) {} void Func(signed char ch) {} void Func(unsigned char ch) {} 是三个不同的函数。

C语言运算符与表达式的练习题

C语言运算符与表达式的练习题 (作业写到纸质作业本上,在规定时间内交给助教批阅,不要 再网上提交) 一、单项选择题 (1) 以下选项中,正确的C 语言整型常量是。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中,是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3) 在C 语言中,字符型数据在计算机内存中,以字符 的形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 (4) 字符串的结束标志是。 A. 0 B. '0' C. '\0' D. "0" (5) 算术运算符、赋值运算符和关系运算符的运算优先级按 从高到低依次为。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运 算、赋值运算

C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (6) 逻辑运算符中,运算优先级按从高到低依次为。 A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,|| (7) 表达式!x||a==b 等效于。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (8) 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 (9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。 A. 2,3 B. 2,0 C. 3,0 D. 3,2 (10) 设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量 a 的值是。 A. 3 B. 0 C. 9 D. -12 (11) 在以下一组运算符中,优先级最低的运算符是。 A. * B. != C. + D. =

C语言运算符大全

C语言运算符大全 C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言有三大运算符:算术、关系与逻辑、位操作。另外,C还有一些特殊的运算符,用于完成一些特殊的任务。 2.6.1算术运算符 表2-5列出了C语言中允许的算术运算符。在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。 一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。 最后一行打印一个0和一个1,因为1/2整除时为0,余数为1,故1%2取余数1。 2.6.2自增和自减 C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x; 自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。请看下例: x=10; ;y=++x; 此时,y=11。如果程序改为: x=10;y=x++; 则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码 要快得多,所以尽可能采用加1或减1运算符是一种好的选择。 。下面是算术运算符的优先级: :最高++、- -- -(一元减) *、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。C语言 处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。 2.6.3关系和逻辑运算符 关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture分别返回值0或1(见表2-6)。

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

逻辑运算符和表达式(c语言)

南京高等职业技术学校 课堂教学设计 授课时间:2014年11月6日第11周星期四教学目标教学准备 授课教师课时课程通过本节课的学习,学生能够: 1.清晰地说出各种逻辑运算符; 2.正确运算出逻辑表达式的值,并 通过程序验证结果; 重点教案□√ 马丽娟 1 C语言多媒体课件□√班级授课地点课题教学讲义□ 512212 机房4.2逻辑运算符与逻辑表达 式 1.逻辑表达式的求值运算; 2.逻辑表达式的求值优化。 学生工作页□ 课堂特殊要求(指教师、学生的课前准备活动等) 教师:安装Win-TC程序难点 教具□√ 逻辑表达式的求值优化授课形式 理论讲授课 教学环节时间分配教师活动学生活动教学方法媒体手段导入新课 5 提出问题,并举例说明听讲、思考、回答讲授法PPT 新课讲授20 讲授、分析听讲、讨论并记录讲授法PPT 巩固练习15 布置任务、巡视、答疑思考、编程并回答问题练习法Win-TC 课堂小结 3 归纳、总结听讲、回答问题讲授法PPT 布置作业 2 布置作业记录讲授法PPT 板书设计 §4.2 逻辑运算符与逻辑表达式 ?逻辑运算符:&&、||、! ?逻辑表达式的值:非0即1 ?逻辑运算的求值优化工作任务/教学情境设置 无课后作业 书面作业:P52 随堂练习 课后反思

教案纸 教学内容 4.2 逻辑运算符与逻辑表达式 一、复习导入(5min) 1. 复习:请学生说出关系运算符有哪些? 请学生回答关系运算表达式的值? 教师进行补充。 2.导入新课: 1、学生参加技能大赛培训的条件? ?扎实的专业知识与较高的实践能力 教师强调与的关系 2、参加技能大赛集训而停课的条件? ?移动互联或智能家居 教师强调或的关系 3、学生回答引入禁烟区的条件? ?没有吸烟非 教师强调非的关系 二、新课讲授(20min) 逻辑运算符 1.教师根据逻辑关系给出三种逻辑运算符的表示形式: &&、||、! 2.教师利用具体的表达式关系分析各种逻辑运算符的作用: 逻辑与相当于英语中的and; 逻辑或相当于英语中的or; 逻辑非相当于英语中的no; 3.教师根据具体的逻辑关系引出逻辑表达式的概念及表示形式: 表达式1&&表达式2 a&&b 表达式1||表达式2 a || b !表达式!a

C语言数据类型与表达式习题及答案

第一章数据类型,运算符与表达式 一.选择题 1.不合法的常量是A。 A)‘/2’B) “”C)‘’D)“483” 2. B 是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 3.在以下各组标识符中,合法的标识符是(1)A,(2) C ,(3) D 。 (1)A)B01 B)table_1 C)0_t D)k% Int t*.1 W10 point (2)A)Fast_ B)void C)pbl D) Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量1 signed history Flaut 4. 不属于合法的C语言长整型常量的是 C 。 A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。 A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0 8.在C语言中,要求参加运算的数必须是整数的运算符是 C 。 A)/ B)* C)% D) = 9.在C语言中,字符型数据在内存中以 D 形式存放。 A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是 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; 11. B 是非法的C语言转义字符。 A)‘\b’B)‘\0xf’C)‘\037’D)‘\’’12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, B 是正确的。 A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 13.与代数式x y u v ? ? 不等价的C语言表达式是A。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 14.在C语言中,数字029是一个 D 。 A)八进制数B)十六进制数C)十进制数D)非法数 16.对于char cx=?\039?;语句,正确的是A。 A)不合法B)cx的值是?\03? C)cx的值为四个字符D)cx的值为三个字符 17.若int k=7,x=12;则能使值为3的表达式是 D 。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 18.为了计算s=10!(即10的阶乘),则s变量应定义为 C 。 A)int B)unsigned C)long D)以上三种类型均可

相关主题
文本预览
相关文档 最新文档