历年C语言期末考试试题.pdf

上传人:文*** 文档编号:88941083 上传时间:2023-05-04 格式:PDF 页数:56 大小:6.91MB
返回 下载 相关 举报
历年C语言期末考试试题.pdf_第1页
第1页 / 共56页
历年C语言期末考试试题.pdf_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《历年C语言期末考试试题.pdf》由会员分享,可在线阅读,更多相关《历年C语言期末考试试题.pdf(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 历年C 语言期末考试试题2004-12-22 由 vince 整理打印自:长春工业大学三味书屋地址:http:/ 语言试题1一 填 空 题(15分)1.设 x 的值为15,n 的值为2,则表达式x%=(n+=3)运算后,x 的 值 为()。2.设 int a=7,b=9,t;执行完表达式t=(ab)?a:b后,t 的 值 是()。3.下面程序段的输出结果是()。int a=1234;a=a&0377;printf(%d%on,a,a);4.a 数组定义如下,按照内存排列顺序,a 数组中的所有元素是()。chara3;5.设有以下宏定义,则执行赋值语句a=PP*20;(a 为 int型变量)后

2、,a 的 值 是()。#define PR 80#define PP PR+4036.在 C 程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在 C 文件中,数据存在的两种代码形式是()和()。8.C 语言中调用()函数打开文件,调 用()函数关闭文件,调 用()函数可实现文件的随机读写。9.若有 inta3=10,12,30;则 a+1 是()的地址,*(a+2)=()二 判断对错(5 分,对的划“4”,错的划“x”)1.在 Turbo C 中,整型数据在内存中占2 个字节。()2.表达式1/4+2.75的值是3。()3.结构体类型只有一种。()4.函数若无返回

3、值,则它一定无形参。()5.C 语言只能处理文本文件和二进制文件。()三 选 择 题(20分)1.设 int a=12;表达式 a+=a-=a*=a 的 值 是()。A 12 B 144 CO D 1322.以下程序的输出结果是()。main()int a=011;printf(dn,+a);A 12 B 11 C 10 D93.以下程序的输出结果是()o#define ADD(x)(x)+(x)main()int a=4,b=6,c=7,d=ADD(a+b)*c;printf(ud=%d,d);Ad=70 B d=140 C d=280 D d=804.下面的选项中正确的赋值语 句 是(ch

4、ara5,*p=a;)()。A p=abcd;B a=abcd;C*p=abcd;D*a=abcd”;5.若 k 为整形,则 while循环执行()次。k=2;while(k=0)printf(d”,k);k-;printf(n”);A 10 B9 CO D 16.数组名作为实参传递给形参时,数组名被处理为()。A 该数组的长度 B 该数组的元素个数C 该数组的首地址 D 该数组中各元素的值7.两个指针变量不可以()。A.相加 B 比较 C 相减 D 指向同一地址8.若有以下程序段,则值为6 的表达式是()。struct st int n;struct st*next;static struc

5、t st a3=5,&a 1 ,7,&a2,9/0,),*p;p=&aO;A p+-n B pn+C(*p).n+D+p-n9.要打开个已存在的非空文件“理e”用于修改,选择正确的语句()oAfp=fopen(,fileH;,rH);B fp=fbpen(nfile,wn);C m=fbpen(“理e”J r+)D fp=fopen(,filen,w4-);四写出下列程序的运行结果。(28分)1.main()int a6=10,6,23,-90,0,3),i;invert(a,0,5);for(i=0;i6;i+)printf(d,”,ai);printf(“n”);invert(int*s,

6、int i,int j)int t;if(ij)invert(s,i+lj-l);t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;)2.fl(int a)int b=0;static int c=3;b+=l;c+;retum(a+b+c);main()int a=l,i;char sll0=ujava,s210=basic”,s 10;fbr(i=0;i3;i+)printf(M%d n,fl(a);printf(n”);if(strcmp(sl,s2)strcpy(s,sl);puts(s);printfC%d,%sn,strlen(s2),strcat(s2,s 1);3

7、.#define MAX 100main()int fMAX,i,j,k=2,m=5;fbr(i=0;i=m;i+)用=1;fk-l=2;fbr(i=k;i=m;i+)for(j=i-k;j=i-l;j+4-)fi+=fj;printf(n%d%5d%5dn,k,m,fm);五阅读下列程序,在 处填入适当内容,使程序完整。(32分)1.求 100 200间的全部素数。(1)main()int m,k,i,n=0;for(m=l 01;m=200;m+=2)iffn%10=0)printf(n);k=sqrt(m);fbr(i=(2);i=k;i+)if(m%i=0)(3);if(i=(4)pr

8、intf(M%d n,m);n+;2.用选择法对数组中的10个字符按由大到小排序。void sort(1)char a;int n;int i,j,k;c h a r t;f o r (i=0;i n-l;i+4-)(2);f o r(j=i+l;j n;j+)i f(3)k=j;t=a k ;a k =a i ;a i =t;m a i n()c h a r s 1 0 ;i n t i;f o r(i=0;i 1 0;i-H-)s c a n f f%c ,&s i );(4);p r i n t f f t h e s o r t e d a r r a y:nv);f o r(i=0;

9、i 1 0;i-H-)p r i n t f(“c”,(5);pr i n t f(“n”);3 3.输入3 x 4数组,用指针方法实现将每行中的最小数与第0列元素对调。m a i n()i n t a 3 4,i j,*p=a 0;f b r(i=0;i 3;i+)f b r(j=0;j 4;j+)s c a n f C%d”,p+);f o r(p=&a 0 0;p a 0+12;(1)s w a p(p);(2);f b r(i=0;i 3;i+)f o r(j=0;j 4;j+)pr i n t f(“3d”,*p+);pr i n t f C W);s w 叩(i n t (3)i

10、n t m i n,i,*p2=pl,*p3;(4);f b r(i=0;i 4;i-H-)i f(*p2*p3)p3=p2;(5);)m i n=*pl;*pl=*p3;*p3=m i n;2002试题2一 填 空 题(2 0分,每 空1.5分)1.当执行完以下语句后,变量a的 值 为(),b的 值 为(),c的 值 为()。a=6;b=+a;c=-a;2 .已知a=3、b=2,则表达式a*=b+8的 值 是()。3 .下面程序段的输出结果是()。i n t a=125;pr i n t f(t t%d n,a 4);4 .a数组定义如下,a数组中可用最小下标值是(),最大下标值是()。c

11、h a r a 3;5 .设有以下宏定义,则执行赋值语句=人口口(4+6)*7;除 为i n t型变量)后,a的值是()。#d e f i n e ADD(x)(x)+(x)6 .若有以下说明、定义和语句,则对x.b成员的另外两种引用方式是:()和()。s t r u c t s t i n t a;s t r u c t s t b;*p,x;p=&x;7 .在C中,文件指针变量的类型只能是()。8.在C中文件结束标志EO F只可用于()文件。9 .a数组定义如下,若使数组a中存放字符串“f i i e n d”,写出为数组a赋值的语句()。c h a r a 10;二 判断对错(1 0分,

12、每 题1分。对的划“小,错的划“X”)1.在Tu r b o C中,实型数据在内存中占4个字节。()2 .被m a i n函数调用的函数只能是库函数。()3 .对整型变量可进行自加或自减运算,而对常量或表达式不可以。()4 .算术运算符和赋值运算符的结合方向均由左自右。()5 .定义在m a i n函数后的任何函数都需在m a i n中进行函数声明。()6 .一个函数中只允许有一条r e t u r n语句。()7.任何数组在使用时必须先定义。()8.在 int*p;和语句printf(%d”,*p);中的*p 含义相同。()9.在定义枚举时,枚举常量可以是标识符或数字。()10.用 fope

13、n(filel,”W)方式打开的文件可进行修改。()三 选 择 题(20分,每题2 分)1.若有代数式,则错误的C 语言表达式是()。A a*e/c/b B a*e/b/c C a*e/b*c D a/b/c*e2.以下程序的输出结果是()。main()int a=7,b=5;prin氓“dn”,b=b/a);A 不确定值 B5 C 1 DO3.以下程序的输出结果是()。main()int k 1=1 ,k2=2,k3=3,x=15;if(!kl)x-;else ififk2)if(k3)x=4;else x=3;printfCtx=%dn,x);Ax=4Bx=15Cx=14Dx=3 4.以下

14、程序的输出结果是()。main()char sl20=tChina,s220=b B-H-p-a C p-b D*(p+)-b四写出下列程序的运行结果(25分,每题5 分)1.main()int number=0;while(number+=1)printf(,*%d,n,number);printf(H*%dnM,number);2.#define N 7main()int i,j,aNN;f o r(i=l;i N;i+)a i i =l;a i l =l;f b r(i=3;i N;i+)f o r 0=2;j v)c=u;u=v;v=c;a=u;b=v;w h i l e(r=b%a)

15、!=O)b=a;a=r;r e t u m(a);)m a i n()i n t u,v,h,l;u=3 2;v=4 8;h=h c f(u,v);p r i n t f(H.C.F=%d t”,h);4.m a i n()i n t a =l,2,3,4,5,6 ,*p;p=a;*(p+3)+=2;printf(n%d,%dn,*p,*(p+3);)5.main()int y;fac(4,&y);printf(uy=%dn,y);fac(int n,int*t)int s;if(n=l)|(n=0)*t=1;else fac(n-l,&s);t=n*s;)五阅读下列程序,在 处填入适当内容,

16、使程序完整(25分,每个空2 分)1.试求出1000以内的“完全数”。(提示:如果一个数恰好等于它的因子之和(因子包括I,不包括数本身),则称该数为“完全数”。如:6 的因子是1、2、3,而 6=1+2+3,则 6 是个“完全数”。)main()(int i,a,m;for(i=l;i 1000;i+)for(m=0,a=l;a=i/2;a+)if(!(i%a)(1);if()printfC%4d”,i);2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。#define N 10char strN;main()int i,flag;for(i=0;i10;i+)scanf(%cn,

17、&stri);sort(_(l)_);for(i=0;iN;i+)printfC%c”,stri);printf(,nn);sort(str)char strN;int i,j;char t;fbr(j=luN;j+)fbr(i=O;i(2)t=stri;(3);(4);)3.3.将一个磁盘文件中的信息复制到另一个磁盘文件中。#include stdio.h”main()(1)*in,*out;char ch,infile 10,outfile 10;printffEnter the infile name:nM);scanf(n%sn,infile);printf(nEnter the ou

18、tfile name:nM);scanf(%s”,ou 饰 le);if(in=fopen(infile,Y,)=NULL)printf(nCannot open input file.nn);exit(O);if(out=fbpen(outfile,wn)=NULL)printffCannot open output file.n);exit(O);)while(!feof(in)fputc(2),out);(3);(4);)4.4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。#define N 10main()(void maxmin(int arr,int*ptl,int*

19、pt2,int n);int arrayN=10,7,19,29,4,0,7,35,-16,21,*p 1 ,*p2,a,b;pl=&a;p2=&b;maxmin(array,p l,p2,N);print“max=%d,min=%d”,a,b);void maxmin(int arr,int*ptl,int*pt2,int n)inti;*ptl=*pt2=arr0;fbr(i=1 ;i*ptl)(1);if(arri278的 值 是()。2.当执行完以下语句后,变量a 的 值 为(),d 的 值 为(),e 的 值 为()。a=6;b=+a;c=-a;d=a+;e=a-;3.下面程序段的输

20、出结果是()ochar a=lll;a=aA00;printf(d%on,a,a);4.a 数组定义如下,按照内存排列顺序,a 数组中的所有元素是()。char a3;5.设有以下宏定义,则执行赋值语句a=PP+20;(a 为 int型变量)后,a 的 值 是()。#definc PR 8#define PP PR*406.定义结构体类型忖,应使用关键字(),定义枚举类型时,应使用关键字()。7.C 文件可以分为两种类型,它 们 是()文 件 和()文件。8.若有 chara3=as”;则*a=(),*(a+2)=()二 判断对错(5 分,对的划7”,错的划“X”)1.0()2.表达式1/4+

21、2.75的值是3。()3.结构体类型只有一种。()4.函数若无返回值,则它一定无形参。()5.C 语言只能处理文本文件和二进制文件。()二 判断对错(10分,每 题 1 分。对的划 7”,错的划“x”)1.在 Turbo C 中,实型数据在内存中占4 个字节。()2.被 main函数调用的函数只能是库函数。()3.对整型变量可进行自加或自减运算,而对常量或表达式不可以。()4.算术运算符和赋值运算符的结合方向均由左自右。()5.定义在main函数后的任何函数都需在main中进行函数声明。()6.一个函数中只允许有一条return语句。()7.任何数组在使用时必须先定义。()8.在 int*p;

22、和语句printf(%d”,*p);中的*p 含义相同。()9.在定义枚举时,枚举常量可以是标识符或数字。()10.用 fopen(filelJ什)方式打开的文件可进行修改。()三 选 择 题(20分,每题2 分)1.a,b为整形变量,二者均不为0,以下关系表达式中恒成立的是()。(A)a*b/a*b=1 (B)a/b*b/a=1(C)a/b*b+a%b=a(D)a/b*b=a 2.C 语言源程序的基本单位是()。(A)过程(B)函数(C)子程序(D)标识符3.以下函数调用语句中含有()个实参。func(el,e2),(e3,e4,e5);(A)2(B)3(C)5(D)语法错误4.以下的fo

23、r循 环()。for(x=0,y=0;(y!=123)&(x0)printf(%sn,s 1);else printfC%sn,s2);(A)abc(B)123(C)abcl23(D)123abc1 0.已知职工记录描述如下,设变量w 中的“生日”是“1993年 10月 2 5 日”,下列对“生日”的正确赋值方式是()o struct worker int no;char name20;char sex;struct int day;int month;int year;birth;);struct worker w;(A)day=25;month=l0;year=1993;(B)w.birt

24、h.day=25;w.birth.month=10;w.birth.year=1993;(C)w.day=25;w.month=10;w.year=1993;(D)birth.day=25;birth.month=10;birth.year=1993;m写出下列程序的运行结果(25分,每题5 分)l.main()int i,j;i=16;j=(i+)+i;printf(n%dnn,j);i=15;printf(M%dt%dn,-H-i,i);2.#include stdio.hmain()int i;fbr(i=l;i+l;i+)if(i4)printf(dn”,i+);break;print

25、f(dn”,i+);)3.#includc stdio.hmain()int ij,a=0,2,8,4,5);printf(nnn);fbr(i=l;i=5;i+)j=5-i;printf(%2d,a|j);)4.#include stdio.hmain()char stringl=*ABCDEFGHIJ,string210;s(stringl,string2,5);printf(,%sn,string2);s(p,q,m)char*p.*q;int m;int n=0;while(nm-l)n+;p+;)while(*p!=、0)*q=*p;P+;q+;*q=0;)5.main()int y

26、;fac(5,&y);printf(4y=%dn,y);fac(int n,int*t)int s;if(n=l)|(n=0)*t=2;else fac(n-l,&s);t=n*s;)五阅读下列程序,在 处填入适当内容,使程序完整(25分,每个空2 分)1.试求出1000以内的“完全数”。(提示:如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完 全 数 如:6 的因子是1、2、3,而 6=1+2+3,则 6 是个“完全数”。)main()int i,a,m;for(i=l;i1000;i+)(fbr(m=0,a=l;a=i/2;a+)if(!(i%a)(1);)pri

27、ntf(n%4d,i);2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。#define N 10char strN;main()int i,flag;fbr(i=0;i10;i+)scanf(%cn,&stri);sort(_(l)_J;fbr(i=0;iN;i+)printf(H%c,stri);printf(nnH);sort(str)char strN;int i,j;char t;fbr(j=l;jN;j-H-)fbr(i=O;i)t=stri;(3);(4);3.将一个磁盘文件中的信息复制到另一个磁盘文件中。#include stdio.h main()(1)*in,*

28、out;char ch,infile 10,outfile 10;printffEnter the infile name:n);scanf(n%sn,infile);printffEnter the outfile name:nf,);scanf(%sn,outfile);if(in=fopen(infile,V)=NULL)printfl(nCannot open input file.nn);exit(O);if(out=fopen(outfile,Hw,)=NULL)printffCannot open output fileAn);exit(O);while(!feof(in)fpu

29、tc(2),out);(3);(4);)4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。#definc N 10 inain()void maxmin(int arr,int*ptl,int*pt2,int n);int arrayN=10,7,19,29,4,0,7,35,-16,21,*p 1 ,*p2,a,b;pl=&a;p2=&b;maxmin(array,p l,p2,N);printf(,max=%d,min=%d,a,b);void maxmin(int arr,int*ptl,int*pt2,int n)(int i;*ptl=*pt2=arr0;fbr(i=l;

30、i*ptl)(1);if(arri*pt2)(2);)2003C语言试题1一 选 择 题(7 分,每小题0.5分)1.设a 为整型变量,初值为12,执行完语句a+=a-=a*a后,a 的 值 是()。A 552B 144C264D-264 2,下列标识符中,不能作为合法的C 用户定义标识符的是()。A a3_b3 B void C _123 D IF3.下列整数值中,不正确的八进制或十六进制数值常量是()。AOxcd B-017 C-oxl23 D Oxfdc4.若给定条件表达式(M)?(a+):(a-),则其中表达式M 和()等价。AM=O B M=1 C M!=l D M!=05.在C 语

31、言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。A 只能是逻辑表达式 B 只能是关系表达式C 只能是逻辑表达式或关系表达式 D 可以是任意表达式6.以下程序的输出结果为()。main()char c;int i;fbr(i=65;ib B+pa C p-b D*(p+)b14.要打开一个已存在的非空文件“file”用于修改,选择正确的语句()。A fp=fbpen(file,r);B fp=fbpen(file,w);C fp=fopen(file,H-);D fp=fbpen(file,w+);判断对错,对的划7”,错的划“x”(5 分,每小题0.5分)1.在 Turbo C

32、 中,实型数据在内存中占4 个字节。()2.若有形参定义:inta10;则 a+是合法的表达式。()3.若有宏定义:#definePI3.14i5926,则系统预编译时会报错。()4.函数的递归调用不过是一个函数直接地调用它自身。()5.定义在main函数后的任何函数都需在main中进行函数声明。()6.若有定义:inta;则 scanf定%d“,a);可以给变量a 赋值。()7.任何数组在使用前必须先定义。()8.在 int*p;和语句printf(%d”,*p);中的*p 含义相同。()9.共用体变量的各个成员所占内存单元的地址相同。()10.在使用缓冲文件系统时,与文件输入和输出相关的数

33、据都先送到缓冲区中。()三 写出下列程序的运行结果(10分,每小题2 分)1 .main()char cl=A,c2=144,c3=x44,c=0 xf5,x=13,a;int i=0122,j=0 xa4;printf(t4c 1 =%c,c4=%ctc5=%cn,c 1 ,c2,c3);printf(d,%dn”,ij);i=34;j=20;printfCt%d,%d,%dn,i%j,i&j2?sizeof(j);printf(64c=%dn,c|x);a=cAx2;printfCa=%dn,a);2.main()int x,y=l,z=10;if(y!=0)x=5;printfCtx=%

34、dt,x);x=l;if(z0)x=3;else x=5;printf(ux=%dn,x);if(z=y0)x=3;else ify=0)x=5;else x=7;printfC4x=%dfx);printf(z=%dn”,z);)3.main()char s20=4tI like it.”,t20=Are you?,c20;int i=0;while(s+i!=0)ti=si;ti=0;printffstring s:%snn,s);p r i n t f p s t r i n g t:%s n,t);)4.i n t i=5;m a i n()i n t i=3;i n t i=1 0;

35、i+;pr in t f C4%d n,i);f l();i+=l;pr in t f C4%d n,i);in t f l()i=i+l;r e t u m(i);5.m a in()in t i=1 0,a =1 0,2 0,3 0,1 5 ,*p 1;c h a r *b=,L e a m in g,*p2=&b;pl=&i;pr in t f r%4 d,*pl+2 0);fbr(p 1 =a;pla+4;pl+=2)printf(4d”,*pl);printf(un%ct%sn,*(b+4),*p2);)四 阅读下列程序,在 处填入适当内容,使程序完整(8 分,每个空1 分)1.用冒

36、泡法对任意10个整数排序。main()int aU,i,j,t;for(i=l;iaU)t=aU;(3);(4);)printffThe sorted numbers:nM);fbr(i=l;ill;i+)printf(H%4d,ai);printf(n”);2.求100 200间的素数。(5)main()int m,flag;for(m=101;m=200;m+=2)flag=prime(m);if(6)printfCt%4d,m);)prime(7)int i,k,flag;k=sqrt(a);fbr(i=2;i b?a+:b+,a+b)的 值 是()。A7 B 8 C9 D24.设a为i

37、n t型变量,执行下列赋值语句后,a的取值分别是()。a=l 2 5.5 3 4;a=(in t)1 2 5.5 2 1%4;a=5 2;A 1 2 5,3 1,1 B 1 2 5,1,2 0 C 1 2 5,3 1,2 0 D 1 2 5.5 3 4,2,2 05.设有如下程序段,下面描述中正确的是()oin t k=1 0;w h il e(k=O)k=k-1;A循 环 执 行 一 次B循 环 是 无限循环C循环体语句一次也不执行 D循环体语句执行一次6.以下程序的输出结果为()。in t i;vo id pr t()f b r(i=5;in B+p-n C pn+D(*p).n+14.C

38、 语言中的文件类型只有()oA 索引文件和文本文件两种 B 文本文件一种C 二进制文件一种D ASCII码文件和二进制文件两种 二 判断对错,对的划“小,错的划“x”(5 分,每小题0.5分)1.在 Turbo C 中,整型数据在内存中占2 个字节。()2.int i=20;switch(i/10)case 2:printf(An);case l:printf(B);的输出结果为 A。()3.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。()4.函数的递归调用不过是一个函数直接或间接地调用它自身。()5.函数 strlen(”ASDFGn)的值是

39、 7。()6.通过return语句,函数可以带回一个或一个以上的返回值。()7.结构体类型只有一种。()8.char*p=girr,;的含义是定义字符型指针变量p,p 的值是字符串“girl”。()9.若有定义:char*p(char a10);则 p 是函数名。()10.用 fbpen(”file”T+“);打开的文件“file”可以进行修改。()三 写出下列程序的运行结果(10分,每小题2 分)1.float average(float array10)int i;float aver,sum=arrayO;for(i=l;i10;i+)sum=sum+array i;aver=sum/1

40、0;return(aver);main()float score 10=89,67.5,78,91,56,82.5,65,70,79,88),aver;int i;aver=average(score);printf(average score is%5.2fn,aver);2.main()char a5=A,B,C,D,E,*p=a,*pa;fbr(p=0;pa+5;p-H-)printf(“2c”,*p);printfTW);printfC4%2cn,*(pa=&p);3.main()int a,b,s=O;fbr(a=l,b=1 ;a=20)break;if(b%3=l)b+=3;con

41、tinue;b=5;printf(44a=%dtb=%dn,a,b);)4.main()printf(umain():%dn,5,fact(5);fact(-5);fact(int value)int f;if(value0)printf(t4Arg errornH);retum(-l);else ififvalue=l|value=0)f=l;else f=value*fact(value-1)+1;printfCThis called value=%dn,f);return f;)5.main()int a=012,b=0 x 12,k=12;char c=102,d=r;printf(4

42、4a=%dtb=%dtk=%dn,a,b,k);printf(tc=%c,d=%c%on,c,d,a);a=A;c=49;printf(64a=%dtc=%cn,a,c);)四阅读下列程序,在 处填入适当内容,使程序完整(8 分,每个空1分)1有一个3*4矩阵,求其中的最大元素。max_value(1)int ij,max;max=array00;fbr(i=0;i3;i+)for(j=0;jmax)max=arrayij;(2);main()inta34,i,j;for(i=0;i3;i+)for(j=0;j4;j+)(3);printf(max value is%dn,max_value(

43、a);)2.输入x、y 两个整数,按先大后小的顺序输出x、y。#includc stdio.h tTiain()int x,y,*px,*py,(4);scanf(%d%d”,&x,&y);(5);(6);if(xy)P=px;px=py;py=p;printf(x=%d,y=%dn”,x,y);printf(MAX=%d,MlN=%dn,*px,*py);3.用选择排序法对任意10个整数按照由小到大排序。main()int all,i,j,k,t;printffPlease input 10 numbers:nn);fbr(i=l;ill;i+)scanf(n%dn,&ai);printff

44、n”);fbr(i=l;iak)k=j;if(k!=i)t=ak;ak=ai;ai=t;-printfif T he sorted numb ers:nH);fb r(i=l;i ll;i+)printf(n%d a i);答案 选 择 题(7分,每小题0.5分)1.B2.C3.B4.B5.C6.A7.B8.A9.A1 0.c1 1.A1 2.A1 3.B1 4.D二 判断对错,对的划y”,错的划”:(5 分,每小题0.5分)1.x2.x3W4.”5.x6.x7.x8.x9.410N三 写出下列程序的运行结果(1 0分,每小题2分)1.2.3.4.5.四阅读下列程序,在 处填入适当内容,使程序

45、完整(8分,每个空1分)l.(l)int a rra y 3 4 (int a rra y 4 )(2)retum(ma x)(3)sc a nf(4*%d,&a i j)2.(4)*p(5)px=&x(py=&y)(6)py=&y(px=&x)3.(7)(8)2003C语言试题3一 选 择 题(24分,每小题2 分)1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。A 存放读入数据项的存储区 B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针 D 一个整形变量,代表要读入的数据项总数2.以下程序的输出结

46、果为()。main()int i=010,j=10;printf(%d,%dn,i+j-);A 11,9 B9,10 C8,10 D9,93.设a为i n t 型 变 量,执 行 下 列 赋 值 语 句 后,a的 取 值 分 别 是()。a=125.534;a=20.0/3;a=(int)125.521%4;a=52;A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,204.设 i 和 k 都是int类型,则 fbr循环语句()fbr(i=O,k=-1;k=1;i+,k+)printf(*n);A 循环结束的

47、条件不合法B 循环体一次也不执行C 循 环 体 只 执 行 一 次 D 是无限循环5.以下程序的输出结果为()。main()char c;int i;fbr(i=65;i68;i+)c=i+32;switch(c)case fa:case*b:case,c*:printf(n%c,n,c);break;default:printf(endn);)A a,b,c,end B a,a,a,end C a,a,a,D a,b,c,6.函数调用语句:fseek(fp,-10L,2);的含义是()。A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动1

48、0个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7.以下程序的输出结果为()。main()char sl40=country,s220=nsiden;int i=O,j=O;while(sli!=W)i+;while(s2j!=,0,)s 1 i+=s2j+;sli=O;printf(n%snH,sl);)A side B country C sidetry D countryside8.下列说法不正确的是()oA 主函数main中定义的变量在整个文件或程序中有效B 不同函数中,可以使用相同名字的变量C 形式参数是局部变量D 在一个函

49、数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效9.在下列程序段中,枚举变量c l 的 值 是()。enum color red,yellow,blue=4,green,whitec 1;cl=yellow;cl=white;A 1 B 3 C5 D610.设 有 说 明 int(*ptr)();其中标识符ptr是()。A 是一个指向整形变量的指针 B 是一个指针,它指向个函数值是int的函数C 是一个函数名 D 定义不合法11.定义由n 个指向整形数据的指针组成的数组p,其正确的方式为()。A int p;B int(*p)n;C int*pn;D int(*p)();12.具

50、有相同类型的指针类型变量p 与数组a,不能进行的操作是()0Ap=a;B*p=aO;C p=&aO;D p=&a;二 判断对错,对的划“才,错的划“x”(20分,每小题2 分)1.参加位运算的数据可以是任何类型的数据。()2.若有定义和语句:int a;char c;float f;scanff%d,%c,%f,&a,&c,&f);若通过键盘输入:10,A,1 2.5,贝 ij a=10,c=A户 12.5。()3.C 语言把文件看作是一个字符(字节)的序列。()4.若有宏定义:#define S(a,b)t=a;a=b;b=t由于变量t 没定义,所以此宏定义是错误的。()5.在 Turbo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁