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

C语言程序设计期末考试试题及答案

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

班 级

C语言程序设计 试 题

学 号 (2008 /2009 学年 第 二 学期)

一 二 三 四 五 六 七 八 九 十 总分 姓 名 得分 一. 选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3;

装C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。

A. 1 B. 2 C. –1 D. -2 3.执行下面程序:

#include \ void main()

订{

int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3);

printf(“%d,%d,%d”,a,b,c);

}

线 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5

4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。

A. a< >0 B. !a C. a=0 D. a

5. for (j=0;j<11;j++);循环结束后,j的值是 B 。

A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。

A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。

A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。

8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; }

A. 10 B. 11 C. 12 D. 13

9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={\B.char str[8]={'s','t','r','i','n ','g','s','\\0'}; C. char str[10]; str= \10. 有如下程序:

#include void main() {

int a=1,b=0,c=0; if (a

if (b<0) c=0; else c++;

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

该程序的运行结果是 D 。

A. 3 B. 2 C. 1 D. 0 11. 在函数调用,对参数传递的说法正确的是 A 。

A 实参和形参各占一个独立的存储单元。 B 实参和形参始终共用一个相同的存储单元。

C 可以由用户指定实参和形参是否共用一个存储单元。 D 可以由系统指定实参和形参是否共用一个存储单元 12. 以下正确的程序段是 C 。

A. char str1[ ]= \B. char str[10], *st=\

C. char str[10]= \D. char *st1=\

13. 若有定义:int *p[4];则标识符p B 。

A. 是一个指向整型变量的指针 B. 是一个指针数组名

C. 是一个指针,它指向一个含有四个整型元素的一维数组 D. 说明不合法

班 级 学 号 姓 名 装 订 线 14. 以下程序的运行结果是 C 。

typedef union {

long a[1];

int b[2]; char c[8]; } TEST;

TEST m; main( ) {

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

A. 32 B. 16 C. 8 D. 24

15. 设有以下结构体类型:

struct st { char name[8]; int num;

float s[4]; }student[50];

并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件file.txt中,以下不正确的形式是 C 。

A.fwrite(student,sizeof(struct st),50,fp); B. fwrite(student,50*sizeof(struct st),1,fp); C. fwrite(student,25*sizeof(struct st),25,fp); D. for(i=0;i<50;i++)

fwrite(student+i,sizeof(struct st),1,fp);

得分 二、填空题(满分20分,每空2分) 1. 每个C语言编写的程序必须有一个,并且只能有一个 主 函数。

2. 设x和y均为int型变量,且x=1,y=2,则表达式3+x/y的值为 3 。 3. 若有定义:int a[ ]={2,4,6,8,10,12},*p=a;则*(p+1)的值是 4 。 4. 设x=0xAB,若要通过x|y使x低4位置1,高4位不变,则y= 0x0F 。 5. 测试char型变量m的最高位数据是否为1的表达式是 a&0x80 。 6. 若x=2,y=-3则x&&y的结果是 1 。

7. 与二进制数101等值的十进制数为 5 。

8. 定义int i=1;执行语句 while(i++<5); 后,i的值为 6 。

9. 下面程序的运行结果为 22222 。

#include void main() {

int i=2,j=5,s; s=i;

for (;--j;) s=s*10+i;

printf (“%d”,s); }

10. 写出程序的执行结果: i=10,j=11 main ( )

{ int i=0,j=0; while (i<10)

i++;

while (j++<10) ;

printf(“i=%d, j=%d\\n”,i,j); }

得分 三、读程序写结果(满分16分,每题4分)

1. 判断下面程序的运行结果。

#include void main() { int a=0,b=1; int fun(int a,int b); printf(\ printf(\

}

int fun(int m, int n) { static s=1; s++; return(s*(m+n));

} 2

程序运行的结果为: 3 。

班 级 学 号 姓 名 2. 以下程序的输出结果是 3,2 。

#include \struct chain {

int x; int y;

struct chain *p; }m[2];

void main( ) {

m[0].x=1; m[0].y=2; 装 m[1].x=3; m[1].y=4; m[0].p=&m[1]; m[1].p=m;

printf(\ } 订

3. 下面程序的运行结果是 7654321 。

#include #include

void fun(char *w, int n) 线{

char t,*s1,*s2; s1=w; s2=w+n-1; while(s1

t=*s1; *s1=*s2; *s2=t; s1++; s2--; } }

void main( ) {

char p[]=\ fun(p, strlen(p)); puts(p); }

4. 下面程序的输出结果为 4,2 。

#include \struct ks {

int a; int *b; }s[4],*p;

void main( ) {

int n=1,i; printf(\ for(i=0;i<4;i++) {

s[i].a=n;

s[i].b=&s[i].a; n=n+1; }

p=&s[0]; p++;

printf(\}

得分 四、程序设计(满分34分) 1. 编写一个程序,判断某一年是否为闰年。(6分)

#include void main() {

int year;

printf(“input year=”); scanf(“%d”,&year);

if ((year%4==0&&year0!0)||year@0==0) printf(“M is a leap year \\n”,year);

else

printf(“M is not a leap year \\n”,year);

}

订 班 级 学 号 姓 名 2. 用

?4?1?13?15?17??公式求?的近似值,直到最后一项的绝对值小于10?6为止,请编程实现。

(8分)

#include “math.h” void main() {

int s;float n,t,pi; t=1; pi=0; n=1.0; s=1; while((fabs(t))>1E-6) {

装pi=pi+t; n=n+2; s=-s; t=s/n; }

pi=pi*4;

订 printf(“pi=.6f\\n”,pi); }

3. 编写程序,利用子函数实现计算字符串的长度。(10分)

线

#include

int length(char *s); void main( ) {

char a[100]; int i;

printf(\ gets(a); i=length(a);

printf(\}

int length(char *s) {

char *p=s; while(*p) p++; return(p-s); }

4.将一个整数字符串转换为一个整数,如\转换为-1234。(10分)

#include #include int chnum(char *p); void main( ) {

char s[6]; int n; gets(s); if(*s=='-')

n=-chnum(s+1); else

n=chnum(s); printf(\}

chnum(char *p) {

int num=0,k,len,j; len=strlen(p);

for( ;*p!= '\\0';p++) {

k=*p-'0'; j=(--len); while(j-->0) k=k*10; num=num+k; }

return(num); }

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