C语言程序设计(2)复习题
判断题:
● C程序是由函数构成的,每一个函数完成相对独立的功能。()
● 被main函数调用的函数只能是库函数。()
● 定义函数时,必须要有形参和返回值。()
● 在C程序中,main函数和自定义的函数都可以有多个。()
● 函数必须有return语句。()
● 语句return(a,b);则函数可以返回两个值。()
● 传值调用时,在函数中形参变量值改变后,不改变实参变量的值。()
● 函数的递归调用不过是一个函数直接或间接地调用它自身。()
● 在 C 程序中 , 函数既可以嵌套定义,也可以嵌套调用。()
● 传值调用的形参只有在被调用时,才被创建(分配存储单元)。()
● 自定义函数中若缺省函数值类型,则隐含的类型是int。()
● 定义为void类型的函数,其含义是调用函数后,函数的返回值为任意的类型。()
● C语言程序中,若实参是变量,当调用函数时实参和形参各占一个独立的存储单元。()
● 在C语言中,所有函数之间都可以相互调用。()
● void类型的函数一定无形参。()
● C语言规定,实参应与其对应的形参类型一致。()
● 构成数组的各个元素的数据类型不一定要相同。()
● 数组元素的下标必须是整数,不能用实数。()
● 系统判断字符串结束的标志是’\n’。 ()
● 定义数组后,可通过赋值运算符=对该数组名直接赋值。例如:int a[5]; a={1,2,3,4,5};()
● 若有定义语句“int a[10];”则a[10-9/2] 是合法的数组元素。()
● 若有定义:double a[10]={1.1,2.5},i=1;则a[i]为2.5。()
● 语句int N=10; int a[N];可以正确定义数组a。()
● 有定义:int a[10]={1,2,3,4,5};则a[5]为0。()
● 有数组定义int a[3][3]={{1},{2,3}};,则a[3][3]的值为0。()
● 若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是3。()
● 数组定义语句“char c[]= "Hello";”与“char c[ ]={‘H’,’e’,’l’,’l’,’o’};”等价。()
● 在对全部数组元素赋初值时,可以不指定数组长度。()
● 数组定义 int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[9]。()
strcmp比较数组● 如果想使一个数组中全部元素的值为1,可以写成 int a[10]={1*10};()
● char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句。()
● 用printf函数输出一个字符串时,格式字符为%s,输出项可以是此字符串或存放此字符串的数组的数组名。()
● 用gets函数可以接收一个含有空格的字符串。()
● 若有定义语句char s1[ ]=“abc\0567”;,则表达式strlen(s1)的值为3。()
● 表达式“c=*p++”的执行过程是先复制*p的值给c后再对p的值加1。()
● 有定义:int a[5]={10,11,12,13,14},*p=a;,语句printf(“%d”,*p++);的输出结果为11。()
● 指针就是地址,因此一个变量的指针就是该变量的地址。()
● 取地址运算符&与指针运算符*的优先级相同,结合方向为自右向左。()
● 语句int *p;和语句printf(“%d”,*p);中的*p含义相同。()
● 语句“double *p=&x,x;”使指针变量p指向变量x。()
● 有定义:int a[5]={1,3,5,7,9},*p=a;,语句printf(“%d ”,(*p)++); printf(“%d”,*p);的输出结果为1 2。()
● 若有定义语句“int a[10],i=2;”,则&a[i]与a+i等价。()
● 若a为一维数组名,则*(a+i)与a[i]等价。()
● 若有定义char s1[]=”Hello”,s2[]=”world!”,则strlen(s1) + strlen(s2) 等于strlen(strcat(s1,s2))。()
● 若有定义int a,*p=&a,*q=p;则p指向a,q指向p。()
● 若有定义int a,*p=&a; char *t;由于指针的数据类型实际上是指定指针所能指向对象的数据类型,所以不能将p赋给t。()
● 设有说明struct stud { char num[8];char name[10];int score[4];};,stud只是一个类型名,系统没有为它分配存储空间。()
● C文件使用前需要打开,使用后需要关闭。()
● 在使用fopen()函数时必须先定义一个类型为FILE的文件指针。()
● 若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是0。()
● 在d:盘根目录下建一个新的 文本文件,其打开方式应为p=fopen("d:\","r")。()
● 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。()
单选题:
● 设有函数调用语句: m=max(a , max(b,c)); 则函数max有( C )个实参
A. 1 B. 4 C. 2 D. 0
● 程序中调用了库函数strlen,必须包含头文件( D )。
A.stdlib.h B.math.h C.ctype.h D.string.h
● 以下叙述不正确的是( B )。
A. main函数在C语言中必须有且只有一个
B.C程序的执行从main函数开始,所以main函数必须放在程序最前面
C. 函数可以带参数,也可以不带参数
D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句
● 在C程序中,若对函数返回类型未加说明,则函数的隐含类型为( A )。
A.int B.double C.void D.char
● 有一个函数调用f( (1,2), 3*4 ),则此次调用的是下面哪个函数f( B )?
void f (int a);
void f (int a, int b);
void f (int a, int b, int c);
void f (int a, int b, int c,int d);
● C语言中函数返回值的类型是由( C )决定的。
A.调用该函数的主调函数类型 B.return语句中的表达式类型
C.定义函数时所指定的返回函数值类型 D.调用函数时临时
● 以下正确的函数说明是( A )。
A.int fun(int , int); B.int fun(int x,y);
C.int fun(x,y); D.int fun(int x; int y);
● 以下叙述错误的是( D )。
A.函数调用可以是单独的语句 B.函数调用可以出现在表达式中
C.函数调用可以作为函数的实参 D.函数调用可以作为函数的形参
● 以下正确的函数定义是( D )。
A.double fun(int x, int y) B.double fun(int x,y)
{ z=x+y ; return z ; } { int z ; return z ;}
C.fun (x,y) D.double fun (int x, int y)
{ int x, y ; double z ; { double z ;
z=x+y ; return z ; } z=x/y; return z ; }
● 一个局部变量,如果没有特别指明它的存储类别,那么它的存储类别为( D )。
A. static B. register C. extern D. auto
● 函数f定义如下,执行语句“sum=f(f(3));”后,sum的值应为( B )。
int f(int m)
{ static int i=0;
int s=0;
for(;i<=m;i++) s+=i;
return s;
}
A. 21 B. 15 C. 12 D. 6
● 设有定义语句char s[ ]="abcDE";,则s[5]的值是( C )。
A.未知字符 B.’0’ C.’\0’ D.’E’
● 当调用函数时,实参是一个数组名,则向函数传送的是( B )。
A.数组的长度 B.数组的首地址
C.数组每一个元素的地址 D.数组每个元素中的值
● 能对一维数组正确初始化的语句是( C )。
A.int a[5]={0,1,2,3,4,5}; B.int a[5]={};
C.int a[5]={10}; D.int a[5]={1,……,5};
● 在C语言中,下面关于数组的描述正确的是( C )。
A.数组的大小是固定的,但可以有不同类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同的类型的数组元素
● 假定int类型变量占用4个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( D )。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论