admin 管理员组文章数量: 887032
2023年12月16日发(作者:+80的源码反码补码)
第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、”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、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—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值的数据类型为( )
)
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
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;
}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);
A、4 B、0 1 2
6. 循环结束后,count 的值是( )
count=1;
while(count<=145)
{
a=a+7;
count++;
}
A、1 B、144
7. 有如下程序片段:
int i = 0;
while(i++ <= 2);
printf("%d", i);
C、1 2 D、3
C、145 D、146
则正确的执行结果是( )
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; }
D、运行出错 A、**0** B、**0****2** C、**0****1****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、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("%dn",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("%dn",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("%dn", 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、ab0c 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章期末复习) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702707053h427553.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论