




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语言上机考试试题-92008.1.28一、选择题 (每小题2分 )1. 用数组名作为函数的实参时,传递给函数的形参是_。(A) 数组的首地址(B) 数组的第1个元素(C) 数组中的全部元素(D) 数组的元素个数2. 下列定义一维数组正确的写法是_。(A)int a(10);(B)int n=10, an;(C)int n;(D)#define SIZE 10scanf(“%d”,&n); int aSIZE;int an;3. 下述函数头定义形式正确的是_。(A) int f(int x; int y)(B) int f(int x,y)(C) int f(int x, int y)(D) int f(x,y: int)4. 以“只读”方式打开文本文件c:xytxt,下列语句中哪一个是正确的_。(A) fp=fopen(c:xytxt,a); (B) fp=fopen(c:xytxt,r); (C) fp=fopen(c:xytxt,wb); (D) fp=fopen(c:xytxt,r);5. 判断变量x和y中有且只有一个值为0成立的表达式为_。(A) !(x*y)&x+y (B) (x*y)&x+y (C) x*y=0 (D) x=0&y!=06. 设有如下定义:struct ss char name10; int age; char sex; std3,*p=std;下面各输入语句中错误的是_。(A) scanf(%d,&(*p). age); (B) scanf(%s,&);(C) scanf(%c,&std0.sex) (D) scanf(%c,&(p- sex);7. 语句“int a=0; if(a=1) a+=10;” 编译不会出错,但运行后a的值是_。(A) 0(B) 11(C) 10(D) 出错8. 设有字符数组: char s20;,能把一串字符: How do you do?全部输入的语句是_。(A) scanf(%c,&si); (B) scanf(%s,&s); (C) gets(s); (D) scanf(%s,s);9. 定义语句为“char a10;”,执行下列语句后的输出结果为_。printf(%d,%dn,sizeof(a),strlen(strcpy(a,Windows);(A) 7,7 (B) 7,8 (C) 10,7 (D) 10,810. 若有定义:int k=1,*q;,下面赋值表达式正确的是_。 (A) q=&k(B) *q=&k(C) q=k(D) *q=k套数号答案91.A 2.D 3.C 4.B 5.A 6.B 7.B 8.C 9.C 10.A二、 判断题 (每小题2分)1. t=s; if(ut) t=u;程序段可以实现将变量u, s中的最大值赋给变量t的功能。2. 在定义了数组int a56;后,第10个元素是a42。3. 在C语言中,以下描述“任何子函数必须位于主函数之前”是正确的。4. 设变量定义为char s=“hello”,则数组s中有5个元素。5. 若x是单精度实型变量,表达式(x=10/4.0)的值是2.5。6. 若变量已正确定义,表达式x=y=1符合C语言语法。7. 表达式!(x0y0)等价于!(x0&!(y0)。8. 表达式( 0x191)&0x7的值是3。9. 在C源程序中将语句“if(x=5) y+;”误写成“if(x=5) y+;”,不会导致编译错误。10. 式子!(a%2=0)在a为奇数时结果为假。套数号答案91. T 2. F 3. F 4. F 5. T 6. T 7. T 8. F 9.T 10. F三、填空题(每小题2分)1. C语言中用于结构化程序设计的三种基本结构是: 顺序结构、_结构和循环结构。2. int x=-17,y; 执行语句 y=x%4 后y的值为_。3. int x=10,y=4; float z=x/y; 执行语句printf(“%.2f”,z); 输出_。4. C语言程序经过编译后生成的文件后缀是_,经过链接后产生的文件后缀是exe。5. 若 a=3、b=8、c=10,条件表达式 (y=(a+6b)?a:b+2)+1c)?y:c*2 的值为_。第9套(1)选择(2)-1(3)2.00(4)obj(5)20四、程序改错题(每小题5分)1. 以下程序输入数字:2 4,则程序运行结果为:8 4。#include void f(int a,int *b) a=a+*b; *b=*b+a; int main()int a,b; scanf(%d%d,&a,&b); f(b,a); /* $1 */ printf(%d %dn,a,b); return 1;操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句f(b,a);有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:在程序中输入:2 4,得到输出数值:8 4。参考答案:f(b,&a); 运行样例1行运行样例1:4 8 运行结果:16 82. 以下程序输入数值:0 1 2,则程序运行结果为输出:1 3 7 15。#include int main()int i,n5=0,0,0,0,0;printf(please input the nums:);for(i=0;i=2;i+)scanf(%d,n+i);for(i=1;i5;i+)ni=2*i+1; /*$*/printf(%3d,ni);printf(n);return 1;操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句ni=2*i+1; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:在程序中输入数值:1 2 3,得到输出数值:3 7 15 31。答案:ni=ni-1*2+1;运行样例3行运行样例1:please input the nums: 1 2 3 运行结果:3 7 15 313. 下列程序是一个从考生文件夹中的文件ks.c中读出它的内容并显示在屏幕上的程序。假设文件ks.c中有语句how do you do . C,则程序运行结果为:how do you do . C 。#include int main()FILE *fp;char ch;fp=fopen(ks.c, ); /* $1 */ch=fgetc(fp);while(ch!=EOF)putchar(ch); ch=fgetc(fp);printf(n);fclose(fp);return 1;操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句fp=fopen(ks.c, ); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:是一个从文件ks.c中读出它的内容并显示在屏幕上的程序。例如:假设文件ks.c中有语句how do you do . C,则程序运行结果为:how do you do . C答案:fp=fopen(ks.c,r); 运行样例1行运行样例1:在ks.c文件中有语句:how do you do . C 运行结果:how do you do . C4. 下列程序中函数fun功能实现m=1-2+3-4+9-10+的和, 如果本程序输入数值:4 , 则程序运行结果为:m=-2。#include #include int fun(int n)int m=0,f=1, i;for(i=1;i=n;i+) m=i*f; /* $1 */ f=(-1)*f; return m;int main()int n;scanf(%d,&n);printf(m=%dn,fun(n);return 1;操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句m=i*f; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:程序中函数fun功能实现m=1-2+3-4+9-10+的和。例如:假设该程序输入数值:4 ,则程序运行结果为:m=-2。答案:m=m+i*f;运行样例1行运行样例1:6 运行结果:-3五、程序填空(每小题5分)1. 下列程序功能:对变量地址的操作来完成赋值的过程。假设程序输入两个数:6 8,则程序最后一个printf()输出:8-8。 或者程序输入:1 2,则输出:2-2。根据这两次输入输出来填空。#include #include int main() int *p1,*p2; int a,b; scanf(%d %d,&a,&b); p1=&a; *p1=100; /* $1 */ *p2=b; printf(%d-%d,*p1,a);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:对变量地址的操作来完成赋值。例如:假设程序输入两个数:6 8,则程序最后一个printf()输出:8-8。 或者程序输入:1 2,则输出:2-2。答案:p2=p1;运行样例2行运行样例1: 6 8运行结果:: 8-82. 下列程序功能:实现对一个2维数组的转置(行列互换),请填空。#include int main() int a33; int i,j,temp; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j3;j+) printf(%2d,aij); printf(n); for(i=0;i3;i+) /* $1 */ temp=aij; aij=aji; aji=temp; for(i=0;i3;i+) for(j=0;j3;j+) printf(%2d,aij); printf(n); return 1;操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:实现对一个2维数组的转置(行列互换)。答案:for(j=i;j3;j+)运行样例4行运行样例1:1 2 3 4 5 6 7 8 9运行结果 : 1 2 3 1 4 74 5 6 2 5 87 8 9 3 6 9六、程序设计(每小题10分)1. 操作说明编制程序:从程序中输入m,其中要求输入的m必须大于0且小于等于20。求表达式sum=1+1/2+1/3+1/4+1/m的和sum,并将sum保留两位小数输出。参考答案: #include int main()int m, i;double sum=0.0,flag=1.0;do scanf(%d,&m);while(m20); for(i=1;i=m;i+)sum=sum+1/flag;flag+;printf(%0.2f,sum); return 1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国仪表配套拨盘旋钮行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2024-2025学年福建省龙岩市一级校联盟高二下学期期中政治试题及答案
- 珠宝培训师的课件
- 2022-2027年中国县域电商行业发展监测及发展战略规划报告
- 污水处理开题报告书
- 2025年 湖州南浔区教育局中小学储备教师招聘考试笔试试题附答案
- 2025年 非高危行业安全生产管理能力考试练习题附答案
- 中国太平柜行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 化工程学院081100控制科学与工程报录数据分析报告初试+
- 中国电动工具行业市场全景监测及投资前景展望报告
- 肿瘤科护理疑难病例讨论
- 建设项目全过程工程咨询服务投标方案
- GB/T 41782.3-2024物联网系统互操作性第3部分:语义互操作性
- 人音版音乐二年级下册第4课聆听《吉祥三宝》教学设计
- 工程项目尾款结算协议
- DL∕T 1739-2017 静力水准装置
- 2023七年级数学下册 第四章 三角形3 探索三角形全等的条件第1课时 利用边边边判定三角形全等教案 (新版)北师大版
- 2023北京经济技术开发区招考社区工作者75人笔试历年典型考题及考点剖析附答案带详解
- 项目重点难点分析及应对措施
- 剑桥KET词汇表(中英对照)
- 教科版小学科学五年级下册知识点归纳总结
评论
0/150
提交评论