还剩111页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
2012年计算机二级公共基础知识第十二套模拟试题及答案来源考试大 【考试大我的学习乐园我的考试专家】 2011年9月29日导读考试大本套试题主要针对2012年计算机二级公共基础知识进行强化练习,实用性很强,非常方便考生复习模拟试题十二
一、选择题每小题2分) 在下列各题的A.B.CD的4个选项中只有1个是正确的请将正确的选项涂写在答题卡的相应位置上答在试卷上不给分.
1.由两个栈共享一个存储空间的好处是B A减少存取时间降低下溢发生的机率 B节省存储空间降低下溢发生的机率 C减少存取时间降低上溢发生的机率 D节省存储空间降低下溢发生的机率
2.设有两个串p和q求p和q中首次出现位置的运算称作B A连接 B模式匹配 C求子串 D求串长
3.n个顶点的连接图中边的条数至少为C A0 B1 Cn-1 Dn
4.对象实现了数据和操作的结合是指对数据和数据的操作进行C A结合 B隐藏 C封装 D抽象
5.下列叙述中正确的是D A软件就是程序清单 B软件就是存放在计算机中的文件 C软件应包括程序清单和运算结果 D软件包括程序和文档
6.软件设计中有利于提高模式独立性的一个准则是C A低内聚低藕合 B低内聚高藕合 C高内聚低藕合 D高内聚高藕合
7.软件生命周期中花费时间最多的阶段是D A详细设计 B而今编码 C软件测试 D软件维护
8.下列4项中说法不正确的是C A数据库减少了数据冗杂 B数据库中的数据可以共享 C数据库避免了一切数据的重复 D数据库具有较高的数据的独立性
9.下列4项中必需进行查询优化的是A A关系数据库 B网状数据库 C层次数据库 D非关系模型
10.最常用的一种基本数据模型是关系数据模型它的表示应采用D A树 B网络 C图 D二维表 二.填空题每空2分 请将每一空的正确答案写在答题卡
[11]~
[15]序号的横线上答在试卷上不得分.
1.当线系性表采用顺序存储时其主要特点是[逻辑结构中相临的结点在存储结构中仍相临]
2.软件工程的出现是由于[软件危机的出现]
3.单元测试又称模块测试一般采用[白盒法]测试
4.数据库恢复
5.是将数据库从[错误]恢复到某一已只的正确状态
5.数据的基本单位是[数据元素]2011年全国计算机等级二级C语言模拟试题及答案
(6)来源考试大 【考试大中国教育考试第一门户】 2010年11月4日导读考试大特整理了2011年全国计算机等级二级C语言模拟试题及答案
(6),希望对各位考生有所帮助!点击查看此系列模拟试题汇总http://www.examda.com/ncre2/C/moniti/20101103/
162325242.html\t_blank一.单项选择题 1.各种基本数据类型的存贮空间正确的长度排列为_______c___ A.CharLONGINTFLOATDOUBLENBSP;NBSP;NBSP;NBSP;NBSP;NBSP;NBSP;B.DoubleFLOATLONGINTC.CharINTLONGFLOATDOUBLENBSP;NBSP;NBSP;NBSP;NBSP;NBSP;NBSP;D.FloatINTLONGCHARP2.下面的变量说明中_____________是正确的A.Char a b c; B.Char a; b; c; C.Char a b c; D.Char a b c3.main { int n; n=6*4n+6n*2; printf“n=%d\n”n;} 此程序的输出结果是______________.A.30 B. 24 C. 60 D. 484.若有如下定义,则__________和_________是对数组元素的正确的引用. int a
[10] *p ; p=a ;A. *a
[10] B. a
[11] C. *p+2 D. *p5.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________A. 0 B. 4 C. - 4 D. 26.表达式y=131215:678:9的值为____________ A 9 B 8 C 15 D. 17.若x=5y=3 则y*=x+5; y的值为_______________.A. 10 B. 20 C. 15 D. 308.C语言的输入与输出操作是由____________完成的A.输入语句 B.输出语句C.输入与输出函数 D.输入与输出语句9.语句 fork=0;k5;++k { ifk= = 3 continue; printf“%d”k; }的输出结果为___________.A.012 B. 0124 C. 01234 D. 没有输出结果10.从循环体内某一层跳出,继续执行循环外的语句是___________A. break语句 B.return语句C.continue语句 D.空语句11.Break语句的正确的用法是____________A.无论在任何情况下,都中断程序的执行,退出到系统下一层B.在多重循环中,只能退出最靠近的那一层循环语句C.跳出多重循环D.只能修改控制变量12.两个指针变量的值相等时,表明两个指针变量是__________A.占据同一内存单元 B.指向同一内存单元地址或者都为空C.是两个空指针 D.都没有指向13.不正确的指针概念是__________A.一个指针变量只能指向同一类型的变量B.一个变量的地址称为该变量的指针C.只有同一类型变量的地址才能存放在指向该类型变量的指针变量之中D.指针变量可以赋任意整数,但不能赋浮点数14.设char ch=’A’;表达式ch!ch=’A’ch=’Z’ch ch+32的值是_________ A.A B. a C. Z D. z15.根据C语言的语法规则,下列________个是不合法标识符A.While B. Name C. Rern5 D. _exam16.设单精度变量fg均为
5.0,使f为
10.0的表达式是__________A. f+=g B. f-=g+5 C. f*=g-15 D. f / =g*
1017. 设整型变量n的值为2,执行语句“n+=n- =n*n ;”后,n的值是__________A. 0 B. 4 C. –4 D. 218.下列不是赋值语句的是__________A.A++ B. a= = b C. a+=b D. a=119. 为表示关系x≥y≥z,应使用C语言表达式__________ A.(x=y)y=z B. x=y AND y=zC.x=y=z D. x=zy=z20.设有数组定义char array[]=”China”;则数组所占的存贮空间为__________A.4个字节 B. 5个字节 C. 6个字节 D. 7个字节.写出下列程序的运行结果1. main { int x=10y=10; printf“%d %d\n”x----y; }该程序的运行结果是___________________________________2.main { int j k p s; s=0 ; for j=1; j=3; j++ { p=1; fork=1; k=j; k++ p=p*k; s=s+p; }printf“s=%d\n”s; }该程序的运行结果是___________________________________
3. # include “stdio.h” main { int a[]={12345} *p; p=a; *p+2+=2; printf“%d %d ” *p *p+2; }该程序的运行结果是___________________________________4.main { int a[]={246810}; int y=1x*p; p=a
[1]; forx=0;x3;x++ y + =*p+x; printf“%d\n”,y; }该程序的运行结果是___________________________________5.main { int a
[5] k; fork=0;k5;k++ a[k]=10*k ; printf“%d” a[k-1] ; }该程序的运行结果是___________________________________ printf“%d” a[k-1] ; }该程序的运行结果是___________________________________三.判断题1. 函数一般由函数的说明部分和函数体部分组成 2. C语言中数据类型只有整型、实型和字符型 3. 数组的下标从1开始 4. 假设有int a
[10] *p; 则P=a
[0]与p=a等价 5. getchar函数的功能是从键盘上输入一个字符串 6. 在C语言中定义一个文件指针的方法为FILE *fp; 7. 构成数组的各个元素可以有不同的数据类型 8. C语言的数据类型只有int 型和 float 型 9. 从循环体中退出只能使用goto语句 10.Continue语句的作用是继续程序中的下一个循环 四.编程题1. 从键盘上输入20个元素的值存入一维数组a中,然后将下标为(
1、
3、
5、
7、9……)的元素值赋值给数组b,输出数组b的内容2. 编程序求 3,-30,20,6,77,2,0,-4,-7,99这十个数中最大值与最小值3. 输入两个整数,调用函数stu 求两个数和的立方,返回主函数显示结果4. 将文件file
1.txt中的内容读出并显示到屏幕上 5. 编程计算1-100之间的奇数和与偶数和参考答案一.单项选择题 1. C 2. C 3. C 4. C D 5. C 6. B 7. D 8. C 9. B 10. C 11. B 12.A 13 D 14. B 15. A 16. A.
17. C 18. B 19. A.20. C. 二.写出下列程序的运行结果1.10 9 2.S=9
3. 15 4.19 5.40三.判断题
1. 对
2. 不对
3. 不对
4. 对
5.不对
6. 对
7. 不对
8. 不对
9. 不对
10.不对四.编程题
1. main{ int m
[20]n
[10];int ab=0;fora=0;a20;a++{ scanf“%d”m[a]; ifa%2= =1 { n[b]=m[a]; b++; }}}
2. main{ int m
[10]={ 3,-30,20,6,77,2,0,-4,-7,99}maxmin; max=min=m
[0];fora=0;a10;a++{ ifm[a]max max=m[a]; ifm[a]min min=m[a];}printf“%d%d”maxmin;}
3. int stuint aint b{ int c;c=a*a+b*b;return c; }main{ int xyz;scanf“%d%d”xy;z=stuxy;printf“%d”z; }
4.main{ FILE *fp; Char ch; fp=fopen“write.txt”“r”; ch=fgetc fp; whilech!= EOF{ putcharch; ch=fgetcfp; }fclosefp;}
5.main{int sum1=0sum2=0ab;fora=1;a=100;a++ ifa%2= =0 ifa%2= =0 sum1+=a; else sum2+=a;printf“%d%d”sum1sum2;}2011年全国计算机等级二级C语言模拟试题及答案
(7)来源考试大 【考试大中国教育考试第一门户】 2010年11月4日导读本套试题主要从填空题、选择题、判断题、程序填空题、编写程序、编程题进行强化训练NKhttp://www.eamda.com/ncre2/C/moniti/20101103/
162325242.html\t_blank点击查看此系列模拟试题汇总
一、填空题 1.在C语言程序设计中,正确的标识符是由____________________组成的2. 设x=4,y=++x+++x;那么y的值为_____,表达式执行后,变量x的值为_______3.一个变量的指针是指_____________________________________________4.能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________5.下面运算符 % ++ = 按照优先级从高到低排列顺序为______________6.C程序设计中语句后的符号 /*……*/ 所起作用是_________________________7.写出下面表达式的值3*5/7+7%3____________________ x=2 ; y=4; x+++y _____________________3+4=7-10_____________________ 34 3%2: 1 ___________________x=2y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________
二、选择题⑴.在使用TurboC
2.0环境编辑程序时,运行某程序使用的菜单项为( )A.FILE B.RUN C.EDIT D.OPTION⑵.下列语句不具有赋值功能的是( )A.a*=b B.x=1 C.a+b D.a++⑶.C语言程序中,当出现条件分支语句if~else时, else与( )组成配对关系A.同一复合语句内部的if B.在其之前任意的if C.在其之前未配对的最近的if D.首行位置相同的if⑷.下列数组定义方式不正确的语句是( )A.char x
[5]; B.char y[]={‘h’ ‘e’ ‘l’ ‘l’ ‘o’};C. int x
[10]={12131415}; D.int y[];⑸. 若有如下定义和语句,且0=i5,下面( )是对数值为3数组元素的引用 int a[]={12345},*p,i; p=a;A. *a+2 B.a[p-3] C.p+2 D.a+3⑹. 下列( )表达式的值为真 a=5; b=8; c=10; d=0A.a*28+2 B.ad C. a*2-c||d D.a-bc*d ⑺. 下列字符数组长度为5的是( )A. char a[]={‘h’ ‘a’ ‘b’ ‘c’ ‘d’};B. char b[]= {‘h’ ‘a’ ‘b’ ‘c’ ‘d’ ‘\0’};C. char c
[10]= {‘h’ ‘a’ ‘b’ ‘c’ ‘d’};D. char d
[6]= {‘h’ ‘a’ ‘b’ ‘c’ ‘\0’ }⑻. 执行下列程序后,其结果为( ) int a[]={24681012}; *p; p=a; *p+4 =2; printf“%d%d\n”*p*p+4;A.010 B.02 C.210 D.22⑼. 有下列结构体,对该结构体变量stu的成员项引用不正确的是( ) struct student { int m; float n; } stu *p; A. stu.n B.p-m C.*p.m D.p.stu.n⑽.下列函数中不能用于对文件进行输入输出操作的是( ) A.fscanf B.printf C.fgetc D. fputs
三、判断题 1.C语言程序设计可以对计算机硬件进行操作 ( ) 2.在循环过程中,使用break语句和continue语句的作用是一样的 ( ) 3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致 ( ) 4.对于某一指针变量可以接收任何类型的值 ( ) 5.在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的( ) 6.文件指针是结构体类型,可以用表示file来定义 ( ) 7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式 ( ) 8.在定义数组时,有时可以将该数组的维数省略 ( ) 9.运算符 + * 的优先级是 * 优先于 + 优先于 ( ) 10.任何数组都可以实现对其进行整体操作 ( )
三、程序填空题 1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整 main { int i j k; fori=1;_____________; i++ {bsp; { for__________; j=i ; j++ printf“%d*%d=%d”_______________; printf________________; } }2.设计一个自定义函数,实现如下功能求两个数的平方和,并且返回该和 自定义函数如下 int maxxy { }
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式学生信息包括(姓名,性别,年龄,分数根据合适情况选择各项类型)struct student{ }
4. 根据给出的程序段,请写出正确的结果 x=1 ; p=1 sum=0 ; for x=1 ; x=5 ; x++ { p=p*x; sum=sum+p ; } 上面的程序段实现的功能是计算下面的式子_______________________________ ; 其运行结果为_________________________________________________________
五、阅读程序,写出下列程序段的结果
1. int *pi; i=100; p=i; i=*p+10; 执行完上面的语句段后, i的值是______
2. int ABCm=1n=0; A=--m=n++- -m:++n; B=++m; C=n--; 执行完上面的语句段后,A的值为______B的值为______C的值为______
3. main { int c1=10c2=10; printf“c1=%dc2=%d \n c1=%d”++c1c2++c1--; } 该程序的运行结果是_______________________________________________4.main { int i; fori=3;i10;i++ { ifi%4==0 continue; else printf“%d”i; } } 该程序输出的结果是 _______________________________________
5. main { int x; x=3; do { printf“%d”x--; }while!x; } 该程序运行的结果是___________________________________________________________
六、编程题 1.编程实现从键盘上接收10个整数,并对其进行排序(要求排成升序) 2.编程实现求下面的式子的结果 3.编程实现将文本文件file
1.dat中的内容复制到文本文件file
2.dat中去,同时将小写字母转换成大写字母参考答案
一、填空题 1.字母、数字、下划线 2. 12,6 3.该变量的地址4.同一类型;不同类型 5. ++ % = 6.注释6.3 1 1 6 1 2
二、选择题⑴.B ⑵.C ⑶. C ⑷. C ⑸. A⑹.D ⑺. A ⑻. D ⑼. D ⑽.B
三、判断题 1.对 2.不对 3.不对 4.不对 5.对 6.不对 7.不对 8.对 9.对 10.不对
四、程序填空题 1.i=9 j=1 i j i*j “\n” 2 2 2.int maxxy int xy;sp; int xy; { int z; z=x*x+y*y; returnz; }
3. struct student{ char xm
[10]; char sex; int age; float score; }
4. 1!+2!+3!+4!+5! 1+2+6+24+120=153
五、阅读程序,写出下列程序段的结果
1. 110
2. –1 0 1
3. c1=10 c2=10 c1=10 4.35679
5. 3
六、编程题 1.main{ int a
[10]; int mnt; for m=0;m10;m++ scanf“%d”a[m]; form=0;m9;m++ forn=0;n9;n++ ifa[n]a[n+1] { t=a[n]; a[n]=a[n+1]; a[n+1]=t;} for m=0;m10;m++ printf“%d”a[m];}2. main{ float xy; scanf“%f”x; ifx6 y=x+2/3*x+1; else y=x*x+3*x+1; printf“%f”y; }3.main { FILE *fp1 *fp2; char ch; fp1=fopen“file
1.dat” “r”; fp2=fopen“file
1.dat” “w”; ch=fgetcfp1; whilech!=EOF { ifch=’a’ ch=’z’ ch=ch-32; fputcchfp2; fputcchfp2; ch=fgetcfp1; }bsp; } fclosefp1; fclosefp2; }2011年全国计算机等级二级C语言模拟试题及答案
(8)来源考试大 【考试大我的学习乐园我的考试专家】 2010年11月4日导读本套试题解析透彻,针对性和实用性很强,非常方便考生复习NKhttp://www.eamda.com/ncre2/C/moniti/20101103/
162325242.html\t_blank点击查看此系列模拟试题汇总
一、选择题1.一个C语言程序是由( )构成A.语句 B.行号 C.数据 D.函数2.下面标识符中正确的是( )A.a#bc B.123ABCC.sime D.Y·M·D3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( ))))A.
2、
1、8 B.
4、
1、4C.
4、
1、4 D.
2、
2、
84.为了避免嵌套的条件分支语句if--else中的else总是与( )组成成对关系A.缩排位置相同的 B.在其之前未配对的C.在其之前未配对的最近的if D.在同一行上的if5.下列表达式的结果正确的是( )int a,b,c,d;a=b=c=d=2;d=a+1==3?b=a+2a+3A.2 B.4 C.3 D.5
二、填空题
1.在C语言中,正确的标识符是由______________________组成的,且由_______________开头的
2.设x=3,那么表达式y=++x+++x的结果为_________,表达式执行后,变量x的结果为_________
3.一个变量的指针是指_________________________________________________________________
4.组成数组元素的特点是_______________________________________________;组成结构体元素的特点是________________________________________________
5.在C语言程序中,对文件进行操作首先要______________________________;然后对文件进行操作,最后要对文件实行__________________________________操作,防止文件中信息的丢失
6.对字符串进行操作的函数有_______________________________________________________等
7.C语言程序是由___________________构成的,而C语言的函数是由____________________构成的
8.要想定义整型变量a实型变量b字符型的变量c,应该使用的正确语句为______________________________________________________________________________________
9.写出下面表达式的值3*5/7+7%3_______________________ x=2;y=4; x+++y _________________________3+4=7-10_______________________ 343%2:1 ______________________________x=2y=2;++x++y_________________ x=3; x+=x-=2 ______________________________
三、判断题
1.C语言的一个特点是可以对计算机硬件进行操作 ( )
2.在循环过程中,使用break语句和continue语句的作用是一样的 ( )
3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致 ( )
4.指针变量可以接收任何类型的值 ( )
5.在C语言程序设计中,字符数组和字符串不是完全一样的概念 ( )
6.文件指针是结构体类型,用符号file来表示 ( )
7.选择结构(if语句)和循环结构都可以使用嵌套形式 ( )
8.在定义二维数组时,可以将该数组的两个维数全部省略 ( )
9.逻辑运算符 || ! 的运算顺序是 !优先于优先于|| ( )
10.任何数组都可以实现整体使用操作 ( )来源:考试大-http://www.
233.com/ncre2/
四、程序填空题
1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整main{ int ijk;fori=1;_____________;i++{ forj=1;______________;j++printf“%d*%d=%d”_______________;printf________________;}}
2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下int maxxyint xy;{}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式学生信息包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud1
[30]struct student{}
4.根据给出的程序段,请写出正确的结果x=1; sum=1;forx=1;x=5;x++sum=sum*x;上面的程序段实现的功能是______________________________________________________;其运行结果为______________________________________________________________________
5.设有如下的语句int a=43,b,c;b=23;c=a++*--b;
(1)上面的语句段执行后a= b= c= ;
(2)简述a++和++a的相同点和不同点6.设有如下的程序main{inti=3*p1;inta
[3]={153045}*p2;p1=i;p2=a;p1=p2+2;printf“%d%d\n”*p1*p2;}程序运行结果是_______
五、编程题25分1.编程实现对10个整数进行冒泡排序(要求排成升序)2.编程实现求下面的式子的结果3.编程实现将文本文件file
1.dat中的内容复制到文本文件file
2.dat中去
六、附加题用C语言程序实现在已知链表中的第三个位置插入数值为a的程序来参考答案
一、选择题1.D
2. C
3.A
4. C
5. B
二、填空题1.字母、数字、下划线;以字母、下划线开头 2.10;5
3.该变量的地址4.一组数据类型相同的元素构成的;一组数据类型不同的元素构成的5. 打开;关闭 6.字符串长度、取子字符串、字符串替换、字符串复制等7.函数;语句 8.inta; floatb; charc;9 9 9.3 6 1 1 1 2
三、判断题
1.对
2. 错
3.错
4.错
5.对
6.错
7.对
8.错
9.对
10.错
四、程序填空题
1. i=9 j=9 printf“%d*%d=%d”iji*j; printf“\n”;ijk;
2. intz; if(x=y) z=x; else z=y; return z;
3. char name
[20]; char sex; int age; float score;
4.实现功能计算连续数之积, 即sum=1*2*3*4*5 ; 运行结果sum=
1205.44 22 946 a++先加1,后使用表达式的值;++a表示先加1后使用表达式的值,它们最后的结果使a加16.4515
五、编程题1.编程实现对12个整数进行冒泡排序(要求排成升序) Main { int a
[12]; int mnp; form=0;m=11;m++m=0;m=11;m++ scanf“%d”a[m]; form=0;m=11;m++ forn=0;n11-m;n++ ifa[n]a[n+1] { p=a[n]; a[n]=a[n+1]; a[n+1]=p; } form=0;m=11;m++ printf“%d”a[m]; }
2.编程实现求下面的式子的结果 #include“math.h” main { floatxy; scanf“%f”x; ifx6 y=x-3/2*x-12; else y=-2*x*x+4*x-10; printf“y=%f”y; }3.编程实现将文本文件file
1.dat中的内容复制到文本文件file
2.dat中去main{ charch; FILE*fp1*fp2; Fp1=fopen“file
1.dat”“r”; Fp2=fopen“file
2.dat”“w”; Ch=fgetcfp1; Whilech!=EOF { fputcchfp2; Ch=fgetcfp1; } Fclosefp1; Fclosefp2; }
六、附加题p=H;K=0;Whilep!=NULLki-1{ p=p-next; k++; }ifp==NULL H!=NULL printf“thisisinvilid”;else{ q=StructLinklist*mallocsizeofStructLinklist; q-data=x;q-data=x; q-next=p-next; p-next=q; }源:考2011年9月全国计算机等级考试二级笔试试卷C语言程序设计考试时间90分钟,满分100分
一、选择题1-
10、21-40每题2分,11-20每题1分,共70分下列各题A、B、C、D四个选项中,只有一个选项是正确的请将正确选项填涂在答题卡相应位置上答在试卷上不得分1下列叙述中正确的是A算法就是程序B设计算法时只需要考虑数据结构的设计C设计算法时只需要考虑结果的可靠性D以上三种说法都不对2下列关于线性链表的叙述中,正确的是A各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C进行插入与删除时,不需要移动表中的元素D以上三种说法都不对3下列关于二叉树的叙述中,正确的是A叶子结点总是比度为2的结点少一个B叶子结点总是比度为2的结点多一个c叶子结点数是度为2的结点数的两倍D度为2的结点数是度为1的结点数的两倍4软件按功能可以分为应用软件、系统软件和支撑软件或工具软件下面属于应用软件的是A学生成绩管理系统BC语言编译程序CUNIX操作系统D数据库管理系统5某系统总体结构图如下图所示CUREhttp://www.
233.com/NewsFiles/2012-2/23/ncre2/
1.gif\*MERGEFORMATINET 该系统总体结构图的深度是A7B6C3D26程序调试的任务是A设计测试用例B验证程序的正确性C发现程序中的错误D诊断和改正程序中的错误7下列关于数据库设计的叙述中,正确的是A在需求分析阶段建立数据字典B在概念设计阶段建立数据字典C在逻辑设计阶段建立数据字典D在物理设计阶段建立数据字8数据库系统的三级模式不包括A概念模式B内模式C外模式D数据模式9有三个关系R、S利T如下CUREhttp://www.
233.com/NewsFiles/2012-2/23/ncre2/
2.gif\*MERGEFORMATINET则由关系R和s得到关系T的操作是A自然连接B差C交D并10下列选项中属于面向对象设计方法主要特征的是A继承B自顶向下C模块化D逐步求精试大11以下叙述中错误的是 AC语言编写的函数源程序,其文件名后缀可以是.CBC语言编写的函数都可以作为一个独立的源程序文件CC语言编写的每个函数都可以进行独立的编译并执行D一个C语言程序只能有一个主函数12以下选项中关于程序模块化的叙述错误的是 A把程序分成若干相对独立的模块,可便于编码和调试B把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块c可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D可采用自项向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13以下选项中关于c语言常量的叙述错误的是 A所谓常量,是指在程序运行过程中,其值不能被改变的量B常量分为整型常量、实型常量、字符常量和字符串常量c常量可分为数值型常量和非数值型常量D经常被使用的变量可以定义成常量14若有定义语句inta=10;doubleb=3.14;,则表达式A+a+b值的类型是 Achar Bint Cdouble Dfloat15若有定义语句intx=12,3=8,z;,在其后执行语句z=0.9+x/y;,则Z的值为 A1.9 B1 C2D2.416若有定义inta,b;,通过语句scanf%d;%da,b;,能把整数3赋给变量a,5赋给变量b的输入数据是 A35 B3,5 C3;5 D3517若有定义语句intk1=10,k2=20;,执行表达式k1=k1k2k2=k2k1后,k1和k2的值分别为 A0和1 B0和20 C10和1 D10和2018有以下程序 #include main {inta=1,b=0; if-a b++; elseifa=0b+=2 elseb+=3 printf%d\n,b; 程序运行后的输出结果是 A0 B1 C2D319下列条件语句中,输出结果与其他语句不同的是 Aifaprintf%d\-n,x; elseprintf%d\n,y;Bifa—0printf%d\n,y; elseprintf%d\n,x;Cifa!=0p由tf%d\n,x; elseprintf%d\n,y;Difa=0printf%d\n,x; elseprintf%d\n,y;20有以下程序#includemain{inta=7;whilea--;printf%d\n,a;程序运行后的输出结果是 A-1 B0 C1 D7-21以下不能输出字符A的语句是注字符A的ASCIl码值为65,字符a的ASCIl码值为97Aprintf%c\n,a-32; Bprintf%d\n,A;cprintf%c\n,65; Dprint-f%c\n,B-1;22有以下程序注字符a的ASCIl码值为97#includemain{char*s={abe;do{printf”%d”,+s%10;++s;while+s;程序运行后的输出结果是 Aabc B789 C7890 D97989923若有定义语句doublea,+p=&a;以下叙述中错误的是 A定义语句中的*号是一个间址运算符B定义语句中的*号只是一个说明符C定义语句中的P只能存放double类型变量的地址D定义语句中,*p=a把变量a的地址作为初值赋给指针变量P24有以下程序#includedoublefdoublex;main{doublea_0;inti;fori=0;i30;i+=10a+--fdoublei;printf%5.0f\n,a;}doublefdoublexreturnX+x+1;程序运行后的输出结果是 A503 B401 C500 D140425若有定义语句intyear=2009,*p=year;,以下不能使变量year中的值增至2010的语句是 A*p+=1; B*p++; C++*p; D*p++;26以下定义数组的语句中错误的是 Aintnum[]={1,2,3,4,5,6}; Bintnum[]
[3]={{1,2},3,4,5,6};Cintnum
[2]
[4]={1,2,,{3,4},{5,6}; Dintnum[]
[4]={1,2,3,4,5,6};27有以下程序#includevoidfunint+p{printf”%d\n”,p
[5];}main ;{inta
[10]={1,2,3,4,5,6,7,8,9,10};funa
[3];程序运行后的输出结果是 A5 B6 C8D928有以下程序#include#defineN4voidfuninta[][N],imb[]{inti;fori=0;ivoidmain{intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;funxy;fori=0;iN;I++PRINTF”%D,”,Y[I];PRINTF\N;}程序运行后的输出结果是 A-12,-3,0,0, B-3-1,1,3, C01,2,3, D-3,-3,-3,-329有以下函数intfunchar*x,char*y{intn=0;while*x=*y*x!=\0{x++;y++;n++;}returnn函数的功能是 A查找x和y所指字符串中是否有\0B统计x和y所指字符串中最前面连续相同的字符个数c将y所指字符串赋给X所指存储空间D统计x和y所指字符串中相同的字符个数30若有定义语句char*s1=OK,*s2=ok;,以下选项中,能够输出0K的语句是 Aifstrcmps1,s2=0putss1; Bifstrcmps1,s2!=0putss2;Cifstrcmps1,s2=1putss1,; Difstrcmps1,s2!=0putss1;HYPERLINKhttp://www.
233.com/ncre2/计31以下程序的主函数中调用了在其前面定义的fun函数#include{main{doublea
[15],k;k=funa;}则以下选项中错误的fun函数首部是 Adoublefundoublea
[15] Bdoublefundouble*aCdoublefundoublea[] Ddoublefundoublea32有以下程序#include#includemain{chara
[5]
[10]={chinabeijingyoutiananmenwelcome”;inti,j;chart
[10];fori=0;i4;i++forj=i+1;j5;j++ifstrcmpa[i],a[j]O{strcpyt,a[i];strcpya[i],a[j];strcpya[j],t;}putsa
[3];程序运行后的输出结果是 ABeijing Bchina Cwelcome Dtiananmen33有以下程序#includeintfintm{staticintn=0;n+=m returnn;main{intn=0;printf%d,f++n;printf%d\n,fn++;程序运行后的输出结果是 A12 B1,1 C2,3 D3,334有以下程序#includemain{charch
[3]
[5]={AAAA,BBB,CC;printf%s\n,ch
[1];}程序运行后的输出结果是 AAAAA BCC CBBBCCDBBB35有以下程序#include#includevoidfunchar*wintm{chars,*p1,*p2;p1=w;p2=w+m-1;whilep1main{chara[]=123456;funastrlena;putsa;}程序运行后的输出结果是 A654321 B116611 C161616 D12345636有以下程序#include#includetypedefstruct{charname
[9];charsex;intscore
[2];}STU;STUfSTUa{STUb={Zhaom,85,90};inti strcpya.name,b.name;a.sex=b.sex;fori=0;i2;i++a.score[i]=b.score[i];returna;}mainfSTUc={Qianf,95,92},d;d=fc;printf%s,%c,%d,%d,,d.nalne,d.sex,d.score
[0],d.score
[1];printf%s,%c,%d,%d,,c.nanle,c.Sex,c.score
[0],c.score
[1];}程序运行后的输出结果是 AZhao,m,85,90,Qian,f95,92 BZhao,m,85,90,Zha0,m,85,90CQian,f95,92,Qianf95,92 DQian,f95,92,Zhaom,85,9037有以下程序#includemain{structnode{intn;stmctnode+next;}*p;structnodex[31={2,x+l},{4,x+2,{6,NULL}};p=x;printff%d,,p-n;printf%dknp-next-n;}程序运行后的输出结果是 A23 B24 C34 D4638有以下程序#includemain{inta=2,b;b=a2printr%d\n,b;程序运行后的输出结果是 A2 B4 C6 D839以下选项中叙述错误的是 AC程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内CC程序函数中定义的自动变量,系统不自动赋确定的初值DC程序函数的形参不可以说明为static型变量40有以下程序#includemain{FILE*fpintk,n,j,a
[6]=1,2,3,4,5,6};fp=fopend2.datw;fori=0;i6;i++fprintffp%d\n,a[i];fclosefp;fp=fopend2.dat,r;fori=0;i3;i++fscanffp%d%d,k,n;fc|osefp;printf%d,%d\n,k,n;程序运行后的输出结果是 A12 B34 C56 D123.456算机
二、填空题每空2分,共30分请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分1数据结构分为线性结构与非线性结构,带链的栈属于 【1】 2在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中 【2】 个元素3常见的软件开发方法有结构化方法和面向对象方法对某应用系统经过需求分析建立数据流图DFD,则应采用 【3】 方法4数据库系统的核心是 【4】 5在进行关系数据库的逻辑设计时,E—R图中的属性常被转换为关系中的属性,联系通常被转换为 【5】 6若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a、b值的语句 【6】 ****a=10.b=20****7以下程序运行后的输出结果是 【7】 #includemaina%=9;printf%d\n,a;8以下程序运行后的输出结果是 【8】 #includemain{intij;fori=6;i3;i--j=i;printf”%d%d\n”ij;}9以下程序运行后的输出结果是 【9】 #includemain{intin[]={0,0,0,0,0;fori=1;i=2;i++{n[i]=n[i-1]*3+1;printf%d,n[i];}printf\n;}10以下程序运行后的输出结果是 【10】 #include main {chara; fora=0;a15;a+=5 {putchara+A; printf\n; 11以下程序运行后的输出结果是 【11】 #include voidfunintx {ifx/5ofunx/5; prinff%dt,x; main {fun11;printf\n;}12有以下程序 #include main {intc
[3]={0},k,i; whilek=getchar!=\n c[k-A]++; fori=0;i3;i++printf”%d”,c[i];printf\n;若程序运行时从键盘输入ABcAcC回车,则输出结果为 【12】 13以下程序运行后的输出结果是 【13】 #include main {intn
[2]ij; fori=0;i2;i++n[i]=0; fori=0;i2;i++ forj=0;j2;j++n[j]=n[i]+1; printf%d\n,n
[1]; } 14以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中主函数中,n存放a数组中数据的 个数请填空 #include voidfunints[],int*n,intk,intx {inti; fori=*n-1;i=k;i--s[【14】]=s[i]; s[k]=x; *n=*n+ 【15】 ; } main {inta
[20]={1,2,3,4,5,6,7,8,9,10,11},ix=0,k=6,n=11; funa,n,k,;;; fori;;N;%PRINTF%,D,;[I];;RINTF\N;} }二二级考试2011年3月计算机等级考试二级C语言笔试文字版
一、选择题 1下列关于栈叙述正确的是 A栈顶元素最先能被删除 B栈顶元素最后才能被删除 C栈底元素永远不能被删除 D以上三种说法都不对 2下列叙述中正确的是 A有一个以上根结点的数据结构不一定是非线性结构 B只有一个根结点的数据结构不一定是线性结构 C循环链表是非线性结构 D双向链表是非线性结构 3某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为假设根结点在第1层 A3B4C6D7 4在软件开发中,需求分析阶段产生的主要文档是 A软件集成测试计划B软件详细设计说明书 C用户手册D软件需求规格说明书 5结构化程序所要求的基本结构不包括 A顺序结构BGOTO跳转 C选择分支结构D重复循环结构 6下面描述中错误的是 A系统总体结构图支持软件系统的详细设计 B软件设计是将软件需求转换为软件表示的过程 C数据结构与数据库设计是软件设计的任务之一 DPAD图是软件详细设计的表示工具 7负责数据库中查询操作的数据库语言是 A数据定义语言 B数据管理语言 C数据操纵语言 D数据控制语言 8一个教师可讲授多门课程,一门课程可由多个教师讲授则实体教师和课程间的联系是 A1:1联系B1:m联系 Cm:1联系Dm:n联系9有三个关系R、S和T如下 则由关系R和S得到关系T的操作是 A自然连接B交C除D并 10定义无符号整数类为UInt下面可以作为类UInt实例化值的是 A-369B369C
0.369D整数集合{12345} 11计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 AC语言程序仅可以编译执行 BC语言程序仅可以解释执行 CC语言程序既可以编译执行又可以解释执行 D以上说法都不对 12以下叙述中错误的是 AC语言的可执行程序是由一系列机器指令构成的 B用C语言编写的源程序不能直接在计算机上运行 C通过编译得到的二进制目标程序需要连接才可以运行 D在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 13以下选项中不能用作C程序合法常量的是 A1234B123 C123D\x7G 14以下选项中可用作C程序合法实数的是 A.1e0B
3.0e
0.2 CE9D
9.12E 15若有定义语句inta=3b=2c=1;,以下选项中错误的赋值表达式是 Aa=b=4=3;Ba=b=c+1; Ca=b=4+c;Da=1+b=c=4; 16有以下程序段 charname
[20]; intnum; scanfname=%snum=%dname;num; 当执行上述程序段,并从键盘输入name=Lilinum=1001回车后,name的值为 ALili Bname=Lili CLilinum= Dname=Lilinum=1001 17if语句的基本形式是if表达式语句,以下关于“表达式”值的叙述中正确的是 A必须是逻辑值B必须是整数值 C必须是正数D可以是任意合法的数值18有以下程序 #include main {intx=011; printf%d\n++x; } 程序运行后的输出结果是 A12B11C10D9 19有以下程序 #include main {ints; scanf%ds; whiles0 {switchs {case1:printf%ds+5; case2:printf%ds+4;break; case3:printf%ds+3; default:printf%ds+1;break; } scanf%ds; } } 运行时,若输入123450回车,则输出结果是 A6566456B66656C66666D6666656 20有以下程序段 intin; fori=0;i8;i++ {n=rand%5; switchn {case1: case3:printf%d\nn;break; case2: case4:printf%d\nn;continue; case0:exit0; } printf%d\nn; } 以下关于程序段执行情况的叙述,正确的是 Afor循环语句固定执行8次 B当产生的随机数n为4时结束循环操作 C当产生的随机数n为1和2时不做任何操作 D当产生的随机数n为0时结束程序运行 21有以下程序 #include main {chars[]=012xy\08s34f4w2; intin=0; fori=0;s[i]!=0;i++ ifs[i]=0s[i]=9n++; printf%d\nn; } 程序运行后的输出结果是 A0B3C7D822若i和k都是int类型变量,有以下for语句 fori=0k=-1;k=1;k++printf*****\n; 下面关于语句执行情况的叙述中正确的是 A循环体执行两次 B循环体执行一次 C循环体一次也不执行 D构成无限循环 23有以下程序 #include main {charbc;inti; b=a;c=A; fori=0;i6;i++ {ifi%2putchari+b; elseputchari+c; }printf\n; } 程序运行后的输出结果是 AABCDEFBAbCdEfCaBcDeFDabcdef 24设有定义doublex
[10]*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是 Ascanf%fx
[6];Bscanf%lf*x+6; Cscanf%lfp+6;Dscanf%lfp
[6]; 25有以下程序说明字母A的ASCII码值是65 #include voidfunchar*s {while*s {if*s%2printf%c*s; s++; } } main {chara[]=BYTE; funa;printf\n; } 程序运行后的输出结果是 ABYBBTCYTDYE 26有以下程序段 #include main {… whilegetchar!=\n; … } 以下叙述中正确的是 A此while语句将无限循环 Bgetchar不可以出现在while语句的条件表达式中 C当执行此while语句时,只有按回车键程序才能继续执行 D当执行此while语句时,按任意键程序就能继续执行 27有以下程序 #include main {intx=1y=0; if!xy++; elseifx==0 ifxy+=2; elsey+=3; printf%d\ny; } 程序运行后的输出结果是 A3B2C1D028若有定义语句chars
[3]
[10]*k
[3]*p;,则以下赋值语句正确的是 Ap=s;Bp=k;Cp=s
[0];Dk=s; 29有以下程序 #include voidfunchar*c {while*c {if*c=a*c=z*c=*c-a-A; c++; } } main {chars
[81]; getss;funs;putss } 当执行程序时从键盘上输入HelloBeijing回车,则程序的输出结果是 AhellobeijingBHelloBeijingCHELLOBEIJINGDhELLOBeijing 30以下函数的功能是通过键盘输入数据,为数组中的所有元素赋值 #include #defineN10 voidfunintx[N] {inti=0; whilei } 在程序中下划线处应填入的是 Ax+iBx[i+1] Cx+i++Dx[++i] 31有以下程序 #include main {chara
[30]b
[30]; scanf%sa; getsb; printf%s\n%s\nab; } 程序运行时若输入 howareyouIamfine回车 则输出结果是 AhowareyouBhow IamfineareyouIamfine ChowareyouIamfineDrowareyou 32设有如下函数定义 intfunintk {ifk1return0; elseifk==1return1; elsereturnfunk-1+1; } 若执行调用语句n=fun3;,则函数fun总共被调用的次数是 A2B3C4D5 33有以下程序 #include intfunintxinty {ifx!=yreturnx+y;2; elsereturnx; } main {inta=4b=5c=6; printf%d\nfun2*afunbc; } 程序运行后的输出结果是 A3B6C8D1234有以下程序 #include intfun {staticintx=1; x*=2; returnx; } main {intis=1; fori=1;i=3;i++s*=fun; printf%d\ns; } 程序运行后的输出结果是 A0B10C30D64 35有以下程序 #include #defineSx4*x*x+1 main {intk=5j=2; printf%d\nSk+j; } 程序运行后的输出结果是 A197B143C33D28 36设有定义struct{charmark
[12];intnum1;doublenum2;}t1t2;,若变量均已正确赋初值,则以下语句中错误的是 At1=t2;Bt
2.num1=t
1.num1; Ct
2.mark=t
1.mark;Dt
2.num2=t
1.num2; 37有以下程序 #include structord {intx,y;}dt
[2]={1234}; main { structord*p=dt; printf%d++p-x;printf%d\n++p-y; } 程序运行后的输出结果是 A12B41C34D23 38有以下程序 #include structS {intab;}data
[2]={1010020200}; main {structSp=data
[1]; printf%d\n++p.a; } 程序运行后的输出结果是 A10B11C20D21 39有以下程序 #include main {unsignedchara=8c; c=a3; printf%d\nc; } 程序运行后的输出结果是 A32B16C1D0 40设fp已定义,执行语句fp=fopenfilew;后,以下针对文本文件file操作叙述的选项中正确的是 A写操作结束后可以从头开始读B只能写不能读 C可以在原有内容后追加写D可以随意读和写
二、填空题 1有序线性表能进行二分查找的前提是该线性表必须是【1】存储的 2一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】 3对软件设计的最小单位模块或程序单元进行的测试通常称为【3】测试 4实体完整性约束要求关系数据库中元组的【4】属性值不能为空 5在关系ASSND和关系BDCNNM中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码 6以下程序运行后的输出结果是【6】 #include main {inta; a=intdouble3/2+
0.5+int
1.99*2; printf%d\na; } 7有以下程序 #include main {intx; scanf%dx; ifx15printf%dx-5; ifx10printf%dx; ifx5printf%d\nx+5; } 若程序运行时从键盘输入12回车,则输出结果为【7】 8有以下程序说明字符0的ASCII码值为48 #include main {charc1c2; scanf%dc1; c2=c1+9; printf%c%c\nc1c2; } 若程序运行时从键盘输入48回车,则输出结果为【8】 9有以下函数 voidprtcharchintn {inti; fori=1;i=n;i++ printfi%6!=0%c:%c\nch; } 执行调用语句prt*24;后,函数共输出了【9】行*号10以下程序运行后的输出结果是【10】 #include main {intx=10y=20t=0; ifx==yt=x;x=y;y=t; printf%d%d\nxy; } 11己知a所指的数组中有N个元素函数fun的功能是,将下标kk0开始的后续元素全部向前移动一个位置请填空 voidfuninta[N]intk {inti; fori=k;i } 12有以下程序,请在【12】处填写正确语句,使程序可正常编译运行 #include 【12】; main {doublexy*p; scanf%lf%lfxy; p=avg; printf%f\n*pxy; } doubleavgdoubleadoubleb {returna+b/2;} 13以下程序运行后的输出结果是【13】 #include main {intin
[5]={0}; fori=1;i=4;i++ {n[i]==n[i-1]*2+1;printf%dn[i];} printf\n; } 14以下程序运行后的输出结果是【14】 #include #include #include main {char*p;inti; p=char*mallocsizeofchar*20; strcpypwelcome; fori=6;i=0;i--putchar*p+i; printf\n-;freep; } 15以下程序运行后的输出结果是【15】 #include main {FILE*fp;intx
[6]={123456}i; fp=fopentest.datwb; fwritexsizeofint3fp; rewindfp; freadxsizeofint3fp; fori=0;i6;i++printf%dx[i]; printf\n; fclosefp; }2011年3月计算机二级C语言笔试答案网友回忆,非标准答案,仅供参考! 选择题 1-5:CBADB 6-10:ACADA 11-15:ACBBB 16-20:ABDDA 21-25:DBCCA 26-30:ADDAB 31-35:ACDBA 36-40:CCAAB 填空题 1循环链表 2软件开发 3中序 4参照完整性 5概念或概念级 60
71.0i*i或double1/i*i 84 9p
[5]或*P+5
105.04C=3 11*str1++=*str2++或str1++=*str2*str2++12234 137 14!feoff1 15x102010年9月全国计算机二级C语言笔试试题文字版
一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的请将正确选项填涂在答题卡相应位置上,答在试卷上不得分
(1)下列叙述中正确的是 A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)上述三种说法都不对
(2)下列叙述中正确的是 A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D)上述三种说法都不对
(3)软件测试的目的是 A)评估软件可靠性 B)发现并改正程序中的错误 C)改正程序中的错误 D)发现程序中的错误
(4)下面描述中,不属于软件危机表现的是 A)软件过程不规范 B)软件开发生产率低 C)软件质量难以控制 D)软件成本不断提高
(5)软件生命周期是指 A)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件从需求分析、设计、实现到测试完成的过程 C)软件的开发过程 D)软件的运行维护过程
(6)面向对象方法中,继承是指 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制
(7)层次型、网状型和关系型数据库划分原则是 A)记录长度 B)文件的大小 C)联系的复杂程度 D)数据之间的联系方式
(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是 A)一对一 B)一对多 C)多对多 D)多对一
(9)数据库设计中反映用户对数据要求的模式是 A)内模式 B)概念模式 C)外模式 D)设计模式
(10)有三个关系R、S和T如下 则由关系R和S得到关系T的操作是 A)自然连接 B)交 C)投影 D)并
(11)以下关于结构化程序设计的叙述中正确的是 A)一个结构化程序必须同时由顺序、分支、循环三种结构组成 B)结构化程序使用goto语句会很便捷 C)在C语言中,程序的模块化是利用函数实现的 D)由三种基本结构构成的程序只能解决小规模的问题
(12)以下关于简单程序设计的步骤和顺序的说法中正确的是 A)确定算法后,整理并写出文档,最后进行编码和上机调试 B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档 C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档 D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
(13)以下叙述中错误的是 A)C程序在运行过程中所有计算都以二进制方式进行 B)C程序在运行过程中所有计算都以十进制方式进行 C)所有C程序都需要编译链接无误后才能运行 D)C程序中整型变量只能存放整数,实型变量只能存放浮点数
(14)有以下定义int a;long b;double x,y;则以下选项中正确的表达式是 A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x
(15)以下选项中能表示合法常量的是 A)整数1,200 B)实数
1.5E
2.0 C)字符斜杠‘\’ D)字符串\007
(16)表达式a+=a-=a=9的值是 A)9 B)_9 C)18 D)0
(17)若变量已正确定义,在if(W)printf(“%d\nk”);中,以下不可替代W的是 A)a<>b+c B)ch=getchar() C)a==b+c D)a++
(18)有以下程序 #include main() {int a=1,b=0; if(!a)b++; else if(a==0)if(a)b+=2; else b+=3; printf(”%d\n”,b); } 程序运行后的输出结果是 A)0 B)1 C)2 D)3
(19)若有定义语句intab;doublex;则下列选项中没有错误的是 A)switch(x%2) B)switch((int)x/
2.0 {case0:a++;break; {case0:a++;break; case1:b++;break; case1:b++;break; default:a++;b++; default:a++;b++; } } C)switch((int)x%2) D)switch((int)(x)%2) {case0:a++;break; {case
0.0:a++;break; case1:b++;break; case
1.0:b++;break; default:a++;b++; default:a++;b++; } }
(20)有以下程序 #include main() {inta=1,b=2; while(a6){b+=a;a+=2;b%二10;} printf(”%d,%d\n”,a,b); } 程序运行后的输出结果是 A)511 B)71 C)711 D)61
(21)有以下程序 #include<stdio.h main() {inty=10; while(y--); printf(”Y=%d\n”,Y); } 程序执行后的输出结果是 A)y=0 B)y=-1 C)y=1 D)while构成无限循环
(22)有以下程序 #include<stdio.h main() {chars[」=”rstuv; printf(”%c\n”,*s+2); } 程序运行后的输出结果是 A)tuv B)字符t的ASCII码值 C)t D)出错
(23)有以下程序 #include<stdio.h #include<string.h main() {charx[]=”STRING”; x[0」=0;x[1]=’\0’;x[2」=’0’; printf(”%d %d\n”,sizeof(x),strlen(x)); } 程序运行后的输出结果是 A)6 1 B)7 0 C)6 3 D)7 1
(24)有以下程序 #include<stdio.h Int f(int x); main() {int n=1,m; m=f(f(f(n)));printf(”%d\n”,m); } int f(int x) {return x*2;} 程序运行后的输出结果是 A)1 B)2 C)4 D)8
(25)以下程序段完全正确的是 A)int*p; scanf(%d&p); B)int*p; scanf(“%d”p); C)intk*p=k; scanf(%dp); D)intk*p:; *p=k; scanf(“%d”p);
(26)有定义语句int*p
[4];以下选项中与此语句等价的是 A)int p
[4]; B)int **p; C)int *(p「4」); D)int(*p)「4」;
(27)下列定义数组的语句中,正确的是 A)int N=10; B)#defineN10 int x[N]; intx[N]; C)int x[
0..10]; D)intx[];
(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是 A)int a
[5]=﹛0﹜; B)int b[]={00000}; C)int c[2+3]; D)int i=5d[i];
(29)有以下程序 #include<stdio.h void f(int*p); main() {int a[5]={1,2,3,4,5},*r=a; f(r);printf(”%d\n”;*r); } voidf(int*p) {p=p+3;printf(”%d,”,*p);} 程序运行后的输出结果是 A)14 B)44 C)31 D)41
(30)有以下程序(函数fun只对下标为偶数的元素进行操作) #include<stdio.h voidfun(int*a;intn) {inti、j、k、t; for(i=0;i<n一1;1+=2) {k=i;‘ for(j=i;ja〔k])k=j; t=a〔i];a〔i]=a[k];a〔k]=t; } } main() {intaa「10」={
1、
2、
3、
4、
5、
6、7},i; fun(aa、7); for(i=0,i7;i++)printf(”%d”aa[i])); printf(”\n”); } 程序运行后的输出结果是 A)7254361 B)1634527 C)7654321 D)17356;21
(31)下列选项中,能够满足“若字符串s1等于字符串s2则执行ST要求的是 A)if(strcmp(s2s1)==0)ST; B)if(sl==s2)ST; C)if(strcpy(sls2)==1)ST; D)if(sl-s2==0)ST;
(32)以下不能将s所指字符串正确复制到t所指存储空间的是 A)while(*t=*s){t++;s++;} B)for(i=0;t[i]=s[i];i++); C)do{*t++=*s++;}while(*s); D)for(i=0j=0;t[i++]=s[j++];);33)有以下程序(strcat函数用以连接两个字符串) #include<stdio.h #include<string.h main() {chara[20]=”ABCD\OEFG\0”,b[]=”IJK”; strcat(a,b);printf(”%s\n”,a); } 程序运行后的输出结果是 A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK
(34)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母 #include<stdio.h #include<ctype.h> void fun(char*p) {int i=0; while(p[i]) {if(p[i]==’’&&islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’; i++; } } main() {chars1[100]=”abcdEFG!”; fun(s1);printf(”%s\n”,s1); } 程序运行后的输出结果是 A)ab cd EFG! B)Ab Cd EFg! C)aB cD EFG! D)ab cd EFg!
(35)有以下程序 #include<stdio.h void fun(intx) {if(x/2>1)fun(x/2); printf(”%d”,x); } main() {fun
(7);printf(”\n”);} 程序运行后的输出结果是 A)137 B)731 C)73 D)37
(36)有以下程序 #include<stdio.h> intfun() {staticintx=1; x+=1;returnx; } main() {inti;s=1; for(i=1;i=5;i++)s+=fun(); printf(”%d\n”,s); } 程序运行后的输出结果是 A)11 B)21 C)6 D)120
(37)有以下程序 #inctude<stdio.h> #include<stdlib.h> Main() {int*a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *a=1;*b=2,*c=3; a=b; printf(“%d,%d,%d\n”,*a,*b,*c); } 程序运行后的输出结果是 A)333 B)223 C)123 D)113
(38)有以下程序 #include<stdio.h main() {ints,t,A=10;doubleB=6; s=sizeof(A);t=sizeof(B); printf(“%d,%d\n”,s,t); } 在VC6平台上编译运行,程序运行后的输出结果是 A)24 B)44 C)48 D)106
(39)若有以下语句 TypedefstructS {intg;charh;}T; 以下叙述中正确的是 A)可用S定义结构体变量 B)可用T定义结构体变量 C)S是struct类型的变量 D)T是structS类型的变量
(40)有以下程序 #include<stdio.h main() {shortc=124; c=c_______; printf(“%d\n”、C); } 若要使程序的运行结果为248,应在下划线处填入的是 A)2 B)|248 C)&0248 D)IP来源:考
二、填空题(每空2分,共30分) 请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分
(1)一个栈的初始状态为空首先将元素54321依次入栈,然后退栈一次,再将元素ABCD依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】
(2)在长度为n的线性表中,寻找最大项至少需要比较【2】次
(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有【3】个结点
(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序
(5)数据库设计的四个阶段是需求分析,概念设计,逻辑设计【5】
(6)以下程序运行后的输出结果是【6】 #include<stdio.h main() {inta=200,b=010; printf(”%d%d\n”,a,b); }
(7)有以下程序 #include<stdio.h main() {int xY; scanf(”%2d%ld”,&x,&y);printf(”%d\n”,x+y); } 程序运行时输入1234567程序的运行结果是【7】
(8)在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为【8】时表示逻辑值“真”
(9)有以下程序 #include<stdio.h main() {intin[]={00000}; for(i=1;i=4;i++) {n[i]=n[i-1]*3+1;printf(”%dn[i]);} } 程序运行后的输出结果是【9】
(10)以下fun函数的功能是找出具有N个元素的一维数组中的最小值,并作为函数值返回请填空(设N已定义) intfun(intx[N]) {inti,k=0; for(i=0;iN;I++) if(x[i] returnx[k]; }
(11)有以下程序 #include<stdio.h int*f(int*p,int*q); main() {intm=1,n=2,*r=m; r=f(r,&n);printf(”%d\n”,*r); } int*f(int*p,int*q) {return(*p*q)p q;} 程序运行后的输出结果是【11】
(12)以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空(设M.N已定义) intfun(inta[N][M)) {inti,j,row=0,col=0; for(i=0;iN;I++) for(j=0;j if(a[i][j]>a[row][col]){row=i;col=j;} return(【12】) }
(13)有以下程序 #include<stdio.h main() {int n
[2],i,j; for(i=0;i2;i++)n[i]=0; for(i=0;i<2;i++) for(j=0;j2;j++)n[j]=n「i」+1; printf(”%d\n”,n
[1]); } 程序运行后的输出结果是【13】
(14)以下程序的功能是借助指针变量找出数组元素中最大值所在的位置并输出该最大值请在输出语句中填写代表最大值的输出项 #include<stdio.h main() {inta〔10],*p,*s; for(p=a;p-a10;p++)scanf(”%d”,p); for(p=a,s=a;p-a10;p++)if(*p*s)S=P; printf(max=%d\n”,【14】); }
(15)以下程序打开新文件f.txt并调用字符输出函数将a数组中的字符写入其中,请填空 #include<stdio.h main() {【15】*fp; chara[5]={’1’,’2’,’3’,’4’,’5’},i; fp=fopen(”f.txt”,”w”); for(i=0;i5;i++)fputc(a[i],fp); fclose(fp); }2012年计算机二级C语言50套程序填空上机题及答案来源考试大 【考试大天下考生的良师益友】 2011年10月29日导读为方便广大考生更好的复习2012年计算机二级C语言考试,查找考试辅导习题,考试大特提供了C语言50套程序填空上机预测题,供考生学习
1、给定程序中,函数fun的功能是在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回 例如,有9个正整数1 5 7 23 87 5 8 21 45 按升序排列时的中间数为8 处理后主函数中输出的数列为8 8 8 23 87 8 8 21 45 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 9 int funint x[] { int ijktmidb[N]; fori=0;iN;I++NBSP;B[I]=X[I]; fori=0;i=N/2;i++ { k=i; forj=i+1;jN;J++NBSP;IFB[K]b[j] k=j; ifk != i { /**********found**********/ t=b[i]; b[i]=___1___; b[k]=t; } } /**********found**********/ mid=b[___2___]; fori=0; iN;NBSP;I++ /**********found**********/ ifx[i] ___3___ mid x[i]=mid; return mid; } main { int i x[N]={1572387582145}; fori=0; iN;NBSP;I++NBSP;NBSP;PRINTF%DNBSP;X[I]; printf\nThe mid data is: %d\nfunx; fori=0; iN;NBSP;I++NBSP;NBSP;PRINTF%DNBSP;X[I]; printf\n; }
2、给定程序中,函数fun的功能是建立一个N×N的矩阵 矩阵元素的构成规律是最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推例如,若N=5,生成的矩阵为 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 7 /**********found**********/ void funint *a __1__ { int ijkm; ifN%2==0 m=N/2 ; else m=N/2+1; fori=0; iM;NBSP;I++NBSP;{ /**********found**********/ forj= __2__ ; jN-I;NBSP;J++ a[i][j]=a[N-i-1][j]=i+1; fork=i+1; kN-I;NBSP;K++ /**********found**********/ a[k][i]=a[k][N-i-1]= __3__; } } main { int x[N][N]={0}ij; funx; printf\nThe result is:\n; fori=0; iN;NBSP;I++ { forj=0; j
3、给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序例如,形参s所指的字符串为def35adh3kjsdf7执行结果为defadhkjsdf3537 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include void funchar *s { int i j=0 k=0; char t1
[80] t2
[80]; fori=0; s[i]!=’\0’; i++ ifs[i]=’0’ s[i]=’9’ { /**********found**********/ t2[j]=s[i]; ___1___; } else t1[k++]=s[i]; t2[j]=0; t1[k]=0; /**********found**********/ fori=0; iK;NBSP;I++NBSP;NBSP;___2___; /**********found**********/ fori=0; i___3___; i++ s[k+i]=t2[i]; } main { char s
[80]=def35adh3kjsdf7; printf\nThe original string is : %s\ns; funs; printf\nThe result is : %s\ns;
4、给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0例如,若N=3,有下列矩阵 1 2 3 4 5 6 7 8 9计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 4 /**********found**********/ void funint *t___1___ { int i j; fori=1; iN;NBSP;I++ { forj=0; jI;NBSP;J++ { /**********found**********/ ___2___ =t[i][j]+t[j][i]; /**********found**********/ ___3___ =0; } } } main { int t[][N]={21121324251647382911325442213310} i j; printf\nThe original array:\n; fori=0; iN;NBSP;I++ { forj=0; jN;NBSP;J++NBSP;NBSP;PRINTF-NBSP;NBSP;T[I][J]; printf\n; } funt; printf\nThe result is:\n; fori=0; iN;NBSP;I++ { forj=0; jN;NBSP;J++NBSP;NBSP;PRINTF-NBSP;NBSP;T[I][J]; printf\n; } }
5、给定程序中,函数fun的功能是对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串 例如,形参s所指的字符串为baawrskjghzlicda,执行后p所指字符数组中的字符串应为aachjlsw 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include void funchar *s char *p { int i j n x t; n=0; fori=0; s[i]!=’\0’; i++ n++; fori=1; iN-2;NBSP;I=I+2NBSP;{ /**********found**********/ ___1___; /**********found**********/ forj=___2___+2 ; jN;NBSP;J=J+2 ifs[t]s[j] t=j; ift!=i { x=s[i]; s[i]=s[t]; s[t]=x; } } fori=1j=0; iN;NBSP;I=I+2NBSP;J++NBSP;NBSP;P[J]=S[I]; /**********found**********/ p[j]=___3___; } main { char s
[80]=baawrskjghzlicda p
[50]; printf\nThe original string is : %s\ns; funsp; printf\nThe result is : %s\np; }
6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息函数fun的功能是输出这位学生的信息 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include typedef struct { int num; char name
[9]; char sex; struct { int yearmonthday ;} birthday; float score
[3]; }STU; /**********found**********/ void showSTU ___1___ { int i; printf\n%d %s %c %d-%d-%d tt.num tt.name tt.sex tt.birthday.year tt.birthday.month tt.birthday.day; fori=0; i3; i++ /**********found**********/ printf%
5.1f ___2___; printf\n; } main { STU std={ 1Zhanghua’M’
196110876.
578.
082.0 }; printf\nA student data:\n; /**********found**********/ show___3___; }
7、给定程序中,函数fun的功能是:计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回注意要求先累加主对角线元素中的值,然后累加反向对角线元素中的值例如,若N=3,有下列矩阵 1 2 3 4 5 6 7 8 9 fun函数首先累加
1、
5、9,然后累加
3、
5、7,函数的返回值为30 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 4 funint t[][N] int n { int i sum; /**********found**********/ ___1___; fori=0; iN;NBSP;I++ /**********found**********/ sum+=___2___ ; fori=0; iN;NBSP;I++ /**********found**********/ sum+= t[i][n-i-___3___] ; return sum; } main { int t[][N]={212132425164738291132544221310}ij; printf\nThe original data:\n; fori=0; iN;NBSP;I++ { forj=0; jN;NBSP;J++NBSP;NBSP;PRINTFMT[I][J]; printf\n; } printfThe result is: %dfuntN; }
8、给定程序中,函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数)作为函数值返回;并将大于平均值的数放在形参y所指数组中在主函数中输出 例如,有10个正数46 30 32 40 6 17 45 15 48 26,平均值为
30.500000 主函数中输出46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fundouble x[]double *y { int ij; double av; /**********found**********/ av=__1__; /**********found**********/ fori=0; iN;NBSP;I++NBSP;NBSP;AVNBSP;=NBSP;AVNBSP;+NBSP;__2__; fori=j=0; iN;NBSP;I++ /**********found**********/ ifx[i]av y[__3__]= x[i]; y[j]=-1; return av; } main { int i; double x[N] = {4630324061745154826}; double y[N]; fori=0; iN;NBSP;I++NBSP;PRINTF%
4.0FNBSP;X[I]; printf\n; printf\nThe average is: %f\nfunxy; fori=0; y[i]=0; i++ printf%
5.0f y[i]; printf\n; }
9、给定程序中,函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数)将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据 例如,有10个正数46 30 32 40 6 17 45 15 48 26,平均值为
30.500000 移动后的输出为30 6 17 15 26 46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fundouble *x { int i j; double av y[N]; av=0; /**********found**********/ fori=0; iN;NBSP;I++NBSP;NBSP;AVNBSP;+=__1__; fori=j=0; iN;NBSP;I++ if x[i]AVNBSP;{ /**********found**********/ y[j]=x[i]; x[i]=-1; __2__;} i=0; whilei { if x[i]!= -1 y[j++]=x[i]; /**********found**********/ __3__; } fori=0; iN;NBSP;I++X[I]NBSP;=NBSP;Y[I]; return av; } main { int i; double x[N]; fori=0; iN;NBSP;I++{NBSP;X[I]=RANDP;NBSP;PRINTF%
4.0FNBSP;X[I];} printf\n; printf\nThe average is: %f\nfunx; printf\nThe result :\nfunx; fori=0; iN;NBSP;I++NBSP;NBSP;PRINTF%
5.0FNBSP;X[I]; printf\n; }
10、给定程序中,函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数)将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据 例如,有10个正数46 30 32 40 6 17 45 15 48 26,平均值为
30.500000 移动后的输出为46 32 40 45 48 30 6 17 15 26 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fundouble *x { int i j; double s av y[N]; s=0; fori=0; iN;NBSP;I++NBSP;NBSP;S=S+X[I]; /**********found**********/ av=__1__; fori=j=0; iN;NBSP;I++ if x[i]av { /**********found**********/ y[__2__]=x[i]; x[i]=-1;} fori=0; iN;NBSP;I++ /**********found**********/ if x[i]!= __3__ y[j++]=x[i]; fori=0; iN;NBSP;I++X[I]NBSP;=NBSP;Y[I]; return av; } main { int i; double x[N]= {4630324061745154826}; fori=0; iN;NBSP;I++NBSP;PRINTF%
4.0FNBSP;X[I]; printf\n; printf\nThe average is: %f\nfunx; printf\nThe result :\nfunx; fori=0; iN;NBSP;I++NBSP;NBSP;PRINTF%
5.0FNBSP;X[I]; printf\n; }
11、函数fun的功能是把形参a所指数组中的奇数按原顺序依次存放到a
[0]、a
[1]、a
[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回例如若a所指数组中的数据最初排列为
9、
1、
4、
2、
3、
6、
5、
8、7,删除偶数后a所指数组中的数据为
9、
1、
3、
5、7,返回值为5 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 9 int funint a[] int n { int ij; j = 0; for i=0; iN;NBSP;I++ /**********found**********/ if a[i]%2==___1___ { /**********found**********/ a[j] = a[i]; ___2___; } /**********found**********/ return ___3___; } main { int b[N]={914236587} i n; printf\nThe original data :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; n = funb N; printf\nThe number of odd : %d \n n; printf\nThe odd number :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; }
12、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标作为函数值返回,并把其串长放在形参n所指变量中ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #include #define M 5 #define N 20 int funchar *ss[N] int *n { int i k=0 len= N; /**********found**********/ fori=0; i___1___; i++ { len=strlenss[i]; ifi==0 *n=len; /**********found**********/ iflen ___2___ *n { *n=len; k=i; } } /**********found**********/ return___3___; } main { char ss[M][N]={shanghaiguangzhoubeijingtianjingchongqing}; int nki; printf\nThe original strings are :\n; fori=0;i k=funssn; printf\nThe length of shortest string is : %d\nn; printf\nThe shortest string is : %s\nss[k]; }
13、人员的记录由编号和出生年、月、日组成N名人员的数据已在主函数中存入结构体数组std中函数fun的功能是找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 8 typedef struct { int num; int yearmonthday ; }STU; int funSTU *std STU *k int year { int in=0; for i=0; iN;NBSP;I++ /**********found**********/ if ___1___==year /**********found**********/ k[n++]= ___2___; /**********found**********/ return ___3___; } main { STU std[N]={ {11984215}{21983921}{3198491}{41983715} {51985928}{619821115}{71982622}{81984819}}; STU k[N]; int inyear; printfEnter a year : ; scanf%dyear; n=funstdkyear; ifn==0 printf\nNo person was born in %d \nyear; else { printf\nThese persons were born in %d \nyear; fori=0; iN;NBSP;I++ printf%d %d-%d-%d\nk[i].numk[i].yeark[i].monthk[i].day; } }
14、函数fun的功能是将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动例如若a所指数组中的数据依次为
1、
2、
3、
4、
5、
6、
7、
8、9,则调换后为
6、
7、
8、
9、
5、
1、
2、
3、4 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 9 void funint a[] int n { int i t p; /**********found**********/ p = n%2==0n/2:n/2+___1___; for i=0; i { t=a[i]; /**********found**********/ a[i] = a[p+___2___]; /**********found**********/ ___3___ = t; } } main { int b[N]={123456789} i; printf\nThe original data :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; funb N; printf\nThe data after moving :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n;}
15、给定程序中函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确嶄绸果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include void funchar *s int a double f { /**********found**********/ __1__ fp; char ch; fp = fopenfile
1.txt w; fprintffp %s %d %f\n s a f; fclosefp; fp = fopenfile
1.txt r; printf\nThe result :\n\n; ch = fgetcfp; /**********found**********/ while !feof__2__ { /**********found**********/ putchar__3__; ch = fgetcfp; } putchar’\n’; fclosefp; } main { char a
[10]=Hello!; int b=12345; double c=
98.76; funabc;
16、给定程序中,函数fun的功能是找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 4 void funint *a[N] int *b { int ij; fori=0; iN;NBSP;I++NBSP;{ /**********found**********/ b[i]= __1__; forj=1; jN;NBSP;J++ /**********found**********/ ifb[i] __2__ a[j][i] b[i]=a[j][i]; } } main { int x[N][N]={ {12587}{6193}{1234}{2843} }y[N]ij; printf\nThe matrix :\n; fori=0;iN;NBSP;I++ { forj=0;jN;NBSP;J++NBSP;PRINTFMX[I][J]; printf\n; } /**********found**********/ fun__3__; printf\nThe result is:;
17、给定程序中,函数fun的功能是统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出例如,形参s所指的字符串为abcdef35adgh3kjsdf7输出结果为4 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include void funchar *s int *t { int i n; n=0; /**********found**********/ fori=0; ___1___ !=0; i++ /**********found**********/ ifs[i]=’0’s[i]= ___2___ n++; /**********found**********/ ___3___ ; } main { char s
[80]=abcdef35adgh3kjsdf7; int t; printf\nThe original string is : %s\ns; funst; printf\nThe result is : %d\nt; }
18、函数fun的功能是把形参a所指数组中的最小值放在元素a
[0]中,接着把形参a所指数组中的最大值放在a
[1]元素中;再把a所指数组元素中的次小值放在a
[2]中,把a所指数组元素中的次大值放在a
[3];其余以此类推例如若a所指数组中的数据最初排列为
9、
1、
4、
2、
3、
6、
5、
8、7;则按规则移动后,数据排列为
1、
9、
2、
8、
3、
7、
4、
6、5形参n中存放a所指数组中数据的个数 注意规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! # include #define N 9 void funint a[] int n { int ij max min px pn t; for i=0; iN-1;NBSP;I+=2 { /**********found**********/ max = min = ___1___; px = pn = i; for j=i+1; jN;NBSP;J++NBSP;{ /**********found**********/ if max___2___ { max = a[j]; px = j; } /**********found**********/ if min___3___ { min = a[j]; pn = j; } } if pn != i { t = a[i]; a[i] = min; a[pn] = t; if px == i px =pn; } if px != i+1 { t = a[i+1]; a[i+1] = max; a[px] = t; } } } main { int b[N]={914236587} i; printf\nThe original data :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; funb N; printf\nThe data after moving :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; }
19、给定程序中,函数fun的功能是将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回 例如,s所指字符串为asd123fgh5##43df, 处理后新字符串为123543asdfgh##df 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #include #include #include char *funchar *s { int i j k n; char *p *t; n=strlens+1; t=char*mallocn*sizeofchar; p=char*mallocn*sizeofchar; j=0; k=0; fori=0; iN;NBSP;I++ { ifisdigits[i] { /**********found**********/ p[__1__]=s[i]; j++;} else { t[k]=s[i]; k++; } } /**********found**********/ fori=0; i__2__; i++ p[j+i]= t[i]; p[j+k]=0; /**********found**********/ return __3__; } main { char s
[80]; printfPlease input: ; scanf%ss; printf\nThe result is: %s\nfuns; }
20、给定程序中,函数fun的功能是有N×N矩阵,根据给定的m(m=N)值,将每行元素中的值均右移m个位置,左边置为0例如,N=3,m=2,有下列矩阵 1 2 3 4 5 6 7 8 9程序执行结果为 0 0 1 0 0 4 0 0 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 4 void funint *t[N] int m { int i j; /**********found**********/ fori=0; iN;NBSP;___1___NBSP; { forj=N-1-m; j=0; j-- /**********found**********/ t[i][j+___2___ ]=t[i][j]; /**********found**********/ forj=0; j___3___; j++ t[i][j]=0; } } main { int t[][N]={21121324251647382911325442213310} i j m; printf\nThe original array:\n; fori=0; iN;NBSP;I++ { forj=0; jN;NBSP;J++ printf- t[i][j]; printf\n; } printfInput m m=%d: N;scanf%dm; funtm; printf\nThe result is:\n; fori=0; iN;NBSP;I++ { forj=0; jN;NBSP;J++ printf- t[i][j]; printf\n; } }
21、函数fun的功能是把形参a所指数组中的偶数按原顺序依次存放到a
[0]、a
[1]、a
[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回例如若a所指数组中的数据最初排列为
9、
1、
4、
2、
3、
6、
5、
8、7,删除奇数后a所指数组中的数据为
4、
2、
6、8,返回值为4 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 9 int funint a[] int n { int ij; j = 0; for i=0; iN;NBSP;I++ /**********found**********/ if ___1___== 0 { /**********found**********/ ___2___ = a[i]; j++; } /**********found**********/ return ___3___; } main { int b[N]={914236587} i n; printf\nThe original data :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; n = funb N; printf\nThe number of even %d\n n; printf\nThe even :\n; for i=0; iN;NBSP;I++NBSP;NBSP;PRINTFMNBSP;NBSP;B[I]; printf\n; }
22、给定程序中,函数fun的功能是判定形参a所指的N×N(规定N为奇数)的矩阵是否是幻方,若是,函数返回值为1; 不是,函数返回值为0幻方的判定条件是矩阵每行、每列、主对角线及反对角线上元素之和都相等 例如,以下3×3的矩阵就是一个幻方 4 9 2 3 5 7 8 1 6 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #define N 3 int funint *a[N] { int ijm1m2rowcolum; m1=m2=0; fori=0; iN;NBSP;I++ { j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } ifm1!=m2 return 0; fori=0; iN;NBSP;I++NBSP;{ /**********found**********/ row=colum= __1__; forj=0; jN;NBSP;J++ { row+=a[i][j]; colum+=a[j][i]; } /**********found**********/ if row!=colum __2__ row!=m1 return 0; } /**********found**********/ return __3__; } main { int x[N][N]ij; printfEnter number for array:\n; fori=0; iN;NBSP;I++ forj=0; jN;NBSP;J++NBSP;NBSP;SCANF%DX[I][J]; printfArray:\n; fori=0; iN;NBSP;I++ { forj=0; jN;NBSP;J++NBSP;NBSP;PRINTF=X[I][J]; else printfThe Array isn’t a magic square.\n; }
23、给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符 例如,主函数中输入字符串32486和12345,在主函数中输出的函数值为44831 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include #include #include #define N 9 long ctod char *s { long d=0; while*s ifisdigit *s { /**********found**********/ d=d*10+*s-__1__; /**********found**********/ __2__; } return d; } long fun char *a char *b { /**********found**********/ return __3__; } main { char s1[N]s2[N]; do { printfInput string s1 : ; getss1; } while strlens1N ; do { printfInput string s2 : ; getss2; } while strlens2N ; printfThe result is: %ld\n funs1s2 ; }
24、给定程序中,函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注字符串的长度大于等于2)例如,形参s所指的字符串为abcdefgh,执行结果为ahcbedgf 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include void funchar *s { int i n k; char c; n=0; fori=0; s[i]!=’\0’; i++ n++; /**********found**********/ ifn%2==0 k=n-___1___ ; else k=n-2; /**********found**********/ c=___2___ ; fori=k-2; i=1; i=i-2 s[i+2]=s[i]; /**********found**********/ s
[1]=___3___ ; } main { char s
[80]=abcdefgh; printf\nThe original string is : %s\ns; funs; printf\nThe result is : %s\ns; }
24、给定程序中,函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注字符串的长度大于等于2)例如,形参s所指的字符串为abcdefgh,执行结果为ahcbedgf 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意源程序存放在考生文件夹下的BLANK
1.C中 不得增行或删行,也不得更改程序的结构! #include void funchar *s { int i n k; char c; n=0; fori=0; s[i]!=’\0’; i++ n++; /**********found**********/ ifn%2==0 k=n-___1___ ; else k=n-2; /**********found**********/ c=___2___ ; fori=k-2; i=1; i=i-2 s[i+2]=s[i]; /**********found**********/ s
[1]=___3___ ; } main { char s
[80]=abcdefgh; printf\nThe original string is : %s\ns; funs; printf\nThe result is : %s\ns; }。