复习2_数组
第5章《数组》复习题
第5章数组一、选择题1、下列关于数组的描述正确是:()A) 数组的长度是固定的,而其中元素的数据类型可以不同B) 数组的长度是固定的,而其中元素的数据类型必须相同C) 数组的长度是可变的,而其中元素的数据类型可以不同D) 数组的长度是可变的,而其中元素的数据类型必须相同2、在C++语言中引用数组元素时,下面关于数组下标数据类型的说法错误的是:()A) 整型常量 B) 整型表达式C) 整型常量或整型表达式 D) 任何类型的表达式3、要定义数组A,使得其中每个元素的数据分别依次为:3、9、4、8、0、0、0,错误的定义语句是:()A) int A[]={3,9,4,8,0,0,0}; B) int A[9]={3,9,4,8,0,0,0};C) int A[]={3,9,4,8}; D) int A[8]={3,9,4,8};4、有如下数组声明:int value[30];,下标值引用错误的是:()A) value[30] B) value[0] C) value[10] D) value[20]5、以下叙述中错误的是:()A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统自动扩展数组长度D)可以通过赋初值的方式确定数组元素的个数6、在C++语言中,一维数组的定义方法为:()。
类型说明符数组名A)[常量表达式] B)[整型常量] C)[整型变量] D)[整型常量]或[整型表达式]7、对以下说明语句的正确理解是()。
int a[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确8、假定short类型变量占用两个字节,其有定义:short x[10]={0,2,4};,则数组x在内存中所占字节数是()。
数据结构复习及习题 (68)
一、选择题1. 以下哪个数据结构支持随机访问?A. 链表B. 栈C. 队列D. 数组答案:D. 数组2. 在一个二叉搜索树中,查找一个节点的平均时间复杂度是多少?A. O(log n)B. O(n)C. O(1)D. 不确定答案:A. O(log n)3. 在一个哈希表中,查找一个元素的平均时间复杂度是多少?A. O(1)B. O(log n)C. O(n)D. 不确定答案:A. O(1)二、填空题1. 在一个 ______ 中,元素按照某种顺序存储,通常可以进行随机访问。
答案:数组2. 在一个 ______ 中,元素只能按链式方式存储,通常不能进行随机访问。
答案:链表3. 在一个二叉搜索树中,查找一个节点的过程通常被称为______。
答案:查找或搜索三、简答题1. 数据结构中,什么是数据的表示和存储?数据表示和存储对数据处理有哪些影响?答案:数据的表示和存储是指如何将数据存储在计算机内存中,以便于对其进行处理。
数据表示和存储对数据处理的影响很大,因为它决定了数据的访问速度、存储空间占用以及数据的一致性和完整性。
2. 解释链表和数组在内存中的存储方式,并比较它们的优缺点。
答案:链表是通过指针将节点链接起来的数据结构,它在内存中是连续存储的,但元素的访问需要通过指针进行。
优点是支持动态内存分配和方便插入和删除操作,缺点是访问速度较慢。
数组是预先确定大小的线性数据结构,它在内存中是连续存储的,元素的访问是通过下标进行的。
优点是访问速度快,缺点是内存分配固定,不支持动态增长。
以上题目和答案仅供参考,具体内容可能因考试和学校而异。
建议您根据实际情况进行调整和补充。
汇编语言程序设计复习2(带答案)1
汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。
A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。
A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。
A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。
A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。
A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。
第7章 数组 复习
第7章数组1.下列数组声明中,正确的是()。
(a)int a[5]={0}; (b) int a[ ]={0 1 2};(c) int a[5]=0; (d) int a[ ];2.下列数组声明中,正确的是()。
(a)int a[10];(b)int n = 10, a[n];(c)int N =10; int a[N];(d)int n; scanf(" %d ", &n); int a[n];3.已知int a[10];则对a数组元素引用不正确的是()。
(a)a[10] (b) a[3+5] (c) a[10-10](d) a[5]4.以下数组定义中,正确的是()。
(a)int a[2][3] = {1, 2, 3, 4, 5, 6, 7};(b)int a[ ][ ] = {{1, 2, 3},{4, 5, 6},{7, 8,9}};(c)int a[2][ ] = {1, 2, 3, 4, 5, 6};(d)int a[ ][4] = {6};5.若有定义: int a[3] = {0, 1, 2}; 则a[1]的值为()。
(a)0 (b) 1 (c) 2 (d)36.若有定义:inta[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为()。
(a)0 (b) {1,2} (c) 1 (d)37.有如下定义int a[ ][3] = {1,2,3,4,5,6,7,8};则数组a 的行数是()。
(a) 2 (b) 3 (c) 4 (d) 无法确定的8.getchar( )函数的功能是从终端输入()。
(a)一个整型变量值(b) 一个实型变量值(c)多个字符(d) 一个字符9.设已定义chars[ ]="\"Name\\Address\023\n";,则字符串所占的字节数是()。
(a)19 (b) 15 (c) 18(d)1410.以下程序段运行后屏幕输出为()。
数组复习题
1.输入10个数,存入一维数组,求10个数的最大值
2.把一个不多于5位的整数分解,存到一维数组中,对这个一维数组的数据
按照从小到大的顺序排序。
3.有个已经排好序的数组,要求输入一个数后,按原来排序的规律将它插入
数组中。
4.将一个数组中的值按逆序重现存放。
5.建立一个3*4行矩阵,输入数据,求其中的正数、负数、零的个数,并且
输出矩阵,同时输出正数、负数、零的个数。
6.有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英
文大写字母、小写字母、数字、空格以及其他字符的个数。
7.有10个学生,5门课,输入这10个学生的成绩,求各门课的平均分以及
每个学生的总分。
(要求平均分和总分用一维数组保存)
8.建立一个3*4行矩阵,输入数据,求其中的正数、负数、零的个数,并且
输出矩阵,同时输出正数、负数、零的个数。
9.有一个4*5的矩阵,求素数的个数
10.有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英
文大写字母、小写字母、数字、空格以及其他字符的个数。
数据结构复习_2
7、抽象数据类型的概念 由用户定义,用以表示应用问题的数据模型,是将数据结构作为一个软件构建的实现, 由基本的数据类型组成, 并包括一组相关的服务(或称操作) 抽象数据类型的的特征是使用与实现相分离,信息隐蔽和数据封装, 8、类的特征 信息隐蔽和数据封装,使用与实现相分离。 9、自然数的抽象数据类型定义 ADT NaturalNumber is objects: 一个整数的有序子集合,它开始于 0, 结束于机器能表示的最大整数(MaxInt)。 Function: 对于所有的 x, y NaturalNumber; False, True Boolean, +、-、<、==、=等都是可用的服务。 Zero( ) : NaturalNumber 返回自然数 0
4、数据结构涉及的三个方面: 数据的运算,即对数据元素施加的操作。 数据的逻辑结构 数据的存储结构 是指数据应该如何在计算机中存放, 是数据逻辑结构的物理存储方式, 是属于具体实现 的视图,是面向计算机的。 四种基本的存储方法: 顺序存储表示:该方法把逻辑上相邻的元素存放到物理位置上相邻的存储单元中; 链接存储表示:该方法不要求逻辑上相邻的元素在物理位置上也相邻; 索引存储表示:该方法在存储元素信息的同时,还建立附加的索引表。索引表中每一项 称 为索引项,索引项的一般形式是:(关键码,地址); 散列存储表示:根据结点的关键码通过一个函数计算直接得到该结点的存储地址。 5、数据类型 数据类型是一组性质相同的值的集合, 以及定义于这个值集合上的一组操作的总称. 6、线性表数据类型的两种表示方式 基于数组的顺序表示和基于链表的链接表示
第五章树 一、树的定义和术语 1.自由树 一棵自由树 Tf 可定义为一个二元组 Tf = (V, E) 其中 V = {v1, ..., vn} 是由 n (n>0) 个元素组成的有限非空集合,称为顶点集合。 E = {(vi, vj) | vi, vj V, 1≤i, j≤n} 是 n-1 个序对的集合,称为边集合,E 中的元素 (vi, vj)称 为边或分支。
C语言复习2
总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
计算机数据结构复习题2
1解、采用遍历方式判断无向图G是否连通。若用深 度优先遍历方法,先给visited[]数组置初值0, 然后从0顶点开始遍历该图。在一次遍历后,若所 有顶点i的visited[i]均为1,则该图是连通的,否 则不连通。
1算法如下: int connect(AGraph *G) { int i,flag=1; for (i=0;i<G->n;i++) visited[i]=0; DFS(G,0); for (i=0;i<G->n;i++) if (visited[i]==0) flag=0; break; } return flag; }
D.(n-1)(m/2 -1)+1 解:根结点至少有一个关键字,其他n-1 个结点至少有(m/2 -1)个关键字,总共包 含.(n-1)(m/2 -1)+1
B. n D.(n-1)(m/2 -1)+1
三、算法设计题
1.假设图G采用邻接表存储,试设计一个算法,判断 无向图G是否连通。若连通则返回1,否则返回0.
5.树形如下:
A
B
C
G
H
D
E
F
I
L
J
K
先根遍历次序:ABCDEFGHIJKL
6.(1) 什么是递归程序? (2) 递归程序的优、缺点是什么? (3) 递归程序在执行时,应借助于什么来 完成? (4) 递归程序的入口语句、出口语句一般 用什么语句实现?
答案:
6.(1)一个函数在结束本函数之前,直接或
}
3.有一种简单的排序算法,叫做计数排序。这种排 序算法对一个待排序的表(用数组表示)进行排序, 并将排序结果存放到另一个新的表中。必须注意的 是,表中所有待排序的关键字互不相同,计数排序算 法针对表中的每个记录,扫描待排序的表一趟,统计 表中有多少个记录的关键字比该记录的关键字小。 假设对某一个记录,统计出数值为c,那么这个记录 在新的有序表中的合适的存放位置即为c。 (1)给出适用于计数排序的数据表定义。 (2)编写实现计数排序的算法。 (3)对于有n个记录的表,比较次数是多少? (4)与直接选择排序相比,这种方法是否更好?为什么?
C语言复习资料2
《C语言》复习资料姓名班级成绩一、选择题1. 若x、i、j和k都是int型变量,则计算下面的表达式后,x的值是:() X=(i=4, j=16, k=32)A. 4B. 16C. 32D. 522. 在C语言中,要求运算数必须是整型数的运算符是:()A. /B. ++C. !=D. %3. putchar( ) 函数可以向终端输出一个。
()A. 整型变量表达式的值B. 实型变量的值C. 字符串D. 单个字符或字符型变量的值4. 以下说法正确的是:()A. 输入项可以为一个实型常量,如scanf(“%f”,3.5);B. 只有格式控制,没有输入项,也能进行正确输入,如:scanf(“a=%d,b=%d”);C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如:scanf(“%4.2f”,&f);D. 当输入数据时,必须指时变量的地址,如:scanf(“%f”,&f);5. 判断char型变量ch是否为大写字母的正确表达式是: ( )A. (‘A’<=ch<=’Z’)B. (ch>=’A’ ) & (ch<=’Z’)C. (ch>=’A’) && (ch<=’Z’)D. (‘A’<=ch) AND (‘Z’>=ch)6. 设x、y、和z是int型变量,且x=3, y=4, z=5 ; 则下面表达式中值为0的是: ( )A. ‘x’ && ‘y’B. x<=yC. x||y+z && y-zD. !((x<y) && !z||1)7. 若希望当A的值为奇数时,输出为“真”,当A的值为偶数时,输出为“假”。
则以下错误的是:()A. if (A%2==1) printf(“真”); else printf(“假”);B. if (A%2==0) printf(“真”); else printf(“假”);C. if (A%2==0) printf(“假”); else printf(“真”);D. if (A%2!=0) printf(“真”); else printf(“假”);8. 已知int x=10,y=20,z=30; 以下语句执行后,x,y,z 的值是:( )If (x>y)Z=x; x=y; y=z;A. x=10,y=20,z=30B. x=20,y=30,z=30C. x=20,y=30,z=10D. x=20,y=30,z=209. 若运行时给变量x输入12,则以下程序的运行结果是:( )Main( ){int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A. 0B. 22C. 12D. 1010. C语言中while和do-while循环的主要区别是: ( )A. do-while的循环体至少要无条件执行一次B. while的循环控制条件比do-while的循环控制条件更严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句11. 以下对一维数组a的说明,正确的是: ( )A. int a(10)B. int n=10,a[n];C. int n;D. #define SIZE 10scanf(“%d”,&n); int a[SIZE];int [n];12. 以下对二维数组a说明正确的是: ( )A. int a[3][];B. float a(3,4);C. float a[3][4];D. float a(3)(4);13. 对以下说明语句的正确理解是: ( )int a[10]={6,7,8,9,10};A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确14. 判断字符串s1是否大于字符串s2,应当使用: ( )A. if (s1>s2)B. if (strcmp(s1,s2))C. if (strcmp(s2,s1)>0)D. if (strcmp(s1,s2)>0)15. 设以下变量均为int类型,则值不等于7的是: ( )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)16. 以下正确的字符串结束标志是: ( )A. 0B. \0C. \\D. \17. 以下能正确定义整形变量a,b和c并为其赋初值5的语句是:( )A. int a=b=c=5;B. int a,b,c=5;C. a=5,b=5,c=5;D. a=b=c=5;18. 一个C语言程序是由。
C语言复习题数组
C语言复习题_数组一、填空1、若定义char a[] = ”\3Love\3”; 则strlen(a)的值为 6 , sizeof(a)的值为7 。
2、若定义char a[]= ”Hello!\n”;则strlen(a)的值为7 ,sizeof(a)的值为8 。
二、选择1、设有数组定义:char array [ ]="China";则数组array所占的空间为(C)。
A、4个字节B、5个字节C、6个字节D、7个字节2、为了判断两个字符串s1和s2是否相等,应当使用(D)。
A、if (s1= =s2)B、if (s1=s2)C、if(strcpy(s1,s2))D、if (strcmp(sl,s2)==0)3、下列描述中,合法的数组定义是(D)。
A、int a[]={"String”};B、int a[5]={0,1,2,3,4,5};C、char a={”String”};D、char a[ ]={0,1,2,3,4,5};4、若有定义int a[10]; ,则对数组a的引用正确的是(D)。
A、a[10]B、a[6、3]C、a(6)D、a[10-10]5、以下对一维数组a的定义中正确的是(C)。
A、char a(10);B、int a[0、、100];C、int a[5];D、int k=10; int a[k];6、以下对一维数组的定义中不正确的是(B)。
A、double x[5]={2、0,4、0,6、0,8、0,10、0};B、int y[5]={0,1,3,5,7,9};C、char ch1[]={'1',’2’,'3', ’4',’5'};D、char ch2[]={’\x10', '\xa’, '\x8’};7、假定一个int型变量占用四个字节,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数是(D).A、3B、6C、10D、408、若定义一个名为s且初值为"123"的字符数组,则下列定义错误的是(C)。
C语言复习资料 第二章重点内容
11
2。 对上述已经定义的实型常量指数形式的说明:
(1)在此的digits是一位或多位十进制数字(0—9)组成。 (2)小数点之前是整数部分,之后是小数部分。 (3)小数点在没有小数时可以省略。如:3E+6 (4)指数部分用E或者e开头,幂指数可以为负,当没有符号时,视为正 指数,且其基数都为10。 (5)在不加说明的情况下,实型常量为正值,如果要表示负值,必须在 常量前使用负号。如:-2.5E-5 (6)字母E或e之前必须有数字,且E或e之后指数必须为整数。 如:e3,2.3e9.5,.e3等都是不合法的。
上述各类型整型变量占用的内存字节数随系统而异。在16位操作系 统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型 (2字节)≥short型(2字节)。
2.占用内存字节数与值域
8
显然,不同类型的整型变量,其值域不同。占用内存字 节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-11);无符号整型变量的值域为:0~(2n*8-1)。(同样适合于 各种不同的类型 ) 例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-11),即-32768~32767;一个unsigned型变量的值域为:0~ (22*8-1),即0~65535。 2.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如0x36。
9
2.分类 (1)基本整型。在16位机中,用2字节存储,其数据范 围与int型变量一样。 (2)长整型(在数值后面加“L(l)”)。对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-231-(231-1)。例如,123l、315L等。 3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以赋 给int型变量和long int型变量;其值在-231--(231-1)的整 型常量,就只能赋给long int型变量。 注意:常量无unsigned型。但一个非负整型常量,只要 它的值不超过相应变量的值域(即取值范围),也可以赋 给unsigned型变量。
2025届信息技术一轮复习练习:专题11 数组(含答案)
专题11数组知识点一一维数组1.有如下Python程序段:a=[12,8,9,18,2,19,28,6]for i in range(len(a)-1):if a[i]<a[i+1]:a[i],a[i+1]=a[i+1],a[i]p=len(a)-1for i in range(len(a)-2,0,-1):if a[i]>a[p]:p=itmp=a[p];a[p]=a[0];a[0]=tmp执行该程序段后,a列表的值为()A.[28,9,18,8,19,12,6,2]B.[12,9,18,8,19,28,6,2]C.[28,9,18,19,8,12,6,2]D.[2,9,12,8,18,19,6,28]2.去除数组a中重复数据,部分程序代码如下a=[5,6,4,7,5,7,6,5,7,2]i=0;n=len(a)-1while i<n :while j<=n:if a[i]==a[j]:if a[i]==a[n]:②________else:③________n-=1j+=1i+=1print(a[:n+1])则划线处应填空的内容是()A.①j=i+1②a[j]=a[n]③j-=1B.①j=i②j-=1③a[j]=a[n]C.①j=i+1②j-=1③a[j]=a[n]D.①j=i+1②i-=1③a[j]=a[n]3.以下Python程序段用以实现在列表a下标为K的位置处插入元素X,而不会导致原有数据的丢失。
x=int(input(″请输入插入的数据:″))k=int(input(″请输入插入位置:″))a=[10,20,30,40,50,60,70]a.append(0)#在最后添加一个0,用以插入新数据。
for i in range(len(a)-2,k-1,-1):a[k]=x则划线处填入的代码为()A.a[i+1]=a[i]B.a[i]=a[i+1]C.a[i]=a[i-1]D.a[i-1]=a[i]4.有如下Python程序段:a=[1,0,0,0,1,0,1]for i in range(100,0,-1):flag=Truem=ifor j in range(len(a)-1,-1,-1):if m % 2!=a[j]:flag=Falsem//=2if flag:ans=ibreakprint(ans)程序运行后,变量ans的值是()A.46B.58C.69D.815.有如下的Python程序段:a=[3,5,7,9,11,13,15]p=2则与方框中程序段功能相同的语句是(注:pop()删除列表最后一个元素,del()删除列表指定范围元素)()A.a=a[:p]+a[p+1:]B.a=a[:p]+a[p:]C.a.pop()D.del a[p:]6.将一组数保存在列表a中,若a[0]=0,则在列表a中从左到右找到第一个大于零的元素,并与a[0]交换。
广技师C语言复习题5.-练习(数组)(有标准答案)
一、选择题1. 以下对一维整型数组a的正确说明是。
A.int a(10);B.intn=10, a[n];C.int n;scanf(“%d",&n);int a[n];D.#defineSIZE10int a[SIZE]2. 若有说明:int a[10];,则对a数组元素的正确引用是. A.a[10] B.a[3。
5] C.a(5) D.a[10-10]4. 以下对二维数组a的正确说明是。
A.int a[3][]; B.float a(3,4);C.double a[][4];D.floata(3)(4);5.若有说明:int a[3][4];则对a数组元素的正确引用是。
A.a[3][4] B.a[1,3]C.a[1+1][0]D.a(2)(1) 6. 以下能对二维数组a进行正确初始化的语句是。
A.inta[2][ ]={{1,0, 1}, {5, 2, 3}};B.int a[ ][3]={{1,2,3},{4,5,6}};C.int a[2][4]={{1,2,3},{4,5},{6}};D.int a[][3]={{1,0,1,0},{ },{1,1}};7. 下面程序段(每行代码前面的数字表示行号)。
1 inta[3]={3*0};2int i3 for(i=0;i〈3; i++) scanf(“%d”,&a[i]);4for(i=1;i〈3;i++) a[0]=a[0]+a[i];5 printf(“%d\n”,a[0]);A.第1行有错误 B.第5行有错误C.第3行有错误D.没有错误8.若有定义floatx[4]={1.3, 2.4,5。
6},y=6;则错误的语句是。
A.y=x[3]; B.y=x+1; C.y=x[2]+1D.x[0]=y; 9。
定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。
《C语言》复习题2—带答案
《C语言》习题2一、单项选择题1、一个C程序的执行是从()A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束2、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0 C.-12 D.93、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.'c''d' C.cd D.cd e4、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.95、组成C程序的基本单位是()A.函数B.标识符C.表达式D.语句6、设int类型的数据长度为2字节,则该类型数据的取值范围是()A.0至65536 B.0至65535C.-32767至32768 D.-32768至327677、在C语言中,逻辑值“真”是用()表示的。
A.预定义为真值的宏B.非零数C.正数D.非零整数8、C语言对于嵌套if语句规定else总是与()匹配。
A.与最外层的if B.与之前最近的ifC.与之前最近的不带else的if D.与最近的{ }之前的if9、数组定义char a[10]={'`a`,`b`,`c`}:包括了几个元素()A.3 B.9 C.4 D.1010、若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为()A.12 34 B.12,34 C.1234 D.12:3411、以下程序的输出结果是()#include<stdio.h>void main(){char s[]="159",*p; p=s;printf("%c",*p++); printf("%c",*p++);}A. 15B. 16C. 12D. 5912、以下程序的输出结果是()。
数据结构复习2(推理计算题简要说明)
第一章数据结构与算法习题部分一、选择题1)下面叙述正确的是______。
A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对2)算法的时间复杂度是指______。
课后练习题A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数3)算法的空间复杂度是指______。
课后练习题A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间4)算法一般都可以用哪几种控制结构组合而成______。
A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环5)在计算机中,算法是指______。
A. 查询方法B. 加工方法C. 解题方案的准确而完整的描述D. 排序方法6)在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报7)算法分析的目的是______。
A. 找出数据结构的合理性B. 找出算法中输入和输出之间的关系C. 分析算法的易懂性和可靠性D. 分析算法的效率以求改进8)以下数据结构中不属于线性数据结构的是______。
A. 队列B. 线性表C. 二叉树D. 栈9)线性表L=(a1,a2,a3,```````ai,``````an),下列说法正确的是______。
A.每个元素都有一个直接前件和直接后件B.线性且中至少要有一个元素C)表中诸元素的排列顺序必须是由小到大或由大到小D)除第一个和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件10)下列叙述中正确的是______。
课后练习题A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构11)下列关于栈的叙述中正确的是______。
VB程序设计教案,数组12,数组复习题,附答案
Next i
For i = 1 To()
For j = 1 To()
()
Next j
Next i
For i = 1 To n
For j = 1 To m
Print d2(i, j)
Next j
Next i
End Sub
16.下列程序的功能是随机产生10个两位整数并输出,然后进行排序输出,请在空白处填入相应的语句,使之完成上述功能。
3 2 3
B.1 2 3
1 2 3
1 2 3
C.1 2 3
2 4 6
3 6 9
D.1 1 1
2 2 2
3 3 3
21.下述语句的运行结果是()
Private Sub Command1_Click()
Dim a
i = 0
a = Array(1, -2, 9, 0, -1, 9)
Do
k = a(i)
For m = 10 To k Step -2
B.控件数组的每一个控件共享同样的事件过程
C.控件数组中的每一个元素的下标由控件的index属性指定
D. 控件数组中的每一个元素只能有相同的属性设置
24.在窗体上画3个单选按钮,组ห้องสมุดไป่ตู้一个名为Chkoption的控件数组,用于标识数组下标的参数()。
A.Tag
B.Index
C.ListIndex
Next i
For i = 1 To()
t = x(i)
()
()
Next i
For i = 1 To n
Label2.Caption = Label2.Caption & x(i) & ""
c语言复习题及答案第七章数组
第七章数组(8学时)学习目的与要求:1、 重点掌握一维数组的定义和引用;2、 基本掌握二维数组的定义和引用;3、 重点掌握字符型数组的定义与引用;4、 能正确使用字符串处理函数;5、 学会使用数组解决实际问题。
重点:1、 一维数组的定义与引用;2、 二维数组的定义与引用;3、 字符数组的定义与引用;第1讲知识归纳:1、一维数组的定义:类型说明符数组名[常量表达式];(1) (1)数组名后必须用方括弧[],用其他括弧均错误 ;(2) 方括弧中的常量表达式表示数组的元素个数;(3) 方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量;二、填空题1、下面fun 函数的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。
请填空。
fun(int x,int b[]){ int k=0,r;do{ r=x% 2;b[k++]=r;x/= 2j } while(x); }( 1996 年 4 月) 2 22、以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相2、一维数组的引用:数组名[下标r ■」 \ for ( i =0 ; i<7 ; i printf((2)将整个字符串一次输入输出,用格式符 如^ chaLG1f10]; scanf (“ %s ” , c1); int num[N];(2003 年 9 月)25、有以下程序main (){ char a[ ]={ ‘a ' , ‘b ' , ‘c ' , ‘d ',i=sizeof(a); j=strle n( a);printf( “%d,%d b ” i,j);} 程序运行后的输出结果是()。
A ) 9,9B )8,9(2002 年 9 月) 21、C 22、C 23、D 24、B 25、D “ %c , c1[ i ]); %s ; 100]; D) int N=100; e ' , ‘f ' , ‘g ' , ‘h ' , ‘ 0' }; int i,j; C ) 1, 8 D ) 9, 8同字符的ASCII码之差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D
17
练习
7. 以下程序的运行结果是______。 #include<stdio.h> #include<string.h> main() { char arr[2][4]; strcpy(arr[0],”you”); strcpy(arr[1],”me”); arr[0][3]=‘&’; printf(“%s”,arr[0]); } you&me
101418
23
练习
13. 程序运行时,输出结果中第一行是___,第二行是___, 第三行是___。
#include<stdio.h> 0 2 3 void main() 2 3 5 { int a[100]={0},i,j,k; 7 11 13 for(i=1;i<100;i++) a[i]=i+1; printf(“%4d%4d%4d\n”,a[0],a[1],a[2]); for( j=1;j<100;j++) if( a[j]!=0 ) for( k=j+1;k<100;k++) if( a[k]%a[j]==0 )a[k]=0; for(k=1,i=0;k<100;k++) if(a[k]!=0) { printf(“%4d”,a[k]); i++; if(i%3==0)printf(“\n”);} }
D. 在引用数组元素时,下标表达式可以使用浮点数
B
5
考点8 习题
以下叙述中正确的是
A. 语句int a[8]={0};是合法的 B. 语句int a[ ]={0};是不合法的,遗漏了数组的大小 C. 语句char a[ ]={“A”, “B”};是合法的,定义了一 个包含两个字符的数组 D. 语句char a[3]; a=“AB”;是合法的,因为数组有三
2
考点8 基本类型数组
字符数组的定义
char 数组名[exp1];
char 数组名[exp1] [exp2];
字符数组的初始化
依次赋单字符:char s[6]={‘C’, ‘h’, ‘i’, ‘n’, ‘a’, ‘\0’}; 直接赋字符串常量:char s[ ]= “China” ; 二维数组:char s[][6]={“China”, “India”, “Korea”};
B
15
练习
5. 有声明char c;,执行 for(; c=(getchar()!=‘\n’); ) printf(“%c”,c); 时,从键盘输入ABCDEFG↙之后,输出结果是____。 A. ABCDEFG B. AABBCCDDEEFFGG C. 非字母数字字符 D. 语句不能执行
C
16
练习
6. 已有char a[30],*p=a;,则能将串“This is a C progra
m.” 正确地保存到数组中的语句是___。
A. a[30]=“This is a C program.”; B. a=“This is a C program.”;
C. p= “This is a C program.”;
D
12
练习
1. 以下一维数组的声明中,正确的是____。
A. int a[ ]; C. int a[10+1]={0};
B. int n=10,a[n]; D. int a[3]={1,2,3,4};
2. 若有 int a[10],b[3][3]; 则对数组元素赋值的操作中除
____外均出现越界访问。
A
9
考点8 习题
下列定义数组的语句中,正确的是____。
A.int N=10; int x[N]; C.int x[0...10]; B.#define N 10 int x[N]; D.int x[];
B
若有以下说明,则数值为4的表达式是____。
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a', d, g; A.a['d'-'c'] B.a['d'-c] C.a[g-c] D.a[4]
A. a[-1]=0 C. b[3][0]=0
B. a[10]=0 D. b[0][3]=0
C D
13
练习
3.声明char s1[10]=“12345”,s2[10]=“abcde”,s3[10]; ,以下 语句中能正确实现交换s1中存储的字符串和s2中存储的字 符串功能的是____.
A. s3=s1,s1=s2,s2=s3; B. s3[0]=s1[0], s1[0]=s2[0], s2[0]=s3[0];
printf("%d\n", strlen(p)); B) 9 C) 6 D) 7
19
9. 以下程序运行后的输出结果是
练习
aB cD EFG !
#include <stdio.h> #include <ctype.h>
void fun(char *p )
{ int i=0; while(p[i]) { if(p[i]==' '&& islower(p[i-1])) p[i-1]=p[i-1]-'a'+'A'; i++; } } }
22
练习
12. 以下程序运行后的输出结果是____。
#include<stdio.h> main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3]={0},i; for(i=0;i<3;i++) b[i]=a[i][2]+a[2][i]; for(i=0;i<3;i++) printf("%d",b[i]); printf("\n"); }
“Thank you”; int i;,要求输出字符串Thank you ,以下不 能达到该要求的语句是____。 A. puts(s); B. printf(“%s”,s[10]);
C. for(i=0;s[i] ;i++)printf(“%c”,s[i]);
D. for(i=0;s[i] ;i++)putchar(s[i]);
20
main() { char s1[100]="ab cd EFG !"; fun(s1); printf("%s\n",s1);
练习
10. 若有以下程序
wer is red.Fig flo is blue. #include <stdio.h> main() { char a[20], b[ ]="The sky is blue."; int i; for (i=0; i<7; i++) scanf("%c", &b[i]); gets(a); printf("%s%s\n", a,b); } 执行时若输入: (其中<Enter>表示回车符) Fig flower is red. <Enter> 则输出结果是
计算机等级考试——C语言
2017.7
1
考点8 基本类型数组
数组的定义
类型 数组名[exp1]; 类型 数组名[exp1][exp2];
数组的存储结构:以 行 为主序 数组的引用:下标范围 0~exp1-1 数组的初始化
可只给部分元素赋值 static数组,系统自动赋0 可隐含定义数组大小,省第1括号中的表达式, 但不能省第2括号中的表达式
3
考点8 基本类型数组
字符串处理函数
strcat(字符数组1, 字符串2)
strcpy(字符数组1,字符串2)
strcmp(字符串1,字符串2) strlen(字符串) (不含‘\0’)
注:需包含头文件string.h
4
考点8 习题
以下叙述中正确的是
A. 一条语句只能定义一个数组 B. 每个数组包含一组具有同一类型的变量,这些变量在 内存中占有连续的存储单元 C. 数组说明符的一对方括号中只能使用整型常量,而不 能使用表达式
18
练习
8. 以下程序运行后的输出来自果是#include <stdio.h> #include <string.h>
main()
{ char p[20]={'a', 'b', 'c', 'd'}, q[]="abc", r[]="abcde"; strcat( p, r); } A) 11
D
strcpy( p+ strlen(q), q);
B
10
考点8 习题
以下程序运行后的输出结果是_______。
#include<stdio.h> #include<string.h> main() { char a[20]= "ABCD\0EFG\0", b[ ]="IJK"; strcat( a, b); printf( "%s\n", a); } A. ABCD\0EFG\0IJK C. IJK B B.ABCDIJK D.EFGIJK