石大远程C语言程序设计作业2
- 格式:docx
- 大小:147.51 KB
- 文档页数:14
C++程序设计作业2单项选择题第1题switch语句能够改写为()语句。
A、forB、ifC、doD、while答案:B第2题假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为()。
A、x=pa[3];B、x=*(a+3);C、x=a[3];D、x=*pa+3;答案:D第3题在下面的一维数组定义中,哪一个有语法错误。
()A、int a[]={1,2,3};B、int a[10]={0};C、int a[];D、int a[5];答案:C第4题定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A、int *p=new int[30];B、int *p=new int(30);C、int *p=new [30];D、*p=new int[30];答案:A第5题将两个字符串连接起来组成一个字符串时,选用()函数。
A、strlen()B、strcap()C、strcat()D、strcmp()答案:C第6题下列关于指针的操作中,错误的是( )。
A、两个同类型的指针可以进行比较运算B、可以用一个空指针赋给某个指针C、一个指针可以加上两个整数之差D、两个同类型的指针可以相加答案:D第7题假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
A、pb=b;B、pb=&b[0];C、*pb=new int;D、pb=b[5];答案:D第8题变量s的定义为“char *s=”Hello world!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。
A、char *p=s;B、char *p=&s;C、char *p;p=*s;D、char *p;p=&s;答案:A第9题假定变量m定义为“int m=7;”,则定义变量p的正确语句为()。
A、int p=&m;B、int *p=&m;C、int &p=*m;D、int *p=m;答案:B第10题假定p指向的字符串为”string”,则cout<<p+3的输出结果为()。
中国石油大学(北京)远程教育学院期末考试《 Java语言程序设计》学习中心:通州_ 姓名:_程潇学号:_117910_一、简答题1 什么是多态性方法的重载和覆盖有何区别阅读下列代码,指出其中存在的重载和覆盖,写出输出结果是什么解释为什么这样输出 (15分)class Class1{public void find() {"");}}class Class2 extends Class1{public void find() {"");}}class Class3 {public void get(Class1 one) {"get(Class1)");();}public void get(Class2 two) {"get(Class2)");();}}public class Test1{p ublic static void main(String[] args){Class1 one = new Class2();Class3 three = new Class3();(one);}}1 什么是多态性方法的重载和覆盖有何区别阅读下列代码,指出其中存在的重载和覆盖,写出输出结果是什么解释为什么这样输出 (15分)多态性:指允许不同类的对象对同一消息做出响应。
即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
(发送消息就是函数调用)方法的重载和覆盖的区别:重载public void println(int i);public void println(char c);public void println(String s);覆盖public class Employee {String name;int salary;public String getDetails() {return " Name: "+ name+ " \n "+ "Salary: "+ salary;}}---------------------public class Manager extends Employee {String department;/*** 方法的覆盖*/public String getDetails() {return " Name: "+ name+ " \n "+ " Manager of "+department;}public void test(){tart()②Callable的任务执行后可返回值,而Runnable的任务是不能返回值的③call()方法可抛出异常,而run()方法是不能抛出异常的。
(单选题)1: 对于类型相同的两个指针变量之间,不能进行的运算是。
A: <B: =C: +D: –标准答题:(单选题)2:A: AB: BC: CD: D标准答题:(单选题)3: 字符串"\\\"ABC\"\\"的长度是。
A: 11B: 7C: 5D: 3标准答题:(单选题)4: 以下说法中正确的是:。
A: C语言程序总是从第一个定义的函数开始执行B: 在C语言程序中,要调用的函数必须放在main()函数中定义C: C语言程序总是从main()函数开始执行D: C语言程序中的main()函数必须放在程序的开始部分标准答题:(单选题)5: A: AB: BC: CD: D标准答题:(单选题)6: C 语言共用体类型变量在程序运行期间。
A: 所有成员一直驻留在内存中B: 只有一个成员驻留在内存中C: 部分成员驻留在在内存中D: 没有成员驻留在内存中标准答题:(单选题)7: 若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。
A: p = 2*(int *)malloc(sizeof(int)) B: p = (int *)malloc(2 * sizeof(int))C: p = (int *)malloc(2*2)D: p = (int *)calloc(2 , sizeof(int))标准答题:(单选题)8:A: AB: BC: CD: D标准答题:(单选题)9: 若x=0,y=3,z=3,以下表达式值为0的是A: !x B: x<y? 1:0C: x%2&&y==zD: y=x||z/3标准答题:(单选题)10: 若int x ,*pb;,则正确的赋值表达式是。
C语言程序设计(第2版) 课后题答案C语言程序设计(第2版) 课后题答案一、基本概念与语言规则1. C语言的特点和用途C语言是一种通用的高级程序设计语言,具有简洁、高效、灵活和可移植等特点。
它广泛应用于系统软件、应用软件和嵌入式系统开发等领域。
2. 标识符的规则标识符是程序中用来标识变量、函数、数组等各种对象的名称。
标识符需要遵守以下规则:- 由字母、数字和下划线组成,首字符必须是字母或下划线。
- 大小写敏感,即大写字母和小写字母被认为是不同的字符。
- 不能使用C语言的关键字作为标识符。
3. 变量和常量变量是用来存储数据的内存单元,而常量是不可改变的数据值。
在C语言中,变量需要先声明后使用,而常量可以直接使用。
4. 数据类型和类型转换C语言提供了多种数据类型,包括整型、浮点型、字符型等。
不同的数据类型可以存储不同范围和精度的数据。
在需要的时候,可以进行数据类型的转换。
5. 运算符和表达式C语言支持多种运算符,包括算术运算符、逻辑运算符、比较运算符等。
表达式是由运算符和操作数组成的式子,可以进行各种计算和逻辑判断。
6. 控制结构C语言提供了多种控制结构,包括顺序结构、条件结构和循环结构。
通过这些结构可以实现程序的分支和循环操作。
二、函数和数组1. 函数的定义和调用函数是C语言程序的基本模块,可以完成特定的任务。
函数的定义包括函数名、参数列表、返回值类型和函数体。
函数的调用通过函数名和实参来完成。
2. 数组的定义和使用数组是一组相同类型的数据元素的集合。
在C语言中,数组可以用来存储多个同类型的数据,并通过下标来访问和操作数组元素。
三、指针和字符串1. 指针的概念和使用指针是C语言中的一个重要概念,它代表一个内存地址。
通过指针可以直接访问内存中的数据,可以用来提高程序的效率和灵活性。
2. 字符串的概念和操作字符串是由字符组成的数组,以空字符'\0'结尾。
C语言提供了多种操作字符串的函数,如字符串的复制、连接、比较等。
大工19秋《C/C++语言程序设计》在线作业2
一、单选题(共 10 道试题,共 50 分。
)
1. 在执行int a[][3]={1,2,3,4,5,6};语句后,a[0][0]的值是()。
A. 4
B. 1
C. 2
D. 5
正确答案:B
2. 在定义int a[5];之后,对a的引用正确的是()。
A. a[5]
B. a[4.3]
C. a(5)
D. a[0]
正确答案:D
3. 当一个类对象离开它的作用域时, 系统将自动调用该类的()。
A. 构造函数
B. 拷贝构造函数
C. 析构函数
D. 默认构造函数
正确答案:C
4. 下列哪个函数不是类的成员函数。
()
A. 析构函数
B. 构造函数
C. 拷贝构造函数
D. 友元函数
正确答案:D
5. 下列哪个函数的功能是对对象进行初始化。
()
A. 析构函数
B. 数据成员
C. 构造函数
D. 静态成员函数
正确答案:C
6. 下列哪个函数的作用是字符串比较()。
A. strlen()
B. strcmp()
C. strcat()
D. strcpy()
正确答案:B。
中国石油大学C语言在线作业参考一、单项选择题答题要求:每题只有一个正确的选项。
1(5.0分)在下面几组数据类型中, 全为最常用的基本数据类型的是()•A)整型实型字符型••B)整型数组指针••C)数组结构体共用体••D)指针逻辑型空类型•参考答案: A收起解析解析:无2(5.0分)在C语言中,十进制数47可等价地表示为()•A)••B)02f••C)57••D)057•参考答案: D收起解析解析:无3(5.0分)执行下面程序:main(){int x=1,y=1,z=1;x=x++ +y++ +z++;printf("%d, %d , %d",x,++y,z++);输出的结果为()•A)4,3,2••B)3,3,2••C)3,3,3••D)3,2,2•参考答案: A收起解析解析:无4(5.0分)在下列描述中,正确的一条是()•A)if(表达式)语句中,表达式的类型只限于逻辑表达式••B)语句“goto 12;”是合法的••C)for(;;)语句相当于while(1)语句••D)break语句可用于程序的任何地方,以终止程序的执行•参考答案: C收起解析解析:无5(5.0分)语句:printf("%d",(a=2)&&(b=-2));的输出结果是()•A)无输出••B)结果不确定••C)1••D)2•参考答案: C收起解析解析:无6(5.0分)有如下定义:long m;char c;float x;double y;则表达式c m*x/y的值的类型是()•A)long••B)char••C)float••D)double•参考答案: D收起解析解析:无7(5.0分)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()•A)地址传递••B)由实参传给形参,再由形参返回实参••C)值传递••D)传递方式由用户指定•参考答案: C收起解析解析:无8(5.0分)有以下函数定义:void fun( int n ,double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()•A)fun( int y ,double m );••B)k=fun( 10 ,12.5 );••C)fun(x ,n);••D)void fun( 10 ,12.5 );•参考答案: C收起解析解析:无9(5.0分)在计算机中,C语言是属于()•A)机器语言••B)高级语言••C)汇编语言••D)自然语言•参考答案: B收起解析解析:无10(5.0分)在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()•A)1••B)2••C)3••D)4•参考答案: B收起解析解析:无11(5.0分)执行int j,i=1; j=-i ; 后j的值是()•A)-1••B)-2••C)1••D)2•参考答案: A收起解析解析:无12(5.0分)在“while(!a)”中,其中“!a”与表达式()等价。
C语⾔程序设计:现代⽅法(第2版)第⼆章全部习题答案前⾔本⼈在通过《C语⾔程序设计:现代⽅法(第2版)》⾃学C语⾔时,发现国内并没有该书完整的课后习题答案,所以就想把⾃⼰在学习过程中所做出的答案分享出来,以供⼤家参考。
这些答案是本⼈⾃⼰解答,并参考GitHub上相关的分享和相关资料。
因为并没有权威的答案来源,所以可能会存在错误的地⽅,如有错误还希望⼤家能够帮助指出。
第⼆章练习题和编程题答案练习题2.2节1.建⽴并运⾏由Kernighan和Ritchie编写的著名的“hello world”程序:1 #include <stdio.h>2 int main(void)3 {4 printf("hello world!\n");5 }在编译时是否有警告信息?如果有,需要如何改进呢?答:如果使⽤部分⽐较⽼的编译器如turbo C等,会⽣成警告信息,指出main函数并没有返回任何值。
这是因为在声明main函数时使⽤了int,表明函数会返回⼀个整型数值,这个数值为任意(因为main后⾯是void)。
但是上⾯的代码中并没有return语句,所以并不会返回任何值。
加⼊return语句后便可消除警告。
1 /* 加⼊return语句后的版本 */2 #include <stdio.h>3 int main(void)4 {5 printf("Hello world!\n");6 return 0;7 }如果是使⽤IDE中的编译器,且IDE版本⽐较新(如本⼈⽬前使⽤的Code:Blocks)即使没有return语句,编译器也不会⽣成警告信息。
2.思考下⾯的程序:1 #include <stdio.h>2int main(void)3 {4 printf("Parkinson's Law:\nWork expands so as to ");5 printf("fill the time\n");6 printf("available for its completion.\n");7return0;8 }(a)请指出程序中的指令和语句。
第2次作业一、单项选择题(本大题共50分,共 20 小题,每小题 2.5 分)1. 类A从类B派生而来,下面()可以在类A的构造函数中调用基类B的构造函数A.class A : public B {public: A(int i){B(i)};}B.class A : public B {public: A(int i):B(i){};}C.class A : public B {public: A(int i):B(int i){};}D.class A : public B {public: A(int i){B(int i)};}2. C++的函数有函数头和函数体两部分组成,下面所列的函数头书写格式中不正确的是()。
A. main(int a,int b)B. main(int a,int b=1)C. main(int a=0,int b)D. main(int a=2,int b=3)3. 下列存取控制符中,()能够限定类外代码不能访问被它修饰的成员。
A.privateB.publicC.protectedD.private和protected都可以4. 下列()能够正确地申明友元函数,让函数fun能够访问类A的私有成员。
A.void fun() friend class A;B.Friend class A{private: int i; void fun();};C.class A{private: int i; friend fun();};D.class A{private: int i; friend void fun();};5. 类A的定义代码如下: class A{ public: A(int i){this->i=i;}setI(int i){this->i=i;} private: int i; }; 下列代码中,()能够正确申明类A的常对象,并给i成员赋初值。
H1:计算通用产品代码(UPC)的校验位(选作)许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。
这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。
超市可以通过扫描产品上的条码来确定支付此项商品的费用。
每一个条码由十二位数字构成,通常这些数字会显示在条码下面。
例如,包装为26盎司的Morton牌碘化盐所用条码下的数字是:0 24600 01003 0第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券)。
接下来的一组五位数字用来识别生产商。
而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。
最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。
如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码。
下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。
然后把第二位、第四位、第六位、第八位和第十位数字相加。
接着把第一次加法结果乘以3后再加上第二次加法的结果。
随后,再把上述结果减去1。
减法后的结果除以10取余数。
最后,用9减去上一步骤中得到的余数。
现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。
把第一组加法值乘以3后再加上第二组加法值得到的结果是30。
再减去1,结果变为29。
再把这个值除以10取余数为9。
9在减去余数结果9,最终值为0输入每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。
输出UPC的校验位测试输入期待的输出时间限制内存限制额外进程测试用例1以文本方式显示1.0↵2.24600↵3.01003↵以文本方式显示1.0↵1秒64M 0解法:#include<stdio.h>main(){int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z;scanf("%1d",&a);scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f);scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k);x=a+c+e+g+i+k;y=b+q+f+h+j;m=x*3+y;n=m-1;z=n%10;p=9-z;printf("%d\n",p);}H2:数制转换(选作)成绩: 5 / 折扣: 0.8我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。
第一次作业一、写出下列每个程序运行后的输出结果1. #in clude<stdio.h>void mai n(){int x=5;switch(2*x-3){case 4:pri ntf("%d ",x);case 7:pri ntf("%d ",2*x+1);case 10:pri ntf("%d ",3*x-1);break;default:pri ntf("%s ",”default'n ”);}printf("%s\n",”switch end.");}2. #in clude<stdio.h>void mai n(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;prin tf("s=%d\n",s);}3. #in clude<stdio.h>void mai n(){int i,s 1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;prin tf("%d %d\n",s1,s2);}4. #in clude<stdio.h>void mai n(){int n=10,y=1;while( n-_){y++;y++;} printf("y=%d\n",y);}5. #in clude<stdio.h> void mai n(){int f,f1,f2,i;f仁f2=1;prin tf("%d %d ",f1,f2);for(i=3;i<=10;i++){f=f1+f2;prin tf("%d ",f); if(i%5==0)printf("\n"); f1=f2;f2=f;}prin tf("\n ”);}6. #in clude<stdio.h>#in clude<math.h>void mai n(){int i,n;for(n=2 ;n<=20 ;n++){求出n的平方根并取整int temp=(i nt)sqrt (n );//sqrt (n)for(i=2;i<=temp;i++)if(n %i==0)break; if(i>temp)printf("%d ”,n);}prin tf("\n ”);7. #in clude<stdio.h>#in clude<math.h>con st i nt M=20;void mai n(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}prin tf("%d %d %d\n",c2,c3,c5);}8. #in clude<stdio.h>#in clude<math.h>con st i nt M=20;void mai n(){int i,s;for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue; prin tf("%d ",i);s+=i;}prin tf("%d\n",s);参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 123 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案: 1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1 .编写一个函数,函数头格式为" void fun4(char *a , int b[])”,分别求出由字符指针字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组a所指向的b的相应元素。
• A、A. 数组的大小是固定的,但可以有不同的类型的数组元素。
• B、B. 数组的大小是可变的,但所有数组元素的类型必须相同。
• C、C. 数组的大小是固定的,但所有数组元素的类型必须相同。
• D、D. 数组的大小是可变的,但可以有不同的类型的数组元素。
我的答案:C 此题得分:2.5分2.(2.5分)在定义int a[10];之后,对a的引用正确的是()。
• A、A.a[10]• B、B.a[6.3]• C、C.a(6)• D、D.a[10-10]我的答案:D 此题得分:2.5分3.(2.5分)以下能正确定义数组并正确赋初值的语句是()。
• A、A. int n=5,b[n][n];• B、B. int a[1][2]={{1},{3}};• C、C. int c[2][]={{1,2},{3,4}}• D、D. int a[3][2]={{1,2},{3,4}}我的答案:D 此题得分:2.5分4.(2.5分)以下不能正确赋值的是()。
• A、A. char s1[10];s1=" test" ;• B、B. char s2[]={’t’,’e’,’s’,’t’}• C、C. char s3[20]= " test" ;• D、D. char s4[4]={ ’t’,’e’,’s’,’t’}我的答案:A 此题得分:2.5分5.(2.5分)下面程序段运行时输出结果是()。
char s[18]= " a book! " ; printf(" %.4s" ,s);• A、A. a book!• B、B.ook!• C、C. a bo• D、D. 格式描述不正确,没有确定输出我的答案:C 此题得分:2.5分6.(2.5分)下面程序段运行时输出结果是()。
char s[12]= " china" ; printf(" %d\n" ,strlen(s));• A、A. 5• B、B. 8• C、C. 7• D、D. 6我的答案:A 此题得分:2.5分7.(2.5分)在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是()。
• A、A. 4• B、B. 1• C、C. 2• D、D. 5我的答案:A 此题得分:2.5分8.(2.5分)若有以下定义,则关于数组x和数组y的描述正确的是()。
c har x[]=”abcd”, y[]={‘a’,‘b’,‘c’,‘d’};• A、A. 数组x和数组y等价• B、B. 数组x和数组y长度相同• C、C. 数组x的长度大于数组y的长度• D、D. 数组x的长度小于数组y的长度我的答案:C 此题得分:2.5分9.(2.5分)若有以下定义和语句,且0≤i< 10则对数组元素的错误引用是()。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i; p=a;• A、A. *(a+i)• B、B. a[p-a]• C、C. p+i• D、D. *(& a[i])我的答案:C 此题得分:2.5分10.(2.5分)char *s=" \t\\Name\\Address\n" ; 指针s所指字符串的长度为()• A、A. 说明不合法• B、B. 19• C、C. 18• D、D. 15我的答案:D 此题得分:2.5分11.(2.5分)字符串" program" 占有的内存是()字节。
• A、A. 7• B、B. 8• C、C. 9• D、D. 10我的答案:B 此题得分:2.5分12.(2.5分)下面程序输出数组中的最大值,由s 指针指向该元素. void m ain(){ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;for(p=a,s=a;p-a< 10;p++)if()s=p;printf(" The ma x:%d" ,*s):} 则在if 语句中的判断表达式应该是()。
• A、A. p> s• B、B. *p> *s• C、C. a[p]> a[s]• D、D. p-a> p-s我的答案:B 此题得分:2.5分13.(2.5分)若int x ,*pb;,则正确的赋值表达式是() 。
• A、A. pb=& x• B、B. pb=x• C、C. *pb=& x• D、D. *pb=*x我的答案:A 此题得分:2.5分14.(2.5分)若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10} ,*p=a ;则数值为6 的表达式是()。
• A、A. *p+6• B、B. *(p+6)• C、C. *p+=5• D、D. p+5我的答案:C 此题得分:2.5分15.(2.5分)若有以下定义和语句:double r=99 ,*p=& r ;*p=r ;则以下正确的叙述是()。
• A、A. 两处的*p 含义相同,都说明给指针变量p 赋值• B、B. 在" double r=99,*p=& r;" 中,把r 的地址赋值给了p 所指的存储单元• C、C. 语句" *p=r;" 把变量r 的值赋给指针变量p• D、D. 语句" *p=r;" 取变量r 的值放回r 中我的答案:D 此题得分:2.5分16.(2.5分)设有如下定义:char *aa[2]={" abcd" ," ABCD" };则以下说法中正确的是()。
• A、A. aa 数组元素的值分别是" abcd" 和ABCD"• B、B. aa 是指针变量,它指向含有两个数组元素的字符型一维数组• C、C. aa 数组的两个元素分别存放着含有4 个字符的一维字符数组的首地址• D、D. aa 数组的两个元素中各自存放了字符' a' 和' A' 的地址我的答案:D 此题得分:2.5分17.(2.5分)若已定义:int a[9] ,*p=a;并在以后的语句中未改变p 的值,不能表示a[1] 地址的表达式是()• A、A. p+1• B、B. a+1• C、C. a++• D、D. ++p我的答案:C 此题得分:2.5分18.(2.5分)对于类型相同的两个指针变量之间,不能进行的运算是()。
• A、A. <• B、B. =• C、C. +• D、D. -我的答案:C 此题得分:2.5分19.(2.5分)若有定义:int a[3][4]; ,()不能表示数组元素a[1][1]。
• A、A. *(a[1]+1)• B、B. *(& a[1][1])• C、C. (*(a+1))[1]• D、D. *(a+5)我的答案:D 此题得分:2.5分20.(2.5分)设有如下的程序段:char str[ ]=" Hello" ;char *ptr ;ptr=str ;执行上面的程序段后,*(ptr+5)的值为()。
• A、A. ' o'• B、B. ' \0'• C、C. 不确定的值• D、D. ' o' 的地址我的答案:B 此题得分:2.5分判断题 (共20道题)展开收起21.(2.5分)下面程序段运行时输出结果是:0 15 24 #include < stdio.h> void main() { int i=0,a[10]; for(i=0;i< =9;i++) a[i]=i*3; printf(" %d %d %d" ,a[0],a[5],a[8]); }•正确•错误我的答案:正确此题得分:2.5分22.(2.5分)下面程序段运行时输出结果是:1 0 3 3 4 5 6 6 #include < stdio.h> void main() { int a[8]={1,0,1,0,1,0,1,0},i; for(i=2;i< 8;i ++) a[i]+= a[i-1] + a[i-2]; for(i=0;i< 8;i++) printf(“%d ”,a[i]); }•正确•错误我的答案:错误此题得分:2.5分23.(2.5分)下面程序段运行时输出结果是:456 void main() { int a[][3]={ 1,2,3,4,5,6,7,8,9},i,k=2; for(i=0;i< 3;i++) printf(“%d”,a[k][i]); }•正确•错误我的答案:错误此题得分:2.5分24.(2.5分)下面程序段运行时输出结果是:27 void main() { int a[3] [3]={1,3,5,7,9,11,13,15,17}; int sum=0,i,j; for (i=0;i< 3;i++) for (j= 0;j< 3;j++) { a[i][j]=i+j; if (i==j) sum=sum+a[i][j]; } printf(" sum =%d" ,sum); }•正确•错误我的答案:错误此题得分:2.5分25.(2.5分)下面程序段运行时输出结果是:" AAAA" void main() { ch ar ch[3][5]={ " AAAA" ," BBB" ," CC" }; printf(" \" %s\" " ,ch[1]); }•正确•错误我的答案:错误此题得分:2.5分26.(2.5分)下面程序段运行时输出结果是:38 #include < stdio.h> vo id main() { int p[7]={11,13,14,15,16,17,18}; int i=0,k=0; while(i< 7 & & p[i]%2) { k=k+p[i]; i++;} printf(" k=%d\n" ,k); }•正确•错误我的答案:错误此题得分:2.5分27.(2.5分)下面程序段运行时输出结果是:-4 #include < stdio.h> m ain() { int i,s; char s1[100]=" happy" ,s2[100]=" hello" ; i=0; whil e ((s1[i]==s2[i])& & (s1[i]!=' \0' )) i++; if ((s1[i]==' \0' )& & (s2 [i]==' \0' )) s=0; else s=s1[i]-s2[i]; printf(" %d\n" ,s); }•正确•错误我的答案:正确此题得分:2.5分28.(2.5分)数组的下标是从1开始计数的。