下列程序段的输出结果是1
C语言专升本考试(习题卷5)

C语言专升本考试(习题卷5)第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]表达式a>>3|b的计算顺序是( )。
(2分)A)1. 先执行左移,后执行或运算B)1. 先执行或运算,再执行左移C)1. 先执行或运算,再执行右移D)1. 先执行右移,再执行或运算答案:D解析:2.[单选题]对于基类型相同的两个指针变量之间,不能进行的运算是( )。
(2分)A)<B)"=C)+D)-答案:C解析:3.[单选题]以下正确的程序段是( )。
(2分)A)1. char str[20]; scanf("%s",&str);B)1. char *p; scanf("%s",p);C)1. char str[20]; scanf("%s",&str[2]);D)1. char str[20],*p=str; scanf("%s",p[2]);答案:C解析:4.[单选题]若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是( )。
(2分)A)1. read a,b,c;B)1. getchar(a,b,c);C)1. scanf("%d%d%d",&a,&b,&c);D)1. scanf("%d%d%d",a,b,c);答案:C解析:5.[单选题]Char *s1="hello",*s2;s2=s1;则()。
A)s2指向不确定的内存单元B)不能访问"hello"C)puts(s1);与puts(s2);结果相同D)s1不能再指向其它单元答案:C解析:6.[单选题]若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存C)scanf("%d",*p);D)scanf("%d",**p);答案:A解析:7.[单选题]以下选项中,与k=n++完全等价的表达式是()。
C语言考试习题及答案

1. C语言程序的基本结构是【 】。 A) 函数 B) 语句 C) 字符 D) 程序行 2. 下列四个叙述中,正确的是【 】 A)在C程序中,主函数必须位于其他函数的最前面 B)在C程序中,一行只能写一条语句 C)C程序的基本结构是程序行 D)C语句是完成程序功能的最小单位 3. C语言规定,在一个C程序中,main()函数的位置是【 】 A) 必须在开始 B) 必须在最后 C) 可以任意 D) 必须在系统调用的库函数之后 4. 以下叙述中,正确的是【 】 。 A) C语言程序总是从第一个定义的函数开始执行 . B) C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 5. 在C语言提供的合法的关键字是【 】 A) switch B) cher C) Case D) FLOAT 6. 以下用户标识符,其中合法的是【 】 A) For B) 4d C) f2.G3 D) _f#
A)4 B) –4 C) 1 D) 0 7. 设int a,b;则表达式a=2,b=++a*2的值为【 】。 A)6 B) 4 C) 8 D) 2 8. 列四组数据类型中,C语言允许的一组是【 】 A) 整型、实型、逻辑型,双精度型 B) 整型、实型、字符型,无值类型 C) 整型、双精度型、布尔型,无值类型 D) 整型、实型、复型、字符型 9. 以下能正确定义变量a, b和c并为它们赋值的语句是【 】 A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5,b=5,c=5; D) int a=5, b=5, c=5; 10. C语言所提供的五种基本数据类型包括:字符型、整型、双精度 型、浮点型和【 】。 A) 指针型 B) 结构型 C) 数组型 D) 无值类型 11. 设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f 的 数据类型是【 】。 A) int型 B) float 型 C) double型 D) 不确定 12. 若有定义: int x=3, y=2; float a=2.5, b=3.5; 则表达式 (x+y)%2+(int)a/(int)b的值是【 】。 A) 0 B) 2 C) 1.5 D) 1 13. 若d为double型, 表达式 d=1, d+5, d++ 的值是【 】。 A) 1 B) 6.0 C) 2.0 D) 1.0 14. 设int a=1, d=4;float b=2.0, c=3.0, 则表达式: a+b*c-d%2 的值 是【 】。 A) 5 B) 6 C) 5.0 D) 6.0 15. 下列运算符中,优先级最高的是【 】。 A) * B) ++ C) + D) /= 16. 若希望当整型变量A的值为5时, 表达式的值为1, 则下面不能满足 要求的表达式是【 】。 A) A/2-1 B) A%2 C)(A-2)/2 D) (A+3)%2 17. a、b均为整数, 且b≠0, 则表达式 a/b*b+a%b的值是【 】。 A) a B) b C) a被b除的余数部分 D) a被b除商的整数部 分 18. 设x、y、z、s均为int型变量,且初值均为1,则执行语句s=(++x)+ (++y)-(++z);后, s的值为【 】。
C语言程序设计模拟题

《C语言程序设计》模拟题(补)一、简答题1、简述C语言程序的结构。
二、选择题1、下面程序段的输出结果是【1】。
int a=60;a+=a-=a+a;printf(“%d\n”,a);A) 120 B) 60C) -120 D) -602、下面正确的字符常量是【2】。
A) ‘c’B) ‘//’’C) “w”D) ‘’3、以下不能用作标识符的是【3】。
A) _26 B) ScanfC) case D) Double4、下面程序段中循环体执行的次数是【4】。
int a=10, b=0;do {b+=2; a-=2+b; } while(a>=0);A) 1B) 2C) 3D) 45、以下关于函数的叙述正确的是【5】。
A) 函数中必须要有return语句B) 函数中可以有多个return语句,但只有一个被执行C) return语句中必须有一个表达式D) 函数中定义的变量不能与其它函数中的变量同名6、满足x为奇数时值为真,x为偶数时值为假的表达式是【6】。
A) !(x%2==1) B) x%2==0C) x%2 D) !(x%2)7、以下语句中无法正确赋值的是【7】。
A) char b[10]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’};B) char b[10]; b=“Hello!”;C) char b[10]; strcpy(b, “Hello!”);D) char b[10]= “Hello!”;8、若有以下的定义和语句,则值为5的表达式是【8】。
int a[]={1,2,3,4,5,6,7,8,9,10};A) a[5] B) a[a[4]]C) a[a[3]] D) a[a[5]]9、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是【9】。
A) 2.B) 2.C) 3.D) 0.10、已知ch是字符型变量,下面正确的赋值语句是【10】。
C语言 第三章 顺序结构程序设计期末测试习题与答案

B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;
专升本C语言程序设计试卷

专升本C语言程序设计试卷(二)一、单项选择题(1~30题每小题1分,31~45题每小题2分,共60分)1. 以下合法的用户自定义标识符是(D)。
A、 b-bB、floatC、<fr>D、_isw2. 若变量已正确定义并赋值,以下不符合C语言语法的表达式是(B)。
A、a*b/c;B、3.14%2C、2, bD、a/b/c3. 下列不正确的字符常量是(C)A、'n'B、'1'C、"a" D、'101'4. 在 C 语言中,表示逻辑值“真”用(B)A、1B、非 0 的数C、非 1 的数D、大于 0 的数5. 把x、y定义成float类型变量,并赋同一初值3.14是(C)A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6. 若变量已正确定义,值不为2的表达式是(C)A、2&3B、1<<1C、a==2D、1^37. 若变量已正确定义,和语句“if(a>b) k=0; else k=1;”等价的是(C)A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8. 设变量定义为“int a, b;”,执行下列语句时,若a和b的值都是10,则应输入(D)scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109. 下列程序的输出结果是(D)fun(int a, int b, int c){ c =a*b; }void main( ){ int c;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为(A)A、intB、doubleC、voidD、char11. 表达式strlen(”hello”) 的值是(B)A、 4B、 5C、 6D、 712. 设变量定义为“int a[4];”,则不符合C语言语法的表达式是(D)A、*aB、a[0]C、aD、a++13. 设变量定义为“int x, *p=&x;”,则&*p相当于(A)A、pB、*pC、xD、*&x14. 若变量已正确定义,不能使指针p成为空指针的是(A)A、p=EOFB、p=0C、p=’’D、p=NULL15. 对于以下的变量定义,不符合C语言语法的表达式是(D)struct node {int len;char *pk;} x = {2, "right"}, *p = &x;A、p->pkB、*p.pkC、*p->pkD、*x.pk16. 有如下程序\d\n”,r);该程序的输出的结果是 (D)17. 对于基类型相同的两个指针变量之间,不能进行的运算是 (C)-18. 有如下程序-1)+fib(n-2));\n”,fib(3));该程序的输出结果是 (B)2 B} 4 C} 6 D} 819. 有如下定义根据上述定义,能输出字母M的语句是 (D)\n”,class[3].mane);\n”,class[3].name[1]);t(“%c\n”,class[2].name[1]);\n”,class[2].name[0]);20. 以下所列的C语言常量中,错误的是 (B)\72’21. 有以下程序段循环执行的次数是 (A)无限次 B) 有语法错,不能执行一次也不执行 D) 执行1次22. 以下程序的输出结果是 (C)) 29 C) 31 D) 无定值fun(5,2,a);printf(“%d”,a);23. 下列程序段的输出结果是 (A)}fun(&y,&x);printf(“%d %d”,x, y);24. 当调用函数时,实参是一个数组名,则向函数传送的是 (B)数组的长度 B) 数组的首地址数组每一个元素的地址 D) 数组每个元素中的值25. 以下程序的输出结果是 (A)if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;\n”, fun(3)); }26. 以下程序的输出结果是 (B)a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);27. 有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是:(D)A)3 B)5 C)-1 D)-228. 以下叙述中正确的是:(A)构成C程序的基本单位是函数可以在一个函数中定义另一个函数函数必须放在其它函数之前所有被调用的函数一定要在调用函数之前进行定义29. 以下选项中非法的表达式是:( D )A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+130. 下列条件语句中,功能与其他语句不同的是:(D)A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);31. 以下不能定义为用户标识符的是:( D )A)scanf B)Void C)_3com_ D)int32. C语言中用于结构化程序设计的三种基本结构是:(A)顺序结构、选择结构、循环结构 B) if、switch、break、while、do-while D) if、for、continue33. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是:( A )A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d);C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);34. 若有定义:int aa[ 8];。
C语言复习题14

第 9 题 (2.0 分) 题号:49 设有声明 float a=1.23456; int i;,欲将 a 中的数值保留小数点有两位,第三位进行四舍五入 运算,能实现该功能的表达式是________. A:i=a*100+0.5, a=i/100.0; B:a=(a*100+0.5)/100.0; C:a=((int)a*100+0.5)/100.0; D:a=(a/100+0.5)/100.0;
第 3 题 (2.0 分) 题号:26 下列程序的输出结果是【1】 #include <string.h> main( ) { char b[30];
strcpy(&b[0],"CH"); strcpy(&b[1],"DEF"); strcpy(&b[2],"ABC"); printf("%s \n",b);
printf("\n"); } }
答案:
=======(答案 1)======= 123
=======(答案 2)======= 056
=======(答案 3)======= 009
第 5 题 (4.0 分) 题号:28 以下程序运行后的输出结果第 1 行是【1】第 2 行是【2】 int a=5; void fun(int b) { static int a=10;
return ( n<3 ? 2 : fib(n-1)+fib(n-2) ); } main( ) {
printf("%5d%5d\n",NUM,fib(5)); }
答案:
=======(答案 1)======= 6 10
C++试题整理

C++试题整理(流年·若水)『填空』共254题(一)1.设int x=1/4;则x的值为【1】。
答案:1). 02.执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】](在括号内填写下标值)中。
答案:1). 63.设x 的值为15,n 的值为2,则表达式x*=n+3 运算后x 的值是【1】。
答案:1). 754.表达式6+'\x43'+010+0x10的值是【1】。
答案:1). 975.下面程序段的输出结果是【1】。
inta=12;a=a&052;printf("%d\n",a); 答案:1). 86.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【1】. 答案:1). 07.int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】。
答案:1). 38.表达式'a'+10+'\102'+010+0x11的值是【1】。
答案:1). 198 9."a"在内存中占【1】个字节。
答案:1). 210.以下程序的输出结果为【1】。
#include "stdio.h"void main(){int a;for(a=0;a<10;a++);printf("%d",a );}答案:1). 1011.C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算。
答案:1). 地址12.getchar()函数只能接收一个【1】。
答案:1). 字符13.已知i=5;写出语句i+=012; 执行后整型变量i 的十进制值是【1】。
答案:1). 1514.设有以下结构类型说明和变量定义,则变量a在VC环境下内存所占字节数是【1】。
struct stud{ char num[6];int s[4];double ave;} a,*p;答案:1). 3015.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【1】。
C程序设计期末考试试卷A及答案

一、判断题(每小题1分,共10个小题,共10分)1、printf可以作为变量名使用。
( )2、在标准C中,“=”是判断两个数是否相等.( )3、C语言中实参到形参传递是双向的.()4、"a"是合法的字符串常量。
()5、C语言中,以0代表“假”,以非零代表“真”.( )6、二维数组可以这样定义:int a[3][4].()7、设“char a[10]="abc””;则strlen(a)的值为3。
( )8、一个C语言源程序文件中有且只能有一个主函数。
( )9、不能用"r”方式打开一个并不存在的文本文件。
()10、打开文件使用fclose函数。
()二、选择题(每小题2分,共40个小题,共80分)1、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )【A】函数调用可以作为一个函数的形参【B】函数调用可以作为一个函数的实参【C】函数调用可以出现在表达式中【D】函数调用可以作为独立的语句存在2、以下程序运行后的输出结果是( ),︹符号表示空格。
【3、若运行时给变量x输入12,则以下程序的运行结果是( )【4、以下说法正确的是( )【A】C语言程序总是从第一个的函数开始执行【B】在C语言程序中,要调用函数必须在main()函数中定义【C】C语言程序中的main()函数必须放在程序的开始部分【D】C语言程序总是从main()函数开始执行5、若执行下述程序时,若从键盘输入6和8时,结果为( )【6、以下叙述中正确的是()【A】可以在一个函数中定义另一个函数【B】构成C程序的基本单位是函数【C】main()函数必须放在其他函数之前【D】所有被调用的函数一定要在调用之前进行定义7、下列程序段的输出结果是()【【C】1234,123.5,12345。
5 【D】1234,123。
4,1234.58、已知字母A的ASCII码为十进制数65,且C1为字符型变量,则执行语句C1=’A’+’6'—‘3’后C1的值为()【A】B 【B】C 【C】d 【D】D9、设有以下程序段( )【【C】程序段中的控制表达式是非法的【D】程序段执行无限次10、执行下面的程序段后,变量k中的值为()【11、以下程序段的描述,正确的是( )【12、有如下程序段,执行该程序段后,x的值为( )【13、以下选项中不是字符常量的是()【A】”C" 【B】'C’【C】’\xF1’【D】’\071’14、一个C语言程序是由( )【A】一个主程序和若干子程序组成【B】函数组成【C】若干过程组成【D】若干子程序组成15、请选出可用作C语言用户标识符的是( )【A】temp,fname,dir—name 【B】if,_123,var1【C】FOR,_abc,Case 【D】2a,Do,Sizeof16、以下不正确的叙述是( )【A】在C程序中,逗号运算符的优先级最低【B】在C程序中,APH和aph是两个不同的变量【C】若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变【D】当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值17、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是()【18、下面程序的运行结果是( )【19、下列程序的输出结果是()【20、下列数据中,不合法的C语言实型数据的是( )【A】0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章数组一、填空:(1) 下列程序段的输出结果是【1】。
main(){ char b[]=”Hello,you”;b[5]=0;printf(“%s \n”, b );}(2) 以下程序的输出结果是【2】。
main(){ char s[]="abcdef";s[3]=‘\0';printf("%s\n",s);}(3) 若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。
请填空。
fun( int a[ ]){ int i;for(i=1; i<=10; i++)【3】=i;for(i=0; i<5; i++) 【4】=a[i];}(4) 若有以下程序main(){ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14} ,{-21,23,0,-24},{-31,32,-33,0}};int i,j,s=0;for(i=0;i<4;i++){ for(j=0;j<4;j++){ if(a[i][j]<0) continue;if(a[i][j]==0) break;s+=a[i][j];}}printf("%d\n",s);}执行后输出结果是【5】(5) 函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下11 11 2 11 3 3 11 4 6 4 1.其构成规律是:(1)第0列元素和主对角线元素均为1(2)其余元素为其左上方和正上方元素之和(3)数据的个数每行递增1请将程序补充完整。
#define N 6void yanghui(int x[N][N]){ int i,j;x[0][0]=1;for(i=1;i<N;i++){ x[i][0]=【6】=1;for(j=1;j<i;j++)x[i][j]= 【7】;}}(6) 以下函数的功能是删除字符串s中的所有数字字符。
请填空。
viod dele(char *s){ int n=0,i;for(i=0;s[i];i++)if(【8】)s[n++]=s[i];s[n]=【9】;}二、选择:(1) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是A) &t[3][2] B ) t[3] C) t[1] D) t[2](2) 以下程序的输出结果是main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf(“%d,”,x[i][2-i]);}A) 1,5,9 B) 1,4, 7C) 3,5,7 D)3,6,9(3) 以下程序的输出结果是main(){ int a[3][3]={ {1, 2},{3,4},{5,6} },i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(“%dn”,s);}A) 18 B) 19 C) 20 D)21(4) 当执行下面的程序时,如果输入ABC,则输出结果是#include “stdio.h ”#include “string.h”main(){ char ss[10]=“1,2,3,4,5”;gets(ss); strcat(ss, “6789”);printf(“%s\n”,ss);}A) ABC6789 B) ABC67C) 12345ABC6 D) ABC456789(5) 以下程序段的输出结果是char s[]="\\141\141abc\t";printf ("%d\n",strlen(s));A) 9 B)12 C) 13 D) 14(6) 以下程序的输出结果是main(){ char ch[3][5]={"AAAA","BBB" ,"CC"};printf("\"%s\"\n",ch [1]);}A) "AAAA" B) "BBB"C) " BBBCC" D) "CC"(7) 以下不能正确进行字符串赋初值的语句是A) char str[5]="good!"; B) char str[]="good!";C) char *str="good!"; D ) char str[5]={…g',…o',…o',…d'};(8) 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的地址的是A) &aa[0]+1 B) &aa[1] C ) &aa[0]++ D) aa+1(9) 以下程序的输出结果是main(){ int b[3][3]={0,1,2,0,1,2,0,1 ,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++) t=t+b[i][b[j][ j]];printf("%d\n",t);}A) 3 B) 4 C) 1 D) 9(10) 以下定义语句中,错误的是A) int a[]={1,2}; B) char *a[3];C) char s[10]=”test ”; D) int n=5,a[n];(11) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3 B) 6 C) 10 D) 20(12) 以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i--) a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8] );}A) 258 B) 741 C) 852 D) 369(13) 以下数组定义中不正确的是A) int a[2][3];B) int b[][3]={0,1,2,3};C) int c[100][100] ={0};D) int d[3][]={{1,2},{1,2,3},{ 1,2,3,4}};(14)有以下程序main(){char a[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};int i,j;i=sizeof(a);j=strlen(a);printf(“%d,%d\b”i,j);}程序运行后的输出结果是A)9,9B)8,9 C)1,8D)9,8(15)有以下程序main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)19 C)13 D)20(16) 以下能正确定义数组并正确赋初值的语句是A) int N=5,b[N][N];B) int a[1][2]={{1},{3}};C) int c[2][]={{1,2},{3,4}};D) int d[3][2]={{1,2},{3,4}};(17)有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9(18) 有以下程序main(){ char s[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是A) 赋初值的字符串有错B) 6,7 C) 5,6 D) 6,6(19) 以下程序的输出结果是A) 20 B) 21 C) 22 D)23main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i * (i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf(“%d\n”,k);}。