最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言选择题(1-4章期末复习)

来源:动视网 责编:小OO 时间:2025-10-02 18:48:11
文档

C语言选择题(1-4章期末复习)

第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函
推荐度:
导读第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函
第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");

编程算法(函数实现):

●分段函数

●求和

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

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

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

●判断素数、哥德猜想

●排序

●二分查找

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

文档

C语言选择题(1-4章期末复习)

第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函
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top