北信 C语言期末考试题.docx
《北信 C语言期末考试题.docx》由会员分享,可在线阅读,更多相关《北信 C语言期末考试题.docx(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-:单项选择题:(每题2分,共10题)1、若有定义:int a=3,b=2,c=l;并有表达式:a%b,abc,b&c+lc+=l,则表达式值相等的是C OA)和A)和B)和C)和D)和2、若有说明语句 int i=5,j=4,k=6;float f;则执行 f=(ivj&ivk)?i:(jy)x=y;y=x;elsex+;y+;printf(“%d,%d=x,y);A)有语法错误,不能通过编译B)若输入3和4,则输出4和5C)若输入4和3,贝懒出3和4D)若输入4和3,贝愉出4和54、下述表达式中,A可以正确表示xvO或xl的关系。A) (x = l) | | (x = l | x = l
2、& x = l) & (x=0)5、执行语句for (i=l;i+4;);后变量i的值是 C 0A) 3B) 4C) 5D)不定6、下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择B填空。void main()int a,max=0;scanf(,%d,&a);while ( ) if (maxa) max=a ;int n=l,i;for (i=0;ia);)p-a的值为 3 o10、C语言打开文件的函数是 fopen,关闭文件的函数是 fclose。11、十进制数56转换成2进制数为 111000 o12、若有定义:int a-2-3=(24681(H2);则*(&a0-0
3、+2*2+l)的值是12, *(al+2)的值是一工2 o二 单项选择题:(每题2分,共工2题)1:以下程序片段 D ovoid main()int x=0,y=0,z=0;if (x=y+z)printfC*);else)A)有语法错误,不能通过编译B)输出;*C)可以编译,但不能通过连接,所以不能运行 D)输出:#2:若 w=l,x=2,y=3,z=4,则条件表达式 wx ? w:yz ? y : z ;的值为 B。3:下述程序的输出结果是一Cvoid main()int x=-l,y=4,k;k=(x+=0)&!(y-=0);printf(,%dz%dz%dzkzxzy);A)0,0,3
4、B) 0,1,2C) 1,0,3D) 1,1,24:以下不是死循环的程序段是A)int i=100;while (1) i=i%100+l ;C) int k=0;D) int s=36;while (s); -sdo =0);5:下列程序运行结果为: int a=l,b=2,c=l,t;while(ab,0&achi=,9,;i+=2)s=10*s+chi-0,;printf(,%dn,s);)A) 1B) 1256C) 12ab56D) ab7:以下正确的描述是 B .A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不
5、可以嵌套D)函数的定义和函数的调用均可以嵌套8:以下程序的运行结果是 A .#define ADD(x) x+xvoid main()int m=lzk=2,sum;sum=ADD(m)*k;printf(%dn,sum);)A) 3B) 4C) 5D) 69:下面程序段的运行结果是C 。char a =language,*p ;P=a ;while (*p!=,u) printf(%c,*p-32); p+ ; A) LANGUAGE B) languageC) LANG D) langllAGE10:若有定义:int a,*p=a;则对a数组元素的正确引用是 D 。A) *&a5B) a+
6、2C) *(p+5)D) *(a+2)11:以下程序输出结果是B 。int x=l,y=0,a=0zb=0;switch(x) case 1: switch (y)case 0 : a+ ; break ;case 1 : b+ ; break;)case 2:a+; b+; break;case 3:a+; b+;)printfCa=%d,b=%dzazb);A) a=l,b=O B) a=2,b=l C) a=l,b=l D) a=2,b=212:若有以下程序段int x=lzy=2;x=xAy , y=yAx , x=xAy ;则执行以上语句后x和y的值分别是C 0A) x=l,y=2B
7、) x=2zy=2C) x=2zy=lD) x=lzy=l三:阅读程序,写出正确结果:(每题4分,共4题)1、下列程序的运行结果是:int fun (char *s)char *p=s;while (*p) p+ ;return (*p-*s);)void main()char *a=abcdef;printf(dn”,fun(a);) 程序运行结果为:972、若inti=O;执行下列程序后,变量i的结果是 1switch (i)case 9: i+=l ;case 10: i+=l ;case 11: i+=l;default : i+=l ;3、下列程序的运算结果为:int *sort(i
8、nt *s)int *p=s;P+;return p;)void main()inta5=l,2z3z4,5;int *p;p=sort(a+2);printf(%dn,z*p); )程序运行结果为:44、下列程序的运算结果为:int mm(intjnt);static int s=l ;s+ ;return(s*(m+n);)void main()int i;for (i=0;i2;i+)mm(i,i+l);)printf(n%dzmm(i,i+l);)程序运行结果为:20四:阅读程序,在横线上填上正确内容:(每空3分,共8空)1、下面函数用“折半查找法”从有10个数的a数组中对关键字m查找
9、,若找到,返回其下标值,否则返回 -1,请填(2)空使程序完整。经典算法提示:折半查找法的思路是先确定待查元素的范围,将其分成两半,然后比较位于中间点元素的值。如果该待查 元素的值大于中间点元素的值,则将范围重新定义为大于中间点元素的范围,反之亦反。int search(int a10zint m)int xl=0,x2=0,mid ;while (xl=x2)mid = (xl+x2)/2;if (mamid)【xl=mid+l;else return (mid);)return (-1);2、编写函数void fun(char slzchar s2口)把两个字符串si,s2连接起来存放在s
10、i中。void fun(char slzchar s2)int i=0, j;for (;sli!=0;)i+;)for (j=0;s2U!=l0,;j+)sli=s2j;i+;)sli=0;)3、定义一个指针数组内含5个指针变量各指向一段字符串的首地址,要求将5个字符串进行从小到大顺序排 序。#include stdio.h#include string.hvoid main()char *Name5=,JAVA,HVC+4-,C#,zQB,WEB);char *temp;for (int i=0;i4;i+)for (int j=O;j0)temp=Namej;Namej=Namej+l;
11、Namej+l=temp;)for (int i=0;i5;i+)printf(%snzNamei);)五、程序编写。(每题6分,共两题)1:有一个整型数组向数组中输入10个整数,要求:用冒泡排序法对10个数进行排序并输出。输入一个数,然后按原来排完序的规律将它插入到数组中。#include stdio.hvoid main()intint num;for (i=0;i10;i+)scanf(%d,&ai);)for (j=0;j9;j+)for (i=0;i9-j;i+)temp=ai;ai=ai+l;ai+l=temp;)for (i=0;ia9)a10=num;)else if (num
12、 = l;i-)ai=ai-l;)a0=num;)elsefor (i=0;i10;i4-+)if (numk;i-)ai=ai-l;)ak=num;)pintf(输出插入数字后的数组:n“);for (i=0;ill;i+)2:有5个学生,每个学生包括学号,姓名,和一门课成绩,求出课程的总分和平均分。:将这些数据全部写入一个“stu”文件中保存。:重新打开文件“Stu”读出这些数据显示到屏幕上。#include stdio.h#include stdlib.hstruct studentint num;char Name20;float score;stu5;void main()print
13、f(”d”,max);)A) a=0B) aC) !a=lD) !7、以下fo循环的执行次数是C 。for (x=0,y=0; (y=123) & (x4); x+);A)无限循环B)循环次数不定 C) 4次D) 3次8、以下程序的运行结果为D 。void main()int b=5,y=3;#define b 2#define f(x) b*(x)printf(%dnzf(y4-l);#undef bprintf(dn”,f(y+l);B) 20B) 20A) 209、下面程序段的运行结果是 char *s=abcde;s+=2 ; printf(”d=s);A) cdeo字符e的地址D)不
14、确定10、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是CA)只写A)只写B)追加C)读或读写D) B和C都正确二:判断题:(每题2分,共工0题)1、以下程序的输出结果是_0_。 truevoid main() int a=l,b=2;float allscore=0,aver;int i;FILE *fp;pintf(叫俞入五位学生学号,姓名,成绩:n“);for (i=0;i5;i+)printf(“输入学生学号:n“);scanf(%d,&stui.num);printf(输入学生姓名:n“);getchar();gets(stui.Name);printf(“输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北信 C语言期末考试题 语言 期末 考试题
限制150内