视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
C语言选择题(1-4章期末复习)
2025-10-02 18:48:11 责编:小OO
文档
第1章

1.以下叙述不正确的是(  )。

A、C程序的基本组成单位是函数            B、在C程序中,注释说明只能位于一条语句的后面

C、一个C源程序必须包含一个main函数        D、一个C源程序可由一个或多个函数组成

2.C语言的注释定界符是(   )。

A、\\*    *\            B、{  }            C、[  ]            D、/*    */

3.C语言规定,在一个源程序中,main函数的位置(   )。

A、必须在最开始                B、必须在系统调用的库函数的后面

C、必须在最后                D、可以任意

4.一个C程序的执行是从(   )。

A、本程序文件的第一个函数开始,到本程序main函数结束

B、本程序的main函数开始,到main函数结束

C、本程序的main函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

5.以下叙述中正确的是(   )。

A、C程序中注释部分可以出现在程序中任意合适的地方

B、分号是C语句之间的分隔符,不是语句的一部分

C、花括号“{“和”}”只能作为函数体的定界符

D、构成C程序的基本单位是函数,所有函数名都可以由用户命名

6.以下叙述正确的是(   )。

A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

B、C语言本身没有输入输出语句

C、在C程序中,main函数必须位于程序的最前面

D、C程序的每行中只能写一条语句

7.C语言源程序的基本单位是(   )。

A、子程序            B、过程            C、函数            D、标识符

8.下列标识符中,不合法的C语言用户自定义标识符是(   )。

A、printf            B、sin            C、enum            D、_

9.下列四个选项中,均是C语言关键字的选项是(   )。

A、if  struct   type                    B、switch  typedef   continue

C、signed  union   scanf                D、auto   enum    include

10.以下叙述中错误的是(   )

A、用户所定义的标识符应尽量做到"见名知意"

B、用户所定义的标识符允许使用关键字

C、用户定义的标识符中,大、小写字母代表不同标识

D、用户所定义的标识符必须以字母或下划线开头

11.下列字符序列中,可用作C标识符的一组字符序列是(   )。

A、#md,&12x,month,student_n!                B、D56,r_1_2,name,_st_1

C、S.b,sum,average,_above                D、class,day,lotus_1,2day

12.下面四个选项中,均是不合法的用户标识符的选项是(   )。

A、_123  temp  int                B、A  P_0   do

C、b-a   goto   int                D、float  la0   _A

13.下列四组选项中,均不是C语言关键字的选项是(   )。

A、file  IF  type                B、include  scanf  case

C、while  go  pow                D、getc  char   printf

14.下列字符序列中,不可用作C语言标识符的是(   )。

A、symbol            B、#ab            C、a_1            D、b70

15.C语言中不合法的字符串量是(   )

A、”\\121”            B、’y=’            C、”ABCD\\x6d”            D、”\\n\\n”

16.下列数据中,为字符串常量的是(   )。

A、$abc                B、"house"            C、A        D、How do you do.

17.C语言中不合法的字符常量是(   )

A、’\\65’            B、’\\xff’            C、’\\028’            D、’&’

18.设有语句char  a= ‘\\172’;,则变量a(   )

A、说明不合法            B、包含2个字符        C、包含1个字符        D、包含3个字符

答案:C

19.以下常量中,能够代表逻辑“真”值的常量是(   )。

A、‘\\0'            B、'0'            C、0            D、NULL

20.以下所列的C语言常量中,错误的是(   )。

A、0xFF            B、2L            C、'\\72'            D、1.2e0.5

21.以下数据中,不正确的数值或字符常量是(   )。

A、10            B、0xff00            C、8.9e1.2            D、82.5

22.以下数据中,不正确的数值或字符常量是(   )。

A、0xaa            B、66            C、c            D、50

23.与十进制数97不等值的字符常量是(   )

A、’\\101’            B、’\\x61’            C、’\\141’            D、’a’

24.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\\101'是(   )

A、非法的常量            B、字符a            C、字符e            D、字符A

25.不合法的八进制数是(  )

A、01            B、0            C、07700             D、028

26.要将字符a赋给变量c,下列语句中正确的是(   )。

A、c="a";            B、C='97';            C、c='a';            D、c="97";

27.设C语言中,int类型数据占2个字节,则long类型数据占(   )。

A、8个字节            B、2个字节            C、1个字节            D、4个字节

28.设C语言中,int类型数据占2个字节,则short类型数据占(   )。

A、1个字节            B、2个字节            C、8个字节            D、4个字节

29.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(   )

A、由C语言编译系统决定            B、均占4个字节

C、由用户自己定义                D、根据数据的大小来决定所占内存的字节数

30.C语言中,字符(char)型数据在微机内存中的存储形式是(  )

A、反码            B、EBCDIC码            C、ASCII码            D、补码

31.C语言中,char类型数据占(   )。

A、2个字节            B、8个字节            C、4个字节            D、1个字节

32.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为(   )。

A、0—255            B、0—21474837            C、0—32767            D、0--65535

33.C语言中,double类型数据占(   )。

A、4个字节            B、1个字节            C、2个字节            D、8个字节

34.设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为(   )

A、float            B、int            C、double            D、char

35.C语言中要求对变量作强制定义的主要理由是(   )。

A、便于移植                        B、便于确定类型和分配空间

C、便于编辑预处理程序的处理        D、便于写文件

36.若变量已正确定义且 k 的值是 4,计算表达式 ( j =4, k--) 后,j和k的值为(   )

A、j=3, k=3        B、j=4, k=4        C、j=3, k=4        D、j=4, k=3

37.设有 int x=11; 则表达式 (x++ * 1/3) 的值是(   )。

A、3            B、4            C、11            D、12

38.以下选项中,与k=n++完全等价的表达式是(   )。

A、k=++n            B、k+=n+1            C、k=n,n=n+1            D、n=n+1,k=n

39.执行下列语句后变量x和y的值是(   )。y=10;x=y++;

A、x=10,y=10            B、x=11,y=10            C、x=11,y=11            D、x=10,y=11

40.经过以下语句定义后,表达式z+=x>y?++x:++y的值为(   )。 int x=1,y=2,z=3;

A、6            B、3            C、2            D、5

41.设 int x=1, y=1; 表达式(!x||y--)的值是(   )。

A、-1            B、0            C、2            D、1

42.若变量已正确定义并赋值,下面符合C语言语法的表达式是(   )。

A、int 18.5%3        B、a:=b+1        C、a=a+7=c+b        D、a=b=c+2

答案:D

43.如果p是一个整型数,下列表达式始终为真的是(    )。    

A、p && p        B、p || p        C、p && !p        D、p || !p

44.能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是(   )

A、a>=0 && a<=10                B、a>=10 or a<=0

C、a>=10 && a<=0                D、a>=10 || a<=0

45.以下运算符中,优先级最高的运算符是(   )。

A、+                B、*=            C、>=            D、(类型)

46.下列运算符中优先级别最高的是(   )

A、!            B、%            C、-=            D、&&

47.以下关于运算符优先顺序的描述中正确的是(   )。

A、赋值运算符<逻辑运算符<关系运算符<算术运算符

B、算术运算符<关系运算符<赋值运算符<逻辑运算符

C、逻辑运算符<关系运算符<算术运算符<赋值运算符

D、关系运算符<算术运算符<赋值运算符<逻辑运算符

48.以下的选择中,正确的赋值语句是(   )。

A、y=int(x)            B、j++            C、a=b=5;            D、a=1,b=2

49.以下非法的赋值语句是(   )

A、j++;            B、x=j>0;            C、n=(i=2,++i);            D、++(i+1);

50.以下不符合C语言语法的赋值语句是(   )。

A、a=b=5;            B、a=1,b=2        C、++j;        D、y=(a=3,6*5);

51.如果int a=2,b=3,c=0,下列描述正确的是(   )

A、a||(b=c)执行后b的值为0                    B、a>b!=c和a>(b!=c)的执行顺序是一样的

C、a&&b>c的结果为假                            D、!a!=(b!=c)表达式的值为1

52.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(   )

A、6            B、1                C、0                D、2

53.若给定条件表达式(M)?(a++):(a--),则其中表达式M(   )。

A、和(M!=1)等价            B、和(M==1)等价        C、和(M!=0)等价        D、和(M==0)等价

54.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是(   )。

long  a=3; 

int  b;  char  c;

A、2和101            B、3和101            C、3和100            D、3 和99

55.表达式18/4*sqrt(4.0)/8值的数据类型为(   )。

A、不确定            B、double            C、int        D、float

56.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(   )。

A、9            B、-12            C、6            D、-3

57.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(   )。

A、!(A%2)            B、A%2==1            C、!(A%2==0)            D、A%2

58.判断char型变量cl是否为小写字母的正确表达式是(   )。

A、(cl>=a)&&(cl<=z)                B、'a'<=cl<='z'

C、('a'>=cl)||('z'<=cl)            D、(cl>='a')&&(cl<='z')

59.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(   )。

A、7            B、2                C、6            D、8

60.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(   )。

A、3            B、0            C、1            D、2

61.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是(   )。

A、1            B、2.0            C、2.5            D、2

62.已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是(   )。

A、1992            B、1990            C、2000            D、1996

63.能正确表示逻辑关系:"10≥a≥0"的C语言表达式是(   )。

A、a>=0||a<=10                    B、a>=10‖a<=0

C、a<=10 && a>=0                D、a>=10&&a<=0

.下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是(   )。

A、6            B、17            C、23            D、8

65.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(   )。

A、3.500000            B、0.000000            C、2.750000            D、2.500000

第2章

1.    break语句的正确的用法是(    )。

A、无论在任何情况下,都中断程序的执行,退出到系统下一层。     

    B、在多重循环中,只能退出最靠近的那一层循环语句。    

    C、跳出多重循环。    

    D、只能修改控制变量。

2.对于以下程序片段,描述正确的是(    )。

int x = -1;

do {

x = x * x;

}while(!x);    

A、是死循环    B. 循环执行两次    C. 循环执行一次    D. 有语法错误

3.两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(     )。

int x;  

scanf(“%d”,&x);

if(x++>5)  

 printf(“%d”,x); 

else   printf(“%d\\n”,x - -);    

A、7和5        B、6和3       C、7和4            D、6和4

4.为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(     )组成配对关系。    

A、缩排位置相同的if     B、在其之前未配对的if    

    C、在其之前未配对的最近的if       D、同一行上的if

5.下列程序段的输出结果是(   )

int x=0;

while(++x<3)

   printf("%4d",x);    

    A、4    B、0  1  2      C、1  2         D、3

6.循环结束后,count 的值是(    )

count=1;

while(count<=145)

{

    a=a+7;

    count++;

}    

    A、1    B、144    C、145    D、146

7.有如下程序片段:

int i = 0;

while(i++ <= 2);

printf("%d", i);

则正确的执行结果是(    )    

    A、2    B、3    C、4    D、以上都不对

8.在下面的条件语句中(其中S1和S2表示C语言的语句),只有一个在功能上与其他3条语句不等价,它是(    )

A、if(a)  S1;   else  S2;    B、 if(a==0)  S2;  else  S1;     

    C、if(a!=0)  S1;  else  S2;    D、if(a==0)  S1; else  S2;

9.执行下列代码后的输出是 (    ).

int a=1,b=0;

switch (a){

    case 1:

        switch(b)  {  

            case 0:  printf("**0**");

             break;

             case  1:  printf("**1**");

             break;

        }

   case 2:

    printf("**2**");

    break; }    

    A、**0**    B、**0****2**    C、**0****1****2**    D、运行出错

10.执行下列语句后,sum 的值是(    )。

sum=0;

for(count=1;count<=5;count++)

   sum=sum+2*count;    

    A、28    B、18    C、10    D、30

第3章

===================================================================================

1.以下不正确的说法是:C语言规定( B  )。

A、形参应与其对应的实参类型一致            B、形参可以是常量,变量或表达式

C、形参应与其对应的实参个数一致            D、实参可以是常量,变量或表达式

2.下面叙述中不正确的是( B  )

A、函数可以返回一个值,也可以什么值也不返回

B、空函数不完成任何操作,所以在程序设计中没有用处

C、声明函数时必须明确其参数类型和返回类型

D、用户若需调用标准库函数,调用前要使用预编译命令将该函数所在文件包括到用户源文件中

3.以下函数调用语句中实参的个数是( D )。  exce((v1,v2),(v3,v4,v5),v6);

A、6            B、5            C、4            D、3

4.以下函数调用语句中,含有的实参个数是 func( (exp1, exp2), (exp3, exp4, exp5));

A、1            B、5            C、2            D、4

5.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(   )。

A、函数调用可以作为一个函数的实参            B、函数调用可以出现在表达式中

C、函数调用可以作为一个函数的形参            D、函数调用可以作为的语句存在

6.函数的形式参数隐含的存储类型说明是(   )。

A、static            B、register            C、extern            D、auto

7.C语言规定,函数返回值的类型是由(   )。

A、调用该函数时的主调函数类型所决定            B、return语句中的表达式类型所决定

C、调用该函数时系统临时决定                    D、在定义该函数时所指定的函数类型所决定

8.关于return语句,下列正确的说法是(   )。

A、可以在同一个函数中出现多次                B、使用return语句只能返回整型数据

C、必须在每个函数中出现                        D、只能在除主函数之外的函数中出现一次

9.以下正确的说法是:在C语言中(   )。

A、实参和与其对应的形参各占用的存储单元            B、形参是虚拟的,不占用存储单元

C、只有当实参和与其对应的形参同名时才共占用存储单元    D、实参和与其对应的形参共占用一个存储单元

10.下面叙述中错误的是(   )

A、在其它函数中定义的变量在主函数中也不能使用    B、主函数中定义的变量在整个程序中都是有效的

C、形式参数也是局部变量                            D、复合语句中定义的变量只在该复合语句中有效

11.C语言中不可以嵌套的是(   )。

A、选择语句            B、循环语句            C、函数调用            D、函数定义

12.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为(   )的可执行文件

A、.obj            B、.exe            C、.c            D、.bas

13.C语言中,如果函数不需要返回值,函数类型应该定义为(   )。

A、double            B、int            C、void            D、float

14.若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数(   )。

A、没有返回值                B、返回若干个系统默认值        

C、返回一个不确定的值        D、能返回一个用户所希望的值

15.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(   )。

A、由实参传给形参,再由形参传回给实参            B、由用户指定的传递方式

C、单向值传递                                    D、地址传递

16.下面所列举的函数名正确且具有良好风格的是(    )。

A、abcde()        B、GetNumber()            C、find@()        D、gotofirstline()

17.C语言程序中必须有的函数是(   )。

A、#include "stdio.h"        B、main        C、printf        D、scanf

18.C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为(   )。

A、int            B、void            C、char            D、double

19.以下正确的描述是:在C语言程序中(   )。

A、函数的定义可以嵌套,但函数的调用不可以嵌套    B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数的调用均可以嵌套                D、函数的定义和函数的调用均不可以嵌套

20.C语言中函数调用的方式有(   )。

A、函数调用作为语句或函数表达式两种                B、函数调用作为语句一种

C、函数调用作为语句、函数表达式或函数参数三种        D、函数调用作为函数表达式一种

21.对于返回值是void类型的函数,调用时不可作为(   )。

A、以上答案都不对                B、if语句的内嵌语句

C、循环体里的语句                D、表达式的一部分参与计算

22.对于建立函数的目的,正确的说法是(   )

A、提高程序的执行效率                    B、减少程序的篇幅 

C、减少程序文件所占的内存                D、提高程序的可读性

23.以下叙述正确的是(   )

A、C程序中各函数之间允许直接递归调用不允许间接递归调用

B、C程序中各函数之间不允许直接递归调用允许间接递归调用

C、C程序中各函数之间不允许直接递归调用也不允许间接递归调用

D、C程序中各函数之间既允许直接递归调用也允许间接递归调用

24.执行下面程序后,输出结果是(   )。

main()

{ int a=45,b=27,c=0;

   c=max(a,b);

   printf("%d\\n",c);

}

int  max(int x,int y)

   { int z;

if(x>y) z=x;

      else   z=y;

      return(z);

  }

A、18        B、27            C、45            D、72

25.以下程序的输出结果为(   )。

main()

{int a=1,b=2,c=3,d=4,e=5; 

  printf("%d\\n",func((a+b,b+c,c+a),(d+e)));

 }

int  func(int  x,int y)

    {      return(x+y);    }

A、15                B、9            C、13            D、函数调用出错

26.下列存储类别中,(    )的可见性与生存期不一致。    

A、外部变量        B、自动变量            C、静态变量        D. 寄存器变量

27.以下函数的类型是(    )。

fff(float x)

{  return 5; }

A、无法确定            B、int类型            C、与参数x的类型相同            D、void 类型

28.下列说法不正确的是(   )。

A、在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效

B、形式参数是局部变量

C、不同函数中,可以使用相同名字的变量

D、主函数main中定义的变量在整个文件或程序中有效

29.以下关于变量beta的说法正确的是(    )。

void fun(int a)

{

    static int beta=25;

    … 

}    

A、当首次调用函数时被初始化一次。            B、每次调用函数时都要进行初始化。    

C、在函数中不能改变它的值。                    D、A和C都对

30.全局变量的定义不可能在(   )。

A、函数内部            B、文件外面            C、最后一行            D、函数外面

31.以下不正确的说法是:C语言规定(   )。

A、实参可以为任何类型                    B、形参可以是常量,变量或表达式

C、形参应与其对应的实参类型一致            D、实参可以是常量,变量或表达式

32.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是(   )

A、static            B、register            C、auto            D、extern

33.以下对C语言函数的描述中,正确的是(   )。

A、C函数既可以嵌套定义又可以递归调用

B、C程序必须由一个或一个以上的函数组成

C、函数必须有返回值,否则不能使用函数

D、C程序中有调用关系的所有函数必须放在同一个程序文件中

34.以下正确的函数原型为(    )。

A、func (int x ; int y);         B、void (x , y);

C、void (int x , y);             D、void func (int , int);

35.有如下函数原型和变量定义:void fix(int, float &);

int  someInt;

float  someFloat;

下列最适合的函数调用是(    )。    

A、fix(24,6.85);                    B、sumeFloat=0.3*fix(someInt,6.85);

C、fix(somInt, someFloat);            D、以上都不对    

36.使用重载函数编程序的目的是(    )。

A、使用相同的函数名调用功能相似的函数            B、共享程序代码

C、提高程序的运行速度                             D、节省存储空间

37.C++中,关于参数默认值的描述正确的是(    )。

A、只能在函数定义时设置参数默认值

B、设置参数默认值时,应当全部设置

C、设置参数默认值时,应当从右向左设置

D、设置参数默认值后,调用函数不能再对参数赋值

38.已知程序中已经定义了函数test,其原型是int test(int, int, int);则下列重载形式中错误的是(     )

A、char test(int, int, int);          B、double test(int, int, double); 

C、int test(int, int);                  D、float test(int, int, float=3.5F); 

39.以下描述中,正确的是(  )。

A、预处理是指完成宏替换和文件包含中指定的文件的调用

B、预处理指令只能位于C源文件的开始

C、C源程序中凡是行首以#标识的控制行都是预处理指令

D、预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备

40.以下程序的输出结果是(   )

#define MIN(x, y) (x) < (y) ? (x) : (y)

main()

{   int i , j, k;

    i = 10;  j = 15;

  k = 10 * MIN(i, j);

    printf("%d\\n", k);

}

A、10            B、150            C、15            D、100

41.下列程序运行结果为:(   )

#define  P  3

#define  S(a)   P*a*a

main()

 {int  ar;

   ar=S(3+5);    

   printf("\\n%d",ar);

 }

A、192            B、25            C、29            D、27

42.C程序中的宏展开是在(   )。

A、编译前预处理时进行的        B、编辑时进行的        C、编译时进行的        D、程序执行时进行的

43.宏定义#define  PI  3.14中的宏名PI代替(   )

A、不确定类型的数        B、一个单精度实数        C、一个字符串        D、一个双精度实数

第4章

1.int a[4]={5,3,8,9};其中 a[3]的值为(    )。

A、5         B、3         C、8         D、9 

2.以下对一维整型数组a的正确说明是(   )。

A、int n; scanf("%d",&n); int a[n];

B、#define SIZE 10  (换行)  int a[SIZE];

C、int a(10);

D、int n=10,a[n];

3.若有以下说明,则数值为 4 的表达式是(    )。  

int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12};   char c=’a’, d, g ;  

A、a[g-c]        B、a[4]     C、a['d'-'c']    D、a['d'-c]   

4.数组定义为 int a[3][2]={1,2,3,4,5,6},值为6的数组元素是(    )。 

A、a[3][2]         B、a[2][1]         C、a[1][2]         D、a[2][3] 

5.若用数组名作为函数调用时的实参,则实际上传递给形参的是(    )。

A、数组的第一个元素的值            B、数组的首地址

C、数组中全部元素的值            D、数组元素的个数

6.以下(   )能将数组元素初始化为10,20和30?    

A、int data[3]={10,20,30};        B、int data[ ]={10,20,30};    

C、int data[3]={10 20 30};        D、A和B都可以

7.对以下说明语句  int a[10]={6,7,8,9,10};  的正确理解是(   )。

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[6]至a[10]

C、因为数组长度与初值的个数不相同,所以此语句不正确

D、将5个初值依次赋给a[0]至a[4]

8.int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是(   )。

A、for(i=1;i<11;i++)a[0]=1;            B、for(i=1;i<11;i++)a[i]=i;

C、for(i=1;i<11;i++)a[i+1]=i;            D、for(i=1;i<11;i++)a[i-1]=i;

9.若有说明:int a[10];则对a数组元素的正确引用是(   )。

A、a(5)        B、a[3,5]        C、a[10-10]        D、a[10]

10.假定int类型变量占用两个字节,其有定义:int  x[10]={0,2,4};,则数组x在内存中所占字节数是(   )。

A、10            B、3            C、20            D、6

11.下列说法中错误的是(   )

A、数组的名称其实是数组在内存中的首地址

B、一个数组只允许存储同种类型的变量

C、如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值

D、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改

12.若使用一维数组名作函数实参,则以下正确的说法是(   )。

A、必须在主调函数中说明此数组的大小

B、实参数组类型与形参数组类型可以不匹配

C、实参数组名与形参数组名必须一致

D、在被调用函数中,不需要考虑形参数组的类型

13.以下对二维数组a的正确说明是(   )。

A、float a(3,4);                B、int a[3][];

C、float a(3)(4);            D、double a[1][4];

14.以下正确的数组定义语句是(    )    

A、int  y[1][4]={1,2,3,4,5};            B、float x[3][]={{1},{2},{3}};    

C、long s[2][3]={{1},{1,2,},{1,2,3}};        D、double t[][3]={0};

15.若有说明: int a[][4]={0,0};则下面不正确的叙述是(   )。

A、数组a的每个元素都可得到初值0

B、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

C、二维数组a的第一维大小为1

D、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1

因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1

16.若二维数组a有m列,则在a[i][j]之前的元素个数为:(    )。

A) j*m+i         B) i*m+j         C) i*m+j-1       D) i*m+j+1 

17.对两个数组a和b进行如下初始化:

char a[] = “ABCDEF”;

char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};

则以下叙述正确的是(   )

A、a与b中都存放字符串                B、a数组比b数组长度长

C、a与b长度相同                    D、a与b完全相同

18.设有数组定义: char array [ ]="China"; 则数组 array所占的空间为(   )。

A、5个字节        B、7个字节        C、4个字节        D、6个字节

19.下列数组说明中,正确的是(   )。

A、static char str[]; str="China";

B、static char str[]="China";

C、static char str1[5],str2[]={"China"}; str1=str2;

D、static char str1[],str2[];str2={"China"}; strcpy(str1,str2);

20.static char str[10]="China";数组元素个数为(   )。

A、5        B、10            C、6            D、9

21.若有定义语句:char c[5]={‘a’,’b’,’\\0’,’c’,’\\0’};, 则执行语句pritnf(“%s”, c);的结果是(   )

A、ab c        B、ab\\0c            C、‘a’’b’            D、ab

22.若有 char s1[]="abc",s2[20];gets(s2); 则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是(   )。

A、if(strcmp(s2,s1)>0)  puts(s2);

B、if(strcmp(s1,s2)>0)  puts(s2);

C、if(strcmp(s1,s2)==0)  puts(s2);

D、if(strcmp(s1,s2)<0)  puts(s2);

23.char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是(  )。

A、strcat(a1,a2);            B、strcat(a2,a1);

C、strcpy(a2,a1);            D、strcpy(a1,a2);

24.char a[10];不能将字符串"abc"存储在数组中的是(   )。

A、strcpy(a,"abc");

B、int i;for(i=0;i<3;i++) a[i]=i+97; a[i]=0;

C、a="abc";

D、a[0]=0;strcat(a,"abc");

编程算法(函数实现):

●分段函数

●求和

●求阶乘(递归、非递归)

●最大值(最小值)、平均值

●斐波那契数列(递归、数组)

●判断素数、哥德猜想

●排序

●二分查找

●字符串处理(长度、复制、连接、比较)、判断子串下载本文

显示全文
专题