(完整word版)C语言填空题整理_第1页
(完整word版)C语言填空题整理_第2页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一. (25)116、以下程序运行后的输出结果是_3_ 。main() int p=30;printf(%dn,(p/30 ? p/10 :p%3);66、若想通过以下输入语句使 a=5.0 , b=4, c=3,则输入数据的形式应该是 _5.0 , 4, c=3_int b,c; float a;scanf(%f,%d,c=%d, &a,&b,&c)27、请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。_double max 或 extern double max _ ( double,double);main() double x,y;scanf(%1f

2、%1f, &x,& y);printf(%1fn,max(x,y);double max(double a,double b) return(ab ? a:b);57、以下程序的输出结果是 _246_ 。void fun()static int a = 0;a += 2;printf(%d,a);main()int cc;for(cc = 1;cc 4; cc+) fun();printf(n);43、以下程序运行后的输出结果是_81_ 。#define S(x) 4*x*x+1main() int i=6,j=8;73、以下函数 inverse 的功能是使一个字符串按逆序存放

3、。inverse(str)char str;char m;int i,j;for(i=0,j=strlen(str);istrlen(str)/2;_i+_,j-)m=stri;stri=_ strj-1_;_strj-1=m_ ;144、以下程序的输出结果_efgh_#include #include char *fun(char *t) char *p=t;return(p+strlen(t)/2);main() char *str=abcdefgh;str=fun(str);puts(str);67、下列程序的输出结果是_5 6int t(int x,int y,int cp,int d

4、p) cp=x * x+y*y;dp=x*x_y*y;main() int a=4,b=3,c=5,d=6;t(a,b,c,d);printf(%d %dn,c,d);19、若有如下结构体说明:struct STRU int a,b;char c: double d;struct STRU *p1,*p2;请填空,以完成对 t 数组的定义,t 数组的每个元素为该结构体类型。_struct STRU_t20100、以下程序用来统计文件字符的个数,请填空。#include stdio.hmain() FILE *fp; long num=O;if(fp=fopen(fname.dat,r)=NUL

5、L) PRINTF(Open errorn);exit(0);while(_ _fgetc(fp)!=EOF或!feof(fp )_)num+; printf(num=%ldn,num);fclose(fp);93、以下程序段用于构成一个简单的单向链表,填空。struct STRU int x,y;float rate;_ _struct STRU *_p;a,b;a. x=0;a.y=0;a.rate=0;a.p=&b;b. x=0;b.y=0;b.rate=0;b.p=NULL;42、以下程序从终端读入数据至威组中,统计其中正数的个数,并计算它们之和,请填空main() int i

6、,a20,sum,count;sum=count=0;for(i=0;i20;i+) scanf(%d,_&ai_);fro(i=0;i0) count+;_ai_; printf(sum=%d,count=%dn,sum,count);74、以下函数 fun 用于求两个整数 a 和 b 的最大公约数fun(a,b)int a,b;int i,j,m,n;if(ab)m=a;a=b;_b=m_;i=a;j=b;while(n=_ j%i_)!=0)sum+=j=i;i= _n_;return(i);41、以下程序中,for 循环体执行的次数是_4#defineN2#defineMN+1

7、#defineKM+1*M/2main() int i;for(i=1;ik=+i; p+;q_k=i+; q-;q-k=i;for(i=0;i0;j-) for(i=1;i=4;i+) x=(j-1)*4+_ printf(%4d,x);printf(n);92、若有定义语句:char s100,d100;int j=O,i=O;且 s 中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)while(si)dj=_ si+_;j+;dj=0;37、下面 rotate 函数的功能是:将 n 行 n 列的矩阵 A 转置为 A,例如:|1 23 4 |5 67 8 |当 A=|910 11 1

8、2|13 14 15 16|1 59 13|2 610 14|贝 UA=|37 11 15|4 812 16|请填空。#define N 4void rotate(int a) int i,j,t;for(i=0;iN;i+)for(j=0;_jv=i _;j+)t=aij;_aij=ajiaj【i=t;52、已知字符 A 的 ASCII 码为 65,以下程序运行后的输出结果是_67G.main() char a,b;a=A+5-3; b=a+6-2;printf(%d%cn,a,b); 115、已有文本文件 test.txt ,其中的内容为:Hello ,everyone !。以下程序中,文

9、件 test.txt 已正确为读而打开,由此文件指针 fr 指向文件,则程序的输出结果是 _Hell _。#include main() FILE *fr; char str40;fgets(str,5,fr);printf(%sn,str); fclose(fr);10、函数 mycmp(char *s,char *t)的功能是比较字符串 s 和 t 的大小,当 s 等于 t 时返回 0,当 st 返回正值,当 st 时返回负值。请填空。mycmp( char *s,char *t) while (*s=*t) if (*s=0)return 0;+s;+t;return( _*s=*t _

10、 );136、以下程序的功能是: 利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。请填空。main() int x,y, z,m ax,*px,*py,*pz,*pmax;scanf(%d%d%d, &x,& y, &z);px=&x; py=&y; pz=&z; pmax=&max;*pmax=x_ ;if(*pmax*py) *pmax=*py;if(*pmax*pz) *pmax=*pz;printf(max=%dn,max);46、已知字符 A 的 ASCII 代码值为 65,以下程序运行时若从键盘输入

11、:B33,则输出结果是_1 B.#include main() char a,b;a=getchar();scanf(%d,&b);a=a-A+0;b=b*2;printf(%c %cn,a,b);三.(11)6、以下程序通过函数 SunFun 和 f(x) ,x=0 到 10,这里 f(x)=xA2+1 ,由 F 函数实现,请填空。 main() printf(The sun=%dn,SunFun(10);SunFun(int n) int x,s=0;for(x=0;x=n;x+)s+F(_ );return s;F(int x) return (_ );131、下面程序的运行结果

12、是 _18_。#include int f (int a, int n) if(n1)return a0+f(a+1,n-1);elsereturn a0;main()int aa10=1,2,3,4,5,6,7,8,9,10, s;s=f (aa+2,4); printf(%dn,s); 97、以下程序的输出结果是_efgh_ 。main() char *p=abcdefgh,*r;long *q;q=(long*)p;q+;r=(char*)q;printf(%sn,r);141、执行以下程序时输入 1234567则输出结果是_12 34_#include main() int a=1,b

13、;scanf(%2d%2d, &a,&b); printf(%d %dn,a,b);79、若有以下结构类型说明和变量定义,则变量a 在内存所占字节数是_22_ 。struct stud char num6;int s4;double ave; a,*p;40、以下程序运行后的输出结果是_*2*4*6*8* _ 。main() char a=123456789,*p;int i=0;p=a;while(*p) if(i%2=0) *p=*;P+;i+;puts(a);158、以下程序按下面指定的数据给x 数组的下三角置数,并按如下形式输出,请填空。43 72 6 91 5 8 1

14、0#include main() int x44,n=0,i,j;for(j=0;j=j; _i- - _) n+;xij= _n;for(i=0;i4;i+) for(j=0;j=i;j+) printf(%3d,xij);135、以下程序的功能是:求岀数组 x 中各相邻两个元素的和依次存放到a 数组中,然后输岀。请填空。main() int x10,a9,i;for(i=0;i10;i+) scanf(%d,&xi); for( _i=1; i10;i+)ai-1=xi+xi-1for(i=0;i9;i+ ) printf(%d,ai); printf(n);12、下列程序中字符串

15、中各单词之间有一个空格,则程序的输岀结果是# includemain() char str1 =How do you do, *p 1= str1; strcpy(str1+strlen(str1)/2,es she);printf(%sn,p1);156、以下程序的输出结果是 _3_ 。#include #define N 5int fun(int *s,int a,int n) int j;*s=a; j=n;while(a!=sj) j-;return j;main() int sN+1; int k;for(k=1;k(y)?(x):(y) main()int a = 5, b = 2

16、,c = 3, d = 3, t;t = MAX(a + b, c + d)*10;printf(%dn, t);四.(9)149、以下程序的输出结果是_13_ 。#include void fun(int x) if(x/20) fun(x/2);printf(%d,x);main() fun(3); printf(n);153、若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值:a=7b=9请完成输出语句:printf(_ a=%dnb=%d_,a,b);。139、设有说明struct DATE int year;int month;int day;请写

17、出一条定义语句,该语句定义 d 为上述结构体类型变量,并同时为其成员 year、month、day 依次赋初值 2006、10、1 : _struct DATE d=2006,10,1;_。123、以下 isprime 函数的功能是判断形参 a 是否为素数,是素数,函数返回1,否则返回 0。请填空。int isprime(int a) int i;for(i=2;ia/2 ) return 1_ ;128、以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135 则输出 531。请填空。#include main() int n, s;printf (Enter a number: )

18、; scanf (%d,&n);printf (Output:);do s = n%10; printf (%d,s);n=n/10_; while (n!=0);printf (n);154、以下程序的输出结果是 _1_。#include main() int i,j,sum;for(i=3;i=1;i-) sum=0;for(j=1;jv=i;j+) sum+=i*j;printf(%dn,sum);152、设变量 a 和 b 已正确定义并赋初值。请写出与a-=a+b 等价的赋值表达式137、以下程序的输出结果是_10_。int fun(int *x,int n) if(n=0)

19、return x0;else return x0+fun(x+1,n-1);main() int a=1,2,3,4,5,6,7; printf(%dn,fun(a,3); 24、以下程序的输出结果是_16_。#define MCRA(m) 2*m#define MCRB(n,m) 2*MCRA(n)+m main() int i=2,j=3; printf(%dn,MCRB(j,MCRA(i);a=-b_34、下面程序的运行结果是:_6_int f(int a,int n) if(n1) return a0+f(&a1,n-1);else return a0;main() int a

20、a3=1,2,3,s;s=f(&aa0,3); printf(%dn,s);7、以下程序中,函数 SumColumMi 的功能是:求出N 列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。#defineM2#defineN4void SumColumMin(int aMN,int *sum) int i,j,k,s=0;for(i=0;iN;i+) k=0;for(j=1;jaji)k=j;s+=aki_ ;_ sum_ =s;main() int xMN=3,2,5,1,4,1,8,3,s;SumColumMin(_x,&s;printf(%dn,s);109、若有程序main() int i,j;scanf(i=%d,j=%d,&i,&j);printf(i=%d,j=%dn ,i,j);要求给 i 赋 10,给 j 赋 20,则应该从键盘输入 _ 。60、下列程序的运行结果是 _4,8.main() union EXAMPLE struct int x; int y; in;int a;int b;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(%d,%dn,e.in.x,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论