C语言期末复习文档.docx
完整版打印一下 C语言期末复习资料

第一部分:C 中的数据首先,从主调函数和被调函数(模块间)要处理的任务数据的角度来总结数据的 知识点:C 语言中所讲授的数据有基本类型(整型、实型和字符型)和构建类型(数组、结构体、共用体、链表结点)之分。
构建类型是由基本类型构建而成,因此我们有必要 对基本类型的数据做以更细致的研究。
一.基本类型的数据程序中的数据无非是以常量和变量两种形式描述。
在这里我们不妨思考两个问题:(1)为什么要用变量? ( 2)常量经常用在什么地方?(一)常量对于基本类型常量我们要掌握:常量分几类?每类的书写规则是什么?(2)实型常量:有小数和指数两种表示形式.(3.4.1、3.4.3 )(3)字符型常量:有普通字符(可以是 ASCII 码表中的任何一个字符)、转义字符(表示控制命令的转义字符和用八进制十六进制描述的转义字符)(4)字符串常量(3.5.4 )(5)符号常量:实际上是不带参数的宏定义(3.2.1、9.1.1 )对于常量部分的考察无非是辨别书写形式,字符类的常量特别注意转义字符的辨认。
这就要求我们熟记书写规则。
例如以下题目:t-1 :下面哪个是正确的整型常量表示t-2:下面哪个是错误的实型常量表示期末复习(1)整型常量:有十、八、十六进制二种表示形式。
(331、333 )(3.5.1 )A)019B)0X34g C)-123 D)o56 E) 12,000A).23B)3.8E-4.5C)45E12D)92.45t-3:下面哪个是正确的字符常量表示:t-4:下面那个是正确的字符串常量表示:的值是5 ?(二)变量对于基本类型的变量,我们知道要使用变量必须先定义变量,定义的基本格式是: 数据类型 变量名;要正确定义变量就必须清楚两点(1)什么样的变量名才是合法的?(322)( 2)如何用类型符来描述所要定义的变量, 这就涉及到变量所分配的字节数、存储特点、有无符号及各自表示的数值范围等。
变量的三大类:(1)整型变量(3.3.2)分配字节:2 字节(int/short ) 4 字节(long ) ( TC2.0)存储特点:存储的是数值的补码形式(2)实型变量(3.4.2)(float ) 8 字节(double ) 16 字节(long double )存储特点:图3-7A) ” b ”B)'' C) '\34 ' D)'\0x9 ' E) '123't-5:t-6:A) abc'E) ” F) ” A ”B)C) “”D)“ \0x120”字符串“ ab034\0\\t\v\012 ”存储需要多少个字节? 先组合转义字符,11个字puts( “ ab034\0\\t\v\012 ”);的结果是 ab034? strlen( “ab034\0\\t\v\012 ”)符号标识:sig ned un sig ned表示数值范围:表3-1分配字节:4字节期末复习资料 第10页-总24页表示数值范围:表3-2(3)字符型变量(3.5.2、3.5.3 )分配字节:1字节(char )存储特点:存储字符的ASCII 值 符号标识:sig ned un sig ned 表示数值范围:sig ned char: -128~+127Un sig ned char: 0~255基本类型变量这部分知识主要的考察形式:(1)变量名(标识符)的正确与否鉴别 (2) 变量类型标识符的识别与应用(3)变量定义语句中对变量进行初始化的形式正确与否鉴别 (3.6)例如以下题目:F 面程序段在tc2.0和cfree3.0运行时的输出各为-1 / 65535un sig ned int a=65535; prin tf("%d",a);A)int a=b=5 ; B)char ch=97 ; C)unsigned int x, y=-5; D)int a=3,b=5;E ) int c=3(二)建构类型的数据t-7:以下正确的变量标识符是:A)3sum B)INTC) 3maxD)case E)p&sumF)s m at-8:以下正确的变量类型声明是:A)si gned intB)i nt longConsigned longD)shortlongt-9:t-10:以下正确的定义语句是:期末复习资料 第10页-总24页程序给出的任务数据可以是基本类型的,也可以是集合性质的。
C语言期末复习.doc

第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C3、CDG二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\C、%和\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0C、2.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。
参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。
C语言规定以字符’\0’作为字符串结束标志。
如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\0’。
C语言期末复习资料.doc

double r=O,h=O,cl,cs,cbs,cbv,cv;
scanf(”%lf,%f ,&r,&h);//double型数据的输入一定用If,用f则结果出错cl=2*PI*r;
CQ=PI*r*r*
cbs=4*PI*r;
cbv=4/3*PI*r*r*r; cv=Pl*r*r*h;
printf(ncl=%7.f,cs=%7.2^cbs=%7.2f,cbv=%7.2f,cv=%7.2f\n,\cl,cs,cbs,cbv,cv); return 0;
scanf(”%d,%d”,&m,&n);
printf(ngys=%d,gbs=%d\n,\gys(m,n),gbs(m,n));
return 0;
int gys(intm,int n)〃公约数函数定义{
int r;
while((r=m%n)!=O)
{
m=n;
return n;
}
int gbs(intm,int n)//公倍数函数定义
5、编程题
编写一个程序,求出1〜100之间所有每位数的乘积小于每位数的和的数。例如:13满足
1*3〈1+3・#include <stdio. h> int inain(void)
{
inti, m, n;
for(i=10;i<100;i++)
m=i/10; n=i%10;
i f(m*n〈m+n)
printf (z/%d\n,z, i);
#include <stdio.h>
int main(void)
{
doublei= 1 ,j=1 ,t,temp,sum=0;
C语言期末考试全部知识点复习资料--重点--常考点.doc

C语言知识点复习资料考试是难得的训练自己的机会,在特定的时间、特定的地点、特定的气氛下,你需要调动各方而的能力。
而在每一次考试中,我都下意识地应用自己摸索出来的“目标控制法”,做到了每次考试有有收获和进步。
每次考试询,我都会在一张口纸上写满通过本次考试要达到的目标:要注意克服哪些易犯的错误,尤其是要克服前儿次考试中暴露出来的共性的失误;要积累哪些经验,应用哪些技巧,比如选择题中的特征值法;要在多长的时间内完成卷而各部分,比如,争取35分钟内完成数学试卷中的选择题和填空题;要培养锻炼哪些考试应试的心理素质等。
也就是说,我们要把考试看成是一个完整的流程,包括考前准备、考场发挥和考后调整三个阶段。
同学中存在的误区往往是只注意考前的准备和考场的发挥两个阶段,对考后调整注意不够。
事实上,高考之前的每一次模拟考试,最重要的就是考试后的总结与反思,只有这样,才能认识到自己的薄弱环节,不断提高考试能力。
所以,有心的同学一定要注意做好健全的考后调整,不断提高自己的实力。
总体上必须清楚的:1.程序中基本的控制结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2.读程序都要从main ()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个ma in函数。
3•计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是它的地址.4. bit是位是指为0或者1。
byte是指字节,一个字节二八个位.5.编译预处理不是C语言的一部分,不占运行时间,不要加分号。
(常考!)define PI 3. 1415926;这个写法是错误的,一定不能出现分号。
6.每个C语言程序中main函数是有且只有一个。
7.用C语言编写的程序称为源程序,扩展名是・c。
C程序必须经过编辑、编译、链接、运行四个步骤才可得到运行结果。
注意・c和-obj文件时无法运行的,只有-cxc文件才可以运行。
(常考!)8. C语言书写格式是自由的,每行可以写多个语句,一条语句也可以写在多行。
(完整word版)大一C语言期末考试参考资料

C 语言总复习总体上必须清楚的: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位系统。
碰到这种情况,不要去管,一样做题。
C语言期末复习知识点.docx

C语言期末复习知识点<语言期末复习知识点第I、2章€语言概述及基础知识一.知识点(沧分)€语言程序的基本结构,€语言上机运行环境,标识符,常量和变量,基本数据类型,运算符的结合性和优先级,基本的算术运算符和算术表达式,自增、自减运算符及其表达式,赋值运算符和赋值表达式(包含复合的赋值运算符),逗号运算符和逗号表达式,位运算符和位运算,强制类型转换运算符,赋值运算中的类型转换。
二.复习重点及难点L €语言程序的基本结构:Mell*I /*定义变量"一———f对巴整数N赋值给变量白“l^i /砒整数赋值给变量I蔚I /甘巴两数之和赋值给变量3“I—* /蔣俞出计算结果(1)€程序市函数组成,一个程序必须且只能有一个主函数<i^i <».C 程序总是从主函数开始执行,在主函数中结束。
(2)定义函数时函数名后必须有一对小括号,函数体必须放在一对花括号内,在函数体中,函数体有两个部分:定义部分和执行部分。
定义语句必须出现在执行语句之前,我们先定义了*J. a-然后才给它们赋值。
(J) C语言中每条语句都以分号“;”结束,分号时C语句的一部分。
即使是程序的最后一个语句也不例外。
分号是语句结束的标志。
(4)一行可以写多条语句,一条语句也可以分在多行上写,但是,不能将一个整体分开。
例如:圭"•是错误的,而圭"•正确。
(«)C语言的注释必须放在“/*”和之间,和之间不允许有空格。
“/*”和之间不允许再插入“/*”或“对” O注释可以出现在程序屮的任意位置。
注释部分不被执行。
(b) C语言程序书写格式口由,语句可以从任一列开始书写,一行内可以写多个语句。
但是过于“自由”的程序书写格式往往使人们很难读懂程序,初学者应该从一开始就养成好的习惯,是程序便于阅读。
2.标识符:2. I标识符的命名规则:(1)标识符只能由字母、数字和下划线组成。
(2)标识符的第一个字符必须是字母或下划线。
(完整word版)期末复习 C语言知识点归纳(word文档良心出品)

B) { t=a,a=b,b=t;} C){ a=t;t=b;b=a;} D){ t=b;b=a;a=t;}
结构化程序设计的三种基本结构:顺序结构、选择结构(分支结构)、循环结构
四、选择结构注意: 条件表达式的构造;关系运算、逻辑运算;
选择结构的基本语句: if 语句 if-else if-else 的嵌套结构(else 与 if 的匹配规则)
4. 字符串专用的输入输出函数 gets()和 puts()
例如:
char
str[100];
gets(ch); //输入一个字符串存入字符数组 str puts(ch); 的字符串
//输出字符数组 str 中存放
6.复合语句格式: { 语句 1 语句 2
…. 语句 n } 例 2 若已经定义 int a, b;且已赋值,要将 a 和 b 中的数进行交换,下面选项中不正确的是
%e
输出指数形式浮点数
%s 数据宽度说明:
输出一个字符串
1)在%和格式字符之间插入一个整数来指定输出宽度。例如: %4d、%5c
2)对于 float 和 double 类型的实数,可以用 n1.n2 形式 n1 指定输出数据的宽度(包括小数
点),n2 指定小数点后小数的位数。
例如:
%12.3f、%12.0f
例如: int a=1,b=2,c=3,d=4, z;
z=( a>b )? c : d;
结果:z 值为 4
三、输入输出函数重点:输入输出的格式控制
1. 数据输出 printf
格式: 格式符
printf(格式符,输出项 1,输出项 2,….) 功能
c语言期末复习总结.doc

输入输出函数:scanf(" %d/c/s/f,,,&a); printf(〃%d/c/s/f〃,a);if语句:if()else逻辑运算符:&&与| |或!非switch 语句:switch(i)case 0:•…••;break;case 1. •,;case 2:•…••;break;case 3:•…••;break;default : 9)要注意:除最后一个case外都要在每个case 后加break循环语句:for(;;)例如for(i=l;iv4;i++)初始值i=l;循环条件i<4;循环变量的变化情况while()()中间是循环条件,例如while(i<6)意思是,i<6的时候执行循环语句break 和continue 区另U:break是结束整个循环;continue是结束本次循环,继续下一轮循环i++和++i:i++是在执行之后i进行加1;++i是执行之前i加1例如:#include <stdio.h>int main(int argc, char *argv[]){int i=l;printf("i[l]=%d\n",i++);printf("i[2]=%d\n",i);printf("i[3]=%d\n",++i);printf("i[4]=%d\n",i);return 0;)输出结果:i[l]=l; i[2]=2;i[3]=3;i[4]=3;数组:一维数组:类型名数组名[常量表达式]; 例如:int a[10]I nt是类型名a是数组名10是指数组a 中包含10个int型数;二维数组与一维数组差不多区别就是:类型名数组名[常量表达式][常量表达式]两个[常量表达式]函数:类型名函数名(形式参数表列)例如:int max(int x,int y){Int z;z=x>y? x:y;return(z);)int main(){Int x=l;y=2;printf("%d,max(x,y)); return 0;)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末考试题型:程序设计基础题型举例•、选择题1、 C 语言规定:在一个源程序中,main 函数的位置—B ________ 。
A. 只能在程序头部;B.可以在程序任何位置;C.必须在#include ^Uttdefine 语句后面;D.只能在程序最后面。
2、 在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为_A_。
A. RUNB. FILEC. EDITD. OPTION 3、 下面标识符中止确的是—B _______ oA. $a#bB. sumC. 1A23BCD.Y ・M ・D 4、 在C 语言屮(以16位PC 机为例),存储一个整型、字符型、双精度实型变量 所需的字节数是 ____ C_0A.4、1、4B.4、1、4C.2、1、8D. 2、2、85、 下面的变量说明中 _____ B ________ 是止确的。
A. Char : a, b, c ;B ・ Char a, b, c ; C. Char a ; b ; c ; D. Char a, b, c6、判断char 型变量ch 是否为大写字母的止确表达式是—C ________C. (ch>=/A ,)&&(ch<=T)D. (W<= ch)AND(/Z ,>= ch) 7、已知int x=10,y=20,z=30;以下语句执行后x,y,z 的值是 ____ D _____ if(x>y) z=x; x=y; y=z; 、 选择题 30分二、 填空题或程序填空三、 判断题10分 四、 分析题20分 五、 编程题 20—20分 30分A. /A ,<=ch<=7,B. (ch>=W)&(ch<=T)A. x=10, y=20, z=30B. x=20, y=30, z=20C. x=20, y=30, z=10D. x=20, y=30, z=30int n=0;while(n++<=2);printf( “%d” z n);A. 2B. 3C.4D.死循环9、下面程序的功能是输岀如右图所示形式的金字塔图案。
main(){ int i,j;for(i=l;i<=4;i++){ for(j=l;j<=4-i;j++) printf(“ “);for(j=l; j<= ______ ; j++) printf("〃);printf(〃\n〃);}}在下划线处应填入的是_____ B ____________A. iB. 2*i-lC. 2*i+lD. i+210、下列数组定义方式不止确的语句是—A ________ 。
A. intx[3]={12, 13, 14, 15};B. chary[]={z h,, z e\ T, T, V};C. char x[5];D. chary[][10]二{"Hi,Hello〃};□、c语言规定,数组名做实参时,它和对应形参Z间的数据传递方式为_c A.由实参传给形参,再由形参传回给实参 B.单向值传递C.地址传递D.由用户指定传递方式12、以下正确的函数定义形式是—D_oA. double fun(int x, y);B. double fun(int x; int y);C. double fun(x, y);D. double fun(int x, int y);13、执行下列程序后,其结杲为_A_。
inta[]={2, 4, 6, 8, 10, 12}, *p;p=a;*(p+4)二2;printf( "%d, %d\n〃,*p, *(p+4));A. 2, 2B. 0, 10C. 2, 10D. 0, 214、下面程序的输出结杲是:_D ______ o#define POWER(x) (x*x)main(){int i = 4; printf("%d,,/ POWER( i-2));}分析:4-2*4-2=-6A. -9B. -7C. 5D. -615、有下列结构体,对该结构体变量stu的成员项引用不正确的是_A _______ -struct student{int m;float n;}stu,*p;A. p.stu.nB. p->mC. (*p).mD. stu.n16、一个C程序的执行是从____ B____ oA. main()函数开始,直到最后一个函数结束B. main()函数开始,直到main()函数结束C. 第一个语句开始,直到最后一个语句结束D. 第一个函数开始,直到最后一个函数结束17、下面标识符中止确的是_A ______ -A. numberB. 123abcC. *a#b*cD. P・H・D18、在使用TurboC2.0环境编辑程序时,编译某程序使用的菜单项为—C_。
A. FILEB. COMPILEC. RUND. OPTION19、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为_____ C_OA. char < int < long int = float = doubleB. char = int < long int <= float < doubleC. char < int < long int <= float < doubleD. char = int = long int <= float < double20、下面的变量说明中 ___ B __ 是止确的。
A. char: a, b, c;B. char a, b, c;C. char a; b; c;D. char a, b, c21、C语言程序中出现条件分支语句if-else时,else与_(:_组成配对关系。
A.同一复合语句内部的讦B.在其之前任意的讦C.在其2而未配对的最近的讦D.首行位置相同的if22、已知int x=10,y=20,z=30;以卜-语句执彳亍后x,y,z的值是 __ D ___ 。
if(x>y) z=x; x=y; y=z;A. x=10, y=20, z=30 B・ x=20, y=30, z=20C. x=20, y=30, z=10D. x=20, y=30, z=3023、从循环体内某一层跳出, 继续执行循环外的语句是:C. break语句D.空语句24、判断char型变量ch是否为大写字母的正确表达式是—B—。
A. z A,<=ch<=z Z,B. (ch>=/A,)&&(ch<=z Z,)C. (ch>=W)&(ch<=/Z,)D. (W<= ch)AND(/Z,>= ch)25、下而程序的输出结果是: ____ B_o#define POWER(x) (x*x)main(){int i = 2; printf(H%d H z POWER( i-2));}A. -4B. -6C. 5D. -926、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为一_C_OA、地址传递由实参传给形参,再由形参传冋给实参C、单向值传递D、由用户指定传递方式27、下列数组定义方式不正确的语句是—A—oA. intx[3]={12, 13, 14};B. chary[]={z h,, z e\ T, T, V};C. char x[5];D. chary[][2]={//Hi7Hello,,};28、以下正确的函数定义形式是—A—oA. double fun(int x, int y);B. double fun(int x; int y)C・ double fun(x, y) D・ double fun(int x,y)29、执行下列程序后,其结杲为—D—ointa[]={l, 3, 5, 7, 9, 11};*p;p=a;printf (“%d, %d\n〃, *p, * (p+2));A. 0, 9B. 0, 3C. 1, 7D. 1, 530、char(*p)[5];该语句声明D是一个 A 。
A) 指向含冇5个元素的一维字符型数组的指针变量pB) 指向t度不超过5的字符串的指针变量pC) 有5个元素的指针数组p,每个元素可以指向一个字符串D) 有5个元索的指针数组p,每个元索存放一个字符串31、C语言源程序的某文件中定义的全局变量的作用域为:_C—。
A) 本文件的全部范围B)本函数的全部范围C)从定义该变量的位置开始到本文件结束D)本程序的所有文件的范围32、已知学生记录描述为:struct studentint no;char n ame[20];char s ex;struct{ int year; char mon th[20]; int day;Jbirth;}; struct student s;设变量s 屮的〃生日〃应是“1984年口月11日〃,下列对“生日〃的正确赋值方式是s.birth.month = "11"; s.birth.day = 11; s.birth.m onth = 11; s.birth.day = 11; strcpy(s.birth.month,"11"); s.birth.day = 11; s.birth.month[] = {"11"}; s.birth.day = 11;33.若有二维数组定义语句:int a[3][4];则下面能正确引用元素a[i][j]的为:A) *(a+j*4+i) B) *(a+i*4+j) C) *(a[i]+j)=*(*(a+i)+j) D) *((*a+i)+j)34.在下面的语句中:只有一个在功能上与其他三个语句不等价(其中si 和s2 表示某个C 语句),这个不等价的语句是 D 。
A) if (a) si; else s2;B)讦(!a) s2; else si; C) if(a!=O) si; else s2; D) if(a==O) si; else s2;・以下正确的描述是—A 。
A) 对共用体初始化时,只能对第一个成员进行初始化,每一•瞬吋起作用的成员 是最后一次为其赋值的成员B) 结构体可以比较,但不能将结构体类型作为函数返回值类型C) 函数定义可以嵌套D) 关键字typedef 用于定义一种新的数据类型36.下列的定义中,正确使用字符串初始化的是 C o A) charstr[7] ="FORTRAN"; B) charstr[]= {FQ,RJ ;R,A,N,0}; C) char *str = "FORTRAN";D) char str[]=37. 判断字符串si 与字符串S2相等,应当使用:_D ________ oA) 讦(si = s2) B)讦(strcmp(sl, s2))C) if (!strcmp(sl, s2)) D) if (strcmp(sl, s2) = 0)38. 二维数组a 有m 行n 列,则在汕川]之前的元素个数为B 。