admin 管理员组

文章数量: 887021


2023年12月16日发(作者:verilog中移位运算符)

第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

1 / 12

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、”ABCDx6d” D、”nn”

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、

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—2147483647 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值的数据类型为( )

2 / 12

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

3 / 12

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

64. 下列各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;

4 / 12

}while(!x);

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

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

int x;

scanf(“%d”,&x);

if(x++>5)

printf(“%d”,x);

else printf(“%dn”,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);

6.

A、4 B、0 1 2

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

count=1;

while(count<=145)

{

a=a+7;

count++;

}

C、1 2 D、3

A、1 B、144

7. 有如下程序片段:

int i = 0;

while(i++ <= 2);

printf("%d", i);

C、145 D、146

则正确的执行结果是( )

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

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**");

5 / 12

break;

}

case 2:

printf("**2**");

break; }

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

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、6B、5C、4D、3

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

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

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

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

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

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

A、staticB、registerC、externD、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语言中不可以嵌套的是( )。

6 / 12

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

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

A、.objB、.exeC、.cD、.bas

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

A、doubleB、intC、voidD、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、mainC、printfD、scanf

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

A、intB、voidC、charD、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("%dn",c);

}

int max(int x,int y)

{ int z;

if(x>y) z=x;

else z=y;

7 / 12

return(z);

}

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

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

main()

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

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

}

int func(int x,int y)

{ return(x+y); }

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

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、staticB、registerC、autoD、extern

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

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

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

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

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

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

8 / 12

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("%dn", k);

}

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

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

#define P 3

#define S(a) P*a*a

main()

{int ar;

ar=S(3+5);

printf("n%d",ar);

}

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

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

9 / 12

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][];

10 / 12

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 cB、ab0cC、‘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");

编程算法(函数实现):

 分段函数

 求和

11 / 12

求阶乘(递归、非递归)

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

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

判断素数、哥德巴赫猜想

排序

二分查找

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

12 / 12


本文标签: 函数 程序 语句 变量 类型