10级C语言期末考试题--A

2020-06-21 16:14

: 名姓装 订 : 线号学 : 级班 哈尔滨工程大学本科生考试试卷 ( 2010-2011 年 二 学期) 课程编号: 0906011 课程名称: 程序设计基础(A) 注意:考试时间为120分钟。程序中表示空格。所有答案请写在答题卡上。 一、基础知识(每题2分,共20分) 1、设有定义:float x, y, n; 与代数式x+y2n计算结果不相符的表达式是【 1 】。A)(x+y)*n/2 B)(1/2)*(x+y)*n C)(x+y)*n*1/2 D)n/2*(x+y) 2、设有定义:int x, y, t; 则执行语句x=y=5; t=++x||++y; 后,y的值为【 2 】。A)0 B)5 C)6 D)1 3、设有定义:char *st=\则下列程序段中不正确的是【 3 】。 A)char a[11], *p; strcpy(p=a+1,&st[4]); B)char a[11]; strcpy(++a, st); C)char a[11]; strcpy(a, st); D)char a[11], *p; strcpy(p=&a[1],st+2); 4、变量a所占内存字节数是【 4 】。 ??struct m ??{int c; ?? float b,d; ??}a; A)4 B)10 C)6 D)8 5、设有定义:int i=0; 则循环while (i=0) i++; 的执行次数是【 5 】次。 A)0 B)1 C)65535 D)无数 6、与if(e) 等价的是【 6 】。 A)if(e==0) B)if(e!=0) C)if(e==1) D)if( e!=1) 7、设有定义int x=5,y=4,z; z=(x++>++y)? x: y; 则z的值是【 7 】。 A)4 B)5 C)6 D)0 第1页 共2页 8、若fp指向的文件已读到末尾,则feof(fp)的返回值是【 8 】。

A)EOF B)-1

C)非零值 D)NULL

9、以下叙述不正确的是【 9 】。

A)分号是C语句的必要组成部分 B)C程序的注释可以写在语句的后面 C)函数是C程序的基本单位 D)主函数的名字不一定用main表示

10、以下错误的描述是【 10 】。

A)函数调用可以出现在执行语句中 B)函数调用可以出现在一个表达式中

C)函数调用可以作为一个函数的实参 D)函数调用可以作为一个函数的形参

二、阅读程序,写出程序的运行结果(每题4分,共28分)

1、下列程序输出结果为【 1 】。 #include void main() {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(\}

2、下列程序输出结果为【 2 】。 #include void main() {printf(\}

3、下列程序输出结果为【 3 】。 #include int f() {static int i=0; int s=1;

第2页 共 2页

s+=i; i++; return s; } void main() {int i,a=0; for(i=0;i<5;i++) a+=f(); printf(\} 4、下列程序输出结果为【 4 】。 #include void main() {char c, a[20]=\int n=0,i,j,k; for(i=0;a[i]!='\\0';i++) {c=a[i];

for(j=i+1;a[j]!='\\0';j++) if(a[j]==c)

{for(k=j+1;a[k]!='\\0';k++)

a[k-1]=a[k]; a[k-1]='\\0'; } } printf(\} 5、下列程序输出结果为【 5 】。 #include void main() {struct student {int num; int score;

第3页 共4页

}stu[4]={10001,80,10002,100,10003,70,10004,50}; int i,k,x; x=stu[0].score; k=0;

for(i=1;i<4;i++) if(x

6、下列程序输出结果为【 6 】。 #include void ss(int *s, int n) {int *p; p=s; while(p-s

void main()

{int a[100]={1,2,1,44,-5,5321,777,8,29,-10},n=10; ss(a, n); printf(\}

7、下列程序输出结果为【 7 】。

(设当前文件夹下文件file.txt的内容为123456#) #include void main() {FILE *fp; int n=0; char ch;

fp=fopen(\

第4页 共 4页

装订线 : 名姓装 订 : 线号学 : 级班 while((ch=fgetc(fp))!='#') if(++n%2)putchar(ch); fclose(fp); }

三、程序填空题(每空2分,共24分)

1、程序的功能是:判断素数。 # include void main() {int x,i;

scanf(\【 1 】); for(i=2;i

2、程序的功能是:输出100以内能被3整除且个位数为6的所有整数。 #include \void main() {int i,j;

for(i=0;【 4 】;i++) {j=i*10+6;

if(【 5 】)continue; printf(\【 6 】\ } }

3、程序的功能是:用“冒泡”法对数组a进行由大到小的排序。 #include \

【 7 】 fun(int a[], int n) {int i,j,t;

for (j=0;j

第5页 共6页

if(【 8 】)

{t=a[i]; a[i]=a[i+1]; a[i+1]=t; }

}

void main()

{int i,a[10]={3,7,5,1,2,8,6,4,10,9}; 【 9 】; for(i=0;i<10;i++) printf(\}

4、程序的功能是:用“递归”方法计算两个数的最大公约数。 #include int 【 10 】(int a,int b); void main() {int a,b;

scanf(\ printf(\【 11 】); }

int gac(int a,int b) {int c; c=a%b; if(c==0) 【 12 】; else

return gac(b,c); }

四、问答题(每问2分,共8分)

程序1、 #include

第6页 共 6页

void main() { int n,i=0; char c[20]; scanf(\ while(n)

{c[i++]=n%2+'0'; n/=2;} i--; while(i>=0) putchar(c[i--]); } 问题1:表达式n%2+'0' 的作用是什么? 问题2:程序的功能是什么? 程序2、 #include void main( ) {float s; int n;

printf(\ scanf(\ while(s>100||s<0)

{printf(\scanf(\ }

n=(s<60)?69:68; if(s>=70) n=67; if(s>=80) n=66; if(s>=90) n=65; printf(\} 第7页 共8页 问题3:若输入为85时,输出是什么? 问题4:程序的功能是什么?

五、改错题(每错2分,共12分)

(注:请在答题卡上写出正确的语句)

1、程序的功能是:打印所有小于100的可以被11整除的自然数。 #include void main() {int i;

for(i=1;i<100;i++); /**** Found ****/【1】 if(i=0) /**** Found ****/【2】 printf(\ /**** Found ****/【3】 }

2、程序的功能是:输出所有三位的Armstrong数,即其值等于它本身每位数字立方和的数。如153就是一个Armstrong数。153=13+53+33

#include void main() {int i,d1,d2,d3;

for(i=100;i<=9999;i++) /**** Found ****/【4】 {d1=i/100;

d2=i/10; /**** Found ****/【5】 d3=i;

if(i==d1^3+d2^3+d3^3) /**** Found ****/【6】 printf(\ } }

六、编写程序(8分)

1、程序的功能是:从键盘输入200个整型数据。统计并输出所有正数的平均值。(要求必须用for循环实现)

第8页 共 8页

装订线


10级C语言期末考试题--A.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:螺纹,防锈油,动平衡知识

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: