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

C语言6套试题

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

printf(“%d”,*p); }

printf(“\\n”); }

A.23 B.26 C.33 D.36

15、执行下列程序后,y的值是____。 main( )

{ int a[ ]={2,4,6,8,10}; int y=1,*p,x; p=&a[1];

for(x=0;x<3;x++) y+=*(p+x);

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

A.17 B.18 C.19 D.20 16、以下程序的输出结果是____。 void sub(float x,float *y,float *z) { *y=*y-1.0; *z=*z+x; } main( )

{ float a=2.5,b=9.0,*pa,*pb; pa=&a; pb=&b; sub(b-a,pa,pa); printf(“%f\\n”,a); }

A.9.000000 B.1.500000 C.8.000000 D.10.500000 17、下面程序的输出结果是____。 #include “stdio.h” main( )

{ static char b[ ]= “Goodbye”; char *chp=&b[7];

while(--chp>=&b[0]) putchar(*chp); putchar(‘\\n’); }

A.Goodbye B.gOODBYE C.无任何输出 D.eybdooG 18、若有如下说明,则____的叙述是正确的。 struct st { int a; int b[2]; }a;

A.结构体变量a与结构体成员a同名,定义是非法的 B.程序只有在执行到该定义时才为结构体st分配存储单元

C.程序运行时为结构体变量a分配6个字节存储单元 D.不能将结构体类型说明与变量定义紧凑写在一起 19、设有如下定义:struct std { int a; float b; }data ,*p;

若有p=&data;则对data中的成员变量a的正确引用是____。 A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a 20、以下程序的输出结果是____。 main( ) { char x=040;

printf(“%d\\n”,x=x<<1); }

A.100 B.160 C.120 D.64

二、填空题(10个小题,每小题2分,共20分):

1、若a是int型变量,则执行表达式 a=25/3%3 后,a的值为____。 2、C语言中用____表示逻辑值“真”。

3、用在循环结构中,可以结束本次循环的语句是____。

4、用数组名作为函数参数是地址传递方式。地址传递是____(单向/双向)传递。

5、在二维数组初始化时,可以省略数组的____(行下标/列下标),系统会根据初值的个数,算出该下标的大小。

6、若输入字符‘A’,在以下while语句执行后ch的值为____。 while(ch=getchar( )==‘A’); 7、所谓“指针”,就是____。

8、设有宏定义:#define MUL(z) (z)*(z),则执行以下语句后,输出结果为____。 printf(“%d\\n”,MUL(1+2)+3);

9、若有定义和语句:char str[ ]=“ABCD”,*p=str; printf(“%d\\n”,*(p+4)); 则输出结果是____。

10、能够实现局部翻转(0变1,1变0)的位运算是____。

三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):

1、若运行以下程序时,从第一列开始输入数据:2473代表Enter),写出程序的执行结果。 #include “stdio.h” main( ) { char c;

while((c=getchar( ))!=‘\\n’) switch(c-‘2’) { case 0:

case 1 :putchar(c+4); case 2 :putchar(c+4);break; case 3 :putchar(c+3); default:putchar(c+2);break; }

printf(“\\n”);

}

2、main( )

{ int x=2,y=3,z=0; try(x,y,z);

printf(“(2)x=%d,y=%d,z=%d\\n”,x,y,z); }

try(int x,int y,int z) { z=x+y; x=x*x; y=y*y;

printf(“(1)x=%d,y=%d,z=%d\\n”,x,y,z); }

3、#include “stdio.h” #include “string.h” main( )

{ char *p1=“abc”,*p2=“ABC”,str[50]=“xyz”; strcpy(str+2,strcat(p1,p2)); printf(“%s\\n”,str); }

4、#include “stdio.h” #define NUM 8

void invert(int *a,int n); main( )

{ int a[NUM]={10,20,30,40,50,60,70,80},i; invert(a,NUM); for(i=0;i

void invert(int *a,int n) { int i,j,t; i=0;j=n-1; while(i

{ t=a[i];a[i]=a[j];a[j]=t; i++;j--; } }

四、编程题(2个小题,每小题10分,共20分):

1、编写程序,计算如下公式的值:t=1-1/(2*2)-1/(3*3)-?-1/(m*m)。 例如,若m=5,则应输出0.536389。 要求:利用scanf函数输入m的值。

利用子函数形式,m充当参数,不能只利用main函数形式实现。

2、编写程序,从输入的10个字符串中通过比较,找出最小和最大的字符串进行输出。 要求:利用二维字符数组。

利用gets函数进行输入,puts函数进行输出。

第四套试题答案

一、选择题(20个小题,每小题2分,共40分): 1、D 2、D 3、B 4、C 5、C 6、A 7、D 8、D 9、B 10、A

11、C 12、D 13、D 14、A 15、C 16、B 17、D 18、C 19、B 20、D 二、填空题(10个小题,每小题2分,共20分): 1、2 2、非零值 3、continue 4、双向 5、行下标 6、1 7、地址 8、12 9、0 10、^(异或)

三、读下面程序,写出执行结果(4个小题,每小题5分,共20分): 1、668977 2、(1)x=4,y=9,z=5 (2)x=2,y=3,z=0 3、xyabcABC

4、 80 70 60 50 40 30 20 10

四、编程题(2个小题,每小题10分,共20分): 1、main( )

{ float fun(int m),t; int m;

scanf(“%d”,&m); t=fun(m);

printf(“t=%f\\n”,t); }

float fun(int m) { float t=1,s; int i;

for(i=2;i<=m;i++) { s=1.0/(i*i); t=t-s; }

return t; }

2、#include “stdio.h” #include “string.h” main( )

{ char str[10][20],s[20]; int i;

for(i=0;i<10;i++) gets(str[i]); for(i=1;i<10;i++)

if(strcmp(str[0],str[i])>0) { strcpy(s,str[0]); strcpy(str[0],str[i]); strcpy(str[i],s); }

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