第一范文网 - 专业文章范例文档资料分享平台

徐州工程学院C语言期末考试历年试题

来源:用户分享 时间:2025/8/5 6:53:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

} }

3. 以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 递归公式如下: age(1)=10

age(n)=age(n-1)+2 (n>1) #include int age(int n) {

int c;

if (n==1) c=10; else c= (5) ; return c; }

4. 以下程序的功能是判断输入的年份是否是闰年。 void main(void) {

int year,yes;

scanf(\

if (year@0==0) yes=1; else if ( (6) ) yes=1; else (7) ; if(yes) printf(\ else printf(\ printf(\ }

5. 以下程序实现函数调用。 # include fut ((8), int b[ ][ 3])

{ **s= b[ 1][ 1]; } main ( )

{ int a[ ][3]={1,3,5,7,9,11},(9); p =( int *) malloc (sizeof ( int )); fut ((10));

printf( \}

三、改错题(共1题,每题10分,共10分)

说明:程序有错误的地方已经用下划线”_______”标出,只要把正确的答案写在相应的位置即可。 【含有错误的源程序】

《C语言程序设计》试卷 第 13 页 共 25 页

#include

#include

int search_or(char str[][80],int n[],char substr[],int loc[]) /* (1) */ { char s1[],s2[],comp[]; /* (2) */ int i,j,k=0,t,len_s1,len_s2; for(i=0;substr[i]!=? ?;i++); substr[i]=?\\0?;

strcpy(s1,substr); strcpy(s2,substr+i+1); len_s1=strlen(s1);len_s2=strlen(s2); for(i=0;i

for(j=0;str[i][j]!=?\\0?;j++)

{ strncpy(comp,&str[i][j],len_s1); comp[len_s1]=?\\0?;

if(strcmp(s1,comp)= =0){t=1;break;} strncpy(comp,&str[i][j],len_s2); comp[len_s2]=?\\0?;

if(strcmp(s2,comp)= =0){t=1;break;} }

if(t)loc[++k]=i; /* (3) */ }

return k; }

main()

{ char lines[4][80]={“Missing Idaho boy”,” Missing soldier rescued”,

” Teachers union pushers for $40K starting pay”, ” Poverty killing Niger?s boy” };

char cond[80]={Missing boy}; /* (4) */ int result[4],i=0,n;

n=search_or(lines,4,cond,result); for(i=0;i

五、编程题(共2题,第1题10分,第2题20分,共30分) 1.用?选择法?对任意数组排序。

2. 有一磁盘文件emp.dat, 存放职工记录,记录结构如下: struct emp{char no[6]; //工号 char name[8];//姓名 char gender;//性别 (?0?:女,?1?:男) } 编写程序,统计男女人数及百分比。

《C语言程序设计》试卷 第 14 页 共 25 页

C语言程序设计试卷(4)

一、选择题(共10题,每题2分,共计20分) 1. 一个C语言程序是由( ① )。 A. 一个主程序和若干子程序组成 B. 若干函数组成 C. 若干过程组成 D. 若干子程序组成

2. 已知:char *s=\则s所指的字符串的长度为( ① ). A. 18 B. 16 C. 13 D. 14

3. 若有条件表达林(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( ① )。 A. (exp==0) B. (exp!=0) C. exp==1 D. (exp!=1)

4. 已知有语句 scanf(“%d%d”, &a, &b);

要使整型变量 a=6, b=8

运行时,屏幕上应看到输入: A. a=6,b=8 B. a=6 b=8 C. 6,8 D. 6 8

5. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( ① )。 A. 地址传递 B. 单向值传递

C. 双向值传递。即由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式

6. 以下正确的函数形式是( ① )。 A. double fun1(int x,int y) { z=x+y; return z; }

B. fun1(int x, y) { int z; return z; }

C. fun1(x,y) {

int x,y; double z; z=x+y;

《C语言程序设计》试卷 第 15 页 共 25 页

return z; }

D. double fun1(int x, int y) {

double z; z=x+y; return z; }

7. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( ① )。 A. float型 B. int型 C. long型 D. double型

8. 以下程序有语法性错误,有关错误原因的正确说法是( ① )。 void main(void) {

int k; void prt_char();

…… k=prt_char(G);

…… }

A. 语句void prt_char();有错,它是函数调用语句,不能用void说明。 B. 变量名不能使用大写字母。

C. 函数原型说明和函数调用语句之间有矛盾。 D. 函数名不能使用下划线。

9. 执行以下程序段后,变量x和y的值是( ① )。 #define EXCH(a,b) {int t; t=a;a=b;b=t;} void main(void) {

float x=5.2 y=9.6; EXCH(x,y); ... }

A. 10和5 B. 9.6和5.2 C. 出错 D. 9和5

10. 若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是( ① )。 struct pupil {

char name[20]; int age; int sex; }pup[5],*p; A. scanf(\

《C语言程序设计》试卷 第 16 页 共 25 页

徐州工程学院C语言期末考试历年试题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1wzn16dm020088s3wpoo_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top