(完整版)程序设计基础试题_10_答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广州大学学年第学期考试卷

课程高级语言程序设计考试形式(开/闭卷,考试/查)

学院系专业班级学号姓名

一、填空题(每空1分,共10分)

1.C源程序的基本单位是(函数)。

2.一个C源程序中至少应包含一个(main()函数)。

3.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为(10 ),b的值为( 6 )。

4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,b值为( 4 ),c 值为( 2 )。

5.表达式8.2-2/3 的计算结果是(8 )。

6.在C语言中,整数可用三种数制表示,它们分别是(十进制)、(八进制)和(十六进制)。

二、程序计算题(每小题5分,共15分)

1.

# define f(a) printf(“%d”,a)

main()

{ int i,b[]={1,2,3,5,7,9,11,13,15},*p=5+b;

for(i=3;i;i--)

switch(i)

{ case 1:

case 2: f(*p++); break;

case 3: f(*(--p));

}

}

2.

main()

{ int arr_sum(int arr[],int n);

int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int *p,total;

int (*pt)( int arr[],int n);

pt=arr_sum;

p=a[0];

total=(*pt)(p,12);

printf(“total=%d\n”,total);

}

arr_sum(int arr[],int n)

{ int i,sum=0;

for(i=0;i

sum=sum+arr[i];

return(sum);

}

3.以下有一程序,输出结果是:(10

40

2,0

3,0 )。main()

{ int x=2,y,z;

x*=3+2;

printf(“%d\n”,x);

x*=y=z=4;

printf(“%d\n”,x);

x=y=1;

z=x++-1;

printf(“%d,%d\n”,x,z);

z+=-x+++(++y);

printf(“%d,%d\n”,x,z);

}

三、程序填空题(每空4分,共40分)

1.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一

个小写字母,则把它变成大写字母;其他字符不变。请填空。

main()

{ char ch;

}

2. 下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include

main()

{ int i,j;

{

continue;

printf(“%d”,j);

}

}

3、计算圆周率的近似值的公式是:4*(1 - 1/3 + 1/5 -1/7 +........),精度要求为0.00001.请填空使程序正确运行。(6分)

#include

main()

{ int s;

float pi,item,n;

item=1;

pi=0;

n=1;

s=1;

)

{ pi=pi+item;

n= n+2;

}

pi= ;

printf("pi=%f",pi);

}

4.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如“a”变为“f”,“w”变成“b”。请填空。

#include “studio.h”

main()

{ char c;

c=getchar();

if(c<=’a’&&c<=’u’)

putchar(c);

}

5. 鸡兔共有30只,脚共有90只,下面的程序段是计算鸡兔各有多少只,请填空。

for(x=1;x<=29;x++)

{

printf(“%d,%d\n”,x,y);

}

四.编程(第1小题20分,第2小题15分,共35分)

1.编写一个函数atoi,其作用是将一个整数字符串转换成整数(说明:字符串不能进行四则运算,而整数能进行四则运算)。

int atoi(char *str)

{

int n,k,i,l;

n=0;

k=1;

for (l=0; '0'<=str[l] && str[l]<='9';l++);

for (i=l-1; '0'<=str[i] && str[i]<='9' && i>=0 ;i--)

{

n += (str[i]-'0')*k;

k *= 10;

}

return n;

}

2.利用结构类型编写一个程序,计算一名同学5门功课的平均分,并打印。struct core

{ float score[5];

};

void main()

{

int i;

float f;

struct core student;

for (i=0;i<5;i++)

{

scanf("%f",&f);

student.score[i]=f;

}

printf("\n");

for (i=0;i<5;i++)

printf("\n%f",student.score[i]);

}

相关文档
最新文档