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.数组每个元素中的值
能对一维数组正确初始化的语句是( )。
A.int a[5]={0,1,2,3,4,5};        Bint a[5]={};
Cint a[5]={10};                  Dint a[5]={1,……,5};
在C语言中,下面关于数组的描述正确的是(  C  )。
A.数组的大小是固定的,但可以有不同类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同的类型的数组元素
假定int类型变量占用4个字节,有定义:int  x[10]={0,2,4};,则数组x在内存中所占字节数是(  D  )。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。