1、“C 语言程序设计”二级考试复习资料二级考试大纲5模拟试题一7模拟试题二13模拟试题三19模拟试题四28模拟试题五36模拟试题六43补充:文件491二级考试大纲(QBASIC、FORTRAN、VB、VF、C、FoxBASE+ 语言程序设计)基 本 要 求1、具有计算机的基本知识。2、了解操作系统的基本概念,掌握常用操作系统的使用。3、掌握基本数据结构和常用算法,熟悉算法描述工具-流程图的使用。4、能熟练地使用一种高级语言或数据库语言编写程序、调试程序。 考 试 内 容一、基础知识与基本操作(一) 基础知识1、计算机系统的主要技术指标与系统配置2、计算机系统、硬件、软件及其相互关系。3、微机硬件
2、系统的基本组成。包括:中央处理器(运算器与控制器),内存储器(RAM 与 ROM),外存储器(硬盘、软盘与光盘),输入设备(键盘与鼠标),输出设备(显示器与打印机)。4、软件系统的组成,系统软件与应用软件;软件的基本概念,文档;程序设计语言与语言处理程序(汇编程序、编译程序、解释程序)。5、计算机的常用数制(二进制、十六进制与十进制之间的转换);数据基本单位(位、字节、字)。6、计算机的安全操作;计算机病毒的防治。7、计算机网络的一般知识。8、多媒体技术的一般知识。(二)DOS 的基本操作1、 操作系统的基本功能与分类。2、 DOS 操作系统的基本组成。3、 文件、目录、路径的基本概念。4、
3、常用 DOS 操作,包括:初始化与启动;文件操作(TYPE,COPY,DEL,REN,XCOPY,ATTRIB);目录操作(DIR,MD,CD,RD,TREE,PATH);磁盘操作(FORMAT,DISKCOPY,CHKDSK);功能操作(VER,DATE,TIME,CLS,PROMPT,HELP);批处理(批处理文件的建立与执行,自动批处理文件);输入输出改向。(三)Windows 的基本操作1、Windows 的特点、基本构成及其运行环境。2、Windows 用户界面的基本元素。包括:窗口、图标、菜单、对话框、按钮、光标等。3、Windows 基本操作。包括:启动与退出,鼠标操作,窗口操作
4、,图标操作, 菜单操作,对话框操作。2二、程序设计1、 能运用结构化程序设计方法编写程序。2、 掌握基本数据结构和常用算法。3、能熟练使用一种高级语言或一种数据库语言(共有 QBASIC、FORTRON、C 以及FoxBASE+、VB、VF 等六种语言,考生任选其中一种。各种语言的考试内容附后。)三、上机操作在指定的时间内使用微机完成下述操作:1、 完成指定的计算机基本操作(包括机器启动和操作命令的使用)。2、 按给定要求编写和运行程序。3、调试程序,包括对给出的不完善的程序进行修改和补充,使之能得到正确的结果。C 语言程序设计考试大纲(一)C 语言的结构1、程序的构成,MAIN 函数和其他函
5、数。2、头文件、数据说明、函数的开始和结束标志。3、源程序的书写格式。4、C 语言的风格。(二)数据类型及其运算1、C 的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。2、C 运算符的种类、运算优先级和结合性。3、不同类型数据间的转换与运算。4、表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。(三)基本语句1、表达式语句,空语句,复合语句。2、数据的输入与输出,输入输出函数的调用。3、复合语句。4、GOTO 语句和语句标号的使用。(四)选择结构程序设计1、用 IF 语句实现选择结构。2、用 SWITCH 语句实现多分支选择结构。3
6、、选择结构的嵌套(五)循环结构程序设计1、FOR 循环结构。 2、WHILE 和 DO WHILE 循环结构。3、CONTINUE 语句和 BREAK 语句。 4、循环的嵌套。(六)数组的定义和引用1、一维数据和多维数组的定义、初始化和引用。 2、字符串与字符数组。(七)函数1、库函数的正确调用。 2、函数的定义方法。3、函数的类型和返回值。 4、形式参数与实在参数,参数值的传递。5、函数的正确调用,嵌套调用,递归调用。 6、局部变量和全局变量。37、变量的存储类别 9 自动、静态,寄存器、外部),变量的作用域和生存期。8、内部函数与外部函数。(八)编译预处理1、宏定义:不带参数的宏定义;带参
7、数的宏定义。 2、“文件包含“处理。(九)指针1、指针与指针变量的概念,指针与地址运算符。2、变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。3、用指针作函数参数。4、返回指针值的指针函数。5、指针数组,指向指针的指针,MAIN 函数的命令行参数。(十)结构体(即“结构“)与共用体(即“联合“)。1、结构体和共用体类型数据的定义方法和引用方法。2、用指针和结构体构成链表,单向链表的建立、输出、删除与插入。(十一)位运算1、 运算符的含义及使用。 2、 单的位运算。(十二)文件操作只要求缓冲文件系统(即高级磁盘 I/O 系统)
8、,对非标准缓冲文件系统(即低级磁盘 I/O系统)不要求。1、文件类型指针(FILE 类型指针)。2、文件的打开与关闭(FOPEN,FCLOSE)。3、文件的读写(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTE,FSCANF 函数),文件的定位(REWIND,FSEEK 函数)模拟试题一 18第一部分 软件技术基础一、是非判断题。1数组是一种长度固定的线型表,可以对数组进行插入和删除运算。 ( )2白盒测试时,测试者不考虑程序的内部结构和特性。 ( )3对线型表中的数组进行二分查找,必须要求数据元素有限且有序。 ( )4实存管理技术中,每个分区内的地址是
9、连续的。 ( )5文件的目录结构是一种线型结构。 ( )6在面向对象的程序设计中,对象的动作取决于发送给该对象的消息。 ( )7虚拟设备是指将大容量的共享设备的一部分空间来代替实际的独占设备。 ( )8在结构化程序设计中,N-S 图是用于详细设计的工具之一。 ( )9在操作系统的设备管理中,打印机被看成是一种共享设备。 ( )10分时操作系统的主要特征之一是提高计算机系统的实时性。 ( )二、单项选择题。1进程由程序块、( )和数据块三部分组成。(A)设备控制块 (B)作业控制块 (C)文件控制块 (D)进程控制块42以下哪个不是死锁产生的必要条件( )(A)互斥条件 (B)全部分配条件 C)
10、环路条件 (D)不可剥夺条件3虚拟存储器的作用是允许程序直拆接访问比内存更大的地址空间,它通常使用( )作为它的一个主要组成部分。 (A)软盘 (B)寄存器 (C)硬盘 (D)CD-ROM4线性链表中的结点一般有 3 种信息:直接前趋、数据域和直接后继,属于单向链表所独有的是( )。(A)直接前趋和数据域 (B)直接前趋和直接后继 (C)数据域和直接后继 (D)直接前趋、数据域和直接后继5白盒测试是根据程序的( )来设计测试用例。(A)内部逻辑 (B)内部数据 (C)功能 (D)性能第二部分 C 与 C+语言程序设计一、 单项选择1有下列程序段,请选择( )。char a10=”3821631
11、”;char *p=a;printf(“%c”,p1-0);(A)输出格式错误 (B)p1语法错误 (C)输出 8 (D)输出 ASCII 码为 8 的字符2下列程序的输出是( )。#include”stdio.h”void main( ) int a=-1,b=4,k;k=(a+7switch(x)case y:x+;break;case y+2:x+=10;break;case y-1:x=-7;break;(C)#define y 20int x=10,z;switch(x) case 12:z=3;break;case y+1:z+=10;break;case y-8:y-=3;bre
12、ak;5定义如下数组 s:char s81;若准备将字符串”This is a string.”记录下来,( )是错误的输入语句。(A) gets(s+2); (B)scanf(“%20s”,s);(C)for(i=0;i0:y=1;break;case x=0:y=0;break;case xvoid point1(int x,int y) int t=1;x=x+t;y=y+t;return ;void point2(int *x,int *y)int t=1;*x=* x+t;*y=*y+t;return;void point3(char *p)p+=1;*p=* p+1;6void m
13、ain( ) char b4=a,c,s,f,*pt=b;int x=3,y=4;point1(x,y);1) printf(“%d,%dn”,x,y);point2(2)printf(“%d,%dn”,x,y);point3(pt);3)printf(“%cn”,*(pt+1);1)(A)4,5 (B)3,4 (C)4,3 (D)5,42)(A) 4,5 (B)3,4 (C)4,3 (D)5,43)(A)c (B)s (C)acsf (D)d3有下列程序#includeint func(int x)int y=0;static z=3;x=z+,y+;return (x);void main
14、()int a=2,i,b;for(i=0;ivoid main( ) char *s=”12134211”;int a=0,b=0,c=0,d=0;int k;for(k=0;sk;k+)switch(sk) default:d+;case 1:a+;7case 3:c+;case 2:b+;printf(“a=%d,b=%d,c=%d,d=%d”,a,b,c,d);(1)该程序运行结束时,k 的值是( )。(A)7 (B)8 (C)9 (D)10(2)该程序的输出结果是( )。(A)a=4,b=2,c=1,d=1 (B)a=4,b=9,c=3,d=1 (C)a=5,b=8,c=6,d=1
15、(D)a=8.n=8.c=8,d=86读程序,回答问题。#includevoid fun(char *m);void main( ) char *s=“BASIC”,”FORTRAN”,”C”;char *p=s;fun(p);puts(*p);void fun(char *m)+m;printf(“%s,”,*m);(1)语句 puts(*p);输出结果是( )。 (A)BASIC (B)C (C)SICA (D) FORTRAN(2)语句 printf(“%s,”.*m);输出结果是( )。 (A) BASIC, (B)SICA, (C)FORTRAN, (D)BASIC,7读程序,回答问
16、题。#includevoid swap(int *p1,int *p2) int *temp;temp=p1;p1=p2;p2=temp;4: printf(“%d,%dn”,*p1,*p2);void main( )int a=4,b=5,*pointer1,*pointer2;pointer1= pointer2=swap(pointer1,pointer2);10: printf(“%d,%dn”,*pointer1,*pointer2);(1)读程序 swap 函数中的 printf 的输出为( )。(A)4,5 (B)6,5 (C)5,4 (D)5,6(2)该程序 main 函数中的
17、 printf 的输出为( )。 (A) 4,5 (B)6,5 (C)5,4 (D)5,68读程序,回答问题。#include”stdio.h”union un int i;char c2;void main( )union un x;x.c0=10;x.c1=1;printf(“n%d”,x.i);程序执行后的输出结果为( )。(A)11 (B)266 (C)265 (D)138三程序填空1.下述程序在数组中同时查找最大元素下标和最小元素下标,分别存放在 main 函数的变量 max 和 min中,请填空。#include8void find(int *a,int n,int *max,in
18、t *min) int i;*max=*min=0;for(i=1;ia*max)_;elseif(aimain( )struct person char name16;char code6;per;int k,j;_;char fname20;scanf(“%s”,fname);if(fp=fopen(fname,”wb”)=NULL)printf(“fail creat failed!n”);exit(0);for(k=0;k#define BUFFSIZE 128void main(int argc,char *argv)FILE *fp,*fg;char sBUFFSIZE;if(ar
19、gcint Fun(int x,int y) return x+y; void main( )int i=10;cout(B)C+程序必须有 return 语句(C)C+程序中的变量必须定义在主程序内部(D)C+程序中所有使用的符号常量可以不进行定义3、下述程序的输出结果是( )。(A)y=0 (B)y=1 (C)y=随机值 (D)y=-1#includevoid main( )int y=10;while(y-);printf(“y=%d“,y); 4、若有以下说明:char *str1=“copy“,str210,*str3=“str“,*str4,*str5=“good“;则正确的串操作
20、语句是( )。(A)strcpy(str4,str1); (B)strcat(str1,str3); (C)str2=“new str“; (D)strcpy(str5,str3);5、下面程序运行后,x,y,z 的值分别是( )。 (A)1 0 0 (B)0 0 0 (C)1 1 1 (D)0 0 1#includevoid main( )int x=0,y=0,z=0;+x|+y|+z;printf(“%d %d %dn“,x,y,z);6、以下程序运行的结果是( )。 (A)4 5 6 (B)6 5 4 (C)0 5 6 (D)0 6 5#includeunion myun struct
21、int x,y,z;u;int k;a;void main( )a.u.x=4;a.u.y=5;a.u.z=6;11a.k=0printf(“%d %d %dn“,a.u.x,a.u.y,a.u.z);7、关于 C+与 C 语言的关系描述中,错误的是( )。(A)C 语言与 C+是兼容的 (B)C+对 C 语言进行了一些改进(C)C 语言是 C+的一个子集 (D)C+和 C 语言都是面向对象的8、下列描述中,正确的是( )。(A)子类可以继承其父类的所有属性和操作,但子类不能定义自己特有的属性和操作(B)消息传递是类与类之间通信的手段(C)C+允许函数重载,但不允许运算符重载(D)C+中可以定
22、义虚函数,通过它来支持动态联编9、下面程序运行的结果是( )。 (A)17 (B)31 (C)13 (D)7#define f(x) 1+x+x*x#includevoid main( ) int a=2,b=3;printf(“%dn“,f(a+b);10、下面局部程序代码是 C+中的( )特性的表现。(A)继承 (B)重载 (C)多态性 (D)封装void display(int var)coutint f(int m)static int x3=2,3,4;int i;for(i=0;i=a)*c+=A-a;return 0;void main( ) int flag=1;char ch
23、;12doch=getchar( );flag=change(putchar(ch);while(ch!=n);(1)程序的运行结果是( )。(A)THIS IS A BOOK (B)this Is A Book! (C)This Is A Book! (D)This Is a Book!(2)与 L1:return 1 等效描述的为 ( )。(A)return 0 (B)return -1 (C)return 1-1 (D)return !(-1)3、读下列程序,回答问题。#include“iostream.h“int sb(int *s,int y)static int i=3;y=si-
24、;return y;void main( )int s=1,2,3,4;int i,x=0;for(i=0;iunion btint a;char b2;void fun(union bt *c)c-a=-7;c-b0=9;c-b1=8;void main( )union bt c;fun(printf(“%dn“,c.a);(1)程序的输出结果为( )。(A)8 (B)9 (C)-7 (D)以上都不正确(2)若将程序中所有的 union 换成 struct,程序的输出结果为( )。(A)8 (B)9 (C)-7 (D)78、读程序,回答问题。#include#includevoid main
25、(int argc,char *argv) FILE *fp;void fun(FILE *fp);int i=1;while(-argc0)if(fp=fopen(argvi+,“r“)=NULL) printf(“Cannot open file!n“);exit(0); elsefun(fp);fclose(fp);void fun(FILE *fp) char c;14c=fgetc(fp);while(c!=EOF) if(c=Avalue return (value);void main( ) char c=13;printf(“%dn“,fun(c,2); 三、程序填空题(每空
26、2 分,共 30 分)1、下列程序是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素之和,并输出结果。函数 Sum 计算数组元素之和。请完成下列程序。#includeTotalSum(int,int);void main( ) int a5=2,3,6,8,10;int Total;Total=_cout=0;i-)cinch;if(_)value+=_;couta)|(m=a5)printf(“%d”,m+);elseprintf(”%d”,m-);3.下列程序运行的结果是( )。A. 11 B.0 C. 10 D.1217void main( ) int a=
27、10,b=11,c=12,d;printf(“%dn”,ac?a:c?d=ab:b);4.已知:int a,b;下列 switch 语句中,( )是正确的。 A. switch(a) B.switch(a+b)case a:a+;break ; case 1:a+;case b:b+;break; case 2:b+;C.switch(a*b) D.switch(a/10+b)case 1,2:a+b; case a+b:+a;break;case 3,4:a-b; case a-b:-b;5下列程序由两个文件 f1.c 和 f2.c 组成。f1.文件的内容:#include#include”
28、f2.c”#define N 3void main( ) int i;for (i=1;iab; B.cinab; D.cout#define swap(x,y)x=y;y=x;x=y;void main( )int a=010,b=1;swap(a,b);printf(“%d,%dn”,a,b);8以下 scanf 函数调用中对结构变量成员的错误引用是( )。struct studentchar name20;int age;int sex;stud5,*p;p=stud;A.scanf(“%s”,stud0.name); B.scanf(“%d”,C.scanf(“%d”,p-age);
29、D.scanf(“%d”,9在以下关于 C+构造函数的描述中,错误的是( )。A.构造函数可以重载 B.构造函数可以带缺省参值C.构造函数名必须与类同名 D.构造函数可以带回返回值10下面对 C+函数重载的描述中,错误的是( )。A. 函数名相同 B.函数参数个数或参数类型至少有一个不同C.函数参数不可以用缺省值 D.函数返回值必须不同二、读程序回答问题(每个选择 3 分,共 45 分)1下列程序运行的结果为( )。A.B,a,B,a B.a,B,a,B C.A,b,A,b D.b,B,A,b#includevoid fun(char *c,int d) *c=*c+1;d=d+1;prinf
30、(“%c,%c,”,*c,d);f2.c 文件的内容:sum(int n) int t;static int s=0;for(t=1;tvoid test(int *u,int *v)int *w;w=u;u=v;v=w;void main( )int m=3,n=6,*x=test(x,y);printf(“%d %d”,m,n);3.以下程序的输出结果是( )。A. 8,22 B.7,20 C.6,22 D.5,20includevoid main( ) int x,y;for (x=1,y=1;x20)break;if(y%3= =1)y+=3;continue;y-=10;printf
31、(“%d,%dn”,x,y);4void fun(char *t1,char *t2)int i,j;while(*t2!=0)for(i=0,j=0;t1i;i+)if(t1i!=*t2)t1j+=t1i;t1j=0;t2+; void main( )char a=“abcde“,b=“ae“;fun(a,b);puts(a);该程序的输出结果为( )。A.abcde B.bcd C.abcdeae D.ae5以下程序的输出结果是( )。A .11 B.12 C.14 D.15#include#define FUN(y) 2.84+y#define PR(a) printf(“%d”,(in
32、t)(a)#define PRINT(a) PR(a);putchar(n)void main( )int x=2;PRINT(FUN(5)*x);6.读下列程序,回答问题。19includevoid sort(int a)int i,j,t;for(i=0;jaj+1)t=aj;aj=aj+1;aj+1=t;void main( ) int a5=5,10,-7,3,7,i,t,j;sort(a);for(i=0,iint fun (char s)int i=0;while(si!=0)i+;return i;void main( )char s81;printf(“please input
33、 a stringn“);scanf(“%s“,s);printf(“%dn“,fun(s);8以下是一个 C+程序#includeclass Sample int x,y;public:Sample( ) x=y=0;Sample(int a, int b) x=a;y=b;void disp( ) coutvoid fun(int*p,int i,int j)20int t;if (i#includevoid main(int argc,char *argv )FILE *fp;int fun(FILE*);int num,i=1;while (-argc0)if(fp=fopen(arg
34、vi+,“r“)=NULL) printf(“Cannot open file!n“);exit(0);else num=fun(fp);fclose(fp);printf(“num=%dn“,num);int fun(FILE *fp)static int count=0;char c;c=fgetc(fp);while(c!=EOF)if(c=0改为 int count=0;其余条件不变,则在 DOS 提示符下键入:2_3 file1.dat file2.dat,则程序的运行结果为( )。A. num=3 B. num=4 C .num=5 D. num=63若将 fun 函数中对 cou
35、nt 的定义 static int count=0;改为 int count;其余条件不变,则在 DOS 提示符下键入:2_3 file1.dat file2.dat,则程序的运行结果为( )。A. num=4 B. num=5 C. num=6 D. 随机值三、程序填空(每空 2 分,共 30 分)1以下程序能创建一张包含有 4 名学生信息的单向链表并输出。#include #include #define LEN sizeof(struct student)struct student21 int data;_ ;int num=1;struct student *creat( ) str
36、uct student *head,*p1,*p2;head=p1=p2=(struct student*)malloc(LEN);scanf(“%d”,while (numdata);p2=p1;num+;p2-next=NULL;return(head);void main( )struct student *head, *p;head=creat( );p=head;if (head!=NULL)do printf(”%d”,p-data);_ _;while (p!=NULL);2下面程序功能是在一个字符串中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动。如:cby
37、ab 变成 ycbab.#include#includevoid main( )char str80, *p=str,*q,max;gets(p);max=*(p+);while(*p!=0)if(maxint fun(int score ,int m,int below)int i,k=0,aver=0;22for (i=0;ivoid main( )int a33=1,3,6,7,9,11,14,15,17;int sum1=0,sum2=0,i,j;for(i=0;ivoid main( ) FILE*fp;struct employee;long code:char name20;in
38、t age;em;int k;if(fp=fopen(“employuee”,_ _)= =NULL) printf(“errorn”);return(0);for(k=0; k#includechar * fun(char str) int i;for(i=0; str;i+) if(aint fun(float s,int n,float *aver) float ave,t=0.0; int count,k,i; for (k=0;kave) count+; *aver= return count;void main( )float s30,aver;int m,i;printf(“np
39、lease enter n(void main( )char *p,*q;25p=(char *)malloc(sizeof(char)*20);q=p;scanf(“%s%s”,p,q);printf(“%s,%sn”,p,q);若输入 abd def,则输出为( ) A.def,def B.abc,def C.abc,d D.d,d4.下列函数形式正确的是( )A. double fun(int x,int y) B.fun(int x,y) C.fun(x,y) D.double fun(int x,int y)z=x+y; int z; int x,y double z;return
40、z; return z; double z=x+y; z=x+y;return z; return z;5.下列有关类和对象的说法不正确的是( )。A.对象是类的一个实例 B.一个类只能有一个对象 C.任何一个对象只能属于一个具体的类 D.类与对象的关系和数据类型与变量的关系相似6派生类的对象对它的基类成员中( )是可以访问的。A.公有继承的公有成员 B.公有继承的私有成员 C.保护继承的公有成员 D.私有继承的公有成员7已知学生结构体描述如下:struct studentsint no;char name10;char sex;structint day;int month;int year
41、;birth;int score;用学生结构体定义了变量 w: struct students w;设变量 w 中的“生日”是“1982 年 5 月 29 日”,下列对生日的正确赋值方法是( )A.day=29 B.w.day=29 C.w.birth.day=29 D.birth.day=29Month=5 w.month=5 w.birth.month=5 birth.month=5Year=1982 w.year=1982 w.birth.year=1982 birth.month=19828.假定 p1 和 p2 是已赋值的 int 型指针,则下面有关运算中,( )是非法的。A.(p1
42、+=4)=p2; B.p2=10-p1; C.if(p1!=p2) printf(“!=”); D.p1+=(p2-p1);9.关于 C/C+语言,以下叙述正确的是( )。A.C 是面向过程的程序设计语言,C+不支持面向过程的程序设计B.C 语言支持图形设计,C+不支持C.C 程序由函数组成,而 C+程序由类组成D.C 是 C+的子集10设有以下语句:char x=3,y=6,z;z=xyvoid main( )int a=2,b=-1,c=2;if(avoid main( )int a=15,b=21,m=0;switch (a%3)case 0:m+;break;case 1:m+;swi
43、tch (b%2)default:m+;case 0:m+;break;printf(“%d”,m);3.以下程序运行后,文件 test 中的内容为( )A.world B.worldhello C.helloworld D.hello#include#includevoid fun(char *fname,char *st)FILE *fp;int i;fp=fopen(fname ,”w”);for (i=0;ivoid main( )union value char ch;int n;double f;Date;coutvoid main( )static char str50=”485
44、057ehk105101”,*p=str;int sum1=0,sum2=0;while (*p!=0) if (*p=48s1=w;s2=w+n-1;while (s1int x;void sub(int *s,int x) static int t=0;28x+=st;t+;void main( )int a=3,8,4,2,i;int x=0;for (i=0;ichar *cat(char *str1,char *str2)char *pt;for (pt=str1;*pt!=0;pt+);while(*str2!=0)*pt+=*str2+;return(pt);void main(
45、 )char *p,s130=”210”,s230=”45”;p=cat(s1,s2);printf(“%dn”,p-s1);p=cat(s1,s2);printf(“%dn,p-s1);(1)主函数中,执行第一个输出函数后的结果为( )A.5 B.6 C.7 D.8(2)主函数中,执行第二个输出函数后的结果为( )A.5 B.6 C.7 D.810.下列程序的运行结果是( )。A.newohree B.Two C.TwoThreeFour D.指针运算非法,无输出#includevoid main( )char *srt=“One”,”Two”,”Three”,”Four”;char *ptr=str;int i;for(i=0;ivoid main( )char b17=”0123456789ABCDEF”;int c