第五届全国ITAT技能大赛c复赛试题+模拟试题两套.docx
《第五届全国ITAT技能大赛c复赛试题+模拟试题两套.docx》由会员分享,可在线阅读,更多相关《第五届全国ITAT技能大赛c复赛试题+模拟试题两套.docx(10页珍藏版)》请在冰豆网上搜索。
第五届全国ITAT技能大赛c复赛试题+模拟试题两套
两套卷子,供您参考
第五届全国ITAT教育工程就业技能大赛复赛试题
C语言程序设计(A卷)
1.编程解决如下数学问题:
有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?
要求以如下格式打印出分水步骤。
(20分)
a12 b8 c5
12 0 0
* * *(“*”表示当前状态下每个容器的盛水量)
......
0 6 6
2.编程实现:
有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行输出新数组。
(20分)
3.编程:
设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)-cos(x)的最大值,要求使用自定义函数实现f(x)功能。
(20分)
4.编写函数fun,通过指针实现将一个字符串反向。
要求主函数输入字符串,通过调用函数fun实现输入字符串反向。
(20分)
5.已知学生三门课程基本信息如下。
请使用结构体编程,计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并按平均分排序。
(20分)
姓名 数学英语计算机
Mary 93 100 88
Jone 82 90 90
Peter 91 76 71
Rose 100 80 92
6.附加题:
编程实现输入一串英文,统计其中各单词出现的个数(不区分大小写字母),以“000”作为字符串输入结束标志,例如:
Twinkletwinklelittlestar000(回车)
twinkle little star
2 1 1 (50分)
第五届全国ITAT教育工程就业技能大赛复赛试题
C语言程序设计(B卷)
1、编程解决如下问题:
鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡, 问鸡翁,鸡母,鸡雏各几何?
(20分)
2、编程实现:
有二维数组a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}},将数组a的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。
(20分)
3、编程:
设x、y取值为区间[1,10]的整数,f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小值的x1、y1,要求使用自定义函数实现f(x,y)功能。
(20分)
4、编写函数fun,其功能是:
在字符串中所有数字字符前加一个“*”字符,要求通过指针实现。
(20分)
5、编程:
已知学生记录由学号和学习成绩构成,N名学生的记录已存入结构体数组中,找出成绩最低的学生,并输出这个学生的信息,已知学生信息如下。
(20分)
A01,81;A02,89;A03,66;A04,87;A05,77
A06,90;A07,79;A08,61;A09,80;A10,71
6、附加题:
编写一个函数InverseByWord(char*sentence),实现一个英文句子按单词逆序存放的功能,并给出测试程序。
(50分)
如:
Thisisaninterestingprogramme.
逆序后变为:
.programmeinterestinganisThis
第四届全国ITAT教育工程就业技能大赛模拟试题
(比赛科目:
C语言程序设计)
该试卷只用于测试考试环境,非预赛模拟题,仅供参考。
一、单选题(15题每题1分共15分)
1.一个c程序的执行是从_____。
(知识点:
1.3)
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
2.下列字符串为标识符的是_____。
(知识点:
3.2)
A)_1_AB)5_studentC)longD)!
DF
3.下面字符常量正确的是_____。
(知识点:
3.5)
A)“c”B)‘\\''C)‘n’D)‘ab’
4.已知各变量的类型说明如下:
intk,a,b;
unsignedw=5;
doublex=1.42;
则以下不符合c语言语法的表达式是______。
(知识点:
3.9)
A)x%(-3)B)w+=-2C)k=(a=2,b=3)D)a+=a-=a=3
5.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为____。
(知识点:
3.8)
A)7B)8C)9D)10
6.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出方式为____。
(知识点:
4.4)
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
7.有一函数关系见下表:
x
y
x<0
x-1
x=0
x
x>0
x+1
下面程序段中能正确表示上面关系的是_____。
(知识点:
5.3)
A)y=x+1;B)y=x-1;
if(x>=0)if(x!
=0)
if(x==0)y=x;if(x>0)y=x+1;
elsey=x-1;elsey=x;
C)if(x<=0)D)y=x;
if(x<0)y=x-1;if(x<=0)
elsey=x;if(x<0)y=x-1;
elsey=x+1;elsey=x+1;
8.若运行时给变量x输入12,则以下程序的运行结果是_____。
(知识点:
5.2)
main()
{intx,y;
scanf("%d",&x);
y=x>12?
x+10:
x-12;
printf("%d\n",y);}
A)0B)22c)12D)10
9.设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是______。
(知识点:
6.3)
A)while循环执行10次B)循环体语句一次也不执行
B)循环是无限循环D)循环体语句执行一次
10.c语言中whi1e和do-while循环的主要区别是_____。
(知识点:
6.4)
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件严格
C)do-while允许从外部转到循环体内
D)do-while的循环体不能是复合语句
11.若i为整型变量,则以下循环执行次数是_____。
(知识点:
6.5)
for(i=0;i<=5;i++)
printf(“%d”,i);
A)5B)0次C)1次D)6次
12.定义如下变量和数组
intk;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是_____。
(知识点:
7.2)
for(k=0;k<3;k++)
printf(“%d”,a[k][2-k]);
A)357B)369C)159D)147
13.以下函数定义形式正确的是_____。
(知识点:
8.2)
A)doublefun(intx,inty)
B)doublefun(intx;inty)
C)doublefun(intx,inty);
D)doublefun(intx,y);
14.变量的指针,其含义是指该变量的_____。
(知识点:
9.1)
A)值B)地址c)名D)一个标志
15.若有说明int*p,m=5,n;以下程序段正确的是_____。
(知识点:
9.2)
A)p=&n;B)p=&n;
scanf("%d",&p);scanf("%d",*p);
C)scanf("%d",&n);D)p=&n;
*p=*n;*p=m;
二、多选择题(5题每题2分共10分)
1.若有定义inta[5],则下列对a数组元素或地址的引用错误的有_____。
(知识点:
7.1)
A)&a[5]B)a[2]C)a++D)*aE)a[0]
2.以下关于C语言中循环的描述正确的有_____。
(知识点:
6.7)
A)在while和do-while循环体内应包含使循环趋于结束的语句
B)do-while的循环体不能是复合语句
C)do-while的循环体至少无条件执行一次
D)在for循环中可以使用break语句跳出循环体
E)for循环只能用于循环次数已经确定的情况
3.设有inta=3,b=5;下面表达式值不等于1的有_____。
(知识点:
5.1)
A)a<0&&b<0B)a=fabs(b)-(a+1)
C)a
E)!
(a>0&&b<0)
4.整型变量的类型标识符包括_____。
(知识点:
3.3)
A)shortB)longC)UnsignedintD)intE)ch
5.以下叙述正确的有_____。
(知识点:
8.6)
A)一个C语言程序有且仅有一个main函数
B)C语言程序中,main函数是没有参数的
C)一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用
D)main函数是由系统调用的
E)若要通过函数参数带回多个返回值,则应使用按地址传送的参数结合方式
C语言程序设计预赛模拟题答案
一、单选题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
A
C
A
B
B
C
A
B
A
D
A
A
B
D
二、多选题
1
2
3
4
5
AD
ACDE
AD
ABCD
ABCE
附知识点列表:
1.C语言概述
本章主要介绍了C语言的特点、基本结构、基本输入输出语句和C程序的编辑、编译、运行方法,要求了解C语言的特点,掌握C程序的基本结构,熟悉C程序的编辑、编译、调试和运行过程。
1.1C语言出现的历史背景
1.2C语言的特点
1.3简单的C程序介绍
1.4C程序的上机步骤
2.程序的灵魂——算法
本章主要讲了关于算法的一些问题。
要求大家了解算法的概念、表示和特性。
2.1算法的概念
2.2简单算法举例
2.3算法的特性
2.4怎样表示一个算法
2.5结构化程序设计方法
3.数据类型、运算符与表达式
本章主要介绍了C语言的基本数据类型、各种运算符、以及运算符的功能、结合性和优先级。
要求掌握含有这些运算符的表达式值的判定,并且在编程中熟练运用这些运算符解决问题。
3.1C的数据类型
3.2常量与变量
3.3整型数据
3.4实型数据
3.5字符型数据
3.6变量赋初值
3.7各类数值型数据间的混合运算
3.8算术运算符和算术表达式
3.9赋值运算符和赋值表达
3.10逗号运算符和逗号表达式
4.最简单的C程序设计--顺序程序设计
本章主要讲了C语言基本输入输出语句和顺序程序设计的一般方法。
要求大家掌握赋值语句、putchar函数、getchar函数、printf函数、scanf函数和顺序程序的结构。
4.1C语句概述
4.2赋值语句
4.3数据输入输出的概念及在C语言中的实现
4.4字符数据的输入输出
4.5格式输入与输出
4.6顺序结构程序设计举例
5.选择结构程序设计
本章主要介绍了C语言提供的选择结构语句:
if语句、if-else语句和switch语句。
要求大家掌握并熟练使用if语句的和switch语句。
5.1关系运算符和关系表达式
5.2逻辑运算符和逻辑表达式
5.3if语句
5.4switch语句
6.循环结构程序设计
本章主要介绍了C语言提供的三种循环结构语句:
while语句、do-while语句和for语句,介绍了循环结构中常用的语句break、continue的使用以及循环的嵌套。
要求大家掌握这三种循环结构的使用,理解break和continue在循环结构中的不同作用,了解循环的嵌套。
6.1概述
6.2goto语句以及用goto语句构成循环
6.3while语句
6.4do-while语句
6.5for语句
6.6循环的嵌套
6.7几种循环的比较
6.8break语句和continue语句
7.数组
本章介绍C语言中数组的定义和使用,其中重点介绍一维数组、二维数组的定义、引用、初始化和作为函数参数时数据传递方式。
要求大家熟练掌握一维数组、二维数组的应用,并且理解数组元素和数组名作函数参数的不同,进而灵活运用数组作函数参数编程。
7.1一维数组的定义和引用
7.2二维数组的定义和引用
7.3字符数组
8.函数
通过介绍C语言函数的概念、定义和调用,要求掌握函数的定义、调用方式,了解函数形参和实参的特点,掌握函数的嵌套调用和递归调用,并能熟练编写具有一定功能的函数。
8.1概述
8.2函数定义的一般形式
8.3函数参数和函数的值
8.4函数的调用
8.5函数的嵌套调用
8.6函数的递归调用
8.7数组作为函数参数
8.8局部变量和全局变量
8.9变量的存储类别
8.10内部函数和外部函数
9.指针
本章主要介绍了C语言中指针的基本概念和指向变量的指针变量、指向一维数组、二维数组的指针变量和指向字符串的指针变量的定义及使用,要求掌握指针变量的定义和引用,掌握指向数组元素和字符串中字符的指针变量的使用,理解指针变量作函数参数与数组名或字符串作函数参数的关系。
9.1地址和指针的概念
9.2变量的指针和指向变量的指针变量
9.3数组的指针和指向数组的指针变量
9.4字符串的指针和指向字符串的指针变量
9.5函数的指针和指向函数的指针变量
9.6返回指针值的函数
9.7指针数组和指向指针的指针
10.结构体与共用体
本章主要介绍C语言中的两种类型的定义和使用:
结构体类型和共用体类型。
要求大家掌握结构体类型、共用体类型的变量的定义,掌握结构体类型和共用体类型变量及其成员的引用等基本操作,理解结构体数组的应用,理解结构体和共用体变量存储形式的不同。
10.1概述
10.2定义结构体类型变量的方法
10.3结构体变量的引用
10.4结构体变量的初始化
10.5结构体数组
10.6指向结构体类型数据的指针
10.7用指针处理链表
10.8共用体
10.9枚举类型
10.10用typedef定义类型