(完整版)C语言8~13章复习题
- 格式:doc
- 大小:80.01 KB
- 文档页数:10
一、选择题:1.‖a‖在内存中占 B 字节。
A.1个B.2个C.3个D.4个2.‘A‘+10的结果是 A 。
A.‘K‘B.‖K‖C.‘J‘D.‖J‖3.字符型数据在微机内存中的存储形式是:DA.反码 B.补码 C.EBCDIC码 D.ASCII码4. 用C语言编制的源程序要变为目标程序,必须经过:DA. 汇编B.解释C. 编辑D.编译5.以下选项中不合法的用户标识符是AA.abc.cB.fileC.MainD.PRINTF6.以下选项中正确的实型常量是 DA.0B.3. 1415C.0.329 102D. .8717. 执行scanf (―%d%c%f‖,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 C .A. a=1234 b=‘a‘c=12.56B. a=1 b=‘2‘c=341256C. a=1234 b=‘a‘c=12.0D. a=1234 b=‘a12‘c=56.08. 设b=1234 , 执行printf(―%%d@%d‖,b) 语句,输出结果为: D .A. 1234B. %1234C. %%d@1234D. %d@ 12349. 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 A 。
main(){ int x;scanf(―%d‖,&x);if(x++>5)printf(―%d‖,x);elseprinf(―%d\n‖,x--);}A. 7和5B. 6和5C. 7和4D. 6和410. 设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是 A 。
A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)11. 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是: B 。
《C语言》复习题一、选择题(1) 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是: DA) 3 4 B) 4 2 C) 4 3 D) 3 3(第三章输出语句)(2)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是: CA)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;(第四章关系表达式)(3)在以下一组运算符中,优先级最高的运算符是: CA)<= B)=C)% D)&&(第四章运算符的优先级)(4) 请选出合法的C语言赋值语句: BA) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b)(第三章赋值语句)(5)以下说法中正确的是: CA)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句(第三章语句概述)(6)若有以下定义: Dchar a; int b;float c; double d;则表达式a*b+d-c值的类型为A) float B) int C) char D) double(第二章类型混合运算)(7)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是: CA)1 B)2C)2.0 D)2.5(第二章类型混合运算)(8)有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是: AA) 2,1 B) 3,2 C) 4,3 D) 2,-1(第四章逻辑运算符)(9) 以下程序运行后,输出结果是: CA) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错main(){ char *s="abcde";s+=2;printf("%ld\n",s);}(第九章指针的概念)(10)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为:DA)a<>0 B)!aC)a=0 D)a(第4章条件表达式)(11)有如下程序段,其输出结果是什么: Amain( ){int a=1,b=3,c=5;if (c=a+b)printf ("yes\n");else printf("no\n"); }A) yes B) no C) yes\n D) no\n(第4章条件语句)(12) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表1示代数式----- 的表达式是: DabcA) 1/a*b*cB) 1/(a*b*c)C) 1/a/b/(float)cD) 1.0/a/b/c(第二章类型混合运算)(13)若i ,j已定义为int类型,则以下程序段中内循环体的总的执行次数是: Afor (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)15C)24 D)16(第五章for循环语句)(14)下面哪个程序段不是死循环: C(A) a=0; sum=0;while(a=1){sum=sum+a;a++;}(B) {int I,sum=0;For(i=1;i<=3;sum++)sum+=I;}(C) sum=0;for(i=1;i<10;i++);sum=sum+i;(D) sum=0;for(i=1; ;i++)sum=sum+i;(第五章for循环语句)15、设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)16、不能把字符串:Hello!赋给数组b的语句是: BA)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!";17、设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)18、请选出以下语句的输出结果: Aprintf("%d\n",strlen("\t\"\065\xff\n"));A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出(19)假定所有变量均已正确说明,下列程序段运行后x的值是: Ba=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;A)34 B)4 C)35 D)3(第四章if语句)(20) 运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为: CA) 2,0 B) 5,0 C) 5,5 D) 2,5#include<stdio,h>main(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}(第四章switch语句)(21) 执行以下程序段时: AA) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误x=-1;do {x=x*x; } while(! x);(第五章do_whule语句)(22)执行下面的程序后,a的值为: Bmain(){ int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A)7 B)8C)9 D)10(第5章break,continue 语句)23) 下面能正确进行字符串赋值操作的语句是: CA) char s[5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF"; D) char *s; scanf("%s",s);(第6章字符数组的定义;第9章字符串指针)(24)不能把字符串:Hello!赋给数组b的语句是: BA)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!";(第6章字符数组的使用)(25)函数调用:strcat(strcpy(str1,str2),str3)的功能是: CA)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(第6章字符串处理函数)(26)给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为: CA) 数组X和数组Y等价B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度D) 数组X的长度小于数组Y的长度(第6章字符数组的定义)(27)以下程序的输出结果是: DA)AfghdEFG B)Abfhd C)Afghd D)Afgd#includemain( ){ char *p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s",str);}(第6章字符串处理函数;第9章字符串指针)(28)下面哪个程序段编译会出错: DA) max(int x,int y,int *z) B) max(int x, int y){ *z=x>y?x:y;} {return x>y?x:y;}C) max(int x,int y) D) int max(int x, y){ int z; { int zz=x>y?x:y; z=x>y?x:y;return z;} return z;}(29)下列程序执行后输出的结果是: D#include 〈stdio.h〉f(int a){ int b=0;static c=3:a=c+ +,b+ +;returu(a);}main( ){ int a=2,i,k;for(i=0;i<2;i+ +)k=f(a+ +);printf("%d\n",k);}A)3 B)0 C)5 D)4(第7章静态变量)(30)下列程序执行后输出的结果是: Aint d=1;fun (int q){ int d=5;d + =q+ +;printf("%d".d);}main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d);}A)8 4 B)9 6 C)9 4 D)8 5(第7章函数调用;第3章复合赋值运算符)(31)以下程序的输出结果是: Dmain(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A)10 10 B)9 9C)9 10 D)10 9(第7章函数调用时,参数结合方式:右结合)(32)有以下程序int fun(int x , int y , int *cp , int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是: CA)50,30 B)30,50 C)80,-20 D)80,20(第7章函数调用;第9章指针变量做参数)(33)执行下面的程序后,a的值是: B#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A)10 B)1 C)9 D)0(第8章带参宏定义)(34) 以下有关宏替换的叙述不正确的是: DA) 宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符替换 D)宏名必须用大写字母表示(第8章宏定义)(35)C语言的编译系统对宏命令的处理是: DA) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的(第8章宏定义运行特点)(36)若有宏定义如下:#define X 5#define Y X+1#define Z Y * X / 2则执行以下printf语句后,输出结果是: Dint a; a=Y;Printf("%d\n", Z);Printf("%d\n", - - a);A) 7 B) 12 C) 12 D) 76 6 5 5(第7章函数调用;第8章带参宏定义)37、若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是: DA) &t[3][2]B) t[3][2] C) t[1][0] D) t[2]+138、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是: CA)1 B)2C)2.0 D)2.539、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是: CA)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;40、C语言的编译系统对宏命令的处理是: DA) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的(41)请读程序:#define ADD(x) x+xmain(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf("sum=%d", sum);}上面程序的运行结果是: BA) sum=9 B) sum=10 C) sum=12 D) sum=18(第8章带参宏定义)(42)在宏定义 #define PI 3.14159中,用宏名PI代替一个: DA) 常量 B)单精度数 C)双精度数 D)字符串(第8章宏定义)(43)设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)(第9章数组指针与指向主组的指针)44、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假“的表达式是___C____。
目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。
1、int *p 的含义是(B)A.p是一个指针, 用来存放一个整型数B.p是一个指针, 用来存放一个整型数据在内存中的地址C.p是一个整型变量D. 以上都不对2、以下函数用来求出两整数之和,并通过形参将结果传回,请填空。
void func(int x,int y, ___int*____ z){ *z=x+y; }3、有如下程序段(B)int *p,a=10,b=1;p=&a; a=*p + b;执行该程序段后,a的值是A. 12B. 11C. 10D. 编译出错4、若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( C)A) p+1B) a+1C) a++D) ++p5、以下程序运行后的输出结果是(A)void main( ){ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++) printf("%d,",*p);}A)1,2,3,4,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9,D)1,1,1,1,1,1,1,1,1,1,6、下面程序的输出是(D)void prtv(int *x)printf("%d\n", ++*x);}main(){ int a=25;prtv(&a);}A) 23 B) 24 C) 25D) 267、有以下函数(B)char fun(char *p){ return p; }该函数的返回值是A) 无确切的值B) 形参p中存放的地址值C) 一个临时存储单元的地址D) 形参p自身的地址值8、下列程序的输出结果是(7)#include<stdio.h>void fun (int *p1, int *p2){ if (*p1>*p2) printf ("%d\n",*p1);else printf ("%d\n",*p2);}void main ( ){ int a=3,b=7;fun (&a, &b);}9、下列程序的运行结果是(B)void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3 B) 3 6 C) 编译出错D) 0 010、以下程序调用findmax函数返回数组中的最大值(B)findmax(int *a,int n){ int *p,*s;for(p=a,s=a; p-a<n; p++)if ( ) s=p;return(*s);}main(){ int x[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}在下划线处应填入的是(B)A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s11、下列程序段的输出结果是(A)void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 2 1 3 4 C) 1 2 1 2 D) 2 1 1 212、以下程序执行后输出的结果是___84________。
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
第一章C语言概述一、选择题1.C语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C 程序总是从开始执行。
A)过程B) 主函数C)函数D)include 3.是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。
A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用结束。
A)句号B)逗号C)分号D)括号8.下列字符串是标识符的是。
A)_HJ B)9_student C)long D)LINE 19.以下说法正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分10.不是C语言提供的合法关键字。
A)switch B)print C)case D)default二、填空题1.一个C程序至少包含一个,即。
2.一个函数由两部分组成,它们是和。
3.函数体的范围是。
数据结构(C语言版)考研复习题第1 页共19 页第一章绪论1.1 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
1.2 常用的存储表示方法有哪几种?1.3 算法的时间复杂度仅与问题的规模相关吗?1.4 有时为了比较两个同数量级算法的优劣,须突出主项的常数因子,而将低次项用大"O"记号表示。
例如,设T1(n)=1.39nlgn+100n+256=1.39nlgn+O(n), T2(n)=2.0nlgn-2n=2.0lgn+O(n), 这两个式子表示,当n足够大时T1(n)优于T2(n),因为前者的常数因子小于后者。
请用此方法表示下列函数,并指出当n足够大时,哪一个较优,哪一个较劣?函数大"O"表示优劣(1) T1(n)=5n22-3n+60lgn 5n22+O(n)(2) T2(n)=3n22+1000n+3lgn 3n22+O(n)(3) T3(n)=8n22+3lgn 8n22+O(lgn)(4) T4(n)=1.5n2+6000nlgn 1.5n2+O(nlgn)第二章线性表2.1 试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。
2.2 何时选用顺序表、何时选用链表作为线性表的存储结构为宜?2.3 为什么在单循环链表中设置尾指针比设置头指针更好?2.4 下述算法的功能是什么?LinkList Demo(LinkList L){ // L 是无头结点单链表ListNode *Q,*P;if(L&&L->next){Q=L;L=L->next;P=L;while (P->next) P=P->next;P->next=Q; Q->next=NULL;}return L;}// Demo2.5设线性表的n个结点定义为(a0,a1,...a n-1),重写顺序表上实现的插入和删除算法:InsertList 和DeleteList.2.6 设顺序表L是一个递减有序表,试写一算法,将x插入其后仍保持L的有序性。
C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
C语言第八章习题带答案-2012.11.6更新[优秀范文五篇]第一篇:C语言第八章习题带答案-2012.11.6更新练习8答案选择题1.在程序中要使用语句:printf(“%sn”, STRING);输出一个长度为5个字符的提示信息“OK!”,则应使用宏定义语句(D)。
A.#define STRING “OK!”B.#define STRING “"OK!”“C.#define STRING ”OK!“D.#define STRING ”“OK!”“2.以下正确的描述为(C)。
A.每个C语言程序必须在开头用预处理命令#includeB.预处理命令必须位于C源程序的首部C.在C语言中预处理命令都以”#“开头D.C语言的预处理命令只能实现宏定义和条件编译的功能3.C语言的编译系统中宏命令是(D)。
A.在程序运行时进行代换处理的B.在程序连接时进行处理的C.和源程序中其他C语句同时进行编译的D.在对源程序中其他成分正式编译之前进行处理的4.从下列选项中选择不会引起二义性的宏定义是(D)。
A.#define POWER(x)x*xB.#define POWER(x)(x)*(x)C.#define POWER(x)(x*x)D.#define POWER(x)((x)*(x))5.若有宏定义如下:#define X 5#define Y X+1#define Z Y*X/2则执行以下printf语句后,输出结果是(D)。
int a;a=Y;printf(”%d,“, Z);printf(”%dn“,--a);A.7,6B.12,6C.12,5D.7,56.若a、b、c、d、t均为int型变量,则执行以下程序段后结果为(C)。
#define MAX(A, B)(A)>(B)?(A):(B)#define PRINT(Y)printf(”Y=%dn", Y)……a=1;b=2;c=3;d=4;t=MAX(a+b, c+d);PRINT(t);A.Y=3B.存在语法错误 C.Y=7D.Y=0第二篇:第二章习题带答案一、单项选择题1、下列关于国内信用证的说法中,错误的是()。
作业八:函数程序设计答案〔一〕选择题〔30分〕1.以下正确的函数定义形式是A__。
A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);2.以下正确的函数形式是D__。
A)double fun(int x,int y){ z=x+y; return z; }B)fun(int x,y){ int z; return z; }C)fun(x,y){ int x,y; double z; z=x+y; return z; }D)double fun(int x,int y){ double z; z=x+y; return z; }〔重要〕3.以下正确的说法是A__。
在C语言中A〕实参和及其对应的形参各占用独立的存储单元B〕实参和及其对应的形参共占用一个存储单元C〕只有当实参和及其对应的形参同名时才共占用存储单元D〕形参是虚拟的,不占用存储单元4.假设调用一个函数,且此函数中没有return语句,那么正确的说法是D__。
该函数A〕没有返回值B〕返回假设干个系统默认值C〕能返回一个用户所希望的函数值D〕返回一个不确定的值〔重要〕5.以下不正确的说法是B__。
C语言规定A〕实参可以是常量、变量或表达式B〕形参可以是常量、变量或表达式C〕实参可以为任意类型D〕形参应及其对应的实参类型一致6.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是B__。
A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式7.以下程序有语法性错误,有关错误原因的正确说法是C__。
main()int G=5,k;void Prt_char();k=Prt_char(G);A)语句void prt_char();有错,它是函数调用语句,不能用void说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线8.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是B__。
一、选择题1.以下数组定义中,错误的是:C)int a[3]={1,2,3,4};2.以下数组定义中,正确的是:B) int a[][2]={1,2,3,4};3.设有定义“int a[8][10];”,在VC中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是:D)10444.已知有数组定义“int a[][3]={1,2,3,4,5,6,7,8,9};”,则a[1][2]的值是:C)65.在以下字符串定义、初始化和赋值运算中,错误的是:A) char str[10];str=”String”;6.设有以下字符串定义,char s1[]={‘S’,’t’,’r’,’i’,’n’,’g’};char s2[]=”String”;则s1和s2:C)长度不同,但内容相同。
7.设有定义“int a[10]={0};”,则说法正确的是:A)数组a有10个元素,各元素的值为0.8.设已定义“char str[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’};”,执行语句“printf(“%s”,str)”后,输出结果为:B)ab9.引用数组元素时,数组元素下标不可以是:C)字符串10.已定义字符串S1和S2,以下错误的输入语句是:C)gets(s1,s2);11.下面程序段的运行结果是:A)123void main(){char a[]=”abcd”,b[]=”123”;strcpy(a,b);printf(“%s\n”,a);}12.下面程序段的运行结果是:A)123void main(){char a[]=”123”,b[]=”abcd”;if(a>b)printf(“%s\n”,a);else printf(“%s\n”,b);}二、编程题1.一维数字a的值已经,请把数组中的值按逆序存放,然后输出数组。
例如数组中原来的值为3,4,2,1,6,颠倒后变成6,1,2,4,3.#include<stdio.h>main(){int i,a[5]={2,3,45,12,5},t;printf("转换前:");for(i=0;i<5;i++)printf("%d\t",a[i]);for(i=0;i<5/2;i++){t=a[i];a[i]=a[5-i-1];a[5-i-1]=t;}printf("\n转换后:");for(i=0;i<5;i++)printf("%d\t",a[i]);}2.输入一个整数(位数不确定),从高位到低位依次输出各位数字,其间用逗号分隔。
全国计算机⼆级C语⾔各章节复习题第⼀章C语⾔概述略第2章程序的灵魂----算法⼀、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有⼀个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)2.1以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在⼀个函数中定义另⼀个函数C)main()函数必须放在其他函数之前D)所有被调⽤的函数⼀定要在调⽤之前进⾏定义声明正确答案: A2.3 以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语⾔规定,在⼀个源程序中,main函数的位置A)必须在最开始B)必须在系统调⽤的库函数的后⾯C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)⼀个C源程序可由⼀个或多个函数组成B)⼀个C源程序必须包含⼀个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于⼀条语句的后⾯任意位置正确答案: D2.6 下列叙述中正确的是A)C语⾔编译时不检查语法B)C语⾔的⼦程序有过程和函数两种C)C语⾔的函数可以嵌套定义D)C语⾔的函数可以嵌套调⽤正确答案: D2.7 以下叙述正确的是A)在C程序中,每⾏中只能写⼀条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,⽆论是整数还是实数,都能被准确⽆误地表⽰D)在C程序中,%是只能⽤于整数运算的运算符正确答案: D2.8 以下说法错误的是A)⼀个算法应包含有限个步骤B)在计算机上实现的算法是⽤来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执⾏有限次后实现D)算法的⽬的是为了求解正确答案: C2.9 算法是指为解决某个特定问题⽽采取的确定且有限的步骤,下⾯不属于算法的五个特性的是A)有零个输⼊或多个输⼊B)⾼效性有效性C)有穷性D)确定性正确答案: B2.10 下列关于C语⾔的说法不正确的是A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地⽅D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句正确答案: B2.11 以下说法错误的是A)⾼级语⾔都是⽤接近⼈们习惯的⾃然语⾔和数学语⾔作为语⾔的表达形式B)计算机只能处理由0和1的代码构成的⼆进制指令或数据C)C语⾔源程序经过C语⾔编译程序编译之后⽣成⼀个后缀为.EXE(c)的⼆进制⽂件D)每⼀种⾼级语⾔都有它对应的编译程序正确答案: C2.12 C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,break C)for,while,do-while D)if,for,continue 正确答案: A⼆、填空题(请将每⼀个空的正确答案写在答题卡相应序号后。
目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。
目录- 1 -目录第一章C语言基础知识参考答案 ................................................................................ - 2 - 第二章顺序结构参考答案.......................................................................................... - 5 - 第三章选择结构参考答案.............................................................................................. - 7 - 第四章循环结构参考答案............................................................................................ - 11 - 第五章函数参考答案................................................................................................ - 15 - 第六章指针参考答案.................................................................................................... - 18 - 第七章一维数组参考答案............................................................................................ - 21 - 第八章二维数组参考答案.......................................................................................... - 28 - 第九章字符串参考答案.......................................................................................... - 31 - 第十章对C语言的深入讨论参考答案 ....................................................................... - 33 - 第十一章结构体与共用体参考答案............................................................................ - 34 - 第十二章文件参考答案........................................................................................ - 35 -全国计算机等级考试二级教程C 语言习题集参考答案- 2 - 第一章C语言基础知识参考答案一,选择题1 C2 D3 A4 C5 A6 D7 C 分析:C答案以数字开头了8 D 分析:int 是关键字9 C 10 D 11 B12 D 分析:Visual C++6.0中int类型的变量占的字节数为4。
第一章概述1.一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是:()A.在C程序中,main函数必须位于程序的最前面B.程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是:()A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面4.C语言规定:在一个源程序中,main的位置()A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后5.一个C语言程序是由()A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成6.C源程序的基本单位是____________7.一个C源程序中至少包括一个____________8.在一个C源程序中,注释部分两侧的分界符分别为____________和____________9.在C语言中,输入操作是由库函数____________完成的,输出操作是由库函数____________完成的参考答案1.A2.C3.D4.C5.B6.函数7.(main)函数8./**/9.scanf printf第三章基本数据类型1.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种2.下面四个选项中,均是不合法的用户标识符的选项的是:()A.A p_o doB.float lao_AC.b-a goto intD._123temp INT3.下面四个选项中均是合法整型常量的选项是()A.160-0xffff011B.-0xcdf01a0xeC.-01986,0120668D.-0x48a2e50x4.下面四个选项中,均是合法的浮点数的选项是()A.+1e+15e-9.403e2B.-6.012e-4-8e5C.123e 1.2e-4-8e5D.-e38e-4 5.e-05.下面四个选项中,均是合法转义字符的选项是()A.'\"‘\\'‘\n'B.‘\'‘\017'‘\"'C.'\018'‘\f'‘xab'D.'\\0'‘\101'‘x1f'6.下面四个选项中,均是正确的数值常量或字符常量的选项的是()A.0.00f8.9e‘&'B."a" 3.9E-2.51e1‘\"'C.'3'0110xFF000aD.+0010xabcd2e2507.在C语言中,char型数据在内存中存储形式是()A.补码B.反码C.原码D.ASCII码8.若有说明语句:char c='\72';则变量c()A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定9.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()A.intB.floatC.doubleD.不确定10.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()A.2.500000B.2.750000C.3.500000D.0.00000011.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum值为()A.7B.8C.9D.1012.若有代数式3ae/bc,则不正确的C语言表达式是()A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*313.若a是int型变量,且a的初值为6,则计算表达式后a的值为()。
第八章函数一、选择题1、以下正确的函数定义是(A )A) double fun(int x,int y) { }B) double fun(int x;int y) { }C) float fun(int x;y) { }D) float fun(int x,y) { }2、C语言中,函数返回值的类型是由( D )决定。
A)主调函数的类型B)return语句中表达式的类型C)由系统临时指定D)定义该函数时所指定的函数类型3、下列有关函数的说法正确的是( D )。
A)在C语言中,若对函数类型未加说明,则系统隐含类型为void。
B)C函数必须有返回值,否则无法使用。
C)C函数既可以嵌套定义,又可以可递归调用。
D)C函数中,形式参数必须指定为确定的类型。
4、用一维数组名作函数的实际参数,则传递给形式参数的是(A )A)数组首元素的地址 B)数组中第一个元素的值C)数组中元素的个数 D)数组中全部元素的值5、若已定义的函数有返回值,则有关该函数调用的叙述中错误的是(B )A)调用可以作为独立的语句存在B)调用可以作为一个函数的形参C)调用可以作为一个函数的实参D)调用可以出现在表达式中6、关于C语言中return语句正确的说法是(C )A)只能在主函数中出现 B)在每个函数中都必须出现C)可以在一个函数中出现多次 D)只能在除主函数之外的函数中出现7、如果在程序中使用了C库函数中的字符串函数,则应在源程序中使用的文件包含命令是(D )A)#include <stdio.h> B)#include <stdlib.h>C)#include <math.h> D)#include <string.h>8、已定义函数如下:int fun(int *p){ return *p;}则函数的返回值是(C )A)不确定的值 B)形参p中存放的值C)形参p所指存储单元的值 D)形参p的地址值9、以下叙述不正确的是(D )A)在不同的函数中可以使用同名的变量B)函数中的形式参数是局部变量C)在函数内定义的变量只在本函数范围内有效D)在函数内复合语句中定义的变量也可在本函数范围内有效10、以下正确的说法是(C )A)全局变量的的作用域一定比局部变量的作用范围大B)函数的形参可以是全局变量C)静态(static)变量的生存周贯穿于整个程序运行期间D)在定义变量时没有赋初值的auto变量和static变量的初值都是随机值11、下列关于C语言全局变量与局部变量的叙述中,错误的是(C )A) 函数调用结束时,函数中静态局部变量不释放内存空间,变量值保留B) 函数调用结束时,函数中动态局部变量释放内存空间,变量值消失C) 全局变量的生存周期是从程序开始到程序结束D) 在一个函数或复合语句中,当局部变量与已有的全局变量重名时,在该函数或复合语句中局部变量不起作用。
12、以下程序运行后输出结果是(A )#include <stdio.h>int a,b;void f(){ extern int a,b;int x=20,y=25;a=a+x+y;b=b+x-y;}void main(){ int x=9,y=7;a=x+y;b=x-y;f();printf(“%d,%d\n”,a,b);}A) 61,-3 B) 16,2 C) 25,-5 D) 以上都不正确二、填空题1、以下程序输出的最后一个值是(120 )#include <stdio.h>int ff(int n){static int f=1;f=f*n;return (f);}void main(){int i;for (i=1;i<=5;i++)printf(“%d\n”,ff(i));}2、下列程序的功能是将字符串str中所有空格去掉,请填空:#include <stdio.h>{ char str[]=“we are learning C Language.”;int n=0,m=0;do{ if (str[m]!=‘’) str[n++]=str[m];m++;} while(str[m]!= ‘\0’);str[n]= ‘\0’;printf(“%s\n”,str);}三、编程题例题:8.13、8.15、8.16、8.17,习题:8.3、8.4、8.11、8.13第九章预处理命令一、选择题1、有如下程序:#define N 2#define M N+1#define NUM 2*M+1void main(){ int i;for (i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是(B )A) 5 B) 6 C) 7 D) 82、下面有关宏的叙述错误的是( B )A) 宏名没有类型 B) 宏名必须用大写字母C) 宏定义不占用存储空间 D) 宏替换不占用运行时间3、下列叙述正确的是( C )A) 预处理时,宏名用字符串替代,并检查语法错误B) #include <file.h>与#include “file.c”完全等价C) 文件包含命令#include每次只能包含一个文件D) 在被包含文件中不能再包含其他文件二、填空题1、C语言提供的预处理功能有条件编译、(宏定义)和(文件包含)。
第十章指针一、选择题1、有以下程序:#include <stdio.h>{ int x[8]={8,7,6,5,0,0,0},*p;p=x+3;printf(“%d\n”,p[2]);}执行后输出结果是( B )A) 随机值 B) 0 C) 5 D) 62、以下选项中,正确运用指针变量的程序段是( D )A) int *i=NULL;scanf(“%d\n”,i);B) float *f=NULL;*f=10.5;C) char t=‘m’,*c=&t;*c=&t;D) long *L;L=‘\0’;3、有以下程序:#include <stdio.h>void main(){ char *s[]={“one”, “two”, “three”},*p;p=s[1];printf(“%c,%s”,*(p+1),s[0]);}执行后输出结果是( C )A) n,two B) t,one C) w,one D) o,two4、已定义以下函数:void fun(char *p2,char *p1){ while((*p2=*p1)!=‘\0’){ p1++;p2++;}}则函数的功能是( A )A) 将p1所指字符串复制到p2所指内存空间B) 将p1所指字符串的地址复制给指针p2C) 对p1和p2两个指针所指字符串进行比较D) 检查p1和p2两个指针所指字符串是否含有‘\0’5、若有如下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是( D )A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2)6、下列选项中,能表示p是一个指向整型变量的指针变量的是( B )A) int **p; B) int *p; C) int (*p)(); D) int *p[];7、下列选项中,能表示p是一个指向含有n个元素的一维数组的指针变量的是( C )A) int *p(); B) int p[]; C) int (*p)[n]; D) int *p[n];8、下列选项中,能表示p是一个指向函数的指针变量的是( C )A) int p[n]; B) int *p(); C) int (*p)(); D) int *p[n];9、下列叙述中错误的是( D )A)一个变量的地址称为该变量的指针B)一个指针变量只能指向同一数据类型的变量C)指针变量中只能存放地址D)指针变量可以由整型数赋值10、两个指针变量不可以进行的操作是( B )A) 相减 B) 相加 C) 指向同一地址 D) 比较11、假定以下程序经编译连接后生成可执行文件out.exe,如果在此文件所在目录的DOS提示符下输入:out abc ijk xyz 回车,则输出结果为( D )void main(int argc,char *argv[]){ while(--argc>0)printf(“%s”,argv[argc]);printf(“\n”);}A) abcijk B) xyz C) abcijkxyz D) xyzijkabc12、若有以下定义:int *fun();其含义是( C )A) 函数fun的返回值类型是整型B) fun是一个指向函数的指针C) 函数fun的返回值是一个指向整型的指针D) fun是一个指向数组的指针13、若有以下定义:void main(){int (*p1)(),*p2(),arr[10],c;void f(int *p) { ... }......}对函数f正确的调用是( D )A) p2=f;p2(arr); B) p1=f;p1(c);C) p2=f;*p2(arr); D) p1=f;(*p1)(&c);14、若有以下定义:char **p;下列语句中正确的是( C )A) p=“C program”; B) **p=“C program”;C) *p=“C program”; D) *p=‘C’;15、下列给指针变量p赋初值的方法不合法的是( C )A)int i,*p=&i; B)int a[10],*p=a;C)int i,*p=2000; D)char *str=“I love China”;16、若有定义:int i, a[4][3],b[3][4],(*p)[3];则( A )是正确的赋值语句。
A)p=a; B)p=b;C)p=a[i]; D)p=b[i];二、填空题1、运行以下程序的输出结果是( 9 )void main(){int a[3][3],*p,i;p=&a[0][0];for (i=0;i<0;i++)p[i]=i+2;printf(“%d\n”,a[2][1]);}2、运行以下程序输出的结果是( 8 )#include <stdio.h>int a[]={2,4,6,8};void main(){ int n,*p=a;for (n=0;n<4;n++)a[n]=*++p;printf(“%d\n”,a[2]);}3、mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。
请填空。
int mystrlen(char *str){ int i;for (i=0; str[i] !=‘\0’; i++);return( i );}三、编程题1、在主函数中输入10个等长的字符串。