C语言程序设计等级考试习题汇编.doc

上传人:xt****7 文档编号:125839994 上传时间:2020-03-20 格式:DOC 页数:34 大小:90.50KB
返回 下载 相关 举报
C语言程序设计等级考试习题汇编.doc_第1页
第1页 / 共34页
C语言程序设计等级考试习题汇编.doc_第2页
第2页 / 共34页
C语言程序设计等级考试习题汇编.doc_第3页
第3页 / 共34页
C语言程序设计等级考试习题汇编.doc_第4页
第4页 / 共34页
C语言程序设计等级考试习题汇编.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《C语言程序设计等级考试习题汇编.doc》由会员分享,可在线阅读,更多相关《C语言程序设计等级考试习题汇编.doc(34页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计等级考试习题汇编分章节练习题汇编数组一、 判断题1. 数组a5表示a数组有5个元素,下标从1到5。F2. 数组的大小不依赖于程序运行过程中变量的值。T3. 在C中,变量和数组都必须先定义,然后使用。T4. int new8=0,0,0,0,0,0,0,0等价于int new8=0*8。F5. int a32=1,1,1,2,2,2,3,3,3等价于int a32=1,2,3。F6. 用来存放字符数据的数组是字符数组,字符数组中的一个元素存放一个字符。T7. 数组的名称其实是数组在内存中的首地址。T8. 如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素

2、会被自动初始化为最后一个给定元素的值。F9. 当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改。T10. C语言不检查数组的下标是否越界。T二、 单项填空题1. 若数组名作实参而指针变量作形参,函数调用实参传给形参的是 (D)A.数组的长度 B.数组第一个元素的值C.数组所有元素的值 D.数组第一个元素的地址2. 已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是 (C) A.数组a和b的长度相同 B.a数组长度小于b数组长度 C.a数组长度大于b数组长度 D.上述说法都不对3. 以下能正确定义一维数组的选项是(B)A.int a5=0,1,2,3,4,5B.

3、char a=0,1,2,3,4,5 C.char a=A,B,CD.int a5=01234. 有以下语句:int b;char c10;,则正确的输入语句是 (B) A.scanf(%d%s,&b,&c)B. scanf(%d%s,&b,c); C.scanf(%d%s,b,c)D.scanf(%d%s,b,&c);5. 已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是 (C) A.数组a和b的长度相同 B.a数组长度小于b数组长度 C.a数组长度大于b数组长度 D.上述说法都不对6. 以下语句或语句组中,能正确进行字符串赋值的是 (C )A.char *sp;*sp=

4、right!; B.char s10;s=right!; C.char s10;*s=right!; D.char *sp=right!;7. 有以下程序 main() char s=159,*p; p=s; printf(%c,*p+);printf(%c,*p+); 程序运行后的输出结果是(A)A.15 B.16 C.12 D.598. 有以下程序 main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i4;i+) for(j=0;j=i;j+)printf(%4c, ); for(j=_;j4;j+)pr

5、intf(%4d,numij); printf(n); 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是 (B)A.i-1B.i C. i+1 D.4-i 9. 下面程序(C) (每行程序前面的数字表示行号) 1 main( )2 3 float a10=0,0;4 int I;5 for (i=0;i3;i+) scanf(“%d”,&ai);6 for (i=1;i10;i+) a0=a0+ai;7 printf(“%fn”,a0);8 A.没有错误 B.第3行有错误观点C.第5行有错误D.第7行有错误10. 若二维数组a有m列,则

6、计算任一元素aij在数组中位置的公式为(D).(假设a00位于数组的第一个位置上)。Ai*m+j B.j*m+IC.i*m+j-1D.i*m+j+111. 若有以下程序段: int a=4,0,2,3,1,I,j,t; for (i=1;i=0 & taj) aj+1=aj;j-; aj+1=t; 则此程序的功能是( B)A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)三、程序填空题题1CBBAD以下是使用数组来处理并打印斐波那契数列的前二十项的程序。打印时,每行打印10个数字。斐波那契数列的格式为:当n=0时,f

7、0=0,当n=1时,f1=1,当n1时,fn=fn-1+fn-2。【程序】# include,stdio.h.main() int_(1)_ ; int line=0,j; fbnq0=0; fbnq1=1; for (j=_(2)_;j20;j+) _(3)_; for (j=0.j20;j+); print (%d,”fbqnj); _(4)_; if (line=10)| _(5)_ printf(“n”); return (1);1A. FbnqB. Fbnq1 to 20C. Fbnq20D. Fbnq2A.1 B.2 C.0 D.-13A.fbnqj=fbnqj-1+fbnqjB.

8、 fbnqj=fbnqj-1+fbnqj-2 C. fbnqj=fbnq0+fbnq1D. fbnqj+1=fbnqj-1+fbnqj4A. line+B.line-C.line=line-1D.line=05A. line+ B.line-C.line=line-1D.line=0题有已排序好的字符串a,下面的程序是将字符串s中的每个字符升序的规律插入到a中,请选择填空。【程序】# include main ( ) char a 20 =”cehiknqtw”; char s = “fbla”; int i,k,j;BB for (k = 0;s k!=0);k+) j=0; while (

9、k = 0;s k=a j&aj!=0) j+; for (_(1)_) _(2)_ ; a j= sk; puts(a); 1.i=strlen(a)+k:; i=j; i-B.i=strlen(a);i=j;i- C.i=j; i=strlen(a)+k;i+D.i=j;i=strlen9a);i+2A.ai=ai+1B.ai+1=aiC.ai=ai-1D.ai-1=aiADA题下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中,请选择填空。【程序】# include main ( ) char a =”acegikm”; char b =”bdfhjlnpq

10、”; char c80,*p int i=0,j=0,k=0; while (ai!=0 & bj!=0) if (aibj) _(1)_ else _(2)_ k+; ck=0; if (_(3)_) p=b+j; else p=a+i; strcat (c,p); puts(c); 1.ck=ai;i+B. ck=aj;i+C. ck=ai;j+D.ck=aj;j+2.ck=ai;i+B. ck=aj;i+C. ck=ai;j+D.ck=aj;j+3A.ai= =0B. ai! =0 C. ai-1= =0D. ai-1! =0题下面程序以每行个数据的形式输出a数组,请选择填空。【程序】#

11、 define N 20BACmain ( ) int a N,I; for (i=0;iN;i+) scanf(%d”, _(1)_) if (_(2)_) _(3)_ printf(“%d”,ai); printf(“n”); 1A.aiB.&aiC.aD.aN2A.i % 4= =0B. i % 4! =0 C. i / 4= =0D. i / 4! =03A. printf(“r”)B. printf(“w”) C. printf(“n”) D. printf(“b”)CBC题下面程序将二维数组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; _(1)_;j+) printf(“%5d”,aij); _(2)_; printf(“n”); printf(“array b: n”); for (i=0; _(3)_;i+) for (j=0;j=1;j+) printf(“%5d”,bij); printf(“n”) 1A.j1B.j=1C.j=2D.j22A.bji=ajiB. bji=a

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号