XX大学20XX~202X学年第X学期期末考试《C语言程序设计》试卷.docx
《XX大学20XX~202X学年第X学期期末考试《C语言程序设计》试卷.docx》由会员分享,可在线阅读,更多相关《XX大学20XX~202X学年第X学期期末考试《C语言程序设计》试卷.docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、XX大学20XX202X学年第X学期期末考试C语言程序设计试卷(A卷)一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要 求,请在答题卡上正确填涂。).若变量都已正确说明,则以下程序段(C)。a=2;b=3;printffab?*a=%d:#b=%cT,a,b); (2 分)A.没有正确的输出格式控制B.输出为:*a=2C.输出为:#b=2D.输出为:*a=2#b=2.设x和y均为int型变量,则执行下面的循环后,y值为(B )。for (y=l,x=l; y=10) break; if ( x%2=l) x+=4; continue; (2 分)D. 8D.主程序与子程序
2、A. 2B.4C. 6. C语言程序由(C )组成。(2分)A.子程序B.过程C.函数.以下正确的描述是(B )。(2分)A. continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句.若有代数表达式(5ae)/(bc),则不正确的C语言表达式(C )。(2分)A.a/b/c*e*5B. 5*a*e/b/c6.假设a为float类型数,i为整型变量,C. 5*a*e/b*cD. a*e/c/b*5则下述语句能将a中的数值保留小数点1位,
3、即四舍五入的是(B )。(2分)A. a=(a*10+0.5)/100.0C. a=int(a*10)/10.0A. a=(a*10+0.5)/100.0C. a=int(a*10)/10.0B. 1=3*10+0.5,3=1/10.0D. a=(a/100+0.5)*100.0A. 1,2,3B. 3,1,2C. 1,3,2D. 2,3,13.有语句char strl 10, str210 = books”;则能将字符串books赋给数组strl的正确语 句是(B)。(2分)A. strl:“Books”;B. strcpy(strl,str2);C. strl=str2;D. strcpy
4、(str2/strl);.若有变量说明:char s, si 20;执行语句:s=student;sl=s;正确的叙述是(A )。(2分)A.二个语句都不正确B. s所指向的字符串和si的值都是“student”C.第一个语句正确,而第二个语句不正确D.第二个语句正确,而第一个语句不正确. C语言的编译系统对宏命令是(D )时候处理的。(2分)A.在程序运行B.在程序连接时C.和源程序其它C语言同时进行编译时D.对源程序其它成份正式编译之前进行处理的.下列说法不正确的是(D ) o (2分)B.宏无类型D.宏名必须用大写字母表示B. 5D.字符串中有非法字符,输出值不定A.宏替换不占用运行时间
5、C.宏替换只是字符替换.若有以下说明和语句,则输出结果是(B) charsp=x69082n;printf(%dzstrlen(sp); (2 分)A. 3C. 1.以下函数调用中有(A )个实参。expd(alza2,a3)z(a4/a5),a7,a8)(2分)A. 4个B. 3个C. 8个A. 4个B. 3个C. 8个D. 5个.执行完下面的程序段后,屏幕显示的内容为(C) o main() int a=2J;for(i=0;if(int a)int b=0;static int c=3;b+;C+;return(a+b+c);)(2分)A. 777B. 777C. 789D. 7 8 9
6、.若有宏定义与变量说明如下:#define X 5#define Y X+l/define Z Y*X/2int a; a=Y;则执行以下printf语句后输出的结果是(A ) oPrintf(%d %dnzZz-a); (2 分)A. 7 5B. 12 6C. 12 5D. 7 6.函数调用可以,以下错误的是(D ) o (2分)A.出现在执行语句中B.出现在一个表达式中C.作为一个函数的实参D.作为一个函数的形参. C语言中函数能否嵌套调用和递归调用?以下说法正确的是(D ) o (2分)A.二者均不可B.前者可,后者不可C.前者不可,后者可D.二者均可. C语言允许函数值类型缺省定义,此
7、时该函数值隐含的类型是(B ) o (2分)A. float 型B. int 型C. long 型D. double 型14.有两个字符数组a, b,则以下正确的输入语句是(B)。(2分)A. gets (a,b);C. scant (%s%s/&az&b);B. scanf (%s%s/a,b);D. gets (a),gets (b);15.数组名作为参数传递给函数,此时作为实在参数的数组名被处理为(D)。(2分)A.该数组的长度C.该数组中各元素的值16.以下能正确定义一维数组的选项是(B ) oB.该数组的元素个数D.该数组的首地址 (2分)A. int num ;B. #define
8、 N 100int num N;C. int num0.100;D. int N=100;int numN;17.若程序中定义了以下函数double myadd(double a,double B)return (a+B);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是一(A) o(2分)19.在C语言中,引用数组元素时,其下标的数据类型允许是(C)。(2分)A. double myaddfdouble a,B);B. double myadd(double,double);C. double myaddfdouble b,double A);18.以下描述中
9、,正确的是(A)。(2分)D. double myaddfdouble x,double y);A.调用函数时,实参可以是表达式C.调用函数时,实参与形参的原型必须一致B.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参可以用内存单元A.整型常量C.整型常量或整型表达式B,整型表达式D.任何类型的表达式20.变量的有效范围与其定义位置有关,(B ),其作用域在整个源程序文件中都有效。(2分)A.在第一个函数中定义的变量C.在主函数中定义的变量二填空题(共7题,总分值28分)21 .以下程序运行后的输出结果是 9_#define SQR(x) x*xmain()int a,k=3;a=
10、+SQR(k+l);printf(%dn”,a); 22 .有以下程序void swapl(int c)int t;t=cO;cO=cl;cl=t;void swap2(int cOJnt cl)int t;t=cO;cO=cl;cl=t;)main()inta2=3,5,b2=3,5;swapl(A); swap2(b0,bl);printf(zz%d, %d, %d, %dn,a0,al/b0,bl);B.在定义第一个函数之前所定义的变量D.在函数中定义的静态变量)其输出结果是_53 3 5 o23 .在C语言中,二维数组元素在内存中的存放顺序是按 行存放的。(4分).凡是函数中未指定存储
11、类别的局部变量,其隐含的存储类别为 a24 .以下函数的功能是删除字符串s中的所有数字字符。请填空。void dele(char s) int n=OJ;for(i=0,si;i+)iff 一0, 9,)sn+=si;sn=0;25 .执行以下程序后,输出的结果是 4int m = 10;int f (int xz int y)int m = 5 ;m += x*y;return m; main() int a = 6, b = 7 ;printf (%dn”, f(a,b) / m);26 .以下程序实现从键盘上输入一个字符,用折半查找法找出该字符在已排序的字符串a 中的位置。若字符不在,则
12、打印*。请完善以下程序。#includestdio.h#includestring.hmain)char str100,ch;int bot=0,top,mid,flag=0;gets(str);getchar(ch);top=strlen (str)-1;while(top-bot)=0) mid=(top+bot)/2 ;if(strmid=c)flag=l;break;else if(strmidbot=mid+1;elsetop=mid-1;)if(flag)printf(%c字符在已知字符串中位置是dn,c,mid+1);elseprintff*);三编程题(共2题,总分值32分)2
13、7 .编写程序将下标为奇数的数组元素从数组中删除,然后排序输出。(16分)答:define N 10void sort(int a, int n) int I, j, t;for(1=1;Iaj+l) t=aj ;aj=aj+l ;aj+l=t;main()int aN, I, k=0;for (1=0;Iscanf (%d,&aI);for(1=0;Iif(I%2=0) ak+=aI;sort (a, k);for (1=0;Iprintf (%daI);.编写程序实现输入一个十进制数,将其转化为指定进制的数制字符。(16分)答:#includestring. h#includez,stdi
14、o. hvoid f ( int m, int r, char a) int i=0,k;char b17=0123456789ABCDEF,t;while (m!=0) ai+=bm%r;m=m/r;)a八0,;puts(a);k=strlen(a);for(i=0;it=ai ;ai=ak-l-i ;ak-l-i=t;puts (a);)mainO int r, m, i=0;char a16;printf (z,please input m, rn);do scanf (d, %d,&m, &r);while(m0 r16);f (m, r, a); printf (dzhuan hua
15、n chcng %d jin zhi zi fu chuan wci %sn,z, m, r, a);XX大学20XX202X学年第X学期期末考试C语言程序设计试卷(A/B卷)一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要 求,请在答题卡上正确填涂。).设一整型(int)变量占用2个字节则下述共同体变量x所占用内存字节数为(C) ounion expint i;float j;double k;)x;(2分)A. 14个B.7个C.8个D.随机而定.下面正确调用形式是(D ) o (2分)A.fscanf (文件指针,格式字符串,输出表列);B.fscanf (格式字符
16、串,文件指针,输出表列);C.fscanf (格式字符串,输出表列,文件指针);D.fscanf (文件指针,格式字符串,输入表列);.若fp是指向某文件的指针,且己读到此文件末尾,则库函数feof(fp)的返回值是(C) o(2分)A. EOFB.OC.非零值D. NULL.有以下程序main() char *p10=abc,aabdfg,dcdbe,abbd,cd;7.若变量都已正确说明,则以下程序段输出为(B )。a=10;b=50;c=30;if(ab)a=b; b=c;c=a;printf(z/a=%d b=%d c=%dn,a/b,c); (2 分)A. a=10 b=50 c=1
17、0A. a=10 b=50 c=10B. a=10 b=30 c=108.以下不符合C语言语法的赋值表达式是(C. a=50 b=30 c=10A) o (2 分)D. a=50 b=30 c=50A. d=9+e/e+,d+9B. k=i= =jC. nl+=n2+3D.a=b+c=a+79.在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3, 6*3)后,x的值为(C)。(2 分)A. 54A. 54B. 3C. 18D. 2110 .设有如下程序段,其结果是(B) oint a=100,b=100;for(; a!=b; +a,b+)printf(n);(2 分)A.输出一C.
18、死循环B.输出100行一D.该for循环一次也不执行11 .若int类型占两个字节,则以下语句输出为(D) oint k=-l;printf(“%d,u%n,k,k); (2 分)A. -1,-112 .在C语言中,B. -1,65536C. -1,32768逻辑值“真”用(D)表示? (2分)D. -1,65535A. trueB.正数C.非。整数13 .若以下选项中的变量已正确定义,则正确的赋值语句是(C ) oD.非0的数(2分)A. xl=26.8%3B.l+2=x2C. x3=0xl2D. x4=l+2=314.以下程序输出的结果是(C )。#include printf(dn,st
19、rlen(p4);执行后输出结果是(A ) o(2分)A. 2B. 3C. 4D. 5.以下叙述中不正确的是(D ) o (2分)A. C语言中的文本文件以ASCH码形式存储数据B. C语言中对二进制文件的访问速度比文本文件快C. C语言中,随机读写方式不适用于文本文件D. C语言中,顺序读写方式不适用于二进制文件.函数AAA(s,t)char *s,*t;while(*t+);while(*t+=*s+);的功能是(D )。(2分)A.求串的长度C.将串s复制到串t中A.求串的长度C.将串s复制到串t中B.比较两个串的大小D.将串s连接到串t中5 .对于基类型相同的指针变量,不能进行(A)运
20、算。(2分)C.=D.=A.+B.-.写出下列语句执行结果(A) o int a,b,c,d=4,m=6,n=8;int *pl=&d/*p2=&m,*p3;a=pl=&d;b=3*(-*pl)/(*p2)+7;c=*(p3=&n)=*pl*(*p2);printf(%d,%d,%d”,a,b,c);(2分)A. 1,5,24B. 4,5,23C. 1,2,22D. 5,5,14.对于基类型相同的指针变量,不能进行(A )运算。(2分)A. +B. C. =D.=.如果希望向文本文件末尾添加数据,则应以(c)方式打开文件。(2分)A. rB. wC. aD. ab.设有定义:int a, *p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 XX 大学 20 202 学年 学期 期末考试 语言程序设计 试卷
限制150内