c语言程序设计答案苏小红,C语言程序设计苏小红版答案[推荐阅读]

printf("%6d",i*j);

}

printf("\n");

} }

1、 已知int i, x[3][4];则不能将x[1][1]的值赋给变量i的语句是______ (分数:2 分)

A. i=*(*(x+1)) B. i=x[1][1] C. i=*(*(x+1)) D. i=*(x[1]+1) 标准答案是:A。

2、 当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是______. (分数:2 分)

A. a=c=b; B. (a=c)&&(b=c); C. c=b=a; D. (a=c)||(b=c); 标准答案是:B。

3、 函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是______。(分数:2 分)

A. fund(int *x, int *y){ *x=*x+*y; *y=*x-*y; *x=*x-*y;} B. funb(int x, int y){ int t;t=x; x=y; y=t;} C. funa(int *x, int *y){ int *p;*p=x; *x=*y; *y=*p;} D. func(int *x, int *y){ *x=*y; *y=*x;} 标准答案是:A。

4、 若x=2,y=3则x||y的结果是______ (分数:2 分)

A. 0 B. 3 C. 1 D. 2 标准答案是:C。

5、 已知int a[10];则对a数组元素的正确引用是______ (分数:2 分)

A. a[10] B. a[3.5] C. a[10] D. a(5) 标准答案是:C。

二、多选

1、若定义:int a【2】【3】{0,2,4,6,8,10};以下描述正确的有______ (分数:3 分) A. *(a+1)为元素6的地址 B. *(a【1】+1)的值为2 C. **(a+1)+2的值为8 D. a【0】与a的相同 标准答案是:ABCD。

2、在缓冲文件系统中用于读写的函数有______ (分数:3 分) A. putchar() B. fread() C. rewind() D. purw() 标准答案是:ABD。

3、指出下面合法的标识符______ (分数:3 分) A. 3ab B. ABC C. a_3 D. _stu2 标准答案是:ABC。

4、指出下面哪些是合法的用户定义的标识符______ (分数:3 分) A. P-S B. _908 C. wind D. x y 标准答案是:BC。

6、 这段程序中的常量有:#define PI 3.14 ;void main(){ int sum;sum = 10 + 15;printf("sum=%d\n",sum);printf("result is 25\n");}这段程序中常量有______ (分数:3 分) A. 10 B. sum C. 15 D. PI 标准答案是:ACD。

1、 说明语句int *(*p)();的含义是______ (分数:2 分)

A. p是一个指向int型数组的指针 B. .p是指针变量,它构成了指针数组

C. p是一个指向函数的指针,该函数的返回值是一个整型

D. p是一个指向函数的指针,该函数的返回值是一个指向整型的指针 标准答案是:D

2、 已知int a, *p=&a;则下列函数调用中错误的是______ (分数:2 分)

A. scanf(”%d”, &a); B. scanf(”%d”, p); C. printf(”%d”, a); D. printf(”%d”, p); 标准答案是:D。

3、 在C语言中,字符型数据在内存中的存储形式是______ (分数:2 分)

A. 原码 B. 补码 C. 反码 D. ASCII码 标准答案是:D。

4、 已定义以下函数:fun(int *p){ return *p; }该函数的返回值是______ (分数:2 分)

A. 不确定的值

B. 形参p所指存储单元中的值 C. 形参p中存放的值 D. 形参p的地址值 标准答案是:D。

5、( )已知char b[5],*p=b; ,则正确的赋值语句是(分数:2 分) A. b=“abcd”; B. *b=“abcd”; C. p=“abcd”; D. *p=“abcd”; 标准答案是:C。

二、多选

1、如果要把常量327存入变量a中,a可以定义成哪些类型?______ (分数:3 分) A. int B. char C. long D. float 标准答案是:ACD。

2、下面哪些写法是对的,而且是常量?______ (分数:3 分) A. 125 B. -0.456 C. 1.25E+20 D. 'AB' 标准答案是:AC。

3、指出下面错误的表达式______ (分数:3 分) A. a+b=5 B. 56=a11 C. i=i++ D. 5.6+6.2%3.1 标准答案是:ABD。

4、 若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?______ (分数:3 分) A. f=(f*100+0.5)/100.0 B. i=f*100+0.5,f=i/100.0; C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0; 标准答案是:BC。

5、 已知a为整型变量,那么与表达式a!=0真假值情况相同的表达式有哪些?______ (分数:3 分) A. a>0||a<0 B. a C. !a==0 D. !a 标准答案是:ABC。

1、( )若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是(分数:2 分) A. ps+3 B. s[3] C. ps[3] D. ps+=3,*ps 标准答案是:B。

2、( )当对两个字符串进行比较时,应该使用的函数是(分数:2 分) A. strcat B. strcmp C. strcpy D. strlen 标准答案是:B。

3、( )strlen 11.若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--); (分数:2 分) A. 无限次 B. 0次 C. 1次 D. 2次

标准答案是:B。

4、( )以下关于数组的描述正确的是(分数:2 分) A. 数组大小固定,但是可以有不同类型的数组元素 B. 数组大小可变,但是所有数组元素的类型必须相同 C. 数组大小固定,所有元素的类型必须相同 D. 数组大小可变,可以有不同类型的数组元素 标准答案是:C。

5、( )以下能正确定义数组并正确赋初值的语句是(分数:2 分) A. int N=5,b[N][N]; B. int a[1][2]={{1},{3}}; C. int c[2][]= {{1,2},{3,4}}; D. int d[3][2]={{1,2},{34}}; 标准答案是:D。

二、多选

1、程序的结构可分为哪几类______ (分数:3 分) A. 顺序结构 B. 循环结构 C. 程序结构 D. 选择结构

标准答案是:ABD。

2、已知a为整型变量,那么与表达式a!=0真假值情况相同的表达式有哪些?______ (分数:3 分) A. a>0||a<0 B. a C. !a==0 D. !a 标准答案是:ABC。

3、已知a为整型变量,那么与表达式a!=0真假值情况相同的表达式有哪些?______ (分数:3 分) A. a B. !a==0 C. !a D. a>0||a<0 标准答案是:ABD。

4、指出下面错误的表达式______ (分数:3 分) A. a=5,b=6,c=7 B. i=i++ C. 5.6+6.2%3.1 D. 56=a11 标准答案是:BD。

5、 下面哪些写法是对的,而且是常量?______ (分数:3 分)

A. 125 B. 2.5E+21 C. AB' D. \n'\123 标准答案是:BD。

1、( )选择正确的输入语句( )。:(其中:char string[20];)使得string的内容为"I am student". 数:2 分)

A. scanf("%s", string); B. scanf("%c", &string); C. scanf("%s", &string); D. gets(string); 标准答案是:D。

2、( )对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是(分数:2 分) A. 将5个初值依次赋给a[6]至a[10] B. 将5个初值依次赋给a[0]至a[4] C. 因为数组长度与初值的个数不相同,所以此语句不正确 D. 将5个初值依次赋给a[1]至a[5] 标准答案是:B。

3、( )以下标识符中可以作为用户函数名的是(分数:2 分) A. struct B. int C. union D. go_to 标准答案是:D。

4、源程序要正确地运行,必须要有什么函数?______ (分数:2 分) A. printf函数 B. 自定义的函数 C. main D. 不需要函数 标准答案是:C。

5C语言程序由什么组成?______ (分数:2 分) A. 子程序

B. 主程序和子程序

(分C. 函数 D. 过程

标准答案是:C。

二、多选

1、下面哪些是合法的用户定义的标识符______ (分数:3 分) A. _908 B. *par C. sheep! D. wind 标准答案是:AD。

2、下面合法的标识符______ (分数:3 分) A. ABC B. a_3 C. sum.a D. _stu2 标准答案是:ABD。

3、C语言的主要特点有哪些?______ (分数:3 分) A. 简洁、紧凑,使用方便、灵活,易于学习和应用。 B. C语言是面向结构化程序设计的语言。

C. C语言允许直接对位、字节和地址进行操作。 D. 数据类型丰富。 标准答案是:ABCD。

4、已定义c为字符型变量,则下列语句中错误的是______ (分数:3 分) A. c='97' B. :c="97" C. c=97; D. c="a" 标准答案是:ABD。

5下列选项中是C语言合法标志符的有______ (分数:3 分) A. good_morning B. main C. stdio.h D. 8abc 标准答案是:AB。

1、 一个C程序的执行是从______ (分数:2 分)

A. 本程序的main函数开始,到main函数结束

B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束 标准答案是:A。

2、 以下叙述正确的是______ (分数:2 分)

A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 标准答案是:C。

3、 以下叙述不正确的是。______ (分数:2 分)

A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main函数 C. C程序的基本组成单位是函数

D. 在C程序中,注释说明只能位于一条语句的后面 标准答案是:D。

4、 语言规定:在一个源程序中,main函数的位置______ (分数:2 分)

A. 必须在最开始

B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 标准答案是:C。

5、 一个C语言程序是由______ (分数:2 分)

A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 标准答案是:B。

二、多选

1、指出下面合法的标识符:______ (分数:3 分) A. 3ab B. ABC C. a_3 D. _stu2 标准答案是:BCD。

2、指出下面哪些是关键字:______ (分数:3 分) A. char B. abc C. printf D. float 标准答案是:AD。

3、指出下面哪些是合法的用户定义的标识符?______ A. P-S B. put11 C. printf D. Int 标准答案是:BD。

4、C语言的基本类型哪些:______ (分数:3 分) A. 整型 B. 枚举型 C. 数组型 D. 指针型

3 分) (分数:标准答案是:AB。

5这段程序中的常量有:(#define PI 3.14 ;void main(){ int sum;sum = 10 +15;printf("sum=%d\n",sum);printf("result is 25\n");}这段程序中常量有______ (分数:3 分) A. 10 B. 15 C. 25 D. PI 标准答案是:ABD。

1、75的十六进制写法为___,八进制写法为______ (分数:2 分) A. 0x4b 0113 B. 0165 117 C. 61 0x3d D. 0x4b 61 标准答案是:A。

2、0x75的八进制写法为___,十进制写法为___。(分数:2 分) A. 0165 117 B. 0x4b 0113 C. 61 0x3d D. 0x4b 61 标准答案是:A。

3、075的十进制写法为___,十六进制写法为___。(分数:2 分) A. 0x4b 0113 B. 0165 117 C. 61 0x3d D. 0x4b 61 标准答案是:C。

4、下面哪个表达式的值为4______ (分数:2 分) A. (float)11/3 B. 2016/11/3 星期四上午 12:00:00 C. 11.0/3 D. (int)(11.0/3+0.5 标准答案是:D。

5已知整型变量a=6,b=7,c=1,则下面表达式的值为多少?a+3______ (分数:2 分) A. 9 B. 2 C. 1 D. 65 标准答案是:A。

二、多选

1、C语言中整形常量按进制划分,有以下几种:______ (分数:3 分) A. 十六进制常量 B. 十进制常量 C. 八进制常量 D. 二进制常 标准答案是:ABC。

2、如果要把常量327存入变量a中,a可以定义成哪些类型?______ (分数:3 分) A. int B. char C. float D. long 标准答案是:ACD。

3、下面哪些写法是对的,而且是常量?______ (分数:3 分) A. 125 B. -0.456 C. 56 D. 452.2 标准答案是:AB。

4、指出下面错误的表达式:______ (分数:3 分) A. 56=a11 B. a+b=5 C. i=i++ D. 5.6+6.2%3.1 标准答案是:ABD。

5若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?______ (分数:3 分) A. f=(f*100+0.5)/100.0 B. i=f*100+0.5,f=i/100.0 C. f=(int)(f*100+0.5)/100.0 D. f=(f/100+0.5)*100.0 标准答案是:BC。

1、 在C语言中,要求运算数必须是整型的运算符是_____ (分数:2 分)

A. / B. ++ C. != D. % 标准答案是:D。

2、 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______ (分数:2 分) A. 2.500OO B. 2.7500OO C. 2.3600OO D. 2.0OO 标准答案是:B。

3、 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______ (分数:2 分) A. int B. float C. double D. 不确定 标准答案是:C。

4、 在C语言中, char型数据在内存中的存储形式是:______ (分数:2 分)

A. 补码 B. 反码 C. 原码 D. ASCII码 标准答案是:D。

5、 若有以下说明语句:char s='092';则下面哪一项是正确的______ (分数:2 分)

A. 使s的值包含2个字符 B. 说明语句不合法

C. 使s的值包含6个字符 D. 使s的值包含4个字符 标准答案是:B。

二、多选

1、下面哪些是非法的C语言转义字符?_______ (分数:2 分) A. '\t' B. '\08' C. '\0xaf' D. '\' 标准答案是:BC。

2、请从下面的选项中选出正确的C语言的转义字符______ (分数:2 分) A. '\'' B. '\t' C. '\n' D. '\xaa' 标准答案是:ABCD。

3、以下符合C语言语法的赋值表达式是______ (分数:2 分) 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 标准答案是:BC。

4、sizeof(float)是______ (分数:2 分) A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用

D. 一个不合法的表达式 标准答案是:AB。

5C程序的结构可分为哪几类?______ (分数:2 分) A. 顺序结构 B. 循环结构 C. 程序结构 D. 选择结构 标准答案是:AB。

1、 putchar函数可以向终端输出一个:______ (分数:2 分)

A. 整型变量表达式值 B. 字符串 C. 实型变量值 D. 字符或字符型变 标准答案是:D。

2、 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式______ (分数:2 分) A. 从左起输出该字串,右补空格 B. 按原字符长从左向右全部输出 C. 右对齐输出该字串,左补空格 D. 输出错误信息 标准答案是:B。

3、 已知static int a[2][3]={2,4,6,8,10,12}; 正确表示数组元素地址的是______ (分数:2 分)

A. *(a[1]+2) B. a[1]+3 C. *(a+1) D. a[0][0] 标准答案是:C

4、 函数调用strcat(strcpy(str1, str2), str3)的功能是______ (分数:2 分)

A. 将串str1复制到串str2中,然后再连接到str3之后

B. 将串str2复制到串str1中,然后再将串str3连接到串str1之后 C. 将串str2复制到串str1中,再将串str1连接到str3之后 D. 将串str1连接到串str2之后,再复制到str3之中 标准答案是:B。

5、 已知int a[10];则对a数组元素的正确引用是______ (分数:2 分)

A. a[10] B. a[3.5] C. a(5) D. a[10] 标准答案是:D。

二、多选

1、若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是______ (分数:3 分)

A. a=b=c=d=100 B. d++; C. c+b; D. d=(c=22)-(b++) 标准答案是:ABD。

2、以下描述正确的是______ (分数:3 分)

A. 使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成 B. while循环是先判断表达式,后执行循环语句

C. do-while和for循环均是先执行循环语句,后判断表达式 D. for,while和do-while循环中的循环体均可以由空语句构成 标准答案是:ABD。

3、以下4个选项中,可以看作是一条语句的有______ (分数:3 分) A. {;} B. a=0,b=0,c=0; C. if(a>0) D. if(b==0) m=1;n=2; 标准答案是:ABC。

4、以下叙述正确的是______ (分数:3 分) A. C语言严格区分大小写英文字母 B. C语言用";"作为语句分隔符

C. C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上 D. 可以使用/*…*/对C程序中的任何部分作注释 标准答案是:ABCD。

5下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是______ (分数:3 分) A. 只能是0或1 B. 只能是0或非0正数 C. 可以是整型或字符型数据 D. 可以是任何类型的数据 标准答案是:ABD。

1、 在C语言的if语句中,用作判断的表达式为______ (分数:2 分)

A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式 标准答案是:D。

2、 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数表达式的值为"假"。则以下不能满足要求的表达式是______ (分数:2 分) A. A%2= =1 B. !(A%2 = =0) C. !(A%2) D. A%2 标准答案是:C。

3、 已知char s[20]= ”programming”, *ps=s;则不能引用字母o的表达式是______ (分数:2 分) A. ps+2 B. s[2] C. ps[2] D. ps+=2, *ps 标准答案是:A。

4、 已知char b[5], *p=b;则正确的赋值语句是。______ (分数:2 分)

A. b=”abcd” B. *b=”abcd”; C. p=”abcd”; D. *p=”abcd”; 标准答案是:C。

5、 已知int a[]={1,2,3,4,5,6,7,8,9,10,11,12}, *p=a; 则值为3的表达式是______ (分数:2 分)

A. p+=2, *(p++) B. p+=2, *++p C. p+=3, *p++ D. p+=2, ++*p 标准答案是:A。

二、多选

1、以下不符合C语言语法的实型常量是______ (分数:3 分) A. 1.2E0.5 B. 3.14.159E C. 0.005 D. E15 标准答案是:ABD。

2、以下叙述中正确的是______ (分数:3 分) A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数 C. C源程序的基本组成单位是函数

D. 在C源程序中,注释说明只能位于一条语句的最后 标准答案是:ABD。

3、以下正确的if语句形式是______ (分数:3 分) A. if (x>y && x!=y) B. if (x==y) x+=y C. if (x!=y) scanf("%d",&x) else scanf("%d",&y); D. if (x4、以下选项中不是C语言合法整数的是______ (分数:3 分) A. 10110 B. 386 C. 0Xffa D. x2a2 标准答案是:BD。

5以下关于数组描述错误的是______ (分数:3 分)

A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 标准答案是:ABD。

1、 设有定义:int x=12,n=5; 则表达式x%=(n%2)的值为______ (分数:2 分)

A. 2 B. 3 C. 5 D. 0 标准答案是:D。

2、 针对下列程序段回答问题( ).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) ______ (分数:2 分)

A. x>=0时什么也不输出

B. 最多允许输出100个非负整数 C. printf函数永远也不执行 D. 当x<0时整个循环结束 标准答案是:B。

3、 已知char b[5],*p=b; ,则正确的赋值语句是______ (分数:2 分)

A. b=“abcd”; B. *b=“abcd”; C. p=“abcd”; D. *p=“abcd”; 标准答案是:C。

4、 在C语言中,十进制数47可等价地表示为______ (分数:2 分)

A. 2f B. 02f C. 57 D. 57 标准答案是:D。

5、 有两个整型变量dog和cat,若要从磁盘文件把数据读到其中,正确的形式是______ (分数:2 分)

A. fscanf(dog ,2,1,fp); B. fscanf(fp,"%d%d",&dog ,&cat); C. fscanf(dog ,cat,2,1,fp); D. fscanf(fp,"%d",&dog ,&cat); 标准答案是:B。

二、多选

1、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:#indude "stdio.h"main(){int m=0,n=0;char c; 1; while((_____)!='\n'){ if(c>='A' && C<='Z') m++ if(c>='a' && c<='z') n++;}printf("%d\n", m A. c=getchar() B. getchar() C. c=getchar() D. scanf("%c",c) 标准答案是:AC。

2、以下选项中,合法的字符常量是______ (分数:3 分) A. '\t' B. '\17' C. "n" D. '\xaa' 标准答案是:ABD。

3、以下用户标识符,其中合法的是______ (分数:3 分) A. return B. f2_G3 C. A3-3 D. abc 标准答案是:BD。

4、以下可以定义为用户标识符的有______ (分数:3 分) A. scanf B. short C. _3com_ D. int 标准答案是:AC。

5以下选项中合法的表达式是______ (分数:3 分) A. 0<=x<100 B. i=j==0 C. (char)(65+3) D. x+1=x+1 标准答案是:ABC。 简答题

1#include void main() { int i=0,j=1; for (i=2;i<=10;i++) { j*=i; } printf("%d",j); return 0; } 21. 定义文件指针 2. 打开文件,判断是否成功打开,若打开失败,程序退出运行状态 3. 对文件进行读写操作 4. 关闭文件

名词解释 1条件语句

2条件语句否定分支(与 if 连用) 论述题 1限制|调试

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.两个串相等的充要条件是( )。A.串长度相等B.串长度任意 C.串中各位置字符任意 D.串中各位置字符均对应相等 2.对称矩阵的压缩存储:以行序为主序存储下三角中的元素,包括对角线上的元素。二维下标为( i, j ),存储空间的一维下标为k,给出k与 i, j (i<j)的关系k=( ) (1<= i, j <= n , 0<= k < n*(n+1)/2)。 A.i*(i-1)/2+j-1 B.i*(i+1)/2+j C.j*(j-1)/2+i-1 D.j*(j+1)/2+i 3.二维数组A[7][8]以列序为主序的存储,计算数组元素A[5][3] 的一维存储空间下标 k=( )。 A.38 B.43 C.26 D.29 4.已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是( )。A.108 B.180 C.176 D.112 5. 下面( )不属于特殊矩阵。 A.对角矩阵 B. 三角矩阵C. 稀疏矩阵 D. 对称矩阵 6. 假设二维数组M[1..3, 1..3]无论采用行优先还是列优先存储,其基地址相同,那么在两种存储方式下有相同地址的元素有( )个。 A. 3 B. 2 C. 1 D. 0 7. 若Tail(L)非空,Tail(Tail(L))为空,则非空广义表L的长度是( )。(其中Tail表示取非空广义表的表尾) A. 3 B. 2 C. 1 D. 0 8.串的长度是( )。 A.串中不同字母的个数 B.串中不同字符的个数C.串中所含字符的个数,且大于0 D.串中所含字符的个数 9.已知广义表(( ),(a), (b, c, (d), ((d, f)))),则以下说法正确的是( )。A.表长为3,表头为空表,表尾为((a), (b, c, (d), ((d, f))))B.表长为3,表头为空表,表尾为(b, c, (d), ((d, f)))C.表长为4,表头为空表,表尾为((d, f)) D.表长为3,表头为(()),表尾为((a), (b, c, (d), ((d, f))))10.广义表A=(a,b,c,(d,(e,f))),则Head(Tail(Tail(Tail(A))))的值为( )。(Head与Tail分别是取表头和表尾的函数) A.(d,(e,f)) B.d C.f D.(e,f)二、填空题(每空 2 分,共 8 分)。 1.一个广义表为 F = (a, (a, b), d, e, (i, j), k),则该广义表的长度为________________。GetHead(GetTail(F))= _______________。 2.一个n*n的对称矩阵,如果以行或列为主序压缩存放入内存,则需要 个存储单元。 3.有稀疏矩阵如下: 0 0 5 7 0 0 -3 0 0 0 4 0 0 2 0 它的三元组存储形式为: 。 三、综合题(共 22 分)。 1.(共8分)稀疏矩阵如下图所示,描述其三元组的存储表示,以及转置后的三元组表示。 0 -3 0 0 0 4 0 6 0 0 0 0 0 0 7 0 15 0 8 0 转置前(4分): 转置后(4分): 2. (共14分)稀疏矩阵M的三元组表如下,请填写M的转置矩阵T的三元组表,并按要求完成算法。 (1)写出M矩阵转置后的三元组存储(6分): M的三元组表: T的三元组表: i j e 2 1 3 3 2 4 4 2 5 4 3 5 5 1 6 5 3 6 i j e (2)如下提供了矩阵采用三元组存储时查找指定行号(m)和列号(n)元素值的算法框架,将代码补充完整(每空2分,共8分)。 typedefstruct{ inti,j; ElemType e; }Triple; typedefstruct{ Triple data[MAXSIZE+1]; //data[0]未用 intmu,nu,tu; //矩阵的行数,列数和非零元的个数 }TSMatrix; voidFind_TSMatrix(TSMatrix M, int m, int n, ElemType&e) //M为要查找的稀疏矩阵三元组存储,m为要查找的元素的行号,n为列号,e为查找后得到的值。 { for ( i=1 ; i<=M.tu ;i++) if( && ) { e=M.data[i].e; ; } if( ) e=0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值