(完整版)程序设计基础试题_07_答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院领导
A / B卷
审批并签名
广州大学学年第学期考试卷
课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名
题次一二三四五六七八九十总分评卷人分数
评分
一、填空题(每空1分,共10分)
1.C源程序的基本单位是(函数)。
2.一个C源程序中至少应包含一个(主函数或Main函数)。
3.在C语言中,表示逻辑“真”值用(非0的值)表示。
4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为
(6),b值为( 4),c值为(2 )。
5.表达式8.2-2/3 的计算结果是(8.2 )。
6.在C语言中,整数可用三种数制表示,它们分别是(八进制)、(
十进制)和(十六进制)。
二、程序计算题(每小题5分,共15分)
1.以下有一程序,输出结果是:()。
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); }
答案:
10
40
2,0
3,0
2.
main()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>=10) break;
if(b%3==1)
{ b+=3;
continue;
}
}
printf(“%d\n”,a);
}
3.
fa(int a ,int b)
{ return a+b; }
fb(int a,int b)
{ return a-b; }
cut(int (*t)(),int x,int y)
{ return(*t)(x,y); } main()
{ int x,(*p)(int,int);
p=fa;
x=cut(p,9,3);
x+=cut(fb,8,3);
printf(“%d\n”,x);
3.程序填空题(每空4分,共40分)
1.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如“a”变为“f”,“w”变成“b”。请填空。
#include “studio.h”
main()
{ char c;
c=getchar();
if(c<=’a’&&c<=’u’)
putchar(c)
}
2. mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。
int mystrlen(char *str)
{ int i;
}
3. 鸡兔共有30只,脚共有90只,下面的程序段是计算鸡兔各有多少只,请填空。
for(x=1;x<=29;x++)
{
printf(“%d,%d\n”,x,y);
}
4.完成下面程序的链表建立:
#include
#include
#define LEN sizeof(struct link)
struct link
{ char name[10];
main()
{ struck link *head,*p;
int i;
head=null;
{
scanf(“%c,%d”,&p->name,&p->num);
p->next=head;
head=p;
}
}
5. 下面程序以每行4个数据的形式输出a数组,请填空。
#define N 20
main()
{ int a[N],i;
for(i=0;i { printf(“%3d”,a[i]); } printf(“\n”); } 四.编程(第1小题20分,第2小题15分,共35分) 1.编写一个函数atoi,其作用是将一个整数字符串转换成整数(说明:字符串不能进行四则运算,而整数能进行四则运算)。 答案: #include “stdio.h” main() { int atoi(char str[10]); char s[10]; int number; printf(“input a digit string\n”); scanf(“%s”,s); number=atoi(s); printf(“%d”,number); } int atoi(char str[10]) { int i,j,n,num,len,m; num=0; len=strlen(str); for(i=0;i { n=1; j=len=len-1; while(j>0) { n=n*10; j--; } m=str[i ]-48; num=num+m*n; } return(num); } 2.利用结构类型编写一个程序,计算一名同学5门功课的平均分,并打印。答案: main() { struct student { char name[20]; int order; int score[5]; float average; }x; int sum=0, i; printf(“Input:name,order and 5 scores.\n”); scanf(“%s”,); scanf(“%d”,&x.order);