C语言习题.10.14更新[2]_第1页
C语言习题.10.14更新[2]_第2页
C语言习题.10.14更新[2]_第3页
C语言习题.10.14更新[2]_第4页
C语言习题.10.14更新[2]_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、练习5-1一、选择题1合法的数组说明语句是( )。Aint a="string"Bint a=0,1,2,3,4,5;Cchar a="string"Dchar a5='0', '1', '2', '3', '4', '5'2以下对一维整型数组a的说明正确的是( )。Aint a(10);Bint n=10, an;Cint n;D#define SIZE 10 scanf("%d", &n); int aSIZE; int an;

2、3已知:int a10;,则对a数组元素的正确引用是( )。Aa10Ba3.5Ca(5)Da10-104以下对一维数组a进行正确初始化的语句是( )。Aint a10=(0, 0, 0, 0, 0);Bint a10=;Cint a=0;Dint a2=10, 9, 8;5对以下说明语句的正确理解是( )。int a10=6, 7, 8, 9, 10;A将5个初值依次赋给a1至a5B将5个初值依次赋给a0至a4C将5个初值依次赋给a6至a10D因为数组长度与初值的个数不相同,所以此语句不正确二、填空题6求所有不超过200的N值,N的平方是具有对称性质的回文数。所谓回文数就是将一个数从左到右与从

3、右到左读都是一样的,例如:34543和1234321都是回文数。例如:满足题意要求的数有:N=1,11*11=121;N=111,111*111=12321。#include <stdio.h>main()int m16, n, i, t, count=0;long a, k;printf("Result is:n");for (n=10; n<200; n+)k=0;t=1;a=n*n;for (i=1; a!=0; i+);a/=10;for (; i>1; i-)k+=mi-1*t;if ( ) printf("%2d:%10d %1

4、0dn", +count, n, n*n);则为( )、为( ; )、为( )。7设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。则是( )、是( )、是( )。main()int a10, b10, i;for (i=0; i<10; i+)scanf("%d", &ai);for ( ; i<10; i+) for (i=1; i<10; i+)printf("%3d", bi);if ( =0) printf("n");

5、8下面程序用“顺序查找法”查找数组a中是否存在某一关键字。则是( )、是( )。main()int a8=25, 57, 48, 37, 12, 92, 86, 33;int i, x;scanf("%d", &x);for (i=0; i<8; i+)if (x=ai)printf("Found! The index is:%dn", i+1);if ( ) printf("Can't found!");三、读程序,写结果9若有以下输入(<CR>代表回车),则下面程序的运行结果是( )。52<

6、CR>main()int a8=6, 12, 18, 42, 44, 52, 67, 94;int low=0, mid, high=7, found, x;found=0;scanf("%d", &x);while (low<=high)&&(found=0)mid=(low+high)/2;if (x>amid) low=mid+1;elseif (x<amid) high=mid-1; else found=1; break; if (found=1) printf("Search Successful! Th

7、e index is:%dn", mid);else printf("Can't search!n");9 / 9文档可自由编辑打印练习5-2一、选择题1已知:int i, x33=1, 2, 3, 4, 5, 6, 7, 8, 9;,则下面语句的输出结果是( )。for (i=0; i<3; i+) printf("%d", xi2-i);A1 5 9B1 4 7C3 5 7D3 6 92以下对二维数组a的正确说明是( )。Aint a3;Bfloat a(3,4);Cdouble a14;Dfloat a(3)(4);3已知:

8、int a34;,则对数组元素引用正确的是( )。Aa24Ba1, 3Ca1+10Da(2)(1)4已知:int a34;,则对数组元素的非法引用是( )。Aa02*1Ba13Ca4-20Da045以下能对二维数组a进行正确赋初值的语句是( )。Aint a2=1, 0, 1, 5, 2, 3;Bint a3=1, 2, 3, 4, 5, 6;Cint a24=1, 2, 3, 4, 5, 6;Dint a3=1, 0, 1, , 1, 1;6以下不能对二维数组a进行正确赋初值的语句是( )。Aint a23=0;Bint a3=1, 2, 0;Cint a23=1, 2, 3, 4, 5,

9、6;Dint a3=1, 2, 3, 4, 5, 6;7已知:int a34=0;,则下面正确的叙述是( )。A只有元素a00可得到初值0B此说明语句是错误的C数组a中每个元素都可得到初值,但其值不一定为0D数组a中每个元素均可得到初值08若有说明:int a3=1, 2, 3, 4, 5, 6, 7;,则a数组第一维的大小是( )。A2B3C4D无确定值9若二维数组a有m列,则在aij前的元素个数为( )。Aj*m+iBi*m+jCi*m+j-1Di*m+j+1二、填空题10下面的程序是求出数组a矩阵的两条对角线上的元素之和,则是( )、是( )。#include <stdio.h&g

10、t;main()int a33=1, 3, 6, 7, 9, 11, 14, 15, 17, sum1=0, sum2=0, i, j;for (i=0; i<3; i+)for (j=0; j<3; j+)if (i=j) sum1=sum1+aij;for (i=0; i<3; i+)for( ; ; j-)if (i+j=2) sum2=sum2+aij;printf("sum1=%d,sum2=%dn", sum1, sum2);11从键盘上输入若干(不超过1000个)学生的成绩,计算出平均成绩,并输出低于平均分的学生的成绩,用输入负数结束输入。则

11、是( )、是( )、是( )、是( )。#include <stdio.h>main()float x1000, sum=0, ave, a;int n=0, i;printf("Enter mark: ");scanf("%f", &a);while (a>0&&n<1000)sum+=;xn=;n+;scanf("%f", &a);ave=;printf("Output:n");printf("ave=%fn", ave);for (i

12、=0; i<n; i+)if ( ) printf("%fn", xi);12下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空,是( )、是( )、是( )。main()int a23=1, 2, 3, 4, 5, 6;int b32, i, j;printf("array a:n");for (i=0; <i<=1; i+)for (j=0; ; j+)printf("%5d", aij);printf("n");printf("array b:n");f

13、or (i=0; ; i+)for (j=0; j<=1; j+) printf("%5d", bij);printf("n");13下面程序的功能是检查二维数组是否对称(即:对所有i和j都有aij=aji)。请填空,是( )、是( )。main()int a44=1, 2, 3, 4, 2, 2, 5, 6, 3, 5, 3, 7, 4, 6, 7, 4;int i, j, found=0;for (j=0; j<4; j+)for ( ; i<4; i+)if (aji!=aij) ; break; if (found) print

14、f("No");else printf("Yes");练习5-3一、选择题1为了判断两个字符串s1和s2是否相等,应当使用( )。Aif (s1=s2)Bif (s1=s2)Cif (strcpy(s1, s2)Dif (strcmpy(s1, s2)=0)2调用strlen("abcd0ef0g")的返回值是( )。A4B5C8D93已知:char str110, str210="books",则在程序中能够将字符串"books"赋给数组str1的正确语句是( )。Astr1="bo

15、oks"Bstrcpy(str1, str2);Cstr1=str2;Dstrcpy(str2, str1);4下面程序段的运行结果是( )。(注:代表空格)char c5='a', 'b', '0', 'c', '0'printf("%s", c);A'a''b'BabCabcDab5下面程序段的运行结果是( )。(注:代表空格)char a7="abcdef"char b4="ABC"strcpy(a, b);

16、printf("%c", a5);AB0CeDf二、填空题6以下程序是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不同字符的ASCII码之差。例如:输入的两个字符串分别为"abcdefg"和"abceef",则第一个不同字符为'd'和'e',输出为-1.请填空,是( )、是( )。#include <stdio.h>main()char str1100, str2100, c;int i, s;printf("Enter string 1:");gets(s

17、tr1);printf("Enter string 2:");gets(str2);i=0;while (str1i=str2i&&str1i!=) i+;s=;printf("%dn", s);7下面程序的功能是在三个字符串中找出最小的。请填空,是( )、是( )。#include <stdio.h>#include <string.h>main()char s20, str320;int i;for (i=0; i<3; i+) gets(stri);strcpy(s, );if (strcmp(str2

18、, s)<0) strcpy(s, str2);printf("%sn", );8下面程序的功能是在任意的字符串a中将与字符'c'相等的所有元素的下标值分别存放在整型数组b中,请填空,是( )、是( )。#include <stdio.h>main()char a80;int i, b80, k=0;gets(a);for (i=0; ai!='0' i+)if ( ) bk=i; ; for (i=0; i<k; i+) printf("%3d", bi);三、读程序,写结果9当运行以下程序时,从键盘输入:AhaMAAha<CR&

温馨提示

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

评论

0/150

提交评论