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

C语言期中考试卷1,4

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

main()

{ union{ long a; int b; char c; } m;  printf(“%d\\n”,sizeof(m));} [32]A) 2 B) 4 C) 1 D) 7 33、若执行以下程序段 int x=3,y=6,z; z=x^y <<2;

则z的二进制值是[A] 。

[33]A) 00011011 B) 00010100 C) 00011000 D) 00000110 34、若有以下定义和语句,则对a数组元素地址的正确引用是[C] 。 int a[2][3],(*p)[3]; p=a;

[34]A) *(p+2) B) p[2] C) p[1]+1 D) (p+1)+2 35、若执行以下程序段,其运行结果是[D] 。 char c[]={?a?,?b?,?0?,?c?,?\\0?}; printf(“%s\\n”,c);

[35]A) ab c B) ?a??b? C) abc D) ab

36、若有int max(),(*p);为使函数指针变量p指向函数max,正确的赋值语句是[A] 。 [36]A) p=max; B) *p=max; C) p=max(a,b); D) *p=max(a,b); 37、若有定义int a[3][5],i,j;(且0 main()

{ enum{aa,bb=5,cc,dd}e;  for(e=bb;e>=aa;e--)  printf(“%d”,e);

 printf(“\\n”); }

[38]A) 543000 B) 5430 C) 543210 D) 程序出错

39、C语言规定,函数返回值的类型由[D]所决定。

[39]A) return语句中的表达式类型 B) 调用该函数时的主调函数类型

 C) 调用该函数时的形参类型 D) 在定义该函数时所指定的函数类型 40、若建立以下链表结构,其指针p,q定义如下。若p,q指向图中所示结点,则能将q所指的结点插入到链表末尾组成单向链表的一组语句是[C] 。 struct node

{ int data; struct node *next; }p,q; [40]A) q->next=NULL; B) p=p->next;

 p=p->next; q->next=p->next;  p→next=q; p→next=q;  C) p=p->next; D) p=(*p). next;  q->next=p; (*q).next=(*p).next;  p->nex=q; (*p).next=q;

二、请正确填充下面的划线部分,使其完成所要求的功能 1、计算sum=1+1/2+1/4+...+1/50的值,并显示出来。 #include main()

p 10 20 NULL q 30 { int i=2; float sum=1.0;  while(i<=[1])

 { sum+=1/[2]; i+=2; }  printf(“sum=%f\\n”,sum);

} 2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。 #include main()

{ unsigned long num,max,t; int count;  count=max=0;  scanf(“%ld”,&num);  do{ t=[3];

 if(t==0)++cunt;  else

 if(max

 }while(num);

 printf(“count=%d,max=%ld\\n”,count,max);}

3、以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i]). #include main()

{ int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,8,6,7,4}; int i,j,found=0;  for(j=0;j<4;j++)  { for(i=0,i<4,i++)  if([5])

{ found=[6];  break;  }

 if(found)break; }

 if(found) printf(“不对称\\n”);  else printf(“对称\\n”);}

4、以下程序用来完成数学函数f(x,y)的计算:f(x,y)=

3xyx?2y?1?32(x?2y)

#include

#include main()

{ double x,y,z,f();

 scanf(“%lf%lf”,&x,&y);  z=x*y/f([7]);

 printf(“result=%lf\\n”,z);} double f(double a) { double f1;

 f1=pow(3,a)+sqrt(1+[8]);  return f1;}

5、以下程序用来输出字符串。 #include

main()

{ char *a[]={“for”,”switch”,”if”,”while”};  char **p;

 for(p=a;p

6、以下程序是用来输出如下图形:

* #*#  *#*#*

#*#*#*# *#*#*#*#*

#include main() { int i,j;

 for(i=1,i<=5;i++)

 { for(j=1,j<=5-i;j++)printf(“ “);  for (j=1;j<=2*i-1;j++)  if([10])printf(“*”);  else print(“#”);  printf(“\\n”); } }

7、以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把二者对调,然后输出调整后的5个数。 #include

main()

{ int a[5],t,i,maxi,mini;  for(i=0,i<5;i++)

 scanf(“%d”,&a[i]);  mini=maxi=[11] ;  for(i=1;i<5;i++)  { if([12])mini=i;

 if(a[i]>a[maxi]) [13]; }

 printf(“最小数的位置是:=\\n”,mini);  printf(“最大数的位置是:=\\n”,maxi);  t=a[maxi]  [14];  a[mini]=t;

 printf(“调整后的数为:”);  for(i=0;i<5;i++)

 printf(“%d”,a[i]);  printf(“\\n”);} 8、以下程序是用来从10到99数字中挑出能被3整除且至少有一位是5的两位数,并打印出所有这样的数及其个数。

#include main()

{ int k,m=0;

 for(k=10;k<=99;k++)  { m+=sub(k); }

 printf(“个数为:%d\\n”,m); }

sub(int k)

{ int a1,a2,n=0;  a2=[15];  a1=k/10;

 if(k%3==0 && ([16]))

 { printf(“%d”,k); return 1; }  else return 0; }

9、以下程序是把文件file1.dat中的内容复制到一个名为file2.dat新的文件中。 #include main()

{ FILE *fpr,*fpw;

 if((fpr=fopen(“file1.dat”,”rb”))==NULL) exit(0);  if((fpw=fopen([17],”wb”))==NULL) exit(0);  while(!feof(fpr))

 { fputc([18],fpw); } fclose(fpr);  fclose(fpw);}

10、以下程序的fun函数用于统计字符串s中元音字母(a,A,e,E,i,I,o,O,u,U)的个数。 #include main()

{ char str[255];  gets(str);

 printf(“元音字母的个数为:%d\\n”,fun(str)); }

funr(char *s)

{ char a[]=“aAeEiIoOuU”,*p;  int n=0;

 while([19])

 { for(p=a,*p;p++)  if(*p[20])

 { n++; break; }  s++;  }

 return n;}

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