CC++语言样卷.docx
- 文档编号:8690639
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:15
- 大小:20.78KB
CC++语言样卷.docx
《CC++语言样卷.docx》由会员分享,可在线阅读,更多相关《CC++语言样卷.docx(15页珍藏版)》请在冰豆网上搜索。
CC++语言样卷
计算机程序设计基础(C/C++)样卷
一、单项选择题(每题1分,共10分)
1.要定义三个整型变量,正确的是()
A.inta,3a,*p;B.intx,y.c,sum;
C.inta,b,sum_ab;D.intn,struct,y;
2.数学关系式x≤y≤z可用C语言的表达式表示为()
A.x<=y&&y<=zB.(x<=y)and(y<=z)
C.x<=y<=zD.(x<=y)&(y<=z)
3.if(flag)…;语句中的表达式flag等价于()
A.flag==0B.flag!
=0C.flag!
=1D.flag==1
4.在循环结构的循环体中执行break语句,其作用是()
A.结束本次循环,进行下次循环
B.继续执行break语句之后的循环体中各语句
C.跳出该循环体,提前结束循环
D.终止程序运行
5.在下列语句中,不正确的是()
A.inta[5]={1,2,3};B.intn=5,a[n];
C.inta[5];D.inta[N];//前面已有#defineN10
6.下列说法正确的是()
A.一个程序中可以出现一个以上的主函数
B.主函数中定义的变量,其作用域为整个程序
C.C程序区分大小写
D.实参和形参不可以同名
7.已知:
structpoint
{inta;
intb;
}data,*p=&data;
则对data中的成员a引用不正确的是()。
A、p.aB、p->aC、(*p).aD、data.a
8.在C语言中,以()作为字符串结束标志
A.‘\n’B.’\0’C.‘0’D.‘’
9.如有定义:
inta,*p=&a;不能对变量a正确赋值的是()
A.cin>>p;B.*p=15;C.a=15;D.cin>>a;
10.不能实现2数交换功能的函数是()
A.voidswapa(intx,inty)B.voidswapb(int&x,int&y)
{inttemp;{inttemp;
temp=x;x=y;y=temp;}temp=x;x=y;y=temp;}
C.voidswapc(int*x,int*y)
{inttemp ;
temp=*x;*x=*y;*y=temp;}
二、阅读程序(每小题5分,共40分)
1.#include
usingnamespacestd;
若输入23和5,运行结果为:
若输入46和7,运行结果为:
intmain(void)
{inta,b,c;
cout<<"inputaandb:
";
cin>>a>>b;
cout<<"inputa+b=";
cin>>c;
if(a+b==c)
cout<<"right!
"< else cout<<"error! "< return0;} 2.#include 若输入2,运行结果为: 若输入3,运行结果为: usingnamespacestd; intmain(void) {intchoice; floatprice; cout<<"Enterchoice: "; cin>>choice; switch(choice) { case1: price=3; case2: price=2.5;break; case3: price=4; case4: price=3.5;break; default: price=0.0; } cout<<"price="< return0;} 3.#include 若输入4↙,运行结果为: 如去掉for语句后面的{},运行结果为: usingnamespacestd; intmain(void) {inti,n; floatitem,sum; cout<<"Entern: "; cin>>n; sum=0; for(i=1;i<=n;i++) { item=1.0/(2*i-1); sum=sum+item;} cout<<"sum="< return0;} 4.#include usingnamespacestd; 若输入73↙,运行结果为: 若输入-129↙,运行结果为: intsum_dig(intnum) {intk=0; do {k=k+(num%10); num=num/10; }while(num); returnk;} intmain(void) {intm=1,n; cout<<“\ninputdata: ”; cin>>n; if(n<0) m=-1; cout< return0;} 选择你认为必须的几组测试数据,并写出运行结果 测试数据运行结果 5.#include usingnamespacestd; intmain(void) {intscore; cout<<"Enteryourgrade: "; cin>>score; if(score>100||score<0) cout<<“inputerror! \n”; elseif(score>=80) cout<<"yourgradeisA\n"; elseif(score>=60) cout<<"yourgradeisB\n"; else cout<<"yourgradeisC\n"; return0;} 程序功能: 运行结果(不必写出全部结果,示意清楚即可): 6.#include usingnamespacestd; intmain(void) { inti,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) cout< cout< return0;} 7.#include usingnamespacestd; #defineN6 运行结果为: intmain(void) {inti; intfib[N]={1,1}; for(i=2;i fib[i]=fib[i-1]+fib[i-2]; for(i=0;i cout< cout< return0;} 运行结果为: 程序功能为: 8.#include usingnamespacestd; intmain(void) {inti,j,sum; inta[2][3]={1,2,3,4,5,6}; for(i=0;i<2;i++){ for(j=0;j<3;j++) cout< cout< for(i=0;i<2;i++){ sum=0; for(j=0;j<3;j++) sum=sum+a[i][j]; cout<<"sum”< cout< } return0;} 三、在划线处填上适当的语句或表达式,使程序能实现要求的功能(每空2分,共10分) 1.程序功能: 在数组(组内无重值)中查找x,找到,显示其在数组中的下标 #include usingnamespacestd; constintN=5; intmain(void) {inti,x,a[N]; cout<<"\nEnterintegers: "; for(i=0;i cin>>a[i]; cout<<"Enterx: "; cin>>x; for(i=0;;i++) if(){ cout<<"Indexis"< break; } if(i>=N) cout<<“NOTfind”< return0;} 2.(中国古典算术问题)某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。 问用45人正好搬45块砖,列出所有有效的搬法,并统计有多少种搬法。 #include usingnamespacestd; intmain(void) {intchild,women,men,n=0; for(men=0;men<=15;men++) for() for(child=0;child<=44;child=child+2) if(men*3+women*2+child/2==45&&) {cout<<"men="< ;} cout<<"n="< return0;} 四.根据程序功能要求,找出错误,并改正,若是找不出错误,请具体说明如何调试排错(每题4分,共8分) 1.程序功能为: 输入1批学生成绩,以负数结束,求平均分。 #include usingnamespacestd; intmain(void) {intn=0; intscore,sum; cout<<“pleaseinputthescore: ”; cin>>score; while(score>=0) {sum=score+sum;//第9行 n++; } if(n>0) cout<<“theaveis”<<(float)sum/n; else cout<<“novaliddata”; return0;} 该程序没有语法错误,第9行有一个警告,localvariable'sum'usedwithouthavingbeeninitialized 程序运行结果不对,现象是如输入的第一个数是负数,运行结果为novaliddata;如输入的第一个数不是负数,则程序无法结束。 请根据以上信息,分析程序,找出错误(2处)并改正(可在原题处更改)。 2.程序功能: 输入一个形式如“操作数运算符操作数”的四则运算表达式,输出运算结果。 原程序没有考虑除数为零的情况,请改进程序。 #include usingnamespacestd; intmain(void) { floatdata1,data2; charop; cout<<“\npleaseinputexpressionlikethis: 3.14*5\n”; cin>>data1>>op>>data2; switch(op) {case‘+’: cout< case‘-‘: cout< case’*’: cout< case’/’: cout< break; default: cout<<“inputerror! ”< } return0;} 五.编程题(每题8分,共32分) 1.C语言总成绩由平时成绩和期末成绩两部分组成,平时成绩占30%,期末成绩占70%,输入你希望的总成绩(百分制),再输入平时成绩(百分制),计算并显示出你期末试卷应该达到的分数(百分制),并给出2组测试数据及预期结果。 (编程不必考虑输入出错的情况,注意是求期末成绩,而不是总成绩) y=5x+1x<0 y=1/x0≤x<1 y=x31≤x 2.编写一个程序,实现右侧的分段函数(即当用户从键盘输入任意一个x值,程序可以求出对应的y值并输出) 3.自定义一个函数计算圆柱体的体积,并编写主函数,输入半径和高,调用函数求出圆柱体体积 4.定义一个长度为6的整型数组,从键盘输入6个数据给数组,找出并显示最大值和它所对应的下标。 参考答案及评分标准 一、选择题,评分标准: 每题1分,共10分 CABCBCABAA 二、阅读程序;评分标准: 每题5分,可根据答案给0~5分。 共40分 1.若输入23和5,运行结果为: right ! 若输入46和7,运行结果为: error ! 2.若输入2,运行结果为: price=2.5 若输入3,运行结果为: price=3.5 3.若输入4,运行结果为: sum=1.67619 如去掉for语句后面的{},运行结果为: sum=0.142857 4.若输入73↙,运行结果为: 10 若输入-129↙,运行结果为: -12 5.测试数据运行结果 107inputerror! -40inputerror! 90yourgradeisA 73yourgradeisB 32yourgradeisC 6.程序功能: 打印九九乘法表 运行结果(不必写出全部结果,示意清楚即可): 1*1=1 1*2=22*2=4 … … 1*9=92*9=183*9=27…9*9=81 7.运行结果: 112358 8.运行结果: 123 456 sum0=6 sum1=15 程序功能: 输出数组,并求出各行元素之和 三、填空,评分标准: 每空2分,共10分 1.i 2.women=0;women<23;women++ men+women+child==45 n++ 四.改错: 1.#include usingnamespacestd; intmain(void) {intn=0; intscore,sum=0; cout<<“pleaseinputthescore: ”; cin>>score; while(score>=0) {sum=score+sum;//第9行 n++; cin>>score;} if(n>0) cout<<“theaveis”<<(float)sum/n; else cout<<“novaliddata”; return0;} 评分标准: 答案不唯一,可根据答题情况给分,本题得分为0~4分 2.#include usingnamespacestd; intmain(void) { floatdata1,data2; charop; cout<<“\npleaseinputexpressionlikethis: 3.14*5\n”; cin>>data1>>op>>data2; switch(op) {case‘+’: cout< case‘-‘: cout< case’*’: cout< case’/’: if(data2! =0) cout< else cout<<"dividedbyzero! "< break; default: cout<<“inputerror! ”< } return0;} 五.编程题(每题8分,共32分) 1.C语言总成绩由平时成绩和期末成绩两部分组成,平时成绩占30%,期末成绩占70%,输入你希望的总成绩(百分制),再输入平时成绩(百分制),计算并显示出你期末试卷应该达到的分数(百分制),并给出2组测试数据及预期结果。 (编程不必考虑输入出错的情况,注意是求期末成绩,而不是总成绩) y=5x+1x<0 y=1/x0≤x<1 y=x31≤x 2.编写一个程序,实现右侧的分段函数(即当用户从键盘输入任意一个x值,程序可以求出对应的y值并输出) 3.自定义一个函数计算圆柱体的体积,并编编写主函数,输入半径和高,调用函数求出圆柱体体积 4.定义一个长度为6的整型数组,从键盘输入6个数据给数组,找出并显示最大值和它所对应的下标。 评分标准: (编程方法不唯一,答案仅供参考) (1)对于程序中出现的语法错误,每错一处扣0.5分,但最多不得超过3分。 (2)变量数据类型定义准确,编程思路清晰,算法设计合理,程序结构完整,输入输出语句格式正确,完全实现了题目的要求,程序书写规范,给满分。 (3)算法设计合理,但程序中出现有逻辑错误,给60%以上得分。 (4)没有明确的编程思路,但能实现一些基本功能,可得5~55%得分。 (5)最低得分为0分。 1.#include usingnamespacestd; intmain(void) {intscore1,score ; floatscore2; cout<<"\npleaseinputyourscore1: "; cin>>score1; cout<<"\npleaseinputyourscore: "; cin>>score; score2=(score-0.3*score1)/0.7; cout<<"score2="< return0;} 测试数据预期结果 score1scorescore2 709098.5714 906047.1429 2.#include usingnamespacestd; intmain(void) {floatx,y; cout<<"\npleaseinputx: "; cin>>x; if(x<0) y=5*x+1; elseif(x<1) y=1/x; elsey=x*x*x; cout<<"y="< return0;} 3.#include usingnamespacestd; floatget_volume(floatr,floath) {floatv; constdoublePI=3.14159; v=PI*r*r*h; returnv;} intmain(void) {floatr,h,v; cout<<"Enterrandh: "; cin>>r>>h; v=get_volume(r,h); cout<<"volume="< return0;} 4.#include usingnamespacestd; intmain(void) {constintN=6; inti,a[N],index; cout<<"Enterintegers: "; for(i=0;i cin>>a[i]; for(i=0;i cout< index=0; for(i=1;i if(a[i]>a[index]) index=i; cout<<"Themaxis"< return0;}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CC 语言
![提示](https://static.bdocx.com/images/bang_tan.gif)