二级C语言机试-153_第1页
二级C语言机试-153_第2页
二级C语言机试-153_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、二级C语言机试-153(总分:100.00,做题时间:90分钟)一、填空题(总题数:1,分数:30.00)函数fun的功能是:从三个形参 a, b, c中找出中间的那个数,作为函数值返回。例如,当a=3, b=5,c=4时,中间的数为 4。注意:部分源程序已给岀。请勿改动主函数 main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句试题程序:#include < stdio.h >int fun(int a ,int b ,int c) int t ;t=(a > b)?(b > c?b: (a > c?c : (1) (a >

2、c)? (2)_: (b > c)?c : (3) return t void main() int a1=3 ,a2=5, a3=4,r ;r=fun(a1 ,a2,a3);printf("/nThe middle number is: %d/n",r);(分数:30.00 )填空项1:(正确答案:a)解析:填空项1:(正确答案:a)解析:填空项1:(正确答案:b)解析:解析本题考查条件运算符嵌套构成复杂的条件表达式的能力。条件运算符规则为:表达式?a:b,首先判断表达式值,若为真(即非零)则取a值作为整条语句的值,否则取b作为整条语句的值。其中条件fun函数的功能

3、是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。fun函数中复杂的表达式可以转换成If-else语句,则可以清楚地判断岀第1处填a,第2处填a,第3处填b。二、改错题(总题数:1,分数:30.00)1.下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例如,若给a输入字符串:” ABCDEFGHIJK,调用函数后, 字符数组b中的内容为:” ABCDEFGHI JK”。 请改正程序中的错误,使它能得岀正确结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include < stdio

4、.h >void fun(char*p , char*b)int i , k=0;while(*p)i=1 ;while(i < =3&&*p)*found*bk=p ; k+; p+; i+ ;if(*p)*found*bk+="" ;bk='/0' ;void main()char a80 , b80 ; printf("Enter a string: ") ;gets(a) ;printf("The original string: ") ;") ;puts(a) ; fun

5、(a , b) ;printf("/nThe string after insert space puts(b) ; printf("/n/n");(分数: 30.00 )填空项 1: (正确答案: (1)bk=*p ;(2)bk='' ; k+;)解析: 解析 此题,首先要知道函数的参数类型可以是整型、实型、字符型和指针型。此处正是指针类型 变量作为函数的参数,因此 bk=*p ,而不是 bk=p ;题目要求在三个字符后加一个空格。通过条件表达 式i v =3&&*p,找到不需移动的字符(从第4个位置开始,每隔3个字符)并将其存入

6、数组b中,此时 下标落到了需要移动字符的位置,将数组b中此位置插入空格,具体语句为:bk=" ; k+,继续执行直到处理到字符串 p 的最后一个字符。三、编程题 (总题数: 1,分数: 40.00)2.编写函数 fun ,其功能是:求 ss 所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串” 123412132”,输入字符为” 1”,则输出3。注意:部分源程序已给出。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序:#include v stdlib.h >#include v conio.h >#

7、include v stdio.h >#define M 81int fun(char*ss , char c)int i=0;for( ; *ss!='/0'; ss+)if(*ss=c)i+ ; /* 求出 ss 所指字符串中指定字符的个数 */return 1 :void main()char aM ,ch ; system("CLS") ; printf("/n Please enter a string:") ;gets(a) ; printf("/nPlease enter a char ch=getchar() ; printf("/nThe number of the char is:") ;%d/n", fun(a ,ch) ;分数: 40.00 )正确答案: (int fun(char*ss, char c)int i=0 ;for( ;*ss!='/0' ; ss+)if(*ss=c)i+ ;/* 求出 ss 所指字符串中指定字符的个数 */return i ;)解析: 解析 此题考查用 for 循环遍历字符串和通过条件表达式 *ss!='/0'

温馨提示

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

评论

0/150

提交评论