二级C语言程序设计题

合集下载

全国二级计算机C语言程序设计题库

全国二级计算机C语言程序设计题库

一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是。

A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由。

A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。

A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是。

A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是。

#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是。

#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是。

2023年计算机二级考试c语言(精选3篇)

2023年计算机二级考试c语言(精选3篇)

2023年计算机二级考试c语言(精选3篇)计算机二级考试c语言1选择题1).在软件设计中,不属于过程设计工具的是()A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图正确答案:D答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。

它直接支持系统功能建模。

在软件详细设计的过程阶段,要对每个模块规定的'功能以及算法的设计给出适当的算法描述。

常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。

2).数据结构中,与所使用的计算机无关的是数据的()。

A.存储结构B.物理结构C.逻辑结构D.线性结构正确答案:C答案解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。

3).设有定义:intx=2;以下表达式中,值不为6的是()A.2__x,x+=2B.x++,2__xC.x__=(1+x)D.x__=x+1正确答案:A答案解析:本题考查逗号表达式。

逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。

选项C中x__=x+1等价于x=x__(x+1),所以等于6;选项D与选项C等价,结果也为6。

4).在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()A.63B.64C.6D.7正确答案:B答案解析:顺序查找又称顺序搜索。

顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。

如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。

计算机二级C语言程序设计章节习题

计算机二级C语言程序设计章节习题

计算机二级C语言程序设计章节习题一简单回答下述问题C++语言中注释符的格式如何?注释信息的功能是什么?答:注释符格式有2种:格式一:/* <注释信息> */格式二:// <注释信息>注释信息是用来对程序进行提示和说明的。

使用const定义符号常量比使用#define定义符号常量有何优点?答:使用const定义符号常量时要指出数据类型,而用#define定义符号常量时不需提出类型,因此前者比后者对类型要求更严格,这样会更安全。

内部静态存储类变量有何特点?答:内部静态存储类变贯的特点是作用域较小,但寿命很长,这种变量作用域与寿命不一致,因此会出现不可见但又存在的情况。

在使用插入符(<<)输出若干个表达式值时,有的表达式中使用的运算符的优先级低于插入符优先级时应该如何处理?答:这时需将表达式用括号括起来,己改变其优先级。

5.由多种不同运算符组成的表达式,其类型如何确定?例如,int a, b, c;…a=b>c?b:c;这是一个条件表达式还是赋值表达式?答:表达式类型由优先级低的运算符组成的表达式来确定。

15这是一个赋值表达式,因为赋值运算符优先级低于三目运算符。

1.数组元素个数是由什么决定的?答:数组元素个数是由维数及其大小来决定的。

一维数组元素个数是该维的大小,二维数组的元素个数是两维大小之积等。

1.数组元素下标有何规定?答:C++语言中,数组元素下标从0开始。

1.初始值表中数据项的类型和个数有何规定?答:初始值表中数据项的类型应与该变是类型相同,个数应小于或等于被初始化的数组元素的个数。

1.字符数组和字符串有什么关系?答:字符数组中可存放字符串,而字符数组不都是存放字符串的。

如果字符数组中有字符串结束符,则说明该字符数存放的是字符串。

10.一个数组中的元素类型是否一定相同?何时定义的数组元素具有默认值?答:数组中元素类型必须相同。

存储类为外部和静态的数组其元素具有默认值二判断题√1.表达式和表达式语句是不同的。

计算机等级《二级C语言程序设计》模拟题

计算机等级《二级C语言程序设计》模拟题

计算机等级《二级C语言程序设计》模拟题计算机等级《二级C语言程序设计》模拟题1.【单选题】2分| 有定义:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。

A (!a==1)&&(!b==0)B (aC a&&bD a||(b+b)&&(c-a)2.【单选题】2分| 执行下面的程序后,a的值为()。

main(){inta,b;for(a=1,b=1;a=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A 7B 8C 9D 103.【单选题】2分| 若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是()。

A EOFB -lC 非零值D 04.【单选题】2分| 有以下程序:main(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf("a+b=%d\n",a+b);//输出计算机结果}程序运行后的输出结果是()。

A a+b=10B a+b=30C 30D 出错5.【单选题】2分| 以下程序的输出结果是()。

main(){inta=3:printf("%d\n",(a+a-=a*a));}A -6B 12C 0D -126.【单选题】2分| 执行下列程序中的输出语句后,a的值是()。

main(){inta;printf("%d\n",(a=2*3,a*5,a+7));}A 17B 37C 6D 137.【单选题】2分| 下列关于栈的描述中错误的是()。

A 栈是先进先出的线性表B 栈只能顺序存储C 栈具有记忆作用D 对栈的插入删除操作中,不需要改变栈底指针8.【单选题】2分| 函数调用strcat(strcpy(str1,str2),str3)的功能是()。

A 将字符串str1复制到字符串str2中后再连接到字符串str3之后B 将字符串str1连接到字符串str2之后再复制到字符串str3之后C 将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后D 将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中9.【单选题】2分| 对两个数组a和b进行下列初始化:charm[]1="l234567":charn[]={'1','2','3','4','5','6','7');则下列叙述正确的是()。

全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。

A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。

答案选择B选项。

[单选题]4.下面不属于需求分析阶段任务的是()。

A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。

制定软件集成测试计划属于概要设计阶段的任务。

答案选择D选项。

[单选题]5.结构化程序的三种基本控制结构是()。

A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。

答案选择A选项。

[单选题]6.构成计算机软件的是()。

A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

答案选择D选项。

[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。

A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。

计算机二级c语言程序设计题

计算机二级c语言程序设计题
计算机二级C语言程序设计题
一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序, 按照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须 使用鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不 单独计时。)
1、以下叙述中正确的是( )。
A. 分支结构是根据算术表达式的结果来判断流程走向的 B. 在C语言中,逻辑真值和假值分别对应1和0 C. 对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误 D. 关系运算符两边的运算对象可以是C语言中任意合法的表达式
和提高模块内的内聚性,有利于提高模块的独立性。答案选择B选项。
8、有以下程序 #include <stdio.h> typedef struct {int b, p;} A; void f(A c) { int j; c.b+=1; c.p+=2; } void main() { int i; A a={1,2}; f(a); printf("%d,%d\n", a.b, a.p); }
2、设有定义: int x=0, *p;
紧接着的赋值语句正确的是( )。
A. *p=x; B. *p=NULL; C. p=x; D. p=NULL;
【答案】
D
【解析】
指针赋值的正确写法:①p=&x,表示p指向x的存储单元;②p=NULL,表示p是空指针。③*p=x,表示将p指向的内容赋值 为x,但前提是p已进行了初始化。答案选择D选项。
【答案】
D
【解析】
C语言中,运算符两侧的运算对象可以任意合法的表达式,选项D正确;非0和0分别对应逻辑真值和假值,选项B错;关系运 算符“==”两侧的运算对象只要为合法的表达式就可以编译通过,选项C错;分支结构是根据if或者else if后面的圆括号内的表 达式(不仅仅是算术表达式,还有赋值表达式、逗号表达式、关系表达式、逻辑表达式等)的值来判定流程走向的,选项A 错误;答案选择D选项。

二级C语言程序设计-2

二级C语言程序设计-2

二级C语言程序设计-2(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:20,分数:40.00)1.下列运算符中优先级最高的算符是∙ A.!∙ B.%∙ C.-=∙ D.&&(分数:2.00)A. √B.C.D.解析:2.下列运算符中优先级最低的算符是∙ A.‖∙ B.!=∙ C.<=∙ D.+(分数:2.00)A. √B.C.D.解析:3.为表示关系:x≥y≥z,应使用的C语言表达式是∙ A.(x>=y)&&(y>=z)∙ B.(x>=y)AND(y>=x)∙ C.(x>=y>=z)∙ D.(x>=y)&(y>=z)(分数:2.00)A. √B.C.D.解析:4.设a、b和c都是int型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是∙ A.a&&b∙ B.a<=b∙ C.a‖b+c&&b-c∙ D.!((a<b)&&!c‖1)(分数:2.00)A.B.C.D. √解析:5.有以下程序:#include<stdio.h>main(){int a=2, b=-1, c=2;if(a<b)if(b<0) c=0;else c+=1;printf("%d/n", c);}程序的输出结果是∙ A.0∙ B.1∙ C.2∙ D.3(分数:2.00)A.B.C. √D.解析:6.有以下程序:#include<stdio.h>main(){int w=4, x=3, y=2, z=1;printf("%d/n", (w<X? w:z<y? z:x)); }程序的输出结果是∙ A.1∙ B.2∙ C.3∙ D.4(分数:2.00)A. √B.C.D.解析:7.有以下程序:#include<stdio.h>main(){int a, b, s;scanf("%d%d", &a, &b);s=a;if(a<b) s=b;s*=s;printf("%d/n", s);}若执行以上程序时从键盘上输入3和4,则输出结果是∙ A.14∙ B.16∙ C.18∙ D.20(分数:2.00)A.B. √C.D.解析:8.有以下程序片段:y=-1; if(x!=0) if(x>0) y=1; else y=0; 其能正确表示的数学函数关系是A.B. C. D(分数:2.00)A.B.C. √D.解析:9.有以下程序:#include<stdio.h>main(){int k=-3;if(k<=0) printf("****/n")else printf("&&&&/n");}程序的输出结果是∙ A.输出####∙ B.输出&&&&∙ C.输出####&&&&∙ D.有语法错不能通过编译(分数:2.00)A.B.C.D. √解析:10.若a和b均是正整型变量,正确的switch语句是∙ A.switch(pow(a, 2)+pow(b, 2)) (注:调用求幂的数学函数) {case 1:case 3:y=a+b; break; case 0:case 5:y=a-b; }∙ B.switch(a*a+b*b); {case 3; case 1:y=a+b; break; case 0:y=b-a; break; }∙ C.switch a {default:x=a+b; case 10:y=a-b;break; case 11:x=a*d; break; }∙ D.switch(a+b) {case10:x=a+b; break; case11:y=a-b; break; }(分数:2.00)A. √B.C.D.解析:11.有以下程序段:int k, j, s;for(k=2; k<6; k++,k++){s=1;for(j=k; j<6; j++) s+=j;}printf("%d/n", s);程序段的输出结果是∙ A. 9∙ B.1∙ C.11∙ D.10(分数:2.00)A.B.C.D. √解析:12.有以下程序段:int i, j, m=0;for(i=1; i<=15; i+=4)for(j=3; j<=19; j+=4) m++; printf("%d/n", m);程序段的输出结果是∙ A.12∙ B.15∙ C.20∙ D.25(分数:2.00)A.B.C. √D.解析:13.有以下程序段:int n=10;while(n>7){n--;printf("%d/n", n);}程序段的输出结果是∙ A.10 9 8∙ B.9 8 7∙ C.10 9 8 7∙ D.9 8 7 6(分数:2.00)A.B. √C.D.解析:14.有以下程序段:int x=3;do{printf("%3d", x-=2);}while(!(--x));程序段的输出结果是∙ A.1∙ B.3 0∙ C.1 -2∙ D.死循环(分数:2.00)A.B.C. √D.解析:15.有以下程序:#include<stdio.h>main(){int i, sum;for(i=1; i<6; i++) sum+=sum; printf("%d/n", sum);}程序的输出结果是∙ A.15∙ B.14∙ C.不确定∙ D.0(分数:2.00)A.B.C. √D.解析:16.有以下程序:#include<stdio.h>main(){int y=10;for(; y>0; y--)if(y%3==0){printf("%d", --y); continue; }}程序的输出结果是∙ A.741∙ B.852∙ C.963∙ D.875421(分数:2.00)A.B. √C.D.解析:17.有以下程序段:int x;for(x=3; x<6; x++)printf((x%2)?("**%d"): ("##%d/n"), x); 程序段的输出结果是∙ A.**3 ##4 **5∙ B.##3 **4 ##5∙ C.##3 **4##5 .∙ D.**3##4 **5(分数:2.00)A.B.C.D. √解析:18.有以下程序:#include<stdio.h>main(){int i;for(i=1; i<=5; i++){if(i%2) printf("*");else continue;printf("#");}printf("$/n");}程序的输出结果是∙ A.*#*#*#$∙ B.#*#*#*$∙ C.*#*#$∙ D.#*#*$(分数:2.00)A. √B.C.D.解析:19.以下叙述中正确的是∙ A.do-while语句构成的循环不能用其他语句构成的循环来代替∙ B.do-while语句构成的循环只能用break语句退出∙ C.用do-while语句构成循环时,只有在while后的表达式为非零时结束循环∙ D.用do-while语句构成循环时,只有在while后的表达式为零时结束循环(分数:2.00)A.B.C.D. √解析:20.有以下程序:#include<stdio.h>main(){int x, i;for(i=1; i<=100; i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d", x);}printf("/n");}程序的输出结果是∙ A.28 70∙ B.42 84∙ C.26 68∙ D.39 81(分数:2.00)A. √B.C.D.解析:二、{{B}}填空题{{/B}}(总题数:16,分数:32.00)21.C语言中用______表示逻辑值“真”,用______表示逻辑值“假”。

国家二级C语言机试(程序设计基础、C语言概述)-试卷1

国家二级C语言机试(程序设计基础、C语言概述)-试卷1

国家二级C语言机试(程序设计基础、C语言概述)-试卷1(总分:68.00,做题时间:90分钟)一、选择题(总题数:34,分数:68.00)1.结构化程序设计的基本原则不包括()。

(分数:2.00)A.多态性√B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

2.在面向对象方法中,不属于"对象"基本特点的是()。

(分数:2.00)A.一致性√B.分类性C.多态性D.标识唯一性解析:解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。

所以选择A)。

3.面向对象方法中,继承是指()。

(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制√解析:解析:继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。

广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。

4.结构化程序所要求的基本结构不包括()。

(分数:2.00)A.顺序结构B.GOTO跳转√C.选择(分支)结构D.重复(循环)结构解析:解析:1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

5.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。

(分数:2.00)A.-369B.369 √C.0.369D.整数集合{1,2,3,4,5}解析:解析:只有B)选项369可以用无符号整数来表示和存储。

A)选项-369有负号,选项C)0.369是小数都不能用无符号整数类存储。

选项D)是一个整数集合得用数组来存储。

6.下列选项中不属于结构化程序设计原则的是()。

(分数:2.00)A.可封装√B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

全国计算机二级等级考试c语言程序设计题库

全国计算机二级等级考试c语言程序设计题库

全国计算机二级等级考试c语言程序设计题库
1.输入一个三位数,将其逆序输出。

2. 输入一个实数x,计算并输出y=3x^3+2x-1的值。

3. 输入一个整数n,输出n的二进制数表示。

4. 输入两个整数a和b,将它们的值互换。

5. 输入一个字符串,将其中小写字母转换成大写字母并输出。

6. 输入一个整数n,输出n的所有因子。

7. 输入一个正整数n,计算并输出1到n的和。

8. 输入5个整数,分别输出它们的平均值和方差。

9. 输入一个三位数,判断它是否为水仙花数。

10. 输入一个正整数n,计算并输出n的阶乘。

11. 输入一个字符串,统计其中大写字母、小写字母和数字的个数并输出。

12. 输入一个整数n,输出n的所有质数因子。

13. 输入两个正整数a和b,求它们的最大公约数和最小公倍数。

14. 输入一个字符串,判断它是否为回文字符串。

15. 输入一个整数n,判断它是否为完全平方数。

- 1 -。

《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案第一章程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______.答案:.exe1。

2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是____ _.答案:。

c 。

obj 。

exe1.3 结构化程序由_____、_____、_____三种基本结构组成.答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2。

1 以下选项中正确的整型常量是A)12. B)—20 C)1,000 D)4 5 6答案:B2.2 以下选项中正确的实型常量是A)0 B)3。

1415 C)0.329×10(2)(10的2次方) D)。

871答案:D2。

3 以下选项中不正确的实型常量是A)2。

607E-1 B)0。

8103e 2 C)—77。

77 D)456e-2答案:B2。

4 以下选项中不合法的用户标识符是A)abc。

c B)file C)Main D)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim答案:C2。

6 C语言中运算对象必需是整型的运算符是A)%B)/ C)!D)**答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)void define WORDB)as_b3 _123 IfC)For -abc caseD)2c DO SIG答案:B2。

8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值.B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式.C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b 的值由原值变为0.D)已有a=3,b=5。

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。

作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。

选择题部分只能进入一次,退出后不能再次进入。

选择题部分不单独计时。

)1.下列叙述中正确的是()。

A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。

所以没有根结点或没有叶子结点的数据结构一定是非线性结构。

AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。

答案选择D选项。

2.以下叙述中错误的是()。

A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。

C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。

答案选择A选项。

3.C语言主要是借助以下()功能来实现程序模块化的。

A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。

二级C语言程序设计题

二级C语言程序设计题

C 语言程序设计请编写函数fun ,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。

int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}编写函数fun ,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

()1121231234121233535735793521n n π⨯⨯⨯⨯⨯⨯⨯⨯⨯=++++++⨯⨯⨯⨯⨯⨯⨯⨯⨯+………… 程序运行后,若输入精度0.0005,则程序应输出为3.14…。

double fun ( double eps){double s=1.0,s1=1.0;int n=1;while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/ {s1=s1*n/(2*n+1); /*求多项式的每一项*/s=s+s1; /*求和*/n++;}return 2*s;}编写函数fun ,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a 所指的数组中,通过n 返回这些数的个数。

void fun (int *a, int *n){int i,j=0;for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a 中*/if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;}规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:删除字符串中所有的*号。

编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。

全国计算机二级C语言程序设计题((100%全中必过)

全国计算机二级C语言程序设计题((100%全中必过)

目录题目一“回文”字符串 (3)题目二迭代法求给定多项式的值 (4)题目三迭代法求给定方程的根 (5)题目四二维数组三角元素操作1 (6)题目四二维数组三角元素操作2 (7)题目四二维数组三角元素操作3 (9)题目五二维数组元素求最值 (10)题目六二维数组周边元素1 (11)题目六二维数组周边元素2 (12)题目七二维数组转一维数组1 (13)题目七二维数组转一维数组2 (14)题目七二维数组转一维数组3 (15)题目七二维数组转一维数组4 (16)题目八结构体数组排序1 (17)题目八结构体数组排序2 (18)题目八结构体数组排序3 (19)题目八结构体数组排序4 (20)题目九结构体数组求最值1 (22)题目九结构体数组求最值2 (23)题目九结构体数组求最值3 (23)题目九结构体数组求最值4 (24)题目十结构体数组筛选 (25)题目十一结构体数组字符串比较 (26)题目十二矩阵操作1 (27)题目十二矩阵操作2 (28)题目十三类似素数判断1 (29)题目十三类似素数判断2 (30)题目十四累加累乘求和1 (30)题目十四累加累乘求和2 (31)题目十四累加累乘求和3 (31)题目十四累加累乘求和4 (32)题目十四累加累乘求和5 (32)题目十四累加累乘求和6 (33)题目十四累加累乘求和7 (34)题目十四累加累乘求和8 (35)题目十四累加累乘求和9 (35)题目十四累加累乘求和10 (36)题目十四累加累乘求和11 (37)题目十四累加累乘求和12 (37)题目十四累加累乘求和13 (38)题目十四累加累乘求和14 (39)题目十四累加累乘求和15 (39)题目十四累加累乘求和16 (40)题目十五链表2 (42)题目十六删除整数位某数位 (43)题目十七删除字符串中指定字符1 (44)题目十七删除字符串中指定字符2 (45)题目十七删除字符串中指定字符3 (45)题目十七删除字符串中指定字符4 (46)题目十七删除字符串中指定字符5 (47)题目十七删除字符串中指定字符6 (47)题目十七删除字符串中指定字符7 (48)题目十七删除字符串中指定字符8 (48)题目十七删除字符串中指定字符9 (49)题目十七删除字符串中指定字符10 (50)题目十七删除字符串中指定字符11 (50)题目十七删除字符串中指定字符12 (51)题目十七删除字符串中指定字符13 (52)题目十七删除字符串中指定字符14 (53)题目十七删除字符串中指定字符15 (54)题目十七删除字符串中指定字符16 (54)题目十七删除字符串中指定字符17 (55)题目十七删除字符串中指定字符18 (56)题目十八数字字符串转整数1 (57)题目十八数字字符串转整数2 (58)题目十九素数判定1 (58)题目十九素数判定2 (59)题目十九素数判定3 (60)题目二十统计问题 (61)题目二十一小数位操作 (62)题目二十二一维数组或字符串排序1 (62)题目二十二一维数组或字符串排序2 (63)题目二十二一维数组元素的筛选1 (64)题目二十二一维数组元素的筛选2 (64)题目二十二一维数组元素的筛选3 (65)题目二十二一维数组元素的筛选4 (66)题目二十二一维数组元素的筛选5 (67)题目二十二一维数组元素的筛选6 (67)题目二十二一维数组元素的筛选7 (68)题目二十二一维数组元素的筛选8 (69)题目二十二一维数组元素的筛选9 (70)题目二十三一维数组元素筛选 (70)题目二十五一维数组最值求解1 (71)题目二十五一维数组最值求解2 (72)题目二十五一维数组最值求解3 (73)题目二十六移动问题1 (73)题目二十七整数合并1 (75)题目二十七整数合并2 (75)题目二十七整数合并3 (76)题目二十七整数合并4 (76)题目二十七整数合并5 (77)题目二十七整数合并6 (77)题目二十七整数合并7 (78)题目二十七整数合并8 (78)题目二十八字符串长度比较1 (78)题目二十八字符串长度比较2 (79)题目二十九字符串的逆置 (80)题目三十字符串计数 (81)题目三十一字符串连接1 (82)题目三十一字符串连接2 (82)题目三十一字符串连接3 (83)题目三十二字符串中指定字符查找 (84)题目三十三字母大小的判断及转换 (84)题目一“回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。

国家二级C语言机试程序设计基础软件工程基础-试卷1_真题(含答案与解析)-交互

国家二级C语言机试程序设计基础软件工程基础-试卷1_真题(含答案与解析)-交互

国家二级C语言机试(程序设计基础、软件工程基础)-试卷1(总分68, 做题时间90分钟)1. 选择题1.下列描述中,不符合良好程序设计风格要求的是SSS_SINGLE_SELA 程序的效率第一,清晰第二B 程序的可读性好C 程序中要有必要的注释D 输入数据前要有提示信息分值: 2答案:A解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。

程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。

2.下列选项中不属于结构化程序设计原则的是SSS_SINGLE_SELA 可封装B 自顶向下C 模块化D 逐步求精分值: 2答案:A解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。

3.下列选项中不属于结构化程序设计方法的是SSS_SINGLE_SELA 自顶向下B 逐步求精C 模块化D 可复用分值: 2答案:D解析:结构化程序设计方法的主要原则可以概括为:自顶向下,步求精,模块化,限制使用goto语句。

自顶向下是指程序设计时应先考虑总体,后考虑细节:先考虑全局目标,后考虑局部目标。

逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。

模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。

可复用性是指软件元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。

软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不属于结构化程序设计方法。

4.下列选项中不符合良好程序设计风格的是SSS_SINGLE_SELA 源程序要文档化B 数据说明的次序要规范化C 避免滥用goto语句D 模块设计要保证高耦合、高内聚分值: 2答案:D解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。

程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案一、程序填空题(共18分)、下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。

请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANKl.c中。

不得增行或删行,也不得更改程序的结构!二、程序修改题(共l8分)下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!三、程序设计题(共24分)编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为l,则输出3。

注意:部分源程序在文件PROCl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。

参考答案一、程序填空题【参考答案】(1)j++或j+=1或++j或j=j+1(2)s[i]=t1[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。

【解题思路】填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。

填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。

填空3:最后将敦字字符加到s串之后,并且i要小于数字的.个数j。

二、程序修改题【参考答案】(1)fh(j=i+1;j<6;j++)(2)*(pstr+i)=}(pstr+j);【考点分析】本题考查:冒泡排序算法;for循环语句格式;指针数组。

二级c语言程序设计习题及解答ch9数组

二级c语言程序设计习题及解答ch9数组

第九章数组一、选择题[9。

1]若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0<=i〈=9,则对a数组元素的引用不正确的是A)a[p-a] B) *(&a[i]) C)p[i] D) *(*(a+i))【解析】A:p开始是数组a首地址,只要p++则再减去a的首地址a[p—a]就能取到所有元素,B:&a[i]循环取其地址,*(&a[i])是该地址中所存储的元素C:p就是指针变量,相当于a[i],D:*(a+i) 则正确[9.2]以下程序段数组所有元素输入数据,应在下划线填入的是A)a+(i++) B) &a[i+1] C) a+i D)&a[++i]main(){ int a[10],i=0;while(i〈10) scanf(”%d",_);}【解析】因为要遍历,所以排除B。

C,因为D先加1再取值,丢了a[0][9。

3]以下程序的输出结果是A)3 B) 4 C)1 D)2main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(”%d\n",*(p+2));}【解析】*p=a;p指向首地址,*(p+2))往后移动两个元素,指向3[9.4]以下程序的输出结果是A) 不确定的值 B) 3 C) 2 D)1main(){ int n[2]={0},i,j,k=2;for(i=0;i〈k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n”,n[k]);}[9。

5] 以下程序的输出结果是A)17 B)18 C)19 D)20main(){int a[]={2,4,6,8,10},y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n”,y);}【解析】p=&a[1]则p指向元素为4,y+=*(p+x);相当于y=1+4+6+8=19[9.6]以下程序的输出结果是A)6 B)8 C) 4 D) 2main(){int a[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++) a[i]=*p++;printf("%d\n",a[2]);}【解析】p=a,相当于重新把a中的内容赋给a本身,所以a[2]=6[9.7] 以下程序的输出结果是A) 720 B) 120 C) 24 D)6f(int b[],int n){ int i,r=1;for(i=0;i〈=n;i++)r=r*b[i];return r;}main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n”,x);}【解析】调用x=f(a,3);for循环4次,将前四个元素相乘,即得r=2*3*4*5;[9.8]以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是A) 212 B) 204 C) 1a4 D) 1a6 12main(){ int a[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf(”%x\n",p);printf(”%x\n”,p+9); }【解析】因为开始p的地址为194,p+9是指指针向后移动9个元素,而不是9个字节,每个int占2个字节,所以共移动18个字节,1个字节占一个存储单位,%x\n”是16进制,将18转化成16进制是12,所以194+12=2a6[9。

计算机二级考试C语言程序设计试题及答案

计算机二级考试C语言程序设计试题及答案

计算机二级考试C语言程序设计试题及答案计算机二级考试C语言程序设计试题及答案计算机二级考试采用全国统一命题、统一考试的形式。

下面店铺整理了计算机二级考试C语言程序设计试题及答案,希望对大家有帮助!一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。

(1) 下列述叙中正确的是A) 显示器和打印机都是输出设备 B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格(2) 微型计算机中运算器的主要功能是进行A) 算术运算 B) 逻辑运算 C) 算术和逻辑运算 D) 初等函数运算(3) COMMAND。

COM是DOS系统的最外层模块,通常称之为A) 引导程序 B) 输入输出系统 C) 命令处理系统 D) 文件管理系统(4) 电子邮件是A)网络信息检索服务B)通过Web网页发布的公告信息C)通过网络实时交互的信息传递方式D)一种利用网络交换信息的非交互式服务(5) 和十进制数225相等的二进制数是A) 11101110 B) 11111110 C) 10000000 D) 11111111(6) 下列叙述中正确的是A) 指令由操作数和操作码两部分组成B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集(7) 计算机的内存储器比外存储器A) 价格便宜 B) 存储容量大 C) 读写速度快 D) 读写速度慢(8) 设当前盘为C盘,执行DOS命令"COPY B:A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件(9) 要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:WSB1.TXT B:.TXTC) COPY A:X1.TXT+C:WSB1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT(10) 下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON(11) 设当前目录为D:BB,现要把D:AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL AAA.TXTC) DEL AAA*.TXT D) DEL AAA?.TXT(12) 在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标B) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标(13) 在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框(14) 在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中 B) ROM中 C) 硬盘中 D) 寄存器中(15) 使计算机病毒传播范围最广的媒介是A) 硬磁盘 B) 软磁盘 C) 内部存储器 D) 互联网(16) 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(17) 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d ", d*y);}(18) 下列程序执行后的输出结果是(小数点后只写一位)A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f ", i,l,f,d);}(19) 下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;(20) 设 int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1 C) 2 D) -1(21) 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1; B) if(x)else if(x<0)y=-1; if(x>0)y=1;else y=0; else if(x<0)y=-1;else y=0;C) y=-1 D) y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;else if(x==0)y=0; else y=-1;else y=-1;(22) 以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d ",i);}(23) 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

全国计算机等级考试二级C语言程序设计真题精选6一、单项选择题1.有以下程序:#includ<stdio.h>#defin4voifun(ina[][N],inb[])ini; for(i=0;i<N;i++)b[i]=a[i][i];}main()inx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("");}程序运行的结果是()。

A.1,2,3,4,B.1,0,7,0, √C.1,4,5,9D.3,4,8,0解析:数组x有4列。

fun函数中for循环的作用是将二维数组前4行的对角线元素赋给b[0],b[1],b[2],b[3]。

在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1,0,7,0,。

2.有以下程序:#includ<stdio.h>main()chaa=4; printf("%",a=a<<1);}程序运行的结果是()。

A.40B.16C.8 √D.4解析:左移一位相当于原数乘以2,右移一位相当于除以2。

a<<1结果为4*2=8,没有超过char类型的范围。

3.一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。

4.有以下程序:#includ<stdio.h>strucstinx,y;data[2]={1,10,2,20};main ()strucs*p=data; printf("%d,",p->y);printf("%",(++p)->x);}程序运行的结果是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言程序设计请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函数。

int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}编写函数fun ,其功能是:根据以下公式求π的值(要求精度,即某项小于时停止迭代)。

()1121231234121233535735793521n n π⨯⨯⨯⨯⨯⨯⨯⨯⨯=++++++⨯⨯⨯⨯⨯⨯⨯⨯⨯+………… 程序运行后,若输入精度,则程序应输出为…。

double fun ( double eps){double s=,s1=;int n=1;while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/{s1=s1*n/(2*n+1); /*求多项式的每一项*/s=s+s1; /*求和*/n++;}return 2*s;}编写函数fun ,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a 所指的数组中,通过n 返回这些数的个数。

void fun (int *a, int *n){int i,j=0;for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a 中*/if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:删除字符串中所有的*号。

编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。

void fun( char *a ){int i,j=0;for(i=0;a[i]!='\0';i++)if(a[i]!='*')a[j++]=a[i]; /*若不是要删除的字符'*'则留下*/a[j]='\0';}规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。

例如,字符串中的内容为:"*******A*BC*DEF*G****",删除后字符串中的内容应当是:"A*BC*DEF*G****"。

编写函数时,不得使用C语言提供的字符串函数。

void fun( char *a ){char *p=a;while(*p=='*') p++; /*指针p指向字符串第一个字母*/for(;*p!='\0';p++,a++)*a=*p; /*从第一个字母开始,其后的字符都放入指针a所指的字符串中*/*a='\0'; /*在字符串最后加上字符串结束标识*/}假定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。

形参p已指向字符串中最后的一个字母。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFG*******。

void fun( char *a, char *p ){char *t=a;for(;t<=p;t++)if(*t!='*')*(a++)=*t;for(;*t!='\0';t++)*(a++)=*t;*a='\0';/*在字符串最后加上字符串结束标识*/}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。

形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"A*BC*DEF*G"。

void fun( char *a, int n,int h,int e ){int i,j=0;for(i=h;i<n-e;i++) /*第一个字母和最后一个字母之间的字符全不删除*/a[j++]=a[i];a[j]='\0'; /*在字符串最后加上结束标识*/}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其它*号全部删除。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。

void fun( char *a ){int i=0;char *p=a;while(*p&&*p=='*'){a[i]=*p;i++;p++;}while(*p){if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。

例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"****A*BC*DEF*G"。

在编写函数时,不得使用C语言提供的字符串函数。

void fun( char *a ){while(*a!='\0')a++;a--; /*指针a指向字符串的尾部*/while(*a=='*')a--; /*指针a指向最后一个字母*/*(a+1)='\0'; /*在字符串最后加上结束标志符*/}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。

例如,字符串中的内容为:"*******A*BC*DEF*G****",移动后,字符串中的内容应当是:"A*BC*DEF*G***********"。

在编写函数时,不得使用C语言提供的字符串函数。

void fun( char *a ){int i=0,n=0;char *p;p=a;while (*p=='*') /*判断*p是否是*号,并统计*号的个数*/{n++;p++;}while(*p) /*将前导*号后的字符传递给a*/{a[i]=*p;i++;p++;}while(n!=0){a[i]='*';i++;n--;}a[i]='\0';}编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:FirstString--SecondString程序输出:FirstString--SecondStringvoid fun(char p1[], char p2[]){int i,j;for(i=0;p1[i]!='\0';i++) ;for(j=0;p2[j]!='\0';j++)p1[i++]=p2[j];p1[i]='\0';}某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:,76,,85,91,72,,,则他的平均分应为。

void fun(STREC *a){int i;a->ave=;for(i=0;i<N;i++)a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/a->ave/=N; /*求平均分*/}N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,其功能是:求出平均分,并由函数值返回。

例如,若学生的成绩是:8576698591726487,则平均分应当是:。

double fun( STREC *h ){double ave=;STREC *p=h->next;while(p!=NULL){ ave=ave+p->s;p=p->next;}return ave/N;}编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:46891012141516。

void fun( int m, int *k, int xx[] ){int i,j,n=0;for(i=4;i<m;i++) /*找出大于1小于整数m的非素数*/{ for(j=2;j<i;j++)if(i%j==0) break;if(j<i) xx[n++]=i;}*k=n; /*返回非素数的个数*/}编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串2,输入字符为1,则输出3。

int fun(char *ss, char c){int i=0;for(;*ss!='\0';ss++)if(*ss==c)i++;/*求出ss所指字符串中指定字符的个数*/return i;}编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。

例如:若有5门课程的成绩是:,72,80,,55,则函数的值为:。

float fun ( float *a , int n ){int i;float av=;for(i=0; i<n;i++) /*求分数的总和*/av=av+a[i];return(av/n); /*返回平均值*/}学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。

注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

int fun( STREC *a, STREC *b ){int i,j=0,max=a[0].s;/*找出最大值*/for(i=0;i<N;i++)if(max<a[i].s) max=a[i].s;for(i=0;i<N;i++)if(max==a[i].s)b[j++]=a[i]; /*找出成绩与max相等的学生的记录,存入结构体b中*/ return j; /*返回最高成绩的学生人数*/}编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。

相关文档
最新文档