西安财经学院c语言大作业,西安财经学院C语言试题.doc

A 套 第 5 页 共 4 页

学号 姓名 班级 考试时间 年 月 日

装 订 线

西 安 财 经 学 院 试 题(卷)纸

命题教师 周少敏 学期 2006 — 2007 学年第 1学期

使用班级 信本05级、计本05级 考核方式 闭卷笔试

课程名称 程序设计基础(C语言) 阅卷教师签名

题号

总分

得分

注意事项:

命题教师:1.出题用五号字、宋体输入,打印用正规A4纸张。

2.装订线以外的各项均由命题教师填写,不得漏填。

考 生:1.装订线内的“班级”、“学号”、“姓名”、“时间”等栏由考生本人填写。

2.不得用红色笔,铅笔答题,否则试卷无效。

第一题

得分

一、  填空题(每空2分,共20分)

1.C程序上机运行一般要经过 (编译)生成目标程序,然后经过连接生成可执行程序。

2.代数表达式 的C语言表达式是  .(-b+sqrt(b*b-4*a*c))/(2*a)   。

3.设有语句 int a=3; 表达式 a+=a*=a+1 的值是 24  。

4.C程序由函数构成,其中 主 函数有且仅有一个。

5.变量的定义语句为:int a=10,*p=&a,**q=&p;格式输出语句

printf("%d,%d",a,*p+**q) 的输出结果是 20     。

6.设有语句 char s[]="abcd_123",数组s的长度是 9。

7.结构体定义为

struct node{

int num;

char name[20];

float score[3];

} uu;

表达式 sizeof(uu)的值是 34 。

8.设有语句为int i=10; printf("%d,%d",++i,++i);输出是 12。

9.动态存储分配函数 malloc(sizeof(float)*10)为用户分配了40 个字节。

10.C语言中数据文件分为ASCII码文件和 二进制 文件两类.

第二题

得分

二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分)

1.下列符号串中,属于C语言合法标识符的是(D )。

A. else B. a+2 C. 2x1 D. x_1

2.优先级最高的运算符是(C )。

A. + B. && C. -> D. +=

3.语句int i,j ;定义的整型变量占两个字节,其取值范围是( D ).

A.-128~127 B.0~255

C.0~65535 D.-32768~32767

4.程序中调用数学函数,程序开始处应有命令( A )。

A. #include "math.h" B. #include "stdio.h"

C. #include "string.h" D. #include "stdlib.h"

5.设char ch='B',执行语句ch=(ch>='A'&& ch<='Z')?ch+32:ch;后ch的值是( D )。

A. 'A' B. 97   C. 'B'   D. 'b'

6.定义内部变量缺省存储类型,默认存储类型是( A )。

A. auto B. static C. register D. extern

7.若x=3,y=4,z=4 ,表达式z>=y>=x?1:0 的结果是( A )。

A. 0 B. 1 C. 非0 D. T

8. 定义指向函数的指针变量的语句是( D )。

A. int *p[5]; B. int **p;

C. int (*p)[2]; D. int (*p)(int x);

学号 姓名 班级 考试时间 年 月 日

装 订 线

学号 姓名 班级 考试时间 年 月 日

装 订 线

9.定义变量的语句为 int a[10],*p=a; 对数组元素a[5]的不正确引用是( A )。

A. *p[5]; B. p[5]

C. *(p+5) D. *(a+5);

10 结构体定义为

struct node{

int num;

char ch;

float score;

} s,*p=&s;

对结构体成员不正确的引用是( B )。

A. (*p).ch B. *p->ch

C. p->ch D. s.ch

第三题

得分

三、程序阅读题(阅读程序,写出程序运行结果。每小题6分,共30分)

(1)

main( )

{ int a[3][3]={{9,7,5},{3,1,2},{4,6,8}},i,j,s1,s2;

s1=0;s2=0;

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

for(j=0;j<3;j++)

{ if(i==j) s1=s1+a[i][j];

if(i+j==2) s2=s2+a[i][j];

}

printf("%d , %d\n",s1,s2);

}

运行结果:18,10

(2)void covf(int *s , int n);

main( )

{int i;

int a[10];

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

a[i]=i+i;

covf(a,10);

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

print("%5d",a[i]);

}

void covf(int *s , int n)

{ int *p,*q,t;

p=s; q=s+n-1;

while(p=0)

{printf(″%s\n″,argv[k]);

k--;

}

}

文件名为li01.exe命令行输入是

li01 file1.c file2.c file3.c

输出结果:file3.c

file2.c

file1.c

li01

(5)

int x=30,y=50;

int sub(int x, int y)

{

y=x>y? x:y;

return y;

}

main()

{

{ int x=100;

printf(″%d\n″,sub(x,y));

}

printf(″%d,%d\n″,x,y);

}

运行结果:100

30 50

四、程序填充题(根据题意,在程序画线处添上恰当的语句,使程序完整。每小题6分,共12分)

1. 求100~999之间的水仙花数(一个三位整数等于它自己的每一位数字的立方和,称该数为“水仙花数”,如:153=13+53+33)。

main()

{ int i,j,k,n;

for(n=100 ;n<= 999 ;n++)

{ i=n/100;

j=n/10%10;

k=n%10;

if(i*i*i+j*j*j+k*k*k==n )

printf(″%d″,n);

}

学号 姓名 班级 考试时间 年 月 日

装 订 线

printf(″\n″);

}

2.读入一字符串,将其中的大写字母变为小写字母并输出。

main( )

{char str[80];

int i;

scanf(″%s″,str)

i=0 ;

while(str[i]!='\0')

{ if(str[i]>=’A’&&str[i]<=’Z’ )

str[i]=str[i]+32

i++;

}

printf(″%s″,str);

}

第五题

得分

五、编程题(一、二小题各9分,三题10分,共28分)

1. 编写程序求两个正整数的最大公约数和最小公倍数。

2. 编写求一个字符串长度的函数(要求用字符数组或指针)。

3. 编写程序求菲波那契数列的前二十项并输出,要求每行输出5项(菲波那契数列:1,1,2,3,5,8,13......)。

1. int hcf(int u, int v)

{ int r;

if(u20;i++)

{if(i%5==0) printf(″\n″);

printf(″%5d″,a[i]);

}

}

展开阅读全文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值