C语言试题及答案_第1页
C语言试题及答案_第2页
C语言试题及答案_第3页
C语言试题及答案_第4页
C语言试题及答案_第5页
免费预览已结束,剩余31页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大学C语言考试题库第1章C语言概述习题1. 单项选择题(1) C 语言是在B语言的基础上产生的。A. A B. B C. D D. EA.A.在C语言中,每个语句必须以回车符 B.冒号C.结束。逗号 D.分号标识符和关键字间,要用隔开。回车符 B.冒号C.空格 D.分号用C语言编写的源文件经过编译,若没有产生编译错误,则系统将A.生成可执行目标文件B. 生成目标文件 C.输出运行结果D.自动保存源文件下列说法中正确的是(B)。A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入

2、后即可执行D.由于C程序是高级语言程序,因此它由命令组成A. C语言程序由主函数和下列说法中正确的是(个或多个函数组成B. C语言程序由主程序和子程序组成C. C语言程序由子程序组成D. C语言程序由过程组成下列说法中错误的是(A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行2.填空题(1) C语言只有32个关键字和9种控制语句。C 语言是一种“中级语言”既具有 高级语言 的特点又具有 低级语言 的特点:既适合于开发系A. 2,3 B. 2,0 C. 3,0 D. 3,2统软件

3、又适合于编写应用程序。(3) 每个源程序有且只有一个主 函数,系统总是从该函数开始执行C语言程序。(4) 在C语言程序中允许出现的字符集是ASCII码字符集。(23) 字符串"ABC"在内存占用的字节数是 _BO语言的程序中有特殊含义的英语单词称为保留字 。语言标识符的长度是前8位有效。(8) C语言中,标识符的定义规则是以字母或下划线为开头语言程序的注释可以出现在程序中的任何地方,它总是以/*符号作为开始标记,以*/符号作为结束标记。第2章数据类型运算符和表达式习题1.单项选择题(1) 以下选项中,正确的 C语言整型常量是D 。A. 32L B. 510000 C. -1

4、.00 D. 567(2)以下选项中,D 是不正确的C语言字符型常量。A. 'a' B. 'x41'C. '101' D. "a"A.在C语言中,字符型数据在计算机内存中,以字符的C 形式存储。原码B.反码 C. ASCII 码 D. BCD字符串的结束标志是C。A. 0B. 'O' C. '0' D. "0"算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运

5、算、算术运算、赋值运算逻辑运算符中,运算优先级按从高到低依次为A. &&,! ,11 B. |&&, ! C. &&,|,! D. !,&& |(7)表达式!x|a=b 等效于_D。A. !(x|a)=b) B. !(x|y)=bC. !(x|(a=b)D. (!x)|(a=b)(8)设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n 的值是 A 。A. 0,0 B. 0,1 C.1,0 D. 1,1(9) int b=0,x=1 ;执行语句if(x+) b=x+1;

6、后,x,b的值依次为 A 。(10)A. 3B. 0 C. 9 D. -12(11)在以下一组运算符中,优先级最低的运算符是A. *B. != C. +D.=(12)设整型变量i 值为2,表达式(+i)+(+i)+(+i)的结果是B。A. 6B. 12 C. 15D.表达式出错(13)若已定义x和y为double类型,则表达式 x=1,y=x+3/2的值是 C 。A. 1B. 2 C. 2.0D. 2.5设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量a的值是 B 。(14)A. 8B. 4C. 2 D.出错sizeof (double)的结果值是A 。(15)A. 4B

7、. 3C. 2 D. 1(16)a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是 A 。a=1,b=2, c=3,d=4,则表达式:a<b? a : c<d? a : d 的结果为 D 。A. 10<a<15C. a>10 && a<15D. !(a<=10) && !(a>=15)(17) 设f是实型变量,下列表达式中不是逗号表达式的是A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0)(18) 设ch是

8、char型变量,其值为A',则下面表达式的值是 _B_。ch=(ch>='A'&& ch<='Z')? (ch+32):chA. AB. a C. Z D. Z(19)以下运算符中,结合性与其他运算符不同的是A. +B. % C. / D. +(20)以下用户标识符中,合法的是_B。A. i ntB. nit C. 123 D. a+b(21)C语言中,要求运算对象只能为整数的运算符是A. %B. / C. > D. *(22) PC机中,'n'在内存占用的字节数是A。A. 1 B. 2 C. 3 D.

9、4B. a= =11| a= =12 | a= =13 | a= =14A. 3 B. 4 C. 6 D. 8(24)要为字符型变量a赋初值,下列语句中哪一个是正确的BA. char a="3" B. char a='3' ; C. char a=%;D. char a=*;(25)下列不正确的转义字符是A. B. ' C. 074 D. 02.填空题(1)C 语言中的逻辑值“真”是用 非0表示的,逻辑值“假”是用0表示的。符号常量的定义方法是#defi ne N 10无符号基本整型的数据类型符为un sig ned int,双精度实型数据类型符为d

10、ouble,字符型数据类型符为char o则表达式'x'+1>c,'y'!=c+2,-a-5*b<=d+1,b=a=2 的值分别为1、0 、 1 、表达式错误。设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为判断变量a、b的值均不为0的逻辑表达式为(a!=0)&&(b!=0)o求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为4,4,10,6(8)(9)求解逗号表达式数学式a/(b*c)x=a=3,6*a 后,的C语言表达式表达式值、X、a/(b

11、*c)a的值依次为18,3,3oo设 c-w',a=1,b=2,d=-5.2.5第3章顺序结构程序设计习题1.选择题(1) prin tf("f=%3.2f%",3.478);的输出结果是 A oA. f=3.48% B. f=3.5% C. f=3.48% % D. f=347.8% prin tf("%c,%d",'a', 'a');的输出结果是 AA. a,97 B. a 97 C. 97,a D. 97 ascan f("%c",&a);若要给变量输入大写字母A,则以下正确的输入

12、是 _B oA. 'A' <CR>B. A <CR> C. "A" <CR>D.以上都不对(4)若一个int类型的数据占2字节,则程序段:int x=-1;printf("%u,%d",x,x);的输出结果是_A_oA. 65535, -1B. -1,65535C. 32767, 32768 D. 32768,32767中,getchar、putchar、printf 、scanf四个函数,均包含在头文件_BA. math.hB. stdio.h C. stbio.h D. stdlib.h中。(6)复

13、合语句是用C括起来的语句组。A. ( ) B. C. D. < >(7)下列格式符中,哪一个可以用于以八进制形式输出整数A. %d B. %8d C. %o D. %ld(8)下列格式符中,哪一个可以用于以十六进制形式输出整数A. %16d B. %8x C. %d16 D. %d(9) a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的B. scan f("%d%c",a,c);A. scan f("%d,%c",&a,&c);C. scan f("%d%c",&a,&c);

14、D. sca nf("d=%d,c=%c",&a,&c);(10) 要使double x; long a;的数据能正确的输出,输出语句应是A. prin tf("%d, %f",a, x);B. prin tf("%d, %1f",a, x);D. prin tf("%1d, %lf",a, x);C. scan f("%1d, %1f",&a, &x);然后再改正)2. 程序改错题(以下各个程序段均有 5个错误,请先找出错误的位置,(1)以下程序的功能是,从键盘

15、输入一个字符并鸣笛输出。#in clude "stdio.h" mia n() /ma in()char c /char c;getchar(c);/c = getchar();putchar('007') ; /*鸣笛*/c=pu tchar(); /pu tchar(c);/),输出它的面积和周长。以下程序的功能是,输入长方形的两边长(边长可以取整数和实数mai n /mai n()int a,b,s,l; /double a,b,s,l;scan f("%d,%d",&a,& b); /scan f("%l

16、f,%lf",&a,&b);s=a*b;I=a+b; /l=(a+b)*2;l=%lf,s=%lfn ",l,s);prin tf("l=%f,s=%fn",l); /printf(”3. 写出程序运行结果 (1)mai n()int a,b;sca nf("%2d%*2s%2d",&a, &b);prin tf("%dn" ,a+b);运行时输入:12345678 /输出:68mai n()int a=3,b=5,x,y;x=a+1, b+6;y=(a+1,b+6);prin tf

17、("x=%dny=%drr,x,y);输出:x=4y=11第4章选择结构程序设计习题1.单项选择题(1)选择结构程序设计的特点是A.自上向下逐个执行B.根据判断条件,选择其中一个分支执行C.反复执行某些程序代码D.以上都是假定所有变量均已正确定义,下列程序段运行后x的值是 B 。a=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(3) 下面的程序片段所表示的数学函数关系是 if(x<0) y= -1;else if(x>0) y=1;(4)下列各语句序列中,能够且仅输

18、出整型变量a、b中最大值的是(C ) oelse y=0;-1n 仆1U <0)A. V = *0B. F = T-1 x = m1(A->o)0(A->0)0(v< 0)-I(X<0)C V = *-1(V = 0)I) y = 1 (T = 0(10 (,¥>()A. if(a>b) prin tf(”dn",a); prin tf(”drTb);B. prin tf("%dn",b); if(a>b) prin tf("%drTa);C. if(a>b) prin tf("%

19、dn ”,a); else prin tf("%dn",b);D. if(a<b) prin tf("%dn ”,a); prin tf("%dn",b);(5) 以下程序段的输出结果是_Aint x=5;if(x>0) y=1;else if(x=0) y=0;else y= 1;prin tf("%d",y);A. 1B. 5C. 0 D. 2程序段int x=5,y=8,max; max=(x>y)?x:y; prin tf("%d",max);的输出结果是B OA. 5B. 8C

20、. 3 D. 13程序段int x=3,a=1;switch(x) case 4: a+;case 3: a+;case 2: a+;case 1: a+; printf("%d",a);的输出结果是_DOA. 1 B. 2 C. 3 D. 4(8)下列语句应将小写字母转换为大写字母,其中正确的是A.if(ch>='a'&ch<='z') ch=ch-32;B. if(ch>='a'&&ch<='z')ch=ch-32;D.ch=(ch>'a'

21、;&&ch<'z')?ch-32:ch;C. ch=(ch>='a'&&ch<='z')?ch-32:''2.阅读程序,写出运行结果(1)void mai n ()void mai n ()int x=100, a=10, b=20, ok1=5, ok2=0;int a=10, b=4, c=3;if(a<b) if(b!=15) if(!ok1) x=1;if(a<b) a=b ;else if(ok2) x=10;else x=-1;prin tf("%

22、dn", x);if(a<c) a=c ;prin tf("%d, %d, %dn", a, b, c);输出:10, 4, 3输出:-1 ;输出:6int k,a=1,b=2;k=(a+=b) ? 2:3;void mai n()prin tf("%d",k);输出:3int s=1,k=0;switch (s)void mai n()case 1: k+=1;break;int s=1,k=0;case 2: k+=2;break;switch (s)default: k+=3;case 1: k+=1;printf(“ c” ,k)

23、;case 2: k+=2;default: k+=3;输出:1printf(“ c” ,k);第5章循环结构程序设计习题1.单项选择题(1)for(i=1;i<9;i+=1);该循环共执行了 B 次。A. 7 B. 8 C. 9D. 10int a=2;while(a=0) a-;该循环共执行了 A 次。A. 0 B. 1C. 2D. 3(3)执行完循环for(i=1;i<100;i+);后,i的值为B。A. 99 B.100C.101 D. 102(4) 以下for语句中,书写错误的是A. for(i=1;i<5;i+); B. i=1;for(;i<5;i+);C

24、. for(i=1;i<5;) i+;D. for(i=1,i<5,i+);以上都不是.语句,在循环条件初次判断为假,还会执行一次循环体。A. for B. while C. do-while D.(6)循环结构的特点是_CA.从上至下,逐个执行B.根据判断条件,执行其中一个分支C.满足条件时反复执行循环体D.以上都对i 、j已定义为int 类型,则以下程序段中内循环体的执行次数是for(i=5;i;i-)for(j=0;j<4;j+)A. 20 B. 24 C. 25 D. 30(8) C 语言 while语句中,用于条件的表达式是D。A.关系表达式B.逻辑表达式C.算术表

25、达式D. 任意表达式(9) int a=1, x=1;循环语句 while(a<10) x+; a+;的循环执行_D。A. 无限次 B.不确定次C. 10 次 D. 9(10) 下列程序段执行后s的值为_A。int i=1, s=0; while(i+) if(!(i%3) break ; else s+=i ;A. 2 B. 3 C. 6 D.以上均不是2.填空题(1)三种循环语句是等价 价的。 当循环体中的switch语句内有break语句,则只跳出 swicth 语句。同样,当 switch语句中有循环语句,内有break 语句,则只跳出循环 语句。(3) 循环体执行遇到conti

26、nue语句时跳过本次循环进入下次循环1,否则输出0 ,请为程序填空。(4) 下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出 void mai n()int i, X, y=1;sca nf("%d", &x);for(i=2; i<=x/2; i+)if ( x%i=0 ) y=0; break; prin tf("%dn",y);(5) 输入N个实数,输出其中的最大值、最小值。#in clude <stdio.h> void mai n()int n ,i;float n o1, nmax ,nmin;sca n

27、f("%d",&n); scan f("%f",&n o1);nmax=n o1;nmin=no1 ;for(i=2;i<=n ;i+)sca nf("%f", &no1 上if(n o1> nm ax) nmax=n o1;if(n o1< nmin) nmin=n o1;prin tf("MAX=%f MIN=%frr,nm ax, nmin);(6) 输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。#in elude <std

28、io.h> void mai n()char ch;int s1=0,s2=0 ;while( ch=getchar() )!='n')if(ch>='0'&&ch<=9) s1+;if(ch>='a'&&ch<='z' |ch>=' A |ch<= Z) s2+;3.阅读下列程序,写出程序运行的输出结果(1)while(k+<=n)void mai n()m*=2; int y=9;prin tf("%dn",m);for

29、( ;y>0; y-)if(y%3=0)prin tf("%d",-y);输出:1024con ti nu e;void mai n ()输出:852 int i=5;(2)mai n()doswitch (i%2)int k,n ,m;case 4: i-; break;n=10;m=1;k=1;case 6: i-; con ti nue;case 'E': k=k*10; break;default: k=k/3;prin tf("i=%d ", i); while(i>0);k+;while(c<'G&#

30、39;);输出:i=3 i=1 i=-1prin tf("k=%dn", k);输出:8(5)输入数据:2,4(4)# in clude <stdio.h>#in clude <stdio.h>void mai n()void mai n()int k=0; char c='A'int s=1,t=1,a ,n;doint iscanf("%d , %d",&a,&n);switch(c+)for(i=1;i< n; i+) t=t*10+1; s=s+t;case 'A':

31、k+; break;case 'B': k-;s*=a; prin tf("SUM=%drTs);输出:2468case C: k+=2; break;case 'D': k=k%2; break;4. 程序改错(1)以下程序是显示200 , 300所有能被7整除的数,每行显示5个数,此程序有5处错。mai n()int i,n=0; /*n用来记录每行已打印数的个数*/ /i+;while(i<300) /while(i <= 300)&&(i >= 200)if(i%7=0) /if(i%7!=0)break; /

32、con ti nue;prin tf("%5d",i);n=n+1;if(n=5)/* 满 5 个换行 */ /if(n = 5)prin tf("n");n=0;处错误。(2)以下程序是求 1!+2!+3!+4!+5!+6!+7!的值,其中有 3 mai n()int i,s,t=0; /lo ng s = 0,t = 1;/int i;for(i=1;i<=7;i+)s=0; /去掉该语句t=t*i;"sum=%ld' ,s);s=s+t;prin tf("sum=dn",s); /printf(第6章函数

33、习题1.单项选择题(1)C语言总是从_A函数开始执行。A. mai n B.处于最前的C.处于最后的 D.随机选一个函数在定义时,省略函数类型说明符,则该函数值的类型为A. i ntB. float C. lo ngD. double以下B函数,真正地没有返回值。B. void b() prin tf("c");D.以上都是A. i nt a() int a=2;return (a);C. int a() int a=2;retur n a;在C语言中,有关函数的说法,以下正确的是A.函数可嵌套定义,也可嵌套调用B.函数可嵌套定义,但不可嵌套调用C.函数不可嵌套定义,但可嵌

34、套调用D.函数不可嵌套定义,也不可嵌套调用A. auto B. static C. extern D.无存储类型以下函数调用语句中,含有实参的个数为fun (2,3),(4,5+6,7);A. 1 B. 2 C. 5 D. 6函数调用可以在_D。A.函数表达式中B.函数语句中C.函数参数中D.以上都是被调函数返回给主调函数的值称为A.形参 B.实参 C.返回值D.参数,可以不进行函数类型说明。A.被调函数的返回值是整型或字符型时B.被调函数的定义在主调函数定义之前时C.在所有函数定义前,已在函数外预先说明了被调函数类型D.以上都是(8)被调函数通过_D语句,将值返回给主调函数。A. if B.

35、 for C. while D. return(9)被调函数调用结束后,返回到_B。A. 主调函数中该被调函数调用语句处B. 主函数中该被调函数调用语句处C. 主调函数中该被调函数调用语句的前一语句D. 主调函数中该被调函数调用语句的后一语句(10)以下对C语言函数的有关描述中,正确的是_A。A. 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个源程序文件中(11) C语言中函数的隐含存储类型是_A。(12) 能把函数处理结果的两个数据返回给主调函数

36、,在下面的方法中不正确的是A. retur n这两个数B.形参用两个元素的数组C.形参用两个这种数据类型的指针D.用两个全局变量2.填空题(1)变量的作用域主要取决于变量定义的位子,变量的生存期既取决于变量存储类型 ,又取决于变量存储方式for(i=0;i<7;i+) prin tf("%f ”,ai);(2) 说明变量时,若省略存储类型符,系统默认其为整形 存储类别,该存储类别的类型符为:int(3)静态型局部变量的作用域是静态局部变量定义的复合语句或函数体内生存期是整个程序运行期内(4) 函数中的形参和调用时的实参都是数组名时,传递方式为地址传递,都是变量时,传递方式为值传

37、递(5)函数的形式参数的作用域为整个函数体内全局的外部变量和函数体内定义的局部变量重名时, 函数体内定义的局部变量优先。(6) 若自定义函数要求返回一个值,则应在该函数体中有一条return语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符void(8)(9)(10)若函数的形式参数是指针类型,则实参可以是数组名函数的参数为char *类型时,形参与实参结合的传递方式为函数的实参为常量时,形参与实参结合的传递方式为对数组按值从大到小的顺序排序后输出,请填空。值传递地址或指针变量。地址传递 。#in elude <stdio.h> void mai n()floa

38、t a7=2,6,3,8,3,12,9;int ivoid sort(float*,i nt);sort (a,7 )prin tf("n");void sort( float *p, int n )int i,j,k; float t;for(i=0;i< n-1;i+)k=i;for(j=i+1;j< n;j+)if( P k <pj ) k=j;if(k != i) t=*( p+i); * (p+i)=*( p+k); *( p+k)=t; (11) 下列函数在n个元素的一维数组中,找出最大值、最小值并传送到调用函数,请填空。#in elude &

39、lt;stdio.h> void fin d(float *p, float *max, float *min, int n)int k;float t;max=*p; *min = *p;for(k=1;k< n; k+)t=*( p+k);if( t>*max ) *max=t;if(t<*mi n) *mi n=t;(1)prin tf("%drTp);3.写出下列程序运行结果:mai n()int fun (i nt a,i nt b)int i=1, p;int f;p=fun (i,i+1);if(a>b)f=-1;f=1;return f;

40、else if(a=b)f=0;else输出:-1x=y+; prin tf("%d %dn", x,y);键盘输入abcdef<CR>#in elude <stdio.h>#in elude <stdio.h>int c , a=4 ;void fun()fun c(i nt a , int b)char c ; c=a*b ; a=b-1 ; b+ ; retur n (a+b+1) ; if(c=getchar( )!='n')void mai n()fun();pu tchar(c);int b=2 , p=0 ;

41、 c=1 ;p=func(b , a);void mai n()prin tf("%d,%d,%d,%dn", a,b,c, p); fun( ); 输出:fedcba#in clude <stdio.h>输出:4,2,8,9un sig ned fun6(un sig ned num)#defi ne C 5int x=1,y=C;un sig ned k=1;void mai n()do k*=nu m%10; num/=10; while( nu m);int x;return k;if(x>4)void mai n() int x ; x=+y;

42、prin tf("%d %dn",x,y) ; x+=y-;un sig ned n=26;prin tf("%d %dn",x,y);prin tf("%dn", fun6(n);输出:12输出:5 612 6第7章数组习题1.单项选择题int a4=5,3,8,9;其中a3的值为(D ) oA. 5B. 3 C. 8 D. 9以下4个字符串函数中,(A ) 所在的头文件与其他 3个不同。A. getsB. strc py C. strle nD. strcm p以下4个数组定义中,(D ) 是错误的。A. char a = &qu

43、ot;stri ng"B. i nt a5 =0,1,2,3,4,5;A. i nt a7;B. #defi ne N 5 long bN; C. char c5; D. int n,d n;对字符数组进行初始化,(B ) 形式是错误。B. charc2 =123;D. char c4 ="123"A. char c1 ='1', 2, '3'C. char c3 = '1', 2, '3', '0'在数组中,数组名表示A.数组第1个元素的首地址B. 数组第2个元素的首地址C.数组所有

44、元素的首地址D.数组最后1个元素的首地址若有以下数组说明,则数值最小的和最大的元素下标分别是int a12 = 1,2,3,4,5,6,7,8,9,10,11,12;A. 1,12 B. 0,11 C. 1,11 D. 0,12a' , d, g ;若有以下说明,则数值为4的表达式是(D ) oint a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=(10)合法的数组定义是(A) o(8)设有定义:char s12 = "stri ng"贝U printf(”dn",strlen(s);的输出是(A )A. 6B.7 C.1

45、1D. 12(9)设有定义:char s12 = "stri ng"贝U printf("%dn ", sizeof(s);的输出是(B )A. 6B.7 C.11D. 12A. ag-c B. a4 C. a'd'-'c' D. a'd'-cooC. char a="stri ng " D. char a =0,1,2,3,4,5;(11)合法的数组定义是(B ) oA. i nt a3 =0,1,2,3,4,5; B. i nt a 3 =0,1,2,3,4;C. i nt a23=

46、0,1,2,3,4,5,6; D. i nt a23=0,123,4,5,;(12)下列语句中,正确的是(D ) oA. char a3 ='abc', '1' B. char a 3 ='abc', '1'C. char a3 ='a', "1" D. char a 3 = "a", "1"(13)下列定义的字符数组中,输出prin tf("%sn", str2);的输出是(C ) ostatic str320 = "bas

47、ic", "foxp ro", "wi ndows"A. basic B. foxpro C. win dows D.输出语句出错(14)下列各语句定义了数组,其中哪一个是不正确的A. char a310="Chi na","America n",”Asia"B. i nt x22=1,2,3,4;C. float x2 =1,2,4,6,8,10;D. i nt m3=1,2,3,4,5,6;(15)数组定义为 int a32=1,2,3,4,5,6,值为6的数组元素是(B ) oA. a32

48、 B. a21C. a12 D. a232.填空题(1) C 语言中,数组的各元素必须具有相同的类型 ,元素的下标下限为 0_,下标必须是正整数、或者。但在程序执行过程中,不检查元素下标是否越界。(2) C 语言中,数组在内存中占一片连续 的存储区,由 数组名 代表它的首地址。数组名是一个常量,不能对它进行赋值运算。(3)执行 static int b5, a 3 =1,2,3,4,5,6;后,b4 = 0,a12 =6(4)设有定义语句static int a34=1,2,3;则 a10值为 2, a11值为0a21的值为0(5)如定义语句为 char a = "wi ndows&

49、quot;,b = "2000",语句 printf("%s",strcat(a,b);的输出结 float a20,pjz=0,s,t; int i,k;s=fabs(a0-pjz);果为 win dows2000(6)输入20个数,输出它们的平均值,输出与平均值之差的绝对值为最小的数组元素。请填空。#in clude <stdio.h>for(i=0;i < 20; i+) seanf(“f”,&ai);#in clude <math.h>for(i=0;i<20;i+) pjz+=ai;pjz/=20;v

50、oid mai n()for(i=1;i<20;i+)if(fabs(ai-pjz)<s)printf(s=fabs(ai-pjz); t=ai;以下程序以每行10个数据的形式输出a数组,请填空。void mai n()int a50,i;printf("输入50个整数:");for(i=0; i<50; i+) scan f( "%d", & ai);for(i=1; i<=50; i+) if( i%10=0 )prin tf( "%3dn" , ai-1);else prin tf( "

51、%3d",ai-1);(8)下面程序的功能是输出数组s中最大元素的下标,请填空。void mai n()int k, p;int s = 1,-9, 7, 2, -10, 3;for(p=0,k= p; p<6; p+) if(s p > sk) k = p ;prin tf("%dn" ,k);3.阅读程序,分析程序的功能。(1)char s80;#in clude <stdio.h>int i ;#in clude <stri ng.h>for(i=0; i<80; i+)void mai n() si=getchar

52、();if(si='n') break;char str1080, c80;int i;si='O' i=0;while(si) pu tchar(si+); for(i=0; i<10; i+) gets(stri);strcpy(c, str0);putchar( n );for(i=1; i<10; i+)分析:输入一个字符串,以回车结束,并将其原样if(strle n(c)<strle n( stri)输出。strcpy(c,stri); prin tf( "%sn", c);prin tf( "%dn&q

53、uot;, strle n (c);#in clude <stdio.h>#in clude <stri ng.h>分析:输入10个字符串,输出10个字符串中最长void mai n()的字符串和它的长度。if(strcm p( aj,ak)<0)#in clude <stdio.h>k=j;#in clude <stri ng.h>if(k!=i)void mai n()strcpy(c,ai);char a1080, c80;strcpy(ai, ak);int i, j, k;strc py(ak,c);for(i=0; i<1

54、0; i+) /字符串交换gets(ai);for(i=0; i<9; i+)for(i=0; i<10; i+)puts(ai);k=i;for(j=i+1; j<10; j+)分析:输入10个字符串,用选择排序算法将10个字符串按从小到大顺序排列并输出。temp=a6;prin tf(”sn",a);(4)阅读程序,写出运行结果。#in elude <stdio.h>void mai n()分析:将字符串的最后的3个元素移到字符串首位。输出:efgabcd分析:按数组a中元素顺序输出与数组 b中元素相int a6=12,4,17,25,27,16 int b6=27,13,4,25,23,16,i,j;for(i=0;i<6;i+) for(j=0;j<6;j+)if(ai=bj)break;if(j<6)prin tf("%d ",ai);prin tf("n&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论