c语言期末复习试卷_第1页
c语言期末复习试卷_第2页
c语言期末复习试卷_第3页
c语言期末复习试卷_第4页
c语言期末复习试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

.--word.zl.复习题〔一〕1.用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。【答案】编译目标2.以下符号串中,属于C语言合法标识符的是〔〕①else②a-2③_00④00【答案】③3.以下说法中,正确的选项是〔〕①主函数名是由程序设计人员按照“标识符〞的规那么选取的②分号和回车符号都可以作为一个语句的完毕符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开场【答案】③4.-12345E-3代表的十进制实数是________________________。【答案】-12.3455.设字符型变量ch中存放字符“A〞,那么执行“ch+++2”【答案】B6.设字符型变量ch1中存放的字符是“A〞,字符型变量ch2中存放的字符是“B〞,那么执行“!(ch1='B')&&(ch2='C')〞的运算后,变量ch2中的字符是_____________。【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)"后m,n的值是〔〕①0,0②0,l③1,0④1,l【答案】②。7.设整型变量x1和x2的值均为10,那么表达式“x1/=x2-4”【答案】l8.在C语言中,如果某个关系表达式成立(真),那么该关系表达式的值是____;如果某个逻辑表达式为假,那么该逻辑表达式的值是_________。【答案】109.设有整型变量x,如果表达式“!x〞值为0,那么x的值为_________;如果表达式“!x〞值为1,那么x的值为___________。【答案】非0010.以下表达式中,不属于逗号表达式的是()①a=b,c②a,b=c③a=(b,c)④a,(b=c)【答案】③11.在三种选择构造中,能用2个条件,控制从3个操作中选择一个操作执行的选择构造是______选择构造【答案】多分支12.在三种循环构造中,先执行循环操作内容(即循环体〕,后判断控制循环条件的循环构造是______循环构造。【答案】直到型13.使用“getchar()〞函数时,程序的开头必须写一条包含命令为____________。【答案】#include"stdio.h"或#include<stdio.h>14.执行输入语句“scanf("x=%c,y=%d",&x,&y);〞,要使字符型变量X的值为'A'、整型变量y的值为12,那么从键盘上正确的输入是()①'A'/②A/③x=A/④x=A,y=12/12/12/y=12/说明:备选答案中的"/"表示回车换行键【答案】④15.以下各种选择构造的问题中,最适合用if-else语句来解决的是()①控制单个操作做或不做的问题②控制两个操作中选取一个操作执行的问题③控制三个操作中选取一个操作执行的问题④控制10个操作中选取一个操作执行的问题【答案】②16.以下程序是输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:'a'将转换成’B’、…、‘y’将转换成’Z’,其中的’Z’将转换成’A’。请填写程序中所缺少的语句。main(){charch;scanf(“%c〞,&ch);ch=ch-32+1;___________________;printf("%c\n",ch〕;}【答案】if〔ch=='Z'+l〕ch='A';17.三种循环语句都能解决循环次数已经确定的次数型循环,其中_______循环语句最适合。【答案】for18.执行以下程序段后的输出是()x=l;while(x<=3)x++,y=x+++x;printf("%d,%d",x,y);①6,10②5,8③4,6④3,4【答案】②19.以下程序段的输出结果是()for(i=0;i<1;i+=l)for(j=2;j>0;j--)printf("*");①**②***③****④******【答案】①20.执行以下程序段后的输出是________________。x=0;while(x<3)for(;x<4;x++){printf(〞%1d〞,x++);if(x<3)continue;elsebreak;printf(〞%1d〞,x);}【答案】0221.阅读以下程序,写出程序运行后的输出结果。main(){intx=18,i;for(i=2;i<9;i十十〕if〔x%i==0〕{printf〔〞%1d〞,i〕;x=x/i--;if(x==0〕break;}}【答案】23322.以下程序的主要功能是求出所有3位整数中能被8整除余7,或者被7整除余8的所有整数。请填写程序中缺少的语句成份。main(){intk=100;doif(__________________)prinif("%d\n",k);while(k++<999);}【答案】(k%8==7)¦¦(k%7==8)23.阅读下面列序,写出程序的主要功能。main(){inty;floatx;scanf("%f",&x);if(x<-10)y=l;elseif(x>10)y=3;elsey=2;printf("%d\n",y);}这是标准的三分支构造,用嵌套的双分支语句实现1x<-10【答案】输入实数x,按照以下公式计算并输出y值:y=2-10<=x<=103x>1024.编写一个程序,统计并输出能被3整除或能被5整除或能被7整数的所有3位整数。【答案】main(){intn;for(n=100;n<1000;n++)if((n%3==0)¦¦(n%5==0)¦¦(n%7==0))printf(〞%d〞,n);}25.编写一个程序,依次输入5个学生的7门课程的成绩,每输入一个学生的7门课程成绩后,立即统计并输出该学生的总分和平均分。【答案】main(){inti,j;floatsum,x;for(i=l;i<6;i++){sum=0.0;for(j=l;j<8;j++){scanf(〞%f〞,&x);sum+=x;}printf("NO%d--sum=%fave=%f\n",i,sum,sum/7);}复习题〔二〕一、选择题1.逻辑运算符两侧运算对象的数据类型 (D)(A)只能是0或1(B)只能是0或非0正数(C)只能是整型或字符型数据(D)可以是整型或字符型数据2.以下关于运算符优先顺序的描述中正确的选项是 (C)(A)关系运算符<算术运算符<赋值运算符<逻辑与运算符(B)逻辑与运算符<关系运算符<算术运算符<赋值运算符(C)赋值运算符<逻辑与运算符<关系运算符<算术运算符(D)算术运算符<关系运算符<赋值运算符<逻辑与运算符3.判断char型变量ch是否为大写字母的正确表达式(C)(A)'A'<=ch<='Z'(B)(ch>='A')&(ch<='Z')(C)(ch>='A')&&(ch<='Z')(D)('A'<=ch)AND('Z'>=ch)4.设x,y和z是int型变量,且x=1,y=2,z=3,那么下面表达式中值为0的是(D)(A)x&&y(B)x<=y(C)x||y+z&&y-z(D)!((x<y)&&!z||1)5.下面程序段的运行结果为(A)a=1,b=2,c=2;while(a<b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);(A)1,2,0(B)2,1,0(C)1,2,1(D)2,1,16.设有以下语句:intx=3;do{printf("%d\n",x-=2);}while(!(--x));该程序段的执行结果为:(B)(A)显示1(B)显示1和-2(C)显示0(D)是死循环7.下面有关for循环的正确描述是(D)(A)for循环只能用于循环次数已经确定的情况(B)for是先执行循环体语句,后判断表达式(C)在for循环中,不能用break语句跳出循环体(D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来二、填空题1.C语言提供的三种逻辑运算符是(&&)、(||)、(!)。2.当m=3、n=4、a=5、b=1、c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为(0),m的值为(1)。3.有intx,y,z;且x=4,y=-5,z=6,那么以下表达式的值为(1)。!(x>y)+(y!=z)||(x+y)&&(y-z)4.设定义intk=1,n=263;执行下面程序段后,k的值是(36)。do{k*=n%10;n/=10;}while(n);5.C语言中while和do-while循环的主要区别是(do-while循环体至少执行一次,while循环体有可能一次也不执行)。三、读程序,写结果1.main(){inta,b,d=123;1,1a=d/100%9;1,1b=(-2)&&8;printf("%d,%d",a,b);}a=42.main()a=4{intk=2,a=4,b=5,c=1,z;z=k>a?k:c>b?c:a;printf("a=%d\n",z);}3.main(){inta=56,x=-9,y=10,ok1=109,ok2=0;-100if(x<y)-100if(y!=10)if(!ok1)a=10;elseif(ok2)a=-5;a=-100;printf("%d\n",a);}4.main(){intx=3,y=0;switch(x){$$$$$$$$$$$$$$$$$$$$$$$$$switch(y){case0:printf("$$$$$\n");case9:printf("$$$$$\n");break;}case2:printf("$$$$$\n");}}5.main()x=12y=6x=12y=6intx=0,y=0;while(x<12){y++;x+=++y;}printf("x=%d\ny=%d",x,y);}6.main(){inta=1,b=10;a=2,b=8doa=2,b=8{b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b);}7.main(){inti;for(i=1;i<=5;i++){if(i%2)printf("$");$&&$&&$&&*else$&&$&&$&&*continue;printf("&&");}printf("*\n");}8.main(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;4a++;4}a++;}printf("%d\n",a);}四、编程题1.给一个百分制成绩,要求输出等级'A'、'B'、'C'、'D'、'E'。90分以上为'A',80~90分为'B',70~79分为'C',60分以下为'D'。#include<stdio.h>main(){floatscore;chargrade;printf("请输入学生成绩:");scanf("%f",&score);while(score>100||(score<0){printf("\n输入有误,请重新输入:");scanf("%f",&score);}switch((int)(score/10)){case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;case5:case4:case3:case2:case1:case0:grade='E';}printf("成绩是%5.1f,相应的等级是%c。\n",score,grade);}

说明:对输入的数据进展检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将(score/10)的值进展强制类型转换,得到一个整型值。2.打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,

温馨提示

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

评论

0/150

提交评论