当前位置:文档之家› 《C语言程序设计》第2章 数据类型与运算练习题及解答

《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语言的关键字。

2.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)1.607E-1 B)0.7204e C)-77.77 D)234e-2

答案:B

解析:实型常量表示时字母E或e前必须有数字,其后数字必需为整数,故B错。

5.若变量已正确定义并赋值,以下符合C语言语法的表达式是

A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b

答案:B

解析:选项A)中包含一个不合法的运算符“:=”;选项C)应改为(int)18.5%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,Car

C)For, -abc, IF Case D)2a, DO, sizeof

答案:B

解析: C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D)。C语言中还规定标识符不能为C语言的关键字,而选项A)中void为关键字,故排除选项A)。

7.C语言中运算对象必须是整型的运算符是

A)%= B)/ C)= D)<=

答案:A

解析: C语言规定:取余运算符的运算对象必须是整型,复合运算符“%=”中包含%运算,它的运算对象也必须是整型。

8.若变量a,i已正确定义,且i已正确赋值,合法的语句是

A)a= =1 B)++i; C)a=a++=5; D)a=int(i);

答案:B

解析:选项A是一个表达式,因为缺少分号,所以不是语句;选项C)包含一个不合法的运算符“++=”;选项D)应改为a=(int)i;。

9.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A)x&&y B)x<=y C)x||++y&&y-z D)!(x

答案:D

解析:该题考查逻辑与“&&”和逻辑或“||”以及逻辑非“!”符号的用法。选项A)即3&&4为真,选项B)即3<=4为真,选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真,此时选项C)变为1&&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。

10.有以下程序

main()

{int i=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);

}

执行后输出结果是

A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3

答案:C

解析:该题目的关键是要搞清楚“&&”和“||”两个逻辑运算符的运算功能。运算符“&&”和“||”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真时,才需要判别后面的值。只要前面为假,就不必判别后面的值。而逻辑或则为只要前为真,就不必判别后面的值;只有前为假,才判别后。本题中j++值为真,不进行k++的运算,所以k的值保持不变。

11.设int x=1,y=1;表达式(!x||y--)的值是

A)0 B)1 C)2 D)-1

答案:B

解析:C语言规定的运算优先级由高到低分别是逻辑非、算术运算、逻辑或。所以先计算!x,值是0,然后再计算y--,由于是后缀运算符,所以y在本次运算中的值仍然是1,最后计算0||1,值为1。

12.若有说明语句:char c='\72';则变量c

A)包含1个字符 B)包含2个字符

C)包含3个字符 D)说明不合法,c的值不确定

答案:A

解析: C语言的字符型常量中,允许用一种特殊形式的字符常量,就是以一个“\”开头的字符。其中“\ddd”表示用ASCII码(八进制数)表示一个字符,本题中的char c=′\72′即表示占一个字符的变量c的ASCII码值。

13.在C语言中,退格符是

A)\n

B)\t

C)\f

D)\b

答案:D

解析: C语言的转义字符见下表所示。

14.在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。

A)1 0 B)0 1 C)非0 非0 D)1 1

答案:A

解析:在C程序中,判断逻辑值时,用非0表示真,用0表示假。逻辑表达式计算时,逻辑表达式值为真是用1表示的,若逻辑表达式的值为假,则用0表示。

15.字符型数据在机器中是用ASCII码表示的,字符“5”和“7”在机器中表示为

A)10100011和 01110111 B)01000101和01100011

C)00110101和00110111 D)01100101和01100111

答案:C

解析:为便于表示各种数据类型,机器中采用了BCD码(表示十进制数)、ASCII码(字符型)、汉字机内码等等各种码。数据采用了补码、原码和反码为表示形式。实型数据表示方法有浮点法和定点法等,考生需熟练掌握各种码的含义,并用之来计算、比较。需要提出的是,在机器内部,所有码都是由二进制编码而成的,它都是以二进制存储在机器之中的。字符“5”和“7”的ASCII的值分别为53和55,其二进制形式分别为00110101和00110111。

16.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后

a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是

A)***a=25,b=13,c=19 B)***a=26,b=14,c=19

C)### a=25,b=13,c=19 D)### a=26,b=14,c=19

答案:C

解析:此题综合考查多种运算符的使用;首先计算表达式a<=25 &&b--<=2 &&c的值,很容易看出b--<=2的值为假,因此表达式为假;根据三目运算的特点,由于前面的表达式为假,应执行printf (“###a=%d,b=%d,c=%d\n”,a,b,c),应注意a的值依然为25,b的值经过b--运算后改变为13,而c的值仍为19。

17.若有定义: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

答案:A

解析: x+y的值为实型7.200000,经强制类型转化成整型7。a%3的值为1,1*7的值为7,7%2值为1。1/4的值为0,而非0.25,因而为两个整数相除的结果为整数,舍去小数部分。与实型x相加,最终得结果为2.500000。

18.有如下程序段

int a=14,b=15,x;

char c=′A′;

x=(a&&b)&&(c<′B′);

执行该程序段后,x的值为

A)ture B)false C)0 D)1

答案:D

解析:在C语言中,逻辑运算符有4个,它们分别是:!(逻辑非)、||(逻辑或)、&&(逻辑与)、^(异或)。在位运算里面还有&(位与)、|(位或)的运算。本题考查逻辑与运算符的用法,在表达式x=(a&&b)&&(c<′B′);中,先判断a&&b条件,逻辑与条件的两边都要保证为1,即a和b都成立,当然c<′B′是成立的,显然,该表达式的值为1。

19.在以下一组运算符中,优先级最高的运算符是

A)<= B)= C)% D)&&

答案:C

解析:关系运算符、逻辑与和算术运算符总算术运算符的优先级最高,故选C)。

20.以下选项中,与k=n++完全等价的表达式是

A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1

答案:A

解析: k=n++的意思是先将n的值赋给k,然后n的值再加1,选项A)符合题意;选项C)是先使n的值加1,然后再赋值给k;选项D)等价于k=k+(n+1)。

21.以下选项错误的是

A)main() B)main()

{ int x,y,z; { int x,y,z;

x=0;y=x-1; x=0,y=x+1;

z=x+y;} z=x+y;}

C)main() D)main()

{ int x; { int x,y,z;

int y; x=0;y=x+1;

x=0,y=x+1; z=x+y,}

z=x+y;}

答案:D

解析:在选项A)中的语句没有一条是错误的。选项B)和C)中有一个逗号表达式,选项B)中是x=0,y=x+1;在选项C)中是y=x+1,z=x+y;所以B)和C)中也没有错误。选项D)中的最后一条语句是以逗号结束的,而C语言中不能用逗号作为一个语句的结束标志,每一条语句最后应该是分号,所以D)选项中的程序是错误的。

22.以下4个选项中,不能看做一条语句的是

A); B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5)x=2;y=6;

答案:D

解析:选项D)为两条语句。

23. 下列运算符中优先级最高的是________。

A) < B) + C) && D) ! =

答案:B

24.判断char型变量ch是否为大写字母的正确表达式是________。

A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z')

C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch)

25.设int a=12,则执行完语句a+=a-=a*a后,a的值是________。

A) 552 B) 264 C) 144 D) -264

答案:D

26. 设a=5, b=6, c=7, d=8, m=2,n=2, 执行

(m=a>b)&&(n=c>b) 后n的值为________。

A)1 B)2 C)3 D)4

答案:B

27. 逻辑运算符两侧运算对象的数据类型________。

A)只能是0或1 B)只能是0或非0正数

C)只能是整型或字符型数据 D)可以是任何类型的数据

答案:D

28.正确表示"当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是________。

A)(X>=1)&&(X<=10)&&(X>=200)&&(X<=210)

B)(X>=1)|| (X<=10)|| (X>=200) || (X<=210)

C)(X>=1)&&(X>=10) || (X>=200)&&(X<=210)

D)(X>=1) || (X<=10)&& (X>=200) || (X<=210)

答案:A

29. 设x,y和z是int 型变量,且x=3,y=4,z=5,则下面表达式中值为0的是________。

A)'x' &&'y' B)x<=y C)x || y+z&&y-z D)!((x

答案:D

30. 已知x=43,ch='A',y=0;则表达式x=y&& ch<'B'&&!y的值是________。

A)0 B)语法错 C) 1 D) "假"

答案:D

31.若希望当A的值为奇数时,表达式的值为"真"。A的值为偶数时,表达式的值为"假"。

则以下能满足要求的表达式是________。

A)A%2==1 B)!(A%2= =0) C)!(A%2) D)A%2

答案:A

32.不合法的常量是________。

A) '\2' B) '""'(外面是单引号) C) " " D)"\483"

答案:D

33.若有以下定义

char s='\092'; 则该语句________。

A)使s的值包含一个字符 B)定义不合法,s的值不确定

C)使s的值包含4个字符 D)使s的值包含3个字符

答案:B

34.下列正确的字符常量是________。

A、"C"

B、'\\''

C、'W' D''

答案:C

下列不正确的字符串常量是________。

A) 'ABC' B) "W'" C) "SDF/3" D) " "

答案:B

35.若定义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.50000 D) 0.000000

36.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是________。

A) int B) float C) double D) char

答案:C

37.执行下列语句int a=3,b;b=-(--a);后a,b的值分别是________。

A) 2和-2 B) 2和-3 C) 3 和-2 D) 3 和-3

答案:D

38.执行下列语句float f=3.9;int a=4;f=(int)f+a;后f的值是________。

A) 7.9 B) 7.000000 C) 7.0 D) 出错

答案:B

39.执行下列语句int f=3,g,h;g=++f;g=f++;h=++g;后f和h的值是________。

A) 5和5 B) 6和5 C) 5和6 D) 4和5

答案:A

40.下列C语句格式错的是________。

A) int a=10; B) int a,b,z; C) a=2:b=3 ; D) z=a+b;

答案:C

41.下列变量定义中合法的是________。

A) int _a=1-.e-1; B) double b=1+5e2.5;

C) long x=12.5; D) float 2_and=1-e-3;

答案:C

42.以下______符合C语言语法的实型常量。

A) 1.3E0.5 B) .7E-2 C) 3.14159E D) E5

答案:C

43. 以下______符合C语言语法的赋值表达式。

A) d=8+e+f=d+a B) 8+e=f=d C) d=f=8+e++ D) d=8+e++=d+7

答案:C

44. 设有以下变量定义,并已赋确定的值

char w; int x; float y; double z;

则表达式:w+x+z/y值的数据类型为________。

A) char B) int C) float D) double

答案:D

45.若x为int类型,则下面与逻辑表达式!x等价的C语言关系表达式是________。

A) x==1 B) x!=1 C) x==0 D) x!=0

答案:C

46. 设int a=3;下列表达式值等于0的是______。

A) a && (a>0) B) !a||a C) a%=a D) a>=a

答案:C

47. 假定有以下变量定义:

int k=7,x=12;

则能使值为3的表达式是________。

A)x%=(k%=5) B)x%=(k-4%5) C)x%=k-k%5 D)(x%=k)-(k%=5)

48. 设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是________。

A)把x和y按从大到小排列 B)把x和y按从小到大排列

C)无确定结果 D)交换x和y中的值

答案:D

49.下面能正确表示"整数x的绝对值大于等于5"的C语言表达式是________。

A) x≥0 B) abs(x) ≥0 C) abs(x)>=0 D) abs(int(x))>=0

答案:C

50.以下所列的C语言常量中,错误的是________。

A) 0xFF B) 1.2e0.5 C) 1.0/2.0 D) '\72'

答案:C

二.填空题。

1.在C语言中用关键字【1】定义整型类型变量,用关键字float定义单精度实型变量,用关键字double 定义双精度实型变量。

答案:【1】int

解析:C语言中规定用关键字int定义整型变量。

2. 3.5+1/2的计算结果是【2】

答案:【2】3.5

解析:1/2的值为0,故3.5+1/2的值为3.5。

3.设y是int型,请写出y为奇数的关系表达式【3】。

答案:【3】 (y%2)==1 或 (y%2)!=0

4.设int a=5,b=6,表达式(++a==b--)?++a:--b的值是【4】。

答案:【4】7

解析:此表达式为三目运算符,++a的值为6,b--的值为6,则整个表达式的值为++a的值,++a的值为7。请注意前缀++,--和后缀++,--的区别。

5.以下程序的输出结果是【5】。

int a=1234;

printf ("%2d\n",a);

答案:【5】1234

解析:在%与格式符之间插入一个整形数来指这输出宽度,并不影响数据的完整性,当插入的宽度小于实际的宽度时,则实际的宽度输出。

6. 以下程序的输出结果是【6】。

main()

{int a=0;

a+=(a=8);

printf("%d\n",a);}

答案:【6】16

解析:赋值表达式的值就是所赋值变量的值,本题中a+=8相当于a=a+8,对表达式逐步进行求解:a+=(a=8)此时,a的值由于赋值为8,而不是0

a+=8

a=a+8

a=16

7.在计算机中,字符的比较是对它们的【7】进行比较。

答案:ASCII码

解析:【7】 C语言中,字符也可以进行比较运算,且是按照ASCII码值进行的。

8.在内存中,存储字符′x′要占用1个字节,存储字符串″X″要占用【8】个字节。

答案:【8】2

解析:计算机存储一个字符用1个字节,存储字符串时,每个字符用占用1个字节,另在字符串的有效字符之后存储1个字符串的结束标记符。所以存储字符串“X”要占用2个字节,存储字符′x′只要1个字节。

9. 以下程序的运行结果是【9】。

main()

{

int m=5;

if(m++>5)

printf("%d\n"m);

else

printf("%d\n",m - -);

}

答案:【9】6

10.设有 int x=8; 则表达式 (++x*1/3) 的值是【10】。

答案:【10】3

11. 设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为【11】。

答案:【11】32

12.设int类型的数据长度为2个字节,则unsigned int 类型数据的取值范围是【12】。

答案:【12】0至65535

13.执行以下语句后b的值为【13】。

int a,b,c; a=b=c=1; ++a||++b&&++c;

答案:【13】1

14.设 int x=2, y=1;

则表达式(!x||y--)的值是【14】。

答案:【14】1

15.设int a=5,b=2,c=3,d=4;则表达式a>b?a:c>d?c:d值为【15】。

答案:【15】5

16.若有以下程序段,

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3的值是【16】。

答案:【16】0

17. 有程序:

main()

{

int y=3,x=3,z=1;

printf("%d %d\n",(++x,y++),z+2);

}

运行该程序的输出结果是【17】。

答案:【17】3 3

18. 能正确表示逻辑关系:"a≥5或a≤-1"的C语言表达式是【18】。

答案:【18】a>=5||a<=-1

19. 执行下面程序段:

int a=10,b=9,c;

c=(a-=(b-5));

c=(a%11)+(b=3);

则变量b的值是【19】。

答案:【19】9

20.假定w、x、y、z、m均为整型变量,且w=1, x=2, y=3, z=4则执行语句:m=(w

答案:【20】1

(完整版)第二章矩阵及其运算作业及答案

第二部分 矩阵及其运算作业 (一)选择题(15分) 1.设,均为n 阶矩阵,且,则必有( )A B 22 ()()A B A B A B +-=-(A) (B) (C) (D) A B =A E =AB BA =B E =2.设,均为n 阶矩阵,且,则和( ) A B AB O =A B (A)至多一个等于零 (B)都不等于零 (C) 只有一个等于零 (D) 都等于零 3.设,均为n 阶对称矩阵,仍为对称矩阵的充分必要条件是( ) A B AB (A) 可逆 (B)可逆 (C) (D) A B 0AB ≠AB BA =4.设为n 阶矩阵,是的伴随矩阵,则=( ) A A *A A *(A) (B) (C) (D) 1n A -2n A -n A A 5.设,均为n 阶可逆矩阵,则下列公式成立的是( ) A B (A) (B) ()T T T AB A B =()T T T A B A B +=+(C) (D) 111()AB A B ---=111 ()A B A B ---+=+(二)填空题(15分) 1.设,均为3阶矩阵,且,则= 。 A B 1 ,32A B ==2T B A 2.设矩阵,,则= 。 1123A -?? = ???232B A A E =-+1B -3.设为4阶矩阵,是的伴随矩阵,若,则= 。 A A *A 2A =-A *4.设,均为n 阶矩阵,,则= 。 A B 2,3A B ==-12A B *-5.设,为整数,则= 。 101020101A ? ? ?= ? ??? 2n ≥12n n A A --(三)计算题(50分) 1. 设,,且,求矩阵。 010111101A ?? ?=- ? ?--??112053B -? ? ? = ? ??? X AX B =+X

矩阵及其运算测试题

第二章 矩阵及其运算测试题 一、选择题 1.下列关于矩阵乘法交换性的结论中错误的是( )。 (A)若A 是可逆阵,则1A -与1A -可交换; (B)可逆矩阵必与初等矩阵可交换; (C)任一n 阶矩阵与n cE 的乘法可交换,这里c 是常数; (D)初等矩阵与初等矩阵的乘法未必可交换。 2.设n (2n ≥)阶矩阵A 与B 等价,则必有( ) (A) 当A a =(0a ≠)时,B a =; (B)当A a =(0a ≠)时,B a =-; (C) 当0A ≠时,0B =; (D)当0A =时,0B =。 3.设A 、B 为方阵,分块对角阵00A C B ??= ??? ,则* C =( )。 (A) **00 A B ?? ??? (B) **||00 ||A A B B ?? ??? (C) **||00||B A A B ?? ??? (D) **||||0 0||||A B A A B B ?? ??? 4.设A 、B 是n (2n ≥)阶方阵,则必有( )。 (A)A B A B +=+ (B)kA k A = (C) A A B B =-g (D) AB A B = 5.设4阶方阵 44(),()||,ij A a f x xE A ?==-其中E 是4阶单位矩阵,则()f x 中3 x 的系数为( )。 (A)11223344()a a a a -+++ (B)112233112244223344113344a a a a a a a a a a a a +++ (C) 11223344a a a a (D)11223344a a a a +++ 6.设A 、B 、A B +、11A B --+均为n 阶可逆矩阵,则1()A B -+为( )。 (A) 11A B --+ (B) A B + (C) 111()A B ---+ (D)11111()B A B A -----+

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语言数据类型及表示范围

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) {} 是三个不同的函数。

第二章矩阵及其运算作业及答案

第二部分 矩阵及其运算作业 (一)选择题(15分) 1.设A ,B 均为n 阶矩阵,且22()()A B A B A B +-=-,则必有( ) (A) A B = (B) A E = (C) AB BA = (D) B E = 2.设A ,B 均为n 阶矩阵,且AB O =,则A 和B ( ) (A)至多一个等于零 (B)都不等于零 (C) 只有一个等于零 (D) 都等于零 3.设A ,B 均为n 阶对称矩阵,AB 仍为对称矩阵的充分必要条件是( ) (A) A 可逆 (B)B 可逆 (C) 0AB ≠ (D) AB BA = 4.设A 为n 阶矩阵,A *是A 的伴随矩阵,则A *=( ) (A) 1n A - (B) 2n A - (C) n A (D) A 5.设A ,B 均为n 阶可逆矩阵,则下列公式成立的是( ) (A) ()T T T AB A B = (B) ()T T T A B A B +=+ (C) 111()AB A B ---= (D) 111()A B A B ---+=+ (二)填空题(15分) 1.设A ,B 均为3阶矩阵,且1 ,32A B ==,则2T B A = 。 2.设矩阵1123A -??= ??? , 232B A A E =-+,则1B -= 。 3.设A 为4阶矩阵,A *是A 的伴随矩阵,若2A =-,则A *= 。 4.设A ,B 均为n 阶矩阵,2,3A B ==-,则12A B *-= 。 5.设101020101A ? ? ?= ? ??? ,2n ≥为整数,则12n n A A --= 。 (三)计算题(50分) 1. 设010111101A ?? ?=- ? ?--??,112053B -?? ?= ? ??? ,且X AX B =+,求矩阵X 。

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

第二章基本数据类型及运算 一、选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是。 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 答案:C 2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0 C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0 答案:C 3. 下列C语言中运算对象必须是整型的运算符是。 A) %= B) / C) = D) *= 答案:A 4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A) 0 B) 0.5 C) 1 D) 2 答案:A 5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 答案:D 6. 下列变量定义中合法的是。 A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; 答案:A 7. 以下4个选项中,不能被看作是一条语句的是。 A) {;} B) a=0,b=0,c=0; C) if (a>0); D) if (b==0)m=1;n=2; 答案:D 8. 设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9. 在C语言中不合法的整数是。 A)20 B)0x4001 C)08 D)0x12ed 答案: C 10. 以下选项中不正确的实型常量是 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

C语言基本数据类型简介

C语言基本数据类型简介 1.概述 C 语言包含的数据类型如下图所示: 2.各种数据类型介绍 2.1整型 整形包括短整型、整形和长整形。 2.1.1短整形 short a=1; 2.1.2整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值围是 -2147483648~2147483647,在存中的存储顺序是地位在前、高位在后,例如0x12345678在存中的存储如下: 地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b 数据:78563412 定义:用int关键字,举例如下: int a=6; 2.1.3长整形 long a=10; 2.2浮点型 浮点型包括单精度型和双精度型。 2.2.1单精度型 浮点型,又称实型,也称单精度。一般占4个字节(32位), float a=4.5; 地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b 数据:00009040 2.2.2双精度型 一般占8个字节(64位) double a=4.5;

地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b0x0012ff7c 0x0012ff7d0x0012ff7e0x0012ff7f 数据:0000000000 001240 2.3字符类型 在各种不同系统中,字符类型都占一个字节(8位)。定义如下: char c='a'; 也可以用字符对应的ASCII码赋值,如下: char c=97; 3.数据类型与“模子” short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。 现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在存上咔咔咔,不同大小的存就分配好了,当然别忘了给它们取个好听的名字。 在32 位的系统上 short 短整型的存2 byte; int 整型的存4 byte; long 长整型的存4 byte; float 单精度浮点型的存4byte;仅能接收7位有效数字 double 双精度浮点型的存8 byte;可以接收16位有效数字 char字符型的存1 byte。 fabs单精度浮点型存4byte. (注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下) 很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多存块,你总不能

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

基本数据类型及运算 一、选择题 1.若以下选项中的变量已正确定义,则正确的赋值语句是。 A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3; 答案:C 2.设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A)x=x*100+0.5/100.0B)x=(x*100+0.5)/100.0 C)x=(int)(x*100+0.5)/100.0D)x=(x/100+0.5)*100.0 答案:C 3.下列C语言中运算对象必须是整型的运算符是。 A)%=B)/C)=D)*= 答案:A 4.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A)0B)0.5C)1D)2 答案:A 5.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是。 A)把x和y按从大到小排列B)把x和y按从小到大排列 C)无确定结果D)交换x和y中的值 答案:D 6.下列变量定义中合法的是。 A)short_a=1-.le-1;B)double b=1+5e2.5; C)long do=0xfdaL;D)float2_and=1-e-3; 答案:A 7.以下4个选项中,不能被看作是一条语句的是。 A){;}B)a=0,b=0,c=0; C)if(a>0);D)if(b==0)m=1;n=2; 答案:D 8.设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9.在C语言中不合法的整数是。 A)20B)0x4001C)08D)0x12ed 答案:C 10.以下选项中不正确的实型常量是 A)2.607E-1B)0.8103e0.2C)-77.77D)456e–2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11D)0x19

c语言基本数据类型

c语言基本数据类型short、int、long、char、float、double C 语言包含的数据类型如下图所示:

一、数据类型与“模子” short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。 现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。 在32 位的系统上short 咔出来的内存大小是2 个byte; int 咔出来的内存大小是4 个byte; long 咔出来的内存大小是4 个byte; float 咔出来的内存大小是4 个byte; double 咔出来的内存大小是8 个byte; char 咔出来的内存大小是1 个byte。 (注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下) 很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多内存块,你总不能给他取名字叫做x1,x2,x3,x4,x5…或者长江1 号,长江2 号…吧。它们长得这么像(不是你家的老大,老二,老三…),过一阵子你就会忘了到底哪个名字和哪个内存块匹配了(到底谁嫁给谁了啊?^_^)。所以呢,给他们取一个好的名字绝对重要。下面我们就来研究研究取什么样的名字好。 二、变量的命名规则 1、命名应当直观且可以拼读,可望文知意,便于记忆和阅读。 标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。

第二章矩阵及其运算

第二章矩阵及其运算 第一节矩阵及其运算 一.数学概念 定义1.1由个数排成m行n列的数表 称为m行n列的矩阵,简称矩阵,记作 二.原理,公式和法则 1.矩阵的加法 (1) 公式 (2) 运算律 2.数乘矩阵 (1) 公式

(2) 运算律 3.矩阵与矩阵相乘 (1) 设, 则其中,且 。 (2)运算符(假设运算都是可行的): (3)方阵的运算 注意:①矩阵乘法一般不满足交换律。 ②一般 4.矩阵的转置 (1)公式

这里为A的转置矩阵。 (2)运算律 5.方阵的行列式 (1)公式 设A为n阶方阵,为A的行列式。 (2)运算律

6.共轭矩阵 (1)公式设为复矩阵,表示为的共轭复数,则为方阵的共轭矩阵。 (2)运算律(设A,B为复矩阵,为复数,且运算都是可行的): 第二节逆矩阵 一.数学概念 定义2.1设A为n阶方阵,若存在一个n阶方阵B使,则称矩阵A 是可逆的,并把矩阵称为A的逆矩阵。 1.可逆矩阵又称为非奇异矩阵。 2.不可逆矩阵又称为奇异矩阵。 二.原理,公式和法则 1. 定理 2.1方阵A可逆的充分必要条件是,且,其中 为A的伴随矩阵。 推论若AB=E(或BA=E)则B=A-1。 性质逆矩阵是唯一的。 2.运算律

①若A可逆,则A-1亦可逆,且。 ②若A可逆,数,则λA可逆,且。 ③若A,B为同阶矩阵且均可逆,则AB亦可逆,且 ④若A可逆,则A T亦可逆,且 第三节分块矩阵 一.数学概念 分块矩阵:用若干条横线和竖线将矩阵A分成若干小块,每一小块称为矩阵的子块,以子块为元素的矩阵为分块矩阵。 1.一般分块 2.按行分块

02 C语音基本数据类型

C语言基本数据类型 一、选择题 1. 合法的用户定义标识符是( ) A. P-S B. putchar C. double D. 908 2. 关于C语言用户标识符的叙述正确的是( ) A. 用户标识符中可以出现下划线和中划线(减号) B. 用户标识符中不可以出现中划线,但可以出现下划线 C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标示符的开头 3. 若有定义int a,变量a占用内存的2个字节,则a所能存储数据的最小值为( ) A.0 B. -32767 C.-32768 D. -65535 4. C语言中转义字符非法的是( ) A. …\t? B. …abc? C. …\0xaf? D. …\f? 5. 变量定义合法的是( ) A. short aL=5678 B. double b=1+5e2.5 C. long do=0xfdaL D. float 2_and=1e-3 6. 语句“printf(“a\bre\?hi\?y\\\bou\n”);”的输出结果是( ) A. a\bre\?hi\?y\\\bou B. a\bre\?hi\?y\bou C. re?hi?you D. abre?hi?y\bou 7. 若有说明语句“char a=?\285?;”则变量a ( ) A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 说明不合法 8. 数值最大的是( ) A. 74 B. 074 C. ...\101? D. (x43) 9. 下列符号串与45.67不同的常量是( ) A. 4.567e1 B. “45.67” C. .4567E2 D. 4567E-2 10. 以下叙述正确的是( ) A. a是实型变量,因此C语言不允许进行赋值a=10; B. 在赋值表达式中,赋值符号右边可以是变量、也可以是常量或表达式 C. 在赋值表达式中,赋值符号左边可以是变量、也可以是常量或表达式 D. 已有a=3,当执行了表达式a+6之后,使a中的值为9 11. 下面这段程序中的( )属于常量 main() { int sum; sum=10+sum;

数据结构中用到的 C语言基本知识

《数据结构》中必要的C语言基本知识 有必要将数据结构所必须使用的C语言语法在此做简单介绍。根据多年教学实践,学生完成上机实验练习时遇到的主要问题是,不能正确的输入数据,结构体概念陌生,函数的传址调用概念不清,指针与链表有的没有学过。由于篇幅所限,这里仅对前三个问题加以介绍。如果学生基础好,可以越过这一部分内容不看。 一、基本输入和输出 对于重要的数据结构算法,均要求进行上机实验。而上机实践中离不开数据的输入/输出。看起来简单的输入/输出,往往是上机实验最容易出错的地方,尤其是输入。对于一个算法程序,如果数据不能正确输入,算法设计得再好也无法正常运行。 1.输入 C语言的输入是由系统提供的scanf()等函数实现,在程序的首部一般要求写入: # include 因为标准输入/输出函数都存在于头文件stdio.h 之中,现将其包含进来方可使用这些常用的输入/输出函数。有的系统允许不使用上述包含语句,可以直接使用标准输入/输出函数。 函数scanf()的功能很丰富,输入格式也是多种多样,这是大家较为熟悉的知识,这里不做详细介绍。在使用中需要注意以下几个问题。 (1)一条scanf()语句有多个变量、并且都是数值型(int, float, double)时,在输入数据时应该在一行之内键入多个数据,数据之间空格分隔。例如: int n; float x; scanf (“%d %f ” , &n, &x); 正确的输入应是:整数空格实数回车。例如: 就是在两个数据之间使用空格键为分隔符,最后打回车键。 如果语句中在%d 和%f 之间有一个逗号: scanf (“%d ,%f ” , &n, &x); 正确的输入应是:整数逗号实数回车。例如: 100,3.14 (2)在需要字符型变量或字符串输入时,要单独写一条输入语句,这样不易出错。如果在同一条scanf()语句中将字符型和数值型混合输入常常会出错。因为键盘输入时在数值型数据之间‘空格键’起‘分隔符’作用,但是在字符或字符串之间,‘空格’会被当做一个字符,而不能起到‘分隔符’的作用。所以将它们混在一起容易出错。 (3)在scanf()语句中变量写法应该是该变量的地址,这一点常被忽视。 请看下列程序: 1: viod main() 2: { char name[10], ch ; 3: int num; float x; 4: printf(“\n 请输入姓名:”); scanf(“%s”, name); 5: printf(“\n 请输入性别:”); scanf(“%c”, &ch); 6: printf(“\n 请输入学号和成绩:”); scanf(“%d%f”, &n, &x);

C语言基本数据类型

C语言基本数据类型 数据类型基本类型 整型 整型常量 整形变量 字符型 实型(浮点型) 单精度型 双精度型 枚举类型 构造类型 指针类型 空类型 常量 在程序中,常量是可以不经过说明直接引用的,而变量则必须先说明后使用。 常量定义是指符号常量的定义,其用一个标识符来代表一个常量,通过宏定义预处理指令来实现。一旦定义,在程序中凡是出现敞亮的地方均可用符号常量名来代替。 其定义格式为:#define 标识符常量例如:#define L 5 变量 在使用变量前需要先对变量进行声明,变量说明的一般形式为: 类型说明符变量名标识符,变量名标识符,...; 建议读者将变量声明放在所有代码之前,即在main()函数的“{”付好后就开始声明变量。 整数型数据类型 整形数据类型 整型常量 八进制:必须以0开头 十六进制:前缀为0X或0x 十进制:前无前缀 整形变量 基本型:类型说明符为int,2字节,范围?32768~32767,声明:int a; 短整型:类型说明符short int或short,2字节,声明:short a; 长整型:类型说明符为long int或long,4字节,?232~232,声明:long a 无符号型:类型说明符unsigned,不能表示 如果使用的数超过了上述范围,就必须使用长整型来表示。长整型数是用后缀“L”或“l”来表示的。 2-1整型量所分配的内存字节数及取值范围 格间隔。 实型(浮点型)数据类型

浮点型数据类型 浮点型常量 浮点型变量 单精度型 双精度型 表2-2 实数型量所分配的内存字节数及取值范围 单精度型数据占32位的内存空间,能够提供7位有效数字,而双精度型数据占64位,可提供16位有效数字。 与整形数据类型使用%d作为printf库函数的格式输出符类似的,浮点型数据类型采用%f作为输出格式。字符型数据类型 字符型数据类型 字符常量字符串常量转义字符字符变量 [字符常量]是指用一对单引号括起来的字符。如…a?,…9?,…!?。字符常量中的单引号只起定界作用并不表示字符本身。单引号中的字符不能是单引号(‘)和反斜杠(\)。在程序中为一个字符加上一对单引号后,其即变为字符常量,字符常量可以与整型数据进行算术运算。例如大写字母‘A’比小写字母‘a’更小。这是因为A的ASCII码为65,而a的ASCII码为97。 转义字符\n表示换行。 [字符串常量]C Program包含9个字符(空格也是字符),根据C语言中一个字符在内存中只占一个字 [转义字符]是C语言中表示字符的一种特殊形式,是将反斜杠“\”后面的字符转换成另外的意义。如“\n”中,“n”不代表字母n而作为“换行符”。也就是说,我们想要控制换行或者空格等,但又想屏幕中不出现显示的字符(比如字母“n”、“t”),就用特殊的形式表示,这就是转义字符。 组成:反斜杠\ + 一个字符或一个八进制或十六进制数 [字符变量]与整型变量用来存放整型数据类型一样,字符变量用来存放字符常量,注意只能存放一个字符。形式:char字符变量标识符1,字符变量标识符2,…; 程序:#include main() { char ch1,ch2; /*定义字符变量*/ ch1=97; /*赋初值*/ ch2=98; printf(“%c,%c\n”,ch1,ch2);/*输出字符型变量ch1,ch2*/ ch1=ch1-32; /*字符型变量ch1,ch2之间的运算*/ ch2=ch2-32; printf(“%c,%c\n”,ch1,ch2);/*输出字符型变量ch1,ch2*/ } 字符型数据类型的格式输出符为%c,其中只代表一个字符。

2C语言中基本的数据类型包括

1、外部变量对程序中的任一函数而言,它们是( )A存在的; B可直接存取的; C不可见的; D 不可直接存取的 2、下列说法中错误的是 () A变量的定义可以放在所有函数之外;B变量的定义可以放在某个复合语句的开头;C变量的定义可以 放在函数的任何位置;D变量的定义可以不放在本编译单位中,而放在其它编译单位中 3、FILE *p的作用是定义了一个文件型指针(或指向文件的指针),其中的FILE结构是在( )头文件中 声明的A math.h; Bctype.h; Cstdlib.h; Dstdio.h 4、已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)的值是() A 1;B语法错;C“假” 5、下面能正确进行字符串赋值操作的是( ) A char s[5]={"ABCDE"};; Bchar s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};;Cchar *s;s="ABCDE";; Dchar *s;char a; scanf("%s",&s); 6、下列各数据类型不属于构造类型的是( ) A枚举型; B共用型; C结构型; D数组型; 7、下列对C语言字符数组的描述中错误的是A 字符数组可以存放字符串; B字符数组中的字符串 可以整体输入、输出; C 不可以用关系运算符对字符数组中的字符串进行比较; D 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值; 8、从作用域的角度来分,C语言的变量可以分成( ) A自动变量和寄存器变量; B局部变量和全局变 量; C 自动变量和外部变量; D静态变量和动态变量 9、正确的表达关系式a大于等于b平方或不等于c的C语言是 A(a>=b**2)||(a<>c); B(a>=b*b)&&(a!=c); C(a>=b*b)OR(a!=c); D(a>=b*b)AND(a!=c) 10、下面C语言程序段的功能是() file *fp; fp=fopen("test.dat","wb"); A以读方式打开文本文件test.dat;B以写方式打开文本文件test.dat C以读方式打开二进制文件test.dat; D 以写方式打开二进制文件test.dat 10、设有数组定义: char array[]="China"; 则数组 array所占的空间为( ) A4个字节; B5个字节; C6个字节; D7个字节 11 在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pa=5;pa=sum++,pa++,++pa; printf("%d\n",pa); 11、A 7; B 6; C 5; D 4 12、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( ) Ac=b=a;(a=c) B || (b=c); C (a=c)&&(b=c) ; D a=c=b; 13、sizeof(float)是( ) A一个双精度型表达式;B一个整型表达式; B一种函数调用; C一个不合法的表达式 14 一个C语言程序是由( ) A一个主程序和若干子程序组成; B函数组成; C若干过程组成; D若干子程序组成 设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是 A把x和y按从小到大排列; B 把x和y按从大到小排列; C 交换x和y中的值; D 无确定结果 15 若t为double类型,表达式t=1,t+5,t++的值是( ) A 2.0; B 6.0; C 1.0; D 1 16 在C语言程序中,main()函数最多有( ) A 0; B 1; C 2; D 不限 17 C语言提供的合法的关键字是()A swicth; B cher; C Case D default 18 Turbo C语言环境中,无符号整型(unsigned int)数据类型的取值范围( ) A -32768至32767; B 0至32767; C 0至65535; D 0至65536; 19 算法的表示方法有()

(完整版)第二章矩阵及其运算练习卷二(参考

练习卷二(A 卷) 第二章 矩阵及其运算 一、填空题(本大题共4个小题,每小题5分,共20分) 1.=???? ??--T 764012 241607-?? ? ? ? -?? 2.()= ??? ? ? ??302642406801212018?? ? ? ??? . 3.已知方阵A 、B 满足22A A B B ==,,则2()A B A B +=+成立的充要条件 是 AB+BA=0 . 4.设???? ??=3421A ,则=*A 3241-?? ? -?? ,=-1 A 0.60.40.80.2-?? ?-?? . 二、单项选择题(本大题共2个小题,每小题5分,共10分) 5.设A 、B 为n 阶方阵,则下列选项正确的是( B ). (A) ()k k k AB A B =; (B) 若A E =,则AB BA =; (C) 22()()A B A B A B -=-+; (D) 若AB=O ,则A=O 或B=O . 6.设A 、B 为n 阶方阵,则必有( A ). (A) BA AB =; (B) B A B A +=+; (C) 1A A -=; (D) B A B A ?=. 三、求下列矩阵的逆矩阵(本大题共1个小题,共15分) 7.??? ? ? ??---=412112013A . 解法1:利用伴随矩阵求解。因为|A|=5, * *154114/51/510123212/53/5||01101/51/5A A A A ---???? ? ? =-∴==- ? ? ? ? ????

解法2:利用初等变换求解(第三章). 四、解答下列各题(本大题共3个小题,每小题15分,共45分) 8.设矩阵111211111A -?? ?=- ? ???,236b ?? ? = ? ??? ,且Ax b =,求x . 解:由于|A|=6≠0,所以* 1101/31/311/21/31/6,3||1/201/22A A x A b A ---???? ? ?= === ? ? ? ?-???? 9.设方阵A 满足22A A E -=,证明A 及2A E +都可逆,并求1 A -及1(2)A E -+.. 证明:由于2(2)2A A A A E E -=-=两边同时取行列式,得|||2|20||0n A A E A -=≠?≠ 所以A 可逆。由于11 ()2().2 A A E E A A E --=?=- 212121(3) 222)()(2)44 A E A E A A E A E A A A E ---++=?++==-+= Q 可逆且:( 10.已知??? ?? ??=100110111A ,求)(A f ,其中E A A A f 32)(2+-=. 解: 212322201 2022001002123222300201()0 12022030020001002003002A A f A ???? ? ?== ? ? ? ?? ??? ???????? ? ? ? ?=-= ? ? ? ? ? ? ? ?? ??????? ,2, + 五、证明题(本大题共1个小题,共15分) 11.若O A k =(k 为整数),证明:121)(--++++=-k A A A E A E Λ. 证明:若O A k =,则2 1 ()()k k E A E A A A E A E --++++=-=L 故:E-A 可逆,且121 ) (--++++=-k A A A E A E Λ (选作题)已 知 12212 2A ?- ?= ? ?? ? ,且 6A E =,求

线性代数教案 第二章 矩阵及其运算

1 2 m m mn a a a 矩阵。为了表示它是一个整体,总是加一个括号将它界起来,并通常用大写字母表示它。记做 12m m mn a a a ? ?12 m m mn a a a a ??? 。切记不允许使用11 12121 22 212 n n m m mn a a a a a a a a a = A 。 矩阵的横向称行,纵向称列。矩阵中的每个数称为元素,所有元素都是实数的矩阵称为实矩阵,所有元素都是复数的矩阵称为复矩阵。本课中的矩阵除特殊说明外,都指12n n nn a a a ?? 不是方阵没有主对角线。在方阵中,

00nn a ?? 1121 2212000n n nn a a a a a a ?????? (主对角线以上均为零)1122 00000 0nn a a a ????? ???? (既}nn a . 对角元素为1的对角矩阵,记作E 或001???? ()11a ,此时矩阵退化为一个数矩阵的引进为许多实际的问题研究提供方便。 a x +)1(+?n 矩阵: 12 m m mn m a b a a a b ?? 任何一个方程组都可以用这样一个矩阵来描述;反之,一个矩阵也完全刻划了一个方

1 22 m m m mn mn b a b a b ? +++? ? ? ? ???-=4012B ,计算 B A +。 122 m m m mn mn b a b a b ? ---? 与矩阵n m ij a A ?=}{的乘积(称之为数乘),

12 m m mn a a a λλ?? 以上运算称为矩阵的线性运算,它满足下列运算法则:

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