《C语言第五章习题带答案》由会员分享,可在线阅读,更多相关《C语言第五章习题带答案(9页珍藏版)》请在人人文库网上搜索。
1、练习5-1答案一、选择题1合法的数组说明语句是( B )。Aint a=string;Bint a=0,1,2,3,4,5;Cchar a=string;Dchar a5=0, 1, 2, 3, 4, 5;2以下对一维整型数组a的说明正确的是( D )。Aint a(10);Bint n=10, an;Cint n;D#define SIZE 10scanf(%d, &n); int aSIZE;int an;3已知:int a10;,则对a数组元素的正确引用是( D )。Aa10Ba3.5Ca(5)Da10-104以下对一维数组a进行正确初始化的语句是( C )。Aint a10=(0, 0。
2、, 0, 0, 0);Bint a10=;Cint a=0;Dint a2=10, 9, 8;5对以下说明语句的正确理解是( B )。int a10=6, 7, 8, 9, 10;A将5个初值依次赋给a1至a5B将5个初值依次赋给a0至a4C将5个初值依次赋给a6至a10D因为数组长度与初值的个数不相同,所以此语句不正确二、填空题6求所有不超过200的N值,N的平方是具有对称性质的回文数。所谓回文数就是将一个数从左到右与从右到左读都是一样的,例如:34543和1234321都是回文数。例如:满足题意要求的数有:N=1,11*11=121;N=111,111*111=12321。#include。
3、 main()int m16, n, i, t, count=0;long a, k;printf(Result is:n);for (n=10; n1; i-)k+=mi-1*t;if ( ) printf(%2d:%10d %10dn, +count, n, n*n);则为( mi=a%10; )、为( t*=10; )、为( k=n*n )。7设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。则是( i=1 )、是( bi=ai-1+ai; )、是( i%3 )。main()int a10, b10, i;for (。
4、i=0; i代表回车),则下面程序的运行结果是( Search Successful! The index is:5 )。52main()int a8=6, 12, 18, 42, 44, 52, 67, 94;int low=0, mid, high=7, found, x;found=0;scanf(%d, &x);while (lowamid) low=mid+1;elseif (x=0或j-1 )。#include main()int a33=1, 3, 6, 7, 9, 11, 14, 15, 17, sum1=0, sum2=0, i, j;for (i=0; imain()flo。
5、at x1000, sum=0, ave, a;int n=0, i;printf(Enter mark: );scanf(%f, &a);while (a0&nmain()char str1100, str2100, c;int i, s;printf(Enter string 1:);gets(str1);printf(Enter string 2:);gets(str2);i=0;while (str1i=str2i&str1i!=) i+;s=;printf(%dn, s);7下面程序的功能是在三个字符串中找出最小的。请填空,是( strcmp(str0, str1)#include 。
6、main()char s20, str320;int i;for (i=0; imain()char a80;int i, b80, k=0;gets(a);for (i=0; ai!=0; i+)if ( ) bk=i; ; for (i=0; i(代表空格,代表回车),则下面程序的运行结果是( ahAMa )。#include main()char s80, c=a;int i=0;scanf(%s, s);while (si!=0)if (si=c) si=si-32;else if (si=c-32) si=si+32;i+;puts(s);10下面程序的运行结果是( SW* )。#include main()char str=SSSWLIA, c;int k;for (k=2; (c=strk)!=0; k+)switch (c)case I:+k; break;case L: continue;default: putchar(c); continue;putchar(*);11下面程序段的运行结果是( 600 )。char ch=600;int a, s=0;for (a=0; cha=0&cha=9; a+) s=10*s+cha-0;printf(%d, s。