2013-2014第一学期c语言程序设计期末考试试题

更新时间:2023-12-18 06:01:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、.单选题

1.一个完整的C程序是 B

A.要由一个主函数(或)一个以上的非主函数组成

B.由一个且仅由一个主函数和零个以上(含零)的非主函数组成 C.要由一个主函数和一个以上的非主函数构成 D.由一个且只有一个主函数或多个非主函数组成

2.int a=3,则执行完语句a-=a+=a*=a后,a的值是__0_____ 3.x,y为整形,表达式x=4,y=2+6/x的值是____3______

4.int a=3,b=-2;printf(“%d”,(a=3)&&(b=-3);的输出结果是___1____ 5.“10≥a≥0”的C语言表达式为___a>=0&&a<=10 ______ 6.以下错误的if语句是 C A.if(x>y)z=x; B.if(x==y)z=0; C.if(x!=y)

printf(“%d”,x) else

printf(“%d”,y); D.if(x

7.c语言中,下列说法正确的是__D__

A.do-while语句构成循环的循环次数可以为0

B.do-while构成的循环必须用break语句才能结束

C.do-while构成的循环,当while语句中的表达式值为非0时循环结束 D. do-while构成的循环,当while语句中的表达式值为0时循环结束 8.以下循环执行的次数是___3____ main() {

int i,j;

for(i=1,j=10;i<=j;i++,j-=2) {

if(i%3==0)i++;

printf(“%f\\n”,i); } }

9.以下正确的数组定义语句是___B_____ A.int a[3][]={1,2,3,4,5,6} B.int n=2,a[n]={1,2}; C.int a[3]={1}; D.int a[][3];

10.若有说明:int a[3][4];则对于a数组元素的非法引用是_D___ A.a[2][2*1] B.a[0][3] C.a[4-2][0] D.a[1][4]

11.函数调用语句fun((a,b),(x+y,z))中实参的个数是__2__ 12.下面程序错误的行是_3___ main()

{int a[3]={1}; int I;

scanf(“%d”,&a); for(i=1;i<3;i++) a[0]=a[0]+a[i];

printf(“a[0]=%d\\n”,a[0]); }

13.C语言程序由函数组成__A_ A.可以嵌套调用函数 B.可以嵌套定义函数

C.递归函数只能直接递归,不能间接递归 D.主函数必须定义在其他函数之后

14.若使用一维数组名作函数的实参,则以下正确的说法是__C__ A.参数传递时,是将实参数组的第一个元素的值传给了形参数组 B. 参数传递时,是将实参数组中全部元素的值传给了形参数组 C.在定义被调用的函数是,定义的形参数组的大小可以为空 D.实参数组名和形参数组名必须一样 16.以下函数值的类型是_int___ fun(float x) {

float y; y=3*x-4; return y; }

16.若已定义char s[10],在下面表达式中不能表示s[1]的地址是B A.s+1 B.s++ C.&s[0]+1 D.&s[1]

17.关于局部变量的作用域,下列说法正确的是____D_ A.本文件的全部范围 B.本程序的全部范围 C.本函数的全部范围

D.从定义开始至本函数结束

18.已定义如下函数 int fun(int *p) {return *p;}该函数的返回值是 D A.不确定的值

B.形参p中存放的值 C.形参p的地址值

D.形参p所指的存储单元的值

19.逻辑运算符两侧运算对象的数据类型可以是__D_ A.只能是0或1

B.只能是0或非0正数 C.只能是整形或字符型数据 D.可以是任何类型的数据。 二填空题

1. 若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是__1__

2. 若有以下定义和语句:int a[4]={0,1,2,3,},*p;p=&a[1];则++(*p)的值是___2_

3. 语句 for(i=1;i==10;i++)

if(i%5==0) break; 循环次数是_0__ 4. 若有以下程序段

int a[5]={2,4,6,8,10},*p,k; p=&a[2]; k=*(p--);

则程序段执行后k的值为___6__

5.以下程序的功能是计算1*2*3+3*4*5+5*6*7+?+99*100*101 请填空 main() {

int i,sum=0;

for(i=1;i<=99;___i+=2____)

sum=sum+____i*(i+1)*(i+2)____ printf(“%d\\n”,sum); } }

5. 下面程序的功能是统计0至9之间的不同的数字组成的三位数的个数

main() {

int I,j,k,count=0; for(i=1;i<=9;i++) for(j=0;j<=9;j++)

if(i==j)continue;

else

for(k=0;k<=9;k++)

if(i!=k&&j!=k) count++; printf(“%d\\n”,count); }

三、写程序的运行结果

1.void fun(int *a,int *b) {

int *k;

k=a;a=b;b=k; }

main() {

int a=3,b=6,*x=&a,*y=&b; fun(x,y);

printf(“%d,%d\\n”,a,b); } (3,6)

2.f(int n)

{

float r; r=n/2.0; return r;

}

main() {

float x; x=f(3);

printf(“%3.1f\\n”,x); } 1.0

3.main() {

int I,b,k=0;

for(i=1;i<=5;i++) {

b=i%2;

while(b>=0){k++;b--} }

printf(“%d,%d\\n”,k,b); } 8 -1 4,

void func(int a) {

static int m=1; m+=a;

printf(“%d\\n”,m); }

void main() {

int k=3;

func(k);func(k); } 4 7 5. main() {

int a[]={1,2,3,4,5,6,7,8,9,10},*p; p=a;*(p+2)+=2;

printf(“%d,%d\\n”,*p,*(p+2); p+=3;

printf(“%d,%d\\n”,*p,*(p+2);

} 1 5 4 6 6. main() {

int i;

for(i=1;i<3;i++) {

if(i%2) printf(“*”);

else { printf(“#”);continue;} printf(“$”); } *$# 7. main() {

int x=1,y=0; switch(x) {

case 1:

switch(y)

{

case 0:printf(“zero\\n”);break; case 1: printf(“first\\n”);break; }

case 2: printf(“second\\n”);break; case 3: printf(“third\\n”);break; } } zero second 8. main(0 {

int a=1,b=10; do {

b-=a; a++

}while(b<0);

printf(“%d,%d\\n”,a,b); }

2,9 编程题

1. 编写程序输出10到99之间符合如下条件的数:

设次数的个位数和十位数的乘积为k,满足2≤k≤7 #include int main(void) {

int i,n;

for(i=10;i<=99;i++) {

n=i*((i-i)/10); if(n>=2&&n<=7) printf(\ } }

2.设某班人数为50人,参加c语言考试,用一维数组int score[50]存放考试成绩,编写一函数int count(int score[],int n)统计不及格人数,在主程序中调用该函数求出不及格的百分比。

#include void main (void) {

int i;

float scoer[50], precent; int count=0; for (i=0;i<50;i++) {

scanf(\ if(scoer[i]<60) count++; }

precent=count/50.0;

printf(\不及格人数:%d,不及格比例:%f\\n\

}

2,9 编程题

1. 编写程序输出10到99之间符合如下条件的数:

设次数的个位数和十位数的乘积为k,满足2≤k≤7 #include int main(void) {

int i,n;

for(i=10;i<=99;i++) {

n=i*((i-i)/10); if(n>=2&&n<=7) printf(\ } }

2.设某班人数为50人,参加c语言考试,用一维数组int score[50]存放考试成绩,编写一函数int count(int score[],int n)统计不及格人数,在主程序中调用该函数求出不及格的百分比。

#include void main (void) {

int i;

float scoer[50], precent; int count=0; for (i=0;i<50;i++) {

scanf(\ if(scoer[i]<60) count++; }

precent=count/50.0;

printf(\不及格人数:%d,不及格比例:%f\\n\

}

本文来源:https://www.bwwdw.com/article/fwv5.html

Top