
c语言基础知识判断题.pdf
58页判断题1 .函数若无返回值,则它一定无形参X2.在C程 序 中,函数既可以嵌套定义,也可以嵌套调用X3 .C程序总是从m a i n()函数的第一条语句开始执行的V4 .同一函数内可以有多个r e t u r n语句V5 .m a i n函数中的变量名不可以与其它函数相同义6 .C程序可由多个函数组成,但必须有并且只有一个主函数m a i nV7 .在C语言中的每个函数必须要有一个明确的r e t u r n语句才能返回调用程序X8.主函数中定义的变量的作用域仅限于主函数内V9.传值调用的形参只有在被调用时,才被创建(分配存储单元)V1 0 .C程序执行总是从第一个函数开始X1 1 .一个C程序的执行总是从该程序的m a i n函数开始,在m a i n函数最后结束.X1 2 .被m a i n函数调用的函数只能是库函数X1 3 .函数说明指的是在程序中设定一个函数模块X1 4 .在C程序中,若对函数类型未加说明,则函数的隐含类型为v o i dX1 5 .形参可以是常量、变量或表达式X1 6 .函数调用可以作为一个函数的形参X1 7 .C语言规定,实参应与其对应的形参类型一致V1 8.定义函数时,形参的类型说明可以放在函数体内。
X1 9.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据V2 0 .全局变量可以被任何一个函数中的任何一个表达式使用X2 1 .函数的隐含存储类型是e x t e r nV2 2 .定义在m a i n函数后的任何函数都需在m a i n中进行函数声明X2 3 .a是一维数组名,数组元素a l 还可以写作“*(a+)”X2 4 .C语言中数组名是指针常量J2 5 .构成数组的各个元素必须具有相同的类型J2 6 .数组元素的下标可以选用正整数或正实数X2 7 .数组名可以作为参数进行传递V2 8.若有定义“i又a 4 5 ;,则在数组元素a 3 3 前 有1 2个元素X2 9.若有定义i n t a 3 4 ;则共有1 2个元素,最后一个元素是a 3 4X3 0 .字符数组中字符串可以整体输入输出J3 1 .若有定义语句“c h a r s l =a b c ,s 2 =,b,c :,则蛆 s i和数组s 2均有3个元素X3 2 .若a为一维数组名,则*(a+i)与a i 等价V3 3 .函数原型为“v o i ds o r t(f l o a t a ,i n t n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。
X3 4 .C允许对数组的大小作动态定义,即可用变量定义数组的大小X3 5 .数组定义i n t a 1 0 ;也可以写成i n t a(1 0);X3 6 .在对全部数组元素赋初值时,可以不指定数组长度V3 7 .定义s为5X6(5行6歹I)的数组可写成f l o a t a 5,6 ;X3 8.数组定义i n t a 1 0 ;表示数组名为a,此数组有1 0个元素,第1 0个元素为a 1 0X3 9.s t a t i c c h a r c =a ,b ,o ,o ,k ,、0 ;与 s t a t i c c h a r c =a 等价X4 0 .设已有说明:s t a t i c c h a r c l 1 0 ,c 2 1 0 ;下面程序片段是合法的c l=b o o k ;c 2=c l;X4 1 .调用函数时,实参为数组名,则向数组传递的是数组的首地址V42.puts函数的作用是接收从键盘输入的字符串X43.两个字符串所包含的字符个数相同时,才能进行字符串的比较X4 4.若有说明:拾12m3=1,2,3,4,5,6,7;则数组2 第一维大小是3V45.在 C 语言中,数组下标从1开始。
X46.若有说明:inta口4=0,0;则二维数组a 的第一维大小为1X47.在 C 语言中,数组名是一个不可改变的地址常量,不能对它进行赋值运算V48.若有说明:inta34=0,则只有元素a 可得到初值0X49.字符串作为一维数组存放在内存中V50.若有形参定义:inta10;则 a+是合法的表达式X51.定义数组可以采取以下形式:inta5;al=l;a2=3;a3=6;a4=7;a5=9;X52.设 char x=1234”,y=T 2 3 4 0 ;那么 x 数组的长度等于 y数组的长度V53.a 和 a”在内存中所占字节相同X54.C 语言的编译系统对宏命令的处理是在C 源程序编译阶段完成的X55.预处理命令如:#include 不属于c 语言的一部分X56.若有宏定义:#define M(x,y,z)x*y+z 则宏引用 M(2+3,4+5,6+7)通过宏展开后的表达式应为(2+3)*(4+5)+(6+7)X57.C 语言中的宏定义允许嵌套定义,也允许带参数V58.宏替换时先求出实参表达式的值,然后代入形参运算求值X59.使用带参数的宏时,参数的类型应与宏定义时的一致X60.若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。
V61.已知宏定义#define SQ(x)x*x,执行语句 printf(u 10/SQ(3)=%d,10/SQ(3);后的输出结果是 10/3*3=1X62.形参为指针变量时,实参必须是数组名X63.若有定义:inta5,*p;,使 p 指向最后一个数组元素a的语句是p=a+4;V64.已有定义:inta5=1,2,3,4,5,*s=a;,则表达式*(s+3)的值是 3X65.若有定义:inta5=l0,20,30,40,50,*p=%*s=a+2;,表达式 s-p 的值是 2J66.在 int*p;和语句printf(%d,*p);中的*p 含义相同X67.设有说明int(*ptr)(int);,则 ptr是一个函数名X68.位运算赋值有6 个,但位运算组成复合的赋值运算符只有5 个V69.说 明:chars=world,*p;,执行语句 p=s后,*(p+5)的值是dX70.结构体类型中各成员项的数据类型可以不同V71.在程序中定义了一个结构体类型,将为此类型分配存储空间X72.在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和V73.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。
V74.若用fopen()函数打开一个已存在的文本文件,保留该文件原有数据且可以读也可以写,则文件的打开模式是“r+”V75.C 文件使用前需要打开,使用后需要关闭J76.对文件进行操作的一般步骤包括:打开/建立要操作的文件;对文件进行读写等操作;关闭被操作的文件V77.若 fp 已正确定义并指向某文件,当未遇到该文件结束标志时函数feof(fp)的值为1X78.文件由二进制数据序列组成,C 语言只能读写二进制文件X79.feof函数只能对二进制文件进行判定X80.利用f c l o s e函数关闭己打开的文件4选择题1.下列叙述中,正确的叙述项是(BA.定义函数时,必须要有形参B.函数中可以没有r e t u r n语句,也可以有多条r e t u r n语句C.函数f可以用f(f(x)形式调用,这种调用形式是递归调用D.函数必须有返回值2.下列叙述中,不正确的叙述项是(D )oA.函数调用时,形参变量只有在被调用时才被创建(分配存储单元)B.函数调用时,实参可以是常量、变量或表达式C.定义变量时,省略对变量的存储类别定义,则变量是自动型变量D.语句re tum(a,b);则函数可以返回两个值3 .传值调用的特点是(B )。
A.实参传给形参变量的数据是地址B.在函数中形参变量值改变后,C.在函数中形参变量值改变后,D.实参必须是变量4 .如果在函数中定义一个变量,A.只在该函数中有效C.在本程序中有效5 .根据下面函数print的定义,void print(long n)if(n=0)re turn;e lse print(n/1 0);printf(M%d”,n%1 0);re turn;)A.5 3 7 8C.3 5 7 86.根据下面函数f,int f(int x)sta tic int k=0;x=x+k;不改变实参变量的值实参变量的值随之也改变有关该变量作用域正确的是(A)B.在该文件中有效D.为非法变量选出调用函数print(5 3 7 8)的 值 是(A)B.8 73 5D.8 7 5 3选出f(f(3)的 值 是(C)k-;re turn x;)A.5 B.3 C.2 D.47 .以下说法中正确的是(C)oA.C程序总是从第一个函数开始执行B.C程序中,函数最多不能超过2个C.C程序总是从ma in()函数开始执行D.C程序的ma in()函数必须放在程序的最前面8 .以下函数调用语句中实参的个数为(D )。
a ve r(v 1 ,v2),(v3,v4,v5),v6);A.6 B.5 C.4 D.39.下列程序的输出结果是(Dfun(int a,int b,int c)c =a*b;ma in()int c;fun(2,3,c);printf(n%d n;c);)A.0 B.1 C.6 D.无法确定1 0 .执行下列程序后的输出结果是(A)inc lud e c h a r f(c h a r s,int n)re turn(s nj);ma in()c h a ra =A B C DH;printf(H%c,f(a,2)+1);)A.D B.C C.B D.A1 1 .对于以下递归函数f(),调用f(4),其返回值为(A)oint f(int n)if(n)re turn f(n-l)+n;e lse re turn n;)A.1 0 B.4 C.0 D.以上均不是1 2 .下列能正确定义一维数组a的语句是(D )A.int a(1 0);B.int n=I0,a n;C.int n;sc a nf(d”,&n);D.#d e fine n 1 0int a n;int a n;1 3 .若 有 定 义 语 句 则 下 列 对a中数组元素正确引用的是(A)。
A.a 1 0/2-5 B.a 1 0 C.a 4.5 D.a (1)1 4 .能对一维数组正确初始化的语句是(A)oA.inta 6=6*l)B.int a 6=1,3 C.inta 6=D.int a 6=(0,0,0)1 5 .以下能正确定义二维数组的语句为(D )oA.int a ;B.int a 4;C.int a 3 ;D.inta 3 4;1 6.若有数组定义语句“inta 4 5;,则对a中数组元素的正确引用是(D )A.a 4 l B.a 2,1 C,a 4 5 D.a 4 -l 5-5 1 7 .下列各语句定义数组,其中不正确的是(C)A.c h a r a 3 1 0=C h ina1,A me ric a n /sia ;B.int x =1,2;C.floa t x 2 =1,2,4,6,8,1 0;D.int m 3=1,2,3 4,5,6;1 8 .数组定义为int a 3 2=1,2,3,4,5,6,下列表述中正确的是(D )A.a 3 的值为6 B.a 6的值为6C.a 0 的值为1D.a 2 l的值为 61 9.以下能对二维数组a进行正确初始化的语句为(D )oA.int a 2 =1,4,5;B.int a 2 3=l,2,3,4,5,6,7;C.int a =l,2,3,4,5,6;D.int a 3=l,2,3,4,5 ;20.下列对字符数组s的初始化不正确的是(C)oA.c h a rs 5=a b cn;B.c h a rs 5=a,b ,c d,e ;C.c h a rs 5=(,a b c d eM;D.c h a r s=,a b c d eH;2 。
