2006级软件工程C语言试题(A卷)_第1页
2006级软件工程C语言试题(A卷)_第2页
2006级软件工程C语言试题(A卷)_第3页
2006级软件工程C语言试题(A卷)_第4页
2006级软件工程C语言试题(A卷)_第5页
全文预览已结束

下载本文档

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

文档简介

1、年级专业: 教学班号: 学号: 姓名:装 订 线 课程名称: 程序设计语言 考试时间: 110 分钟 课程代码: 试卷总分: 100 分一、单项选择题(每小题2分,共计20分)1. C语言源程序的基本单位是( )。 (A) 过程 (B) 函数 (C) 子程序 (D) 标识符2. a,b为整形变量,二者均不为0,以下关系表达式中恒成立的是( )。 (A) a*b/a*b=1 (B) a/b*b/a=1 (C) a/b*b+a%b=a (D) a/b*b=a3对应于scanf(“%d%d”,&a,&b);的错误输入形式是( )。(A)3,4 (B)3 4 5 (C) 3(按tab健)4 (D)34

2、54有以下程序void main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%dn”,s);程序执行后的输出结果是( )。(A) 自然数19的累加和 (B) 自然数110的累加和(C) 自然数19中的奇数之和 (D) 自然数110中的偶数之和5有以下程序void main() int i;for(i=0;i3;i+) switch(i) case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); 程序运行后的输出结果是( )(A) (B) (C) (D) 0126下列叙述正

3、确的是( )。(A)函数调用时,若形参和实参同名则两者共用存储单元。(B)一个C程序的执行总是从main函数开始,到本程序文件的最后一个函数结束。(C)在C程序中,注释说明只能位于一条语句的后面。(D)宏替换只是字符的替换,不占用运行时间。7若二维数组a有m列,则在aij前的元素个数为( )。(A)j*m+i (B) i*m+j (C)i*m+j-1 (D) i*m+j-18为了判断两个字符串s1和s2是否相等,应当使用( )。(A)if(s1=s2) (B) if(s1=s2) (C) if(strcpy(s1,s2) (D) if (strcmp(s1,s2)9若有以下定义和语句:doub

4、le r=99,*p=&r; *p=r;则以下正确的叙述是: (A)以下两处的*p含义相同,都说明给指针变量p赋值(B)在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元(C)语句“*p=r;”把变量r的地址值赋给指针变量p(D)语句“*p=r;”取变量r的值放回r中10要打开一个已存在的非空文件file用于修改,选择正确的语句( )。(A) fpfopen(file,r); (B) fp=fopen(file,w);(C) fp=fopen(file,r+); (D) fp=fopen(file,w+);二、阅读程序题(每小题4分,共20分)1以下程序段的输出结

5、果是:_ #include main()int i,j,k;for(i=1;i=5;i+) for(j=1;j=i;j+)printf(“ ”);for(k=1;k=5;k+)printf(“%c”,*);printf(“n”); 2以下程序段的输出结果是:_int f(int a) int b=0;static c=3;b=b+1;c=c+1;return(a+b+c);void main() int a=2,i; for(i=0;i3;i+) printf(“%2d”,f(a);3以下程序段的输出结果是:_void main( ) int x=31,y=2,s=0;do s-=x*y; x

6、+=2;y-=3; while( x%3=0); printf(“x=%dty=%dts=%dn”,x,y,s);4以下程序段的输出结果是:_void f(int y,int *x) y=y+*x; *x=*x+y;void main( ) int x=2,y=4; f(y,&x); printf(“x=%d,y=%dn”,x,y);5以下程序段的输出结果是:_#includeint f(int b4);void main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0;printf(“%dn”,f(a) );int f(int b4) int i,j,

7、s=0;for(j=0;j2) i=3-j; s+=bij;return s;三、程序改错题(本题共10分)下面程序的功能是对a数组中的元素按从大到小的顺序排序。其中有5处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。(每找对1个错误,得1分,每修改正确1个错误,再得1分。)#include #define N 10; main() int aN=2,17,8,3,24,53,82,1,29,101;int i,j,k,t;for(i=0;i9;i+) k=i; for(j=i+1;j10;j+) if(ajak)k=j; if(k=i) t=aj;aj=ai;ai=t; 四、程

8、序填空题(每空3分,共计18分)1试求出1000以内的“完全数”。(提示:如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。如:6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。)请填空完善程序。 void main() int i,a,m; for(i=1;i1000;i+) for(m=0,a=l;a=i/2;a+) if(!(i%a) (1) ; if( (2) ) printf(%4d,i); 2.下列程序段以函数swap( )调用的形式实现两个变量值的互换,请填空完善程序。Void swap(int * m,int * n) int temp

9、;temp= (1) ; (2 ) ;*n= (3) ;void main( ) int x,y;scanf(“%d,%d”,&x,&y);swap( (4) );printf(%d,%d”,x,y);五、编程题(第1小题12分,第2小题20分,本题共计32分)1 输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。 阅卷标准:1. 相关变量的声明及初始化正确得2分;2. 字符串输入正确得2分3. 统计算法正确得6分;4. 结果输出正确得1分;5程序结构正确得1分。2 已知当前盘上的test.txt(文本文件)文件中含有10位学生的姓名和电话号码,用结构体和函数调用方式编写程序。要求实现:(1)在被调函数search()中,能根据学生姓名,查找该学生的电话号

温馨提示

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

评论

0/150

提交评论