浙江大学C语言总复习题—基本数据类型和运算

合集下载

浙江大学C语言总复习题--综合

浙江大学C语言总复习题--综合

综合练习一、判断题1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。

2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。

3.在程序的运行过程中,整型常量的值是可以改变的。

4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。

5.大括弧 { } 只能用来括复合语句。

6. do_while语句构成的循环不能用其它循环语句来代替。

7.不能用scanf 函数输入字符。

8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。

9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。

10.C 语言的一个编译预处理命令用 # 开始,最后加分号。

11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。

12. C语言中以 %o开头的数是八进制整数。

13.在程序的运行过程中,符号常量的值是可以改变的。

14.在 C 程序中,APH 和 aph 代表不同的变量。

15.一个复合语句在语法上被认为是一条语句。

16. 只能用while语句构成循环。

17.不能用printf函数输出字符。

18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。

19. 在函数外部定义的变量称为全局变量。

20.宏定义的命令行可以看作是一条C 语句。

21. C语言源程序是可以用来直接运行的程序。

22. C语言中以 %x 开头的数是十六进制整数。

23. C程序中定义的变量,代表内存中的一个存储单元。

24.在 C 程序中,9ab是非法的用户标识符。

25. C语句必须用一个分号作为结束。

26. do_while语句构成的循环不能用break语句退出。

27. scanf 函数是 c 语言的标准输入函数。

28. C程序的main函数不能有参数。

29. 在函数内部定义的变量称为局部变量。

30.用#include包含的头文件的后缀必须是.h。

31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。

浙江大学C语言总复习题--综合

浙江大学C语言总复习题--综合

综合练习一、判断题1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。

2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。

3.在程序的运行过程中,整型常量的值是可以改变的。

4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。

5.大括弧 { } 只能用来括复合语句。

6. do_while语句构成的循环不能用其它循环语句来代替。

7.不能用scanf 函数输入字符。

8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。

9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。

10.C 语言的一个编译预处理命令用 # 开始,最后加分号。

11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。

12. C语言中以 %o开头的数是八进制整数。

13.在程序的运行过程中,符号常量的值是可以改变的。

14.在 C 程序中,APH 和 aph 代表不同的变量。

15.一个复合语句在语法上被认为是一条语句。

16. 只能用while语句构成循环。

17.不能用printf函数输出字符。

18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。

19. 在函数外部定义的变量称为全局变量。

20.宏定义的命令行可以看作是一条C 语句。

21. C语言源程序是可以用来直接运行的程序。

22. C语言中以 %x 开头的数是十六进制整数。

23. C程序中定义的变量,代表内存中的一个存储单元。

24.在 C 程序中,9ab是非法的用户标识符。

25. C语句必须用一个分号作为结束。

26. do_while语句构成的循环不能用break语句退出。

27. scanf 函数是 c 语言的标准输入函数。

28. C程序的main函数不能有参数。

29. 在函数内部定义的变量称为局部变量。

30.用#include包含的头文件的后缀必须是.h。

31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。

C语言的基本数据类型及其运算

C语言的基本数据类型及其运算
2.2 常量与变量
——C语言中的数据分为常量和变量。他们都有类型之分。 常量和变量是在计算机中数据类型的具体表现形式,它们不再 是抽象的概念而是实在的数据,这些数据符合对数据类型的规定 (形式和运算规则两方面)。常量和变量之间的区别在于程序执行
过程中的变化情况。常量是一成不变的,而变量则可以不断改变。
变量定义的格式:
type namelist;
数据类型的 类型标识符 准备声明的变 量名称列表
当同时声明多个变量 时,需要将变量名之 间用“,”逗号分隔开。
注意: 任何一个变量都必须具有确定的 数据类型,变量类型告诉 C该变 变量的基本数据类型: 量的用法以及保存的方法。不管 整型变量、实型变量、字符型变量 变量的值怎样变化,必须符合该 类数据类型的规定(形式和规则 两个方面)。
字符串
本钢工学院 计算机系马驰 v1.0 2003年6月 第12页
C语言的基本数据类型及其运算
符号常量:在C语言中允许程序中的常量定义为一个标识符,这个
标识符称为符号常量。既带有名字的常量。 定义格式: #define <符号常量>
符号常量必 须在使用前 先定义 例如: <常量> #define #define
溢出处理:不同的数据类型规定了不同的机内表示长度,也决定了
对应数据量的变化范围。当某一数据超出该数据类型所 规定的范围时,计算机会拒绝接受,而将之转换成范围 内的另外某个数,这种情况称之为溢出处理。
溢出演示:21.c
本钢工学院 计算机系马驰 v1.0 2003年6月 第4页
C语言的基本数据类型及其运算
符号常量
本钢工学院 计算机系马驰 v1.0 2003年6月 第13页
C语言的基本数据类型及其运算

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。

A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。

A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。

A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。

A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。

A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。

A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。

A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。

C语言-数据类型习题及答案

C语言-数据类型习题及答案

第二章数据类型,运算符与表达式一.选择题1.不合法的字符常量是(B)。

A)‘\t’B) “A” C)‘a’D)’\x32’2、合法的字符常量是(D)。

A)‘\084’B) ‘\84’ C)‘ab’D)’\x43’2.(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(4)。

(1)A)B01 B)table_1 C)0_t D)k%(2)A)Fast_ B)void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y234.属于合法的C语言长整型常量的是(B)。

A)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。

A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。

A)赋值非法B)溢出C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在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),是正确的。

c语言试题:数据类型、运算符与表达式 (1)

c语言试题:数据类型、运算符与表达式 (1)

3 数据类型、运算符与表达式一、单项选择题1、以下选项中,不正确的 C 语言浮点型常量是( C )。

A. 160.B. 0.12C. 2e4.2D. 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. 4B. 16C.32D.52分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以x=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B )。

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

6、若有代数式bc ae3 ,则不正确的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)==bC. !(x||(a==b))D. (!x)||(a==b) 分析:由符优先级先后顺序在!x||a==b 中应先算“||”再算“!”,最后算“==”。

C语言程序设计第2章数据类型与运算练习题及解答

C语言程序设计第2章数据类型与运算练习题及解答

C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。

1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。

语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。

在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。

所以,在本题的选择答案中,不应该包括逻辑型。

3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。

4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。

5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。

因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。

6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。

C语言习题二数据类型及运算

C语言习题二数据类型及运算

C语言习题二数据类型及运算习题二数据类型及其运算1.已定义c为字符型变量,则下列语句中正确的是______。

A、c='97'B、c="97";C、c=97;D、c="a";解析:本题的考查点是字符型变量。

C语言中,字符型数据和整型数据之间可以通用。

一个字符数据既可以以字符形式输出,也可以以整数形式输出。

所以把整型数据赋给字符型变量,直接用c=97即可,所以选项C正确。

2.以下选项中可作为C语言合法整数的是______。

A、10110BB、0386C、0XffaD、x2a2解析:本题的考查点是C语言中的整型常数。

整型常数可以用十进制、八进制或十六进制表示,并分为有符号数、无符号数和长整数。

由此可知选项A错;选项B,用0386表示八进制错误,因为八进制数为0-7八个数字,含有8是不对的;选项D,数字前加“0x”表示十六进制数,所以D也不对。

故本题答案为C。

3. 以下选项中不能作为合法常量的是______。

A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0解析:本题考查的是常量表示法。

本题选项中的几个常量都属于指数形式的实型常量。

此种类型的常量要求字母e(或E)之前必需有数字,且e后面的指数必须为整数,所以本题中选项B非法。

故本题答案为B。

4.与十进制数200等值的十六进制数为______。

A、A8B、A4C、C8D、C4解析:本题考查的是进制之间的转换。

用十--十六进制转换法,除16,由下而上取余法。

故本题答案为C。

5. 若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是______。

A、sqrt(abs(n^x+e^x))B、sqrt(fabs(pow(n,x)+pow(x,e)))C、sqrt(fabs(pow(n,x)+exp(x)))D、sqrt(fabs(pow(x,n)+exp(x)))解析:本题考查的是基本函数应用。

c语言数据类型考试题目及答案

c语言数据类型考试题目及答案

c语言数据类型考试题目及答案C语言数据类型考试题目及答案1. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D2. 在C语言中,一个int类型变量通常占用多少字节?A. 1B. 2C. 4D. 8答案:C3. 假设变量a的类型为int,变量b的类型为float,执行以下代码后,变量a的值是多少?```cint a;float b = 10.5;a = (int)b;```A. 10B. 11C. 10.5D. 0答案:A4. 以下哪个关键字用于定义一个字符常量?A. charB. stringC. intD. float答案:A5. 在C语言中,以下哪个选项不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C6. 以下哪个数据类型用于存储单个字符?A. intB. floatC. charD. double答案:C7. 如果一个变量的类型为double,那么它的值可以被存储为:A. 整数B. 小数C. 整数和小数D. 以上都不是答案:C8. 在C语言中,以下哪个运算符用于比较两个值是否相等?B. !=C. <=D. >=答案:A9. 以下哪个选项是C语言中的逻辑运算符?A. &&(逻辑与)B. ||(逻辑或)C. &(按位与)D. 以上都是答案:D10. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. constC. externD. volatile答案:A11. 以下哪个选项是C语言中的循环结构?A. ifB. switchC. whileD. for答案:C12. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. void答案:C13. 以下哪个选项不是C语言中的文件操作函数?A. fopenB. fcloseC. printfD. fread答案:C14. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C15. 以下哪个选项是C语言中的数组?A. 一组具有相同类型的变量B. 一组具有不同类型的变量C. 一个变量D. 一个函数答案:A。

c语言基本数据类型及运算试卷答案

c语言基本数据类型及运算试卷答案

1 - 5 ACAAC6 - 10 AABCD11 - 15 DADAB填空题:1.答案:(1) %d (2)%Ld (3)%f (4)%e (5)%f(6)%e (7) %c (8) %d (9)%s2.答案:一一对应关系:格式串与输入项的个数要相同,顺序要一致,类型要匹配3.答案:(1)int n,d2,d0 (2) d2=n/100 (3) d0=n%10 (4)d2 * 100+d04.答案:①12.770000 ②A ③795.答案:1,0问答题1.解:字符型常量与字符串常量的书写方式不同,用单引号括起来的字符是字符常量,用双引号括起来的字符是字符串常量。

字符串常量与字符型常量的存储方式不同,C编译程序在存储字符串常量时,自动采用\0作为字符串常量的结束标志。

2.答案:(1)-1 (2)1(3)12 (4)103.解:正确程序如下。

#include <stdio.h>void main( ) /*修改*/{float f=7.12;char c='c'; /*修改*/printf("%d\n",(int)f%3); /*修改*/printf("%c",c);}4.答:错误的地方如下:(1)变量k的值溢出,不能得到正确结果。

(2)变量x和y未赋初值。

5.答:输出结果为:i=-1 j=-1编程题【分析与解答】(1)定义4个双精度变量a、b、c和ave,变量a、b、c分别存放读入的3个双精度数,ave存放它们的平均值。

(2)设计输入语句,以及在此之前用于提示输入的(printf)语句。

(3)设计求平均值的算法,把所求得平均值放入变量ave中。

(4)设计把变量ave中的数,从小数点后第二位数进行四舍五入的算法。

现举例说明:若ave中的数为123.4644,为了保留此值小数点后一位,可用表达式:(int)(123.4644*10)/10.0;依次推算,为了保留此值小数点后二位,可用表达式:(int)(123.4644*100)/100.0;其他依次类推。

C语言基本数据类型及运算题库

C语言基本数据类型及运算题库

C语⾔基本数据类型及运算题库第⼆章基本数据类型及运算⼀、选择题1. 若以下选项中的变量已正确定义,则正确的赋值语句是。

A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3;答案:C2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到⼩数点后⾯两位,并将第三位四舍五⼊的是。

A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0答案:C3. 下列C语⾔中运算对象必须是整型的运算符是。

A) %= B) / C) = D) *=答案:A4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执⾏后,c3中的值是。

A) 0 B) 0.5 C) 1 D) 2答案:A5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。

A) 把x和y按从⼤到⼩排列 B) 把x和y按从⼩到⼤排列C) ⽆确定结果 D) 交换x和y中的值答案:D6. 下列变量定义中合法的是。

A)short_a=1-.le-1; B)double b=1+5e2.5;C)long do=0xfdaL; D)float 2_and=1-e-3;答案:A7. 以下4个选项中,不能被看作是⼀条语句的是。

A) {;} B) a=0,b=0,c=0;C) if (a>0); D) if (b==0)m=1;n=2;答案:D8. 设x=1,y=-1,下列表达式中解为8的是。

A)x&y B)~x│x C)x^x D)x<<=3答案:D9. 在C语⾔中不合法的整数是。

A)20 B)0x4001 C)08 D)0x12ed答案: C10. 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2答案:B)11.若变量已正确定义并赋值,符合C语⾔语法的表达式是A)a=a+7 B)a=7+b+c,a++C)int(12.3%4) D)a=a+7=c+b答案:B)12.以下⼗六进制数中不合法的是A)oxff B)0Xabc C)0x11 D)0x19答案:A)13. 设int i=2,j=3,k=4,a=4,b=5,c=3;,则执⾏表达式(a=ik)&&(c=i,j,k)后,c值是。

C语言概述、数据类型、运算符和表达式测试题

C语言概述、数据类型、运算符和表达式测试题

C语言概述、数据类型、运算符和表达式测试题1. 以下叙述正确的是()。

在C程序中,main函数必须位于程序的最前面C程序的每行中只能写一条语句C语言本身没有输入输出语句在对一个C程序进行编译的过程中,可发现注释中的拼写错2. C程序的基本单位是()。

函数过程语句子程序3. 设有定义:int m=1,n=1;则执行语句printf("%d\n",(m----n);后的输出结果是()。

-1124. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。

x=y=z=1;t=++x||++y++z;不定值215. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

39-126. 在下列选项中,不正确的赋值语句是()。

t/=5;n1=(n2=(n3=0));k=i==j;a=b+c=1;7. 设x为int型变量,则执行以下语句后,x的值为()。

x=10;x+=x-=x-x;1020-208. 若有int a=1,b=2,c=3,d=4;则表达式. a++b?a++:cd?a++:d 的值是()。

43219. 以下选项中()是的C语言赋值语句。

x=3,y=5a=b=6i--;y=int(x);10. 设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=ab)||(n=cd)运算后,n的值位为()。

12311. 假定w、x、y、z、m均为int型变量,有如下程序段. w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;则该程序运行后,m的值是()。

432112. 设整型变量x的值为5,y的值为2,则值为1的表达式是()。

!(y==x/2)y!=x%3x0y0x!=y||x=y13. 下列()表达式不满足. 当x的值为偶数时值为"真",为奇数时值"假"。

c语言期末复习题纲

c语言期末复习题纲

c语言期末复习题纲C语言期末复习题纲一、C语言基础1. C语言的发展历程2. C语言的特点3. C语言的基本组成4. C语言的编译和运行过程二、数据类型与变量1. 基本数据类型- 整型(int)- 浮点型(float, double)- 字符型(char)2. 变量的定义和声明3. 变量的初始化4. 常量的定义和使用三、运算符与表达式1. 算术运算符2. 赋值运算符3. 比较运算符4. 逻辑运算符5. 位运算符6. 条件运算符7. 表达式的求值和类型转换四、控制结构1. 顺序结构2. 分支结构- if语句- switch语句3. 循环结构- while循环- do-while循环- for循环4. 控制语句- break- continue- goto五、数组1. 一维数组的定义和使用2. 二维数组的定义和使用3. 数组的初始化4. 数组的内存分配5. 数组的遍历和搜索六、函数1. 函数的定义和声明2. 函数的参数传递- 值传递- 地址传递3. 函数的返回值4. 递归函数5. 函数的嵌套调用6. 函数的指针七、指针1. 指针的基本概念2. 指针的声明和初始化3. 指针与数组4. 指针与函数5. 指针的指针6. 动态内存分配八、结构体与联合体1. 结构体的定义和使用2. 结构体数组3. 结构体与指针4. 结构体作为函数参数5. 联合体的定义和使用九、预处理指令1. 宏定义(#define)2. 文件包含(#include)3. 条件编译(#ifdef, #ifndef)十、文件操作1. 文件的打开和关闭2. 文件的读写操作3. 文件的定位4. 文件的错误处理十一、C语言中的高级特性1. 位域2. 枚举类型3. 静态存储类4. 动态存储类5. 自动存储类6. 外部存储类十二、C语言的应用1. C语言在系统编程中的应用2. C语言在嵌入式编程中的应用3. C语言在图形编程中的应用结束语:本复习题纲涵盖了C语言的主要知识点,希望能够帮助同学们系统地回顾和巩固C语言的学习内容,为期末考试做好充分的准备。

C语言程序设计 第1章 基本数据类型与运算

C语言程序设计 第1章 基本数据类型与运算

注意: ANSI C规定标识符的长度可达31个字符,但一般系统使用的标识符, 其有效长度不超过8个字符。 标识符不能采用系统的关键字(保留字)。区分大小写。
不合法的C语言标志符: call…name 39test -string1
1.5 常量与变量
常量
程序中值不发生变化的量。
整型 数值常量
实型
main() {int i,s,a[10]; for(i=0;i<10;i++)
scanf("%d", &a[i]); for(s=0,i=0;i<10;i++)
s=s+a[i]; printf("sum=%d",s); {
1.2 语言处理程序
用非机器语言书写的程序必须进行翻译,即用高级语言或汇编语 言编写的程序必须翻译成计算机能识别的指令序列,完成这一任
函数的构成
一个函数是由函数的说明部分和函数体两部分组成。
int max(int x,int y)
{ int z; if (x>y) z=x; else z=y; return(z) ;
① 函数的说明部分 int max(int x,int y)
函数返回值类型 函数名 函数参数列表
}
main( )
字符串常量 用双引号括起来的一串字符。如:"abcd " 双引号为字符常量标志。
注意: 'a' 和"a"的区别
'a' :字符常量,占一个字节存储空间,存储其ASCII码。
"a" :字符串常量,该字符串只有一个字符,占二个字节存储空 间。 字符串存储:除了存储所有字符外,系统还要存储字符串结束标 志'\0'。

C语言-基本数据类型和运算

C语言-基本数据类型和运算

(2)短整型:short int 或 short
占2个字节,-32768—32767
(3)长整型:long int 或 long
占4个字节, -2147483648—147483648
(4)有符号整数:signed
占2个字节,-32768—32767
(5)无符号整数:unsigned
· 无符号短整型,占2个字节,0—65535 · 无符号长整型,占4个字节0—4294967295
3.5 字符型数据
3.5.1 字符常量
字符型数据是用单引号括起来的单个字符,形式为: ‘字符’。 字符常数是一个整数,值为所用计算机字符集中一个 字符的ASCII编码值(称为字符码),机器字符集一 般为ASCII字符集。 ‘字符’—单引号内的字符有两种表示方法: (1)用字符的图形符号表示一个字符, 形式为: ‘字符的图形符号’。 (2)用转义序列表示一个字符,形式为: ‘转义序列’。转义序列是由反斜线(\)开头的 一个特殊字符串,每个转义序列表示字符集中的一 个字符。如教材48页表3.3。
3.标识符的有效长度 • 有效长度 • 能够被编译程序识别并区别于其它标识符的 那一部分,所包含的字符数目称为标识符的 有效长度。 • C规定:标识符的有效长度为前31个字符,超 过部分忽略。
前31个字符
• 例:abcd……z12345 abcd……z123456789 被视为同一标识符,因后者中的6789已被忽略
• 例: 正确的标识符:
• • program PI r0 A file_2 _ab a12 ab_

• • • • • • • •
不正确的标识符:
yes? (含有不合法字符“?”) 2from (第一个字符不允许为数字) yes no (标识符中不允许有空格) yes/no (含有不合法字符“/”) πr (“π”为不合法字符) Order.no (小数点(.)不是字母也不是数字) Up-to (减号(-)不是字母也不是数字)非法表示 P->x ( ->不是字母也不是数字) Name[i] ([] 不是字母也不是数字)

浙江大学C语言总复习题—基本数据类型和运算.doc

浙江大学C语言总复习题—基本数据类型和运算.doc

第2章基本数据类型和运算学习和解题要点1.数据类型C 语言中的数据类型比别的语言丰富。

要学好这部分内容,首先要掌握C 语言的数据在内存中的表示。

整型数据:以二进制的形式表示(1) int 类型正数:如 123 (+123)用 16 位二进制(二个字节)表示原码最大正整数 215-1=214+213+23+22+21+20=32767负数:如–123原码反码(符号位不动,其它取反)补码(补码加已知补码求原负数符号位不动,其它取反加 1加最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16 位二进制都用来表示数,因此最大数 215+214+213+23+22+21+20=65535最小数 0(3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short用16 位二进制(二个字节)表示。

因此C语言中,short一定是短整型,long一定是长整型,而int因不同的系统而不同。

PC 586 机int即short,所以一般不用short 。

(5) 在C语言中,整型常量有三种形式的写法:十进制整数(0 - 9)表示。

通常整数的写法。

八进制整数(0 - 7)表示。

在整数的前面加数字0。

十六进制整数(0 - f)表示。

在整数的前面加0x。

长整型常量表示方法:在整数的后面加L或 l。

字符型数据:以二进制的形式表示char 型用 8位二进制(一个字节)表示如‘a’,在程序中要用单引号表示,输出时无单引号,内存中表示为6+25+20=97 即ASCII 码 97实型数据:以二进制的形式表示(1) float 类型如 123.45 (+123.45)用 32 位二进制(四个字节)表示为 0.12345×103不同的系统,n的位数有不同,n长,精度高,但可表示的指数小,能表示的数的范围小。

C语言程序设计基本数据类型及运算

C语言程序设计基本数据类型及运算

C语言程序设计基本数据类型及运算C语言是一种通用的程序设计语言,广泛应用于嵌入式系统、操作系统以及各类应用软件的开发。

在C语言中,基本数据类型是构建程序的基础。

本文将介绍C语言中的基本数据类型及其运算。

C语言中的基本数据类型包括整型、浮点型、字符型和布尔型。

其中整型包括有符号整型和无符号整型,浮点型包括单精度浮点型和双精度浮点型。

字符型用于表示字符和字符串,布尔型则表示真或假的逻辑值。

整型数据类型可以存储整数值,有符号整型可以表示正负整数,而无符号整型只能表示非负整数。

在C语言中,有符号整型的大小可以用关键字signed来表示,默认为signed int。

无符号整型的大小可以用关键字unsigned来表示,默认为unsigned int。

整型有不同的长度,如char(字符型)为1字节,int为4字节,long为8字节等。

以下是C语言中的整型数据类型及其范围:- char:1字节,范围为-128到127(有符号),0到255(无符号)- short:2字节,范围为-32,768到32,767(有符号),0到65,535(无符号)- int:4字节,范围为-2,147,483,648到2,147,483,647(有符号),0到4,294,967,295(无符号)- long:8字节,范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807(有符号),0到18,446,744,073,709,551,615(无符号)浮点数是用于存储小数的一种数据类型。

C语言提供了两种浮点型数据类型:float和double。

float为单精度浮点型,占用4字节;double为双精度浮点型,占用8字节。

浮点型数据在内存中存储的形式为二进制浮点数。

字符型数据用于表示字符和字符串。

C语言中的字符型数据类型为char,占用1字节。

字符可以用单引号来表示,如'a'、'b'、'c'等。

浙大《C程序设计》练习题 数据类型与表达式

浙大《C程序设计》练习题 数据类型与表达式

第5章数据类型与表达式1.已有如下定义和输入语句,若要求a,b,c,d可得到的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是,其中”└┘”表示空格。

int a,b;char c,d;scanf("%d%c%d%c",&a,&c,&b,&d);A. 10A└┘20B<回车>B. 10└┘A└┘20└┘B<回车>C. 10A20B<回车>D. 10A20└┘B<回车>2.执行语句:printf("The program\'s name is c:\\tools\book.txt");后的输出是。

A. The program's name is c:tools book.txtB. The program's name is c:\tools book.txtC. The program's name is c:\\tools book.txtD. The program's name is c:\toolook.txt3. 设有语句char a='\72'; 则变量a______。

A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法4. 不合法的C语言赋值语句为______。

A. ++a;B. n1 =(n2 =(n3= 0));C. a = b== c;D. k = a + b=1;5.正确的语句是______。

A. int x=y=z=0;B. int z =(x+y)++;C. x=+3==2;D. x%=2.5;6. 设a,b,c均定义为int 型,且已赋于大于1 的数,能正确表达1/(abc)的表达式是______。

A. 1/a*b*cB. 1/(a*b*c)C. 1.0/a*b*cD. 1.0/a/b/c7.若变量已正确定义,与语句if(a>b)k=0;else k=1;等效的是______。

语言基本数据类型及运算

语言基本数据类型及运算
符 号 常 量 (三)
·带参的宏定义 形式:#define 宏名(参数标) 字符串 说明: (1)在使用时,要将程序中宏名后的实际参数代入字符串中参数的位置。 例如:#define S(a,b) a*b · · area=S(3,2); 经编译预处理,该语句被展开为area=3*2; (2)宏名与参数表左括号之间不能有空格。 (3)字符串中应注意括号的使用,以保证运算次序。 例如:#define S(a,b) (a)*(b) · · area=S(1+2,2) 经展开后变成area=(1+2)*(2);
单/击/此/处/添/加/副/标/题/内/容
单击此处可添加副标题
标识符是C语言编程时用来标志识别的符号。 ANSI C规定:由字母或下划线开头,后跟字母,数字或下划线任意组合的字符序列。 正确:count,test123,high_balance,PI 不正确:1count,hi!three,high..balance,a+b 说明: 标识符中大小写字母是有区别的。 不同的系统对标识符的长度有不同的要求。 一般应做到见名知意,以提高程序的可读性。
变量的定义
变量定义的形式: 类型 变量名表; 例如:int I,j,num; float a,b,sum; 说明: (1)类型必须是C语言的有效数据类型。 (2)变量名表可以是一个或多个标识符名,中间以逗号分隔,最后以分号结束。 (3)变量名可以是C语言中允许的合法标识符。 (4)所有变量都应先定义后使用。
说明
C语言中的各种类型的变量
整型变量 注意:在使用整型变量时一定要注意数值的范围,超过该变量允许的使用范围将导致错误的效果。 实型变量 可分为单精度型(float)和双精度型(double)两类。 字符型变量

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

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

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5)d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设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) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式c b a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的C 语言表达式是( ) a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710*b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章基本数据类型和运算学习和解题要点1.数据类型C 语言中的数据类型比别的语言丰富。

要学好这部分内容,首先要掌握C 语言的数据在内存中的表示。

整型数据:以二进制的形式表示(1) int 类型正数:如 123 (+123)用 16 位二进制(二个字节)表示原码最大正整数 215-1=214+213+23+22+21+20=32767负数:如–123原码反码(符号位不动,其它取反)补码(补码加已知补码求原负数符号位不动,其它取反加 1加最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16 位二进制都用来表示数,因此最大数 215+214+213+23+22+21+20=65535最小数 0(3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short用16 位二进制(二个字节)表示。

因此C语言中,short一定是短整型,long一定是长整型,而int因不同的系统而不同。

PC 586 机int即short,所以一般不用short 。

(5) 在C语言中,整型常量有三种形式的写法:十进制整数(0 - 9)表示。

通常整数的写法。

八进制整数(0 - 7)表示。

在整数的前面加数字0。

十六进制整数(0 - f)表示。

在整数的前面加0x。

长整型常量表示方法:在整数的后面加L或 l。

字符型数据:以二进制的形式表示char 型用 8位二进制(一个字节)表示如‘a’,在程序中要用单引号表示,输出时无单引号,内存中表示为6+25+20=97 即ASCII 码 97实型数据:以二进制的形式表示(1) float 类型如 123.45 (+123.45)用 32 位二进制(四个字节)表示为 0.12345×103不同的系统,n的位数有不同,n长,精度高,但可表示的指数小,能表示的数的范围小。

反之,则能表示的数的范围大,但精度低。

float 类型又称为“浮点”类型,把实数的小数点都看成在第一位,而用指数位“浮动”小数点。

(2) double 类型与float同只不过用 64 位二进制(八个字节)表示。

因此精度高,称双精度。

2.变量的概念C语言中的变量可以理解成计算机内存的一个空间,它必须有一个名字(标识符),可放什么样的数据类型(如定义时前面加int 、float 、char 等),它是开辟在内存的一般数据区(又称静态数据区)还是开辟在内存的堆栈区(又称动态数据区),这可由程序中用static或auto(可缺省)来规定。

同时,一个变量有它的有效的使用范围,称之为作用域。

最后,每个变量都有地址,这在指针类型时要用到。

变量可以一边定义一边赋初值,在程序运行时可以使它发生变化,因此称之为变量。

3.运算符的注意事项(1)双目运算符 % 的两边一定是要整数,运算结果是整除后的余数,也是整数,注意2%5 得2而不是 0。

(2)双目运算符 / 的两边如果是整数,则结果也是整数,5/2 结果为 2而不是 2.5 ,即使是 float x; x=1/2; x 中也只有 0.0 , 要人为的写成 x=1/2.0 或 x=1.0/2 ,x中才是0.5 。

(3)单目运算符 ++ -- 放在运算对象的前面时,称为“先加(减) 1,后使用”,这一般不会搞错。

当放在运算对象的后面时,称为“先使用,后加(减) 1”,这时要注意什么时候“使用”。

如 i=3; (i++)+(i++)+(i++) 结果是9而不是12,这里,三个i相加是“使用”,使用后才三次加1,i成为6,“使用”是以整个表达式为准。

而 i=3; (++i)+(++i)+(++i) 结果是18而不是15,这里,三个i依次加1 成为6,然后再“使用”。

也是以整个表达式为准。

又如 i=1; if(i--) printf(“%d”,i); 输出是0而不是1。

这是因为if()中i-- 是整个表达式,先用i为1,用于“判断”成立,这算“使用”了,然后i减1成为0,输出时i 已为0。

同理 char c=’A’; switch(c++) { case ‘A’: printf(“%c”,c);break;………},输出为B。

(4). 算术自反赋值运算符中,注意 = 赋值号右边是一个整体,如 c%=a-3 是c=c%(a-3)而不是 c=c%a-3。

(5). 关系运算符中,注意等于比较运算符“==”与赋值运算符“= ”容易疏忽,二者是绝然不同的,不然会引起很大的错误。

如:i=0; if(i==1) 判断得结果应该是不成立,若写成:if(i=1)则变成给i赋予1,赋值表达式的结果也是1,判断结果是成立的。

(6). 应该熟记运算符及其优先级汇总表,熟记运算符之间的运算次序及结合方向。

4.表达式注意的问题(1). 在算术表达式中应注意各类数值型数据间的混合运算问题,如下:double float float 型一定先转换成double型参加运算。

long运算对象不同时转换方向。

unsignedint char, short char, short型一定先转换成int型参加运算。

(2). C语言无“真假值”,判断成立则结果为1,不成立则结果为0。

而当表达式的值为非0则认为“真”,当表达式的值为0则认为“假”。

(3). 关系表达式中,数学上的 0<x<10不能写成 0<x<10 而应写成 0<x && x<10,不然会引起很大的错误。

如:当 x=20 时,数学上0<x<10是不符合的,但在C程序中认为成立。

这是因为C程序从左向右判别,0<x成立,则结果为1,1<10也成立。

(4).在“&&”连接的逻辑表达式中,当左边表达式的值为0,则C语言不再计算右边表达式,因为无论右边表达式的值为什么,整个逻辑表达式的值都为0。

同样,在“||”连接的逻辑表达式中,当左边表达式的值为非0,则C语言不再计算右边表达式,因为无论右边表达式的值为什么,整个逻辑表达式的值都为1 。

如:int a=b=m=n=1; (m=a!=b)&&(n=a!=b) a!=b不成立为0,m得0,n仍为1int a=b=m=n=0; (m=a==b)||(n=a==b) a==b成立为1,m得1,n仍为0(5). C语言中,赋值号“=”,逗号“,”都是运算符。

a=10是赋值表达式,a=10;是赋值语句,sum=0,i=0是逗号表达式,它是由二个赋值表达式用逗号运算符连起来的逗号表达式。

练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。

A.”a” B. {ABC} C. ’abc\0’ D. ’a’2.下列数据中属于“字符串常量”的是()。

A.ABC B. “ABC” C. ’abc’ D. ’a’3. 在PC机中,’\n’在内存占用的字节数是()。

A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占用的字节数是()。

A. 5B. 6C. 3D. 45.字符串”ABC”在内存占用的字节数是()。

A. 3B. 4C. 6D. 86.字符串”\”ABCD\””在内存占用的字节数是()。

A. 4B. 6C. 7D. 87. 在C语言中,合法的长整型常数是()。

A. 0LB. 4962710C. 0.054838743D. 2.1869e108.在C语言中,合法的短整型常数是()。

A. OLB. 0821C. 40000D. 0x2a9.下列数据中不属于“字符常量”的是()。

A. ‘\a’B. ‘\160’C. ‘070’D. 07010.char型常量在内存中存放的是()。

A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值11.设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()。

A. 0,0B. 0,1C. 1,0D. 1,112.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后,m,n的值是()。

A. 0,0B. 0,1C. 1,0D. 1,113.设a为2,执行下列语句后,b的值不为0.5的是()。

A. b=1.0/aB. b=(float)(1/a)C. b=1/(float)aD. b=1/(a*1.0) 14.设a为5,执行下列语句后,b的值不为2的是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:215. 执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为()。

A. 3,3,2B. 3,2,2C. 3,2,3D. 2,3,216. int b=0,x=1; 执行语句“if(x++) b=x+1;”后,x,b的值依次为()。

A. 2,3B. 2,0C. 3,0D. 3,217.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是()。

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

A. 3B. 0C. 9D. -1219. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。

A. 1B. 0C. -1D. 出错20.在以下一组运算符中,优先级最高的运算符是()。

A. <=B. =C. %D. &&21.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。

A. 0B. 1C. 2D. 表达式出错22.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。

A. 4,4B. 6,6C. 4,6D. 6,423.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。

A. 6B. 9C. 8D. 表达式出错24.设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是()。

A. 6B. 12C. 15D. 表达式出错25.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。

A. 3,3B. 5,4C. 4,5D. 6,626.若已定义x和y为double类型,则表达式;x=1,y=x+3/2的值是()。

相关文档
最新文档