总复习题-2
更新时间:2024-04-05 04:29:01 阅读量: 综合文库 文档下载
- 小学数学总复习推荐度:
- 相关推荐
复习题-2
一、单项选择题 (每小题 1分,共 15分) 1.一个C语言程序是由( B )
A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 2.下面正确的字符常量是( C )
A. ?c\ B.'\\\\\C. 'w' D.\
3.判断字符型变量c1是否为小写字母字符的正确表达式为( D ) A.?a?<=c1<=?z? B.(c1>=a)&&(c1<=z) C. (?a?>=c1)||(?z?<=c1) D. (c1>=?a?)&&(c1<=?z?) 4.在C语言中,char型数据在内存中存储形式是( D ) A.补码 B.反码 C.原码 D.ASCII码
5.下列表达式中,满足“当x的值为偶数时值为真,为奇数时值为假”的要求的是(C ) A.x%2==1 B.!(x%2==0) C.(x/2*2-x)==0 D.(x%2) 6.下面程序段 int k=2;
while (k==0) {printf(“%d”,k);k--;}
则下面描述中正确的是( C )。
A.while循环执行两次 B.循环是无限循环
C.循环题语句一次也不执行 D.循环体语句执行一次 7.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B ) A.1 B.2 C.3 D.4
8.以下正确的函数定义是( D )。
A.double fun(int x, int y) B.double fun(int x,y) { {
z=x+y ; int z ; return z ; return z ; } }
C.fun (x,y) D.double fun (int x, int y) { {
int x, y ; double z ; double z ; z=x+y ;
1
z=x+y ; return z ;
return z ; } } 9.执行下列程序片段时输出结果是 C 。 int x=13,y=5;
printf(“%d”,x%=(y/=2));
A.3 B.2 C.1 D.0 10.以下数组定义合法的是( C )。
A. int x(10); C. int x[10];
B. int x[10] D. int n,x[n];
11.若有说明:int *p,m=5,n;以下程序段正确的是( D )。
A.p=&n ; B.p = &n ; scanf(“%d”,&p); scanf(“%d”,*p); C.scanf(“%d”,&n); D.p = &n ; *p=n ; *p = m ; 12.若对两个数组a和b进行初始化 char a[]=\
char b[]={'A', 'B', 'C', 'D', 'E', 'F'};
则下列叙述正确的是( D )。 A. a与b数组完全相同 B. a与b数组长度相同 C. a与b数组都存放字符串 D. 数组a比数组b长度长 13.下面程序段的运行结果是( B )。
char *s=”abcde” ;
s+=2 ; printf(“%c”,*s); A.cde B.字符c C.字符c的地址 D.不确定 14.以下对结构体变量成员不正确的引用是( D )。
struct pupil {
char name[20]; int age; int sex ; } pup[5], *p=pup ;
A.scanf(“%s”,pup[0].name); B.scanf(“%d”,&pup[0].age); C.scanf(“%d”,&(p->sex)); D.scanf(“%d”,p->age); 15.利用fseek函数可实现的操作是( A )。 A.改变文件的位置指针 B.文件的顺序读写 C.文件的随机读写 D.以上答案均正确
二、基础知识填空(每空2分,共20分)
x?y)%2/4的1. 已知int a=7;float x=2.5,y=4.7;计算表达式x?a%3*(int)(值的类型为 [1] double
2.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式 [2]
(y%4==0&&y0!=0)||(y@0==0) 。
2
3.数学表达式
a2?b2的C语言表达式是 [3] sqrt((x*x+y*y))/fabs(a-b)
x?y(注:fabs()为求绝对值函数)
4. 设有数组定义: char array []=\则数组 array所占的空间为 [4] 6字节
5.x,y,z都是整型变量,写出x,y,z中有两个负数的表达式: [5] (x<0&&y<0)||(x<0&&z<0)||(y<0&&z<0) 。
6.函数调用语句:fun((a,b),(c,d,e))实参个数为 [6] 2 。 7.若有程序段:
int *p[3],a[6],i;
for (i=0; i<3; i++) p[i]=&a[2*i] ;
则*p[0]引用的是a数组元素 a[0] ,*(p[1]+1)引用的是a数组元素 a[3] 。 8.若有定义
#define s(x) (x)*x*2 int k=5,j=2; 则执行语句z=s(k+j);后,z的值为 39 。 9.若有以下程序段:
int a=1,b=2,c=3; struct dent {
int n ; int *m ;
} s[3] = {{101,&a},{102,&b},{103,&c}}; struct dent *p=s ; 则*(++p)->m的值为 [10] 2 。
三、程序阅读题(每题3分,共21分)
1.输入5,9回车后,下面程序输出语句的第一行是 *p1=9,*p2=5 ,第二行是 a=5,b=9 。
#include
void swap(int *,int *); int main()
{ int a, b, *pa=&a, *pb=&b;
scanf(“%d,%d”,&a,&b); swap (pa,pb);
printf(“a=%d,b=%d\\n”,a,b); return 0; }
void swap (int *p1,int *p2) {
int *p; p=p1; p1=p2; p2=p;
printf(“*p1=%d,*p2=%d\\n”,*p1,*p2); }
2.输入72和32,下面程序执行的结果是 8 #include
3
{ int a,b,r;
scanf(\ do {
r=a%b; a=b; b=r;
}while(r!=0);
printf(\ return 0;
}
3.输入6,下面程序的执行结果是: 8 #include
unsigned int fact (unsigned int ); int main()
{ unsigned int n,fac; scanf(\ fac=fact (n);
printf(\ return 0; }
unsigned int fact (unsigned int n) {
unsigned int result; if(n==1||n==2) result=1; else
result= fact(n-1)+fact(n-2); return result; }
4.下面程序的输出结果是 10 11 12 。 #include
int main() {
int i,a=5;
for(i=0;i<3;i++)
printf(\printf(\return 0; }
int fun(int a) { int b=0;
4
static int c=3; b++; c++;
return(a+b+c);
}
5.下列程序的输出结果的第一行是 abcdefg ,第二行是 ABCGH 。 #include
char a[80], b[80], *p=”aAbBcdDefgGH”; int i=0, j=0; while(*p!=?\\0?) {
if (*p>=?a?&&*p<=?z?) {
a[i]=*p; i++; }
else {
b[j]=*p; j++; } p++; }
a[i]=b[j]=?\\0?; puts(a); puts(b); return 0; }
6.下面程序执行的结果是 2 3 7 9 11 0 6 7 5 4 #include
void inv(int [], int ); int main()
{ int i,a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a,10);
for(i=0;i<10;i++)
printf(\
printf(\return 0; }
void inv(int x[], int n) { int t,i;
i=n-1; t=x[n-1]; for(;i>0;i--) x[i]=x[i-1]; x[0]=t; }
7.下面函数的功能是 比较两个字符串大小 int str_cat(char *s,char *t)
5
{
while (*s&&*t&&*s==*t) {
s++;t++;
}
return (*s-*t); }
四、程序填空题(每空2分,共18分)
1.以下程序输出x,y,z三个数中的最大值,补足所缺语句。 #include
int main ( )
{ int x=4,y=5,z=8 ; int u,v;
u = x>y ? [1] x:y ; v = u>z ? [2] u:z ; printf (“%d”,v); return 0; }
2. 有15个数按从小到大顺序存放在一个数组中,当输入一个数值时,要求用二分查找法找出该数是数组中第几个元素的值;如果该数不在数组中,则显示相应的提示,补足所缺语句。
#include
{ int i, num, top, bott, mid, a[N];
printf(\请输入15个数(a[i]>a[i-1])\\n\ scanf(\ i=1;
while(i scanf(\ if(a[i]>=a[i-1]) i++; else{ printf(\请重新输入a[i]\ printf(\必须大于%d\\n\ } } printf(\请输入查找数据: \ scanf(\ for(top=0, bott=N-1; top<=bott;) { mid= [3] (top+bott)/2 ; if(num==a[mid]) { 6 printf(\位于数组中第%d个数\\n\ break; } else if(num if(top>bott) printf(\不在数组中\\n\return 0; } 3.下面程序是判断输入的数n是否为回文数,请填空使程序完整。 #include int n,m=0,k; do { scanf(\ if(n<=0) printf(\数据输入错误,请重新输入!\\n\}while(n<=0); k=n; while(k!=0) { m= [6] m*10+k ; k=k/10; } if( [7] m==n ) printf(\是回文数!\\n\else printf(\不是回文数!\\n\ return 0; } 4. 以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i])。 #include int a[4][4]={1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4}; int i, j, found=0; for(j=0; j<4; j++){ for(i=0; i<4; i++) if( [8] a[i][j]!=a[j][i] ){ found = [9] 1 ; break; } 7 if(found) break; } if(found) printf(\不对称\\n\else printf(\对称\\n\return 0; } 五、改正下面程序错误(每处2分,共6分,注:错误在注释语句/****found****/下面1~3行以内): 函数fun的功能是: 将s所指字符串中位于偶数位置的字符同时ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。 例如, 字符串中的数据为: AABBCCDDEEFF, 则输出应当是:BDF。 1.#include 4.void fun(char *s, char t[]) 5.{ int i, j=0; 6. for(i=0; i 8. if(i%2 && s[i]%2==0) 第8行 : i%2==0 9. t[j++]=s[i]; 10./*************found********/ 11. t[j]=”\\0”; 第11行: t[j]=’\\0’; 12.} 13.int main() 14.{ char s[N], t[N]; 15. gets(s); 16. fun(s, t); 17. printf(\结果是 : %s\\n\18. return 0; 19.} 六、编程题(第1小题10分,第2小题10分,共 20分) 1111?????(?1)n?11.输入正整数n,求数列s?1?之和 223334444n?n#include int main() { double sum=0,t,s=1; 1分 int i,j,n; do { scanf(\分 8 }while(n<=0); for(i=1;i<=n;i++) 1分 { t=0; } for(j=1;j<=i;j++) 1分 t=t*10+i; 2分 sum=sum+s*1.0/t; 2分 s=-s; 1分 printf(\分 return 0; } 2.有N个学生,每个学生的数据包括学号,姓名,3门课的成绩,从键盘输学生信息,要求按学生3门课总成绩排序,前10%为优秀,最后5%为不合格,其余的为合格。并输出学生信息(包括学号、姓名、3门课的成绩、总分数和等级)。 #include #include long int num; char name[20]; float s1,s2,s3; float sum; char level[10]; }; 2分 void fun(struct student st[],int n); int main() { struct student stu[N]; 1分 int i; for(i=0;i scanf(\ scanf(\ scanf(\ } 2分 fun(stu,N); return 0; } void fun(struct student st[],int n) { int i,j,k; 9 struct student t; for(i=0;i st[i].sum=st[i].s1+st[i].s2+st[i].s3; 1分 for(i=0;i k=i; for(j=i+1;j t=st[i]; st[i]=st[k]; st[k]=t; } 1分 } for(i=0;i if (i<=n*0.1) strcpy(st[i].level,\优秀\ else if(i>n*0.1&&i<=n*0.9) strcpy(st[i].level,\合格\ else strcpy(st[i].level,\不合格\分 } } 3. 答题规范 一、单项选择题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 二、基础知识填空 [1]. [2]. [3]. [4]. [5]. [6]. [7]. [8]. [9]. [10]. 10 三、程序阅读题 1. 3. 5. 7. 2. 4. 6. 四、程序填空题 [1]. [3]. [5]. [7]. [9]. [2]. [4]. [6]. [8]. 五、改正下面程序错误 第 行 : 第 行 : 六、编程题 第11页/ 共11页 三、程序阅读题 1. 3. 5. 7. 2. 4. 6. 四、程序填空题 [1]. [3]. [5]. [7]. [9]. [2]. [4]. [6]. [8]. 五、改正下面程序错误 第 行 : 第 行 : 六、编程题 第11页/ 共11页
正在阅读:
总复习题-204-05
县建设局2021年开展工程建设领域突出问题专项治理工作实施方案08-16
《地理事物的形成过程》专题训练04-04
工作报告之机务专业实习报告05-22
2017-2018部编版河大附中七上历史《期末考试真题卷》(扫描版试卷有答案)08-06
DS18B20温度测量 - 图文06-01
js试题06-04
手机与生活作文550字06-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习题
- 中国铁路总公司基本建设财务管理规定
- 英语教师基本功大赛笔试试题
- 水肥一体化项目汇报材料
- 云南省人民代表大会常务委员会立法技术规范最新版全文
- 中办发〔2010〕27号文件
- 2014年大科节获奖汇总(校对稿)
- 关于公司领导班子成员工作分工的通知
- 闸墩结构计算
- 多媒体创设语言情景促进幼儿表达
- 企业文化建设经验交流材料
- Python程序设计与实践 大作业实验报告 陆阳 孙勇 裘升明
- 白碌乡中心小学2018-2019学年三年级下学期数学模拟试卷含解析
- 2014-9常用外科手术器械及其管理
- 实验一 基本运算器实验
- 《不一样童话 不一样的梦想》课程纲要及教案
- 鄢陵县集中饮用用水水源保护区划分技术报告 - 图文
- 最佳路径分析 - 图文
- 驾考部分知识点总结 - 图文
- 日夜审工作流程
- 四幕话剧:精忠报国