级计算机本科C期末试卷B卷.doc
《级计算机本科C期末试卷B卷.doc》由会员分享,可在线阅读,更多相关《级计算机本科C期末试卷B卷.doc(29页珍藏版)》请在咨信网上搜索。
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 03级计算机科学与技术专业专业(本科) 《高级语言程序设计》课程期末试卷( B) 班级 姓名 学号 题号 一 二 三 四 附加题 总分 得分 【注意】1、 考试时间120分钟 2、 考试结束本试卷连同答题纸须全部上交, 供讲评和存档用, 不交者按缺考计 3、 所有答题结果均应写在答题纸上, 写在试卷上无效 一、 单项选择题( 1~10每题1分, 11~20每题2分, 共30分) 1、 在C语言中, 用户能使用的正确标识符是【1】 。 A) 学生 B) int C) 8stu D) Int 2、 以下【2】是正确的C语言常量。 A) 543210L B) 05078 C) -0x41 D) 12345 3、 以下程序的运行结果是什么【3】 。 main( ) { int x,a; x=(a=3*5,a*4),a+5; printf(”x=%d,a=%d\n”,x,a); } A) x=20,a=15 B) x=60,a=15 C) x=20,a=25 D) x=25,a=25 4、 下面关于C语言变量的叙述中, 错误的描述是【4】 。 A) 变量名必须由字母或下划线开头 B) 变量按所定义的类型存放数据 C) 不同基本类型的变量之间不能混合运算 D) 变量的类型确定了变量的取值范围 5、 判断char型变量c1是否小写字母的正确表示式为 【5】 。 A) 'a'<=c1<='z' B) (c1>='a')&&(c1<='z') C) (c1>=a)&&(c1<=z) D) ('a'<=c1)||('z'>=c1) 6、 以下程序的运行结果是 【6】 。 main() { int x=1,y=2,z; z=x>y?++x:++y; printf("%d,%d,%d\n",x,y,z); } A) 1,2,2 B) 1,3,3 C) 2,3,3 D) 2,2,3 7、 下列程序段的运行结果为 【7】 。 char a[]="continue", *p; p=a; while(*p!='i') {printf("%c", *p-32); p++;} A) continue B) CONTINUE C) CONT D) contINUE 8、 下列对一维数组a的正确说明语句为 【8】 。 A) int a(10); B) int n=10, a[n]; C) int n; D) #define SIZE 10 scanf("%d", &n); int a[SIZE]; int a[n]; 9、 以下叙述中不正确的是 【9】 。 A) 在不同的函数中能够使用相同名字的变量 B) 程序中有调用关系的函数必须放在同一个源文件中 C) 在一个函数内定义的变量, 其变量名只在本函数范围内有效 D) 函数中的形式参数是局部变量 10、 以下程序段的运行结果是 【10】 。 main() { char val[ ]="01234",*p=val; int sum=0; while (*p) { sum+=*p-'0'; p++; } printf("%d\n",sum); } A) 10 B) 11 C) 12 D) 13 11、 以下程序的运行结果是 【11】 。 main() { struct st_type { char name[10]; float score[3]; }; union u_type { int i; unsigned char ch; struct st_type student; }t; printf("%d\n",sizeof(t)); } A) 25 B) 12 C) 3 D) 22 12、 下列程序的输出结果为 【12】 。 void fun(int *x) { static int a=5; *x=++a; } main() { int t; fun(&t); fun(&t); printf("%d\n",t); }A) 8 B) 7 C) 10 D) 11 13、 以下程序的输出结果是 【13】 。 float fun(int n) { static float f=1.0; f*=n; return f; } main() { int i; float s; for (i=1;i<=5;i++) s=fun(i); printf("%-8.2f\n",s); } A) 120.00 B) 24.00 C) 5.00 D) 720.00 14、 以下程序经过编译连接后得到的可执行文件名为teacher.exe, 在dos提示符下输入【14】 , 则在屏幕上将显示My name is Jianhui。 #include <stdio.h> main(int argc,char *argv[]) { int i; for (i=1;i<argc;i++) printf("%s%c",argv[i],(i<argc-1)?' ':'\n'); } A) My name is Jianhuir B) teacher My name is Jianhui C) teacher Jianhuir is My name D) Jianhuir is My name 15、 以下程序的运行结果是 【15】 。 #define A 3 #define B A+5 #define C B*B/A main() { printf("C=%d,",C); printf("3*C=%d\n",3*C); } A) C=8,3*C=24 B) C=12,3*C=36 C) C=19, 3*C=25 D) C=11, 3*C=23 16、 执行语句printf(”%d\n”,strlen(”abc\x41\n”));输出结果是 【16】 。 A) 5 B) 7 C) abcA D) abc\x41 17、 下列程序的输出结果为 【17】 。 main() { int a[3][4]={1,2,3,4,5,6,7}; int *pa=*a; printf(”%d,%d\n”,*(pa),pa[6]); } A) 1,7 B) 5,6 C) 2,7 D) 2,6 18、 若定义int i; 则以下循环语句的循环执行次数是 【18】 。 for(i=2; i==0;) printf("%d", i--); A) 无限次 B) 0次 C) 1次 D) 2次 19、 若有下列定义: int x[4][3]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; int (*p)[3]=x; 则能够正确表示数组元素a[1][2]的表示式为 【19】 。 A) *(*(p+1)+2) B) *((*p+1)[2]) C) *(*(p+5)) D) *((*p+1)+2) 20、 以下程序运行结果是 【20】 。 int i; main() { int i=1, j=2; fun(fun(i, &j), &j); } fun(int a, int *b) { static int m=2; i+=m+a; m=++(*b); printf("%d,%d\n", i, m); return (m); } A) 3,3 B) 3,3 C) 3,3 D) 3,3 9,4 6,3 9,3 6,4 二、 程序分析题( 每题4分, 共24分) 1、 执行以下程序时, 如果从键盘输入0, 输出的结果是 【1】 。 main() { enum color{red,green,blue,white}; enum color fc; printf("请输入色号:"); scanf("%d",&fc); switch (fc) { case red:printf("这是红旗的颜色!");break; case green:printf("这是森林的颜色!");break; case blue:printf("这是大海的颜色!");break; case white:printf("这是云彩的颜色!");break; default:printf("其它的颜色!"); } } 2、 以下程序的运行结果是 【2】 。 #include <stdio.h> main() { char *s="0123214"; int v1=0,v2=0,v3=0; while (*s) { switch(*s) { default:v3++; case '1':v1++;break; case '2':v2++; } s++; } printf("%d,%d,%d\n",v1,v2,v3); } 3、 以下程序的运行结果是 【3】 。 main() { static char str[]="P#tian X#ey#an"; void fun(); fun(str); printf("%s\n", str); } void fun(char s[]) { int a, b; for(a=b=0; s[a]!='\0'; a++) if(s[a]!='#') s[b++]=s[a]; else s[b++]='u'; s[b]='\0'; } 4、 以下程序的输出结果是 。 #define FUN(x,y) (x)>(y)?(x):(y) main() { int a=1,b=2,t; t=10*FUN(a,b); printf("%d\n",t); } 5、 以下程序的输出结果是 【5】 。 main() { int bj(); printf("%d\n",bj("abGxyz","abg")); } bj(char *s1,char *s2) { while (*s1&&*s2&&s1!=s2) { s1++,s2++; } if (*s1-*s2) return 1; else return 0; } 6、 以下程序运行时, 输出结果分别是 【6】 。 struct stu { int x; int *y; } *p; int dt[4]={10,20,30,40}; struct stu a[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main() { p=a; printf("%d,",++p->x); printf("%d,",(++p)->x); printf("%d\n",++(*p->y)); } 三、 程序填空题( 每空2分, 共20分) 请正确填充下面的划线部分, 使其完成所要求的功能。 1、 以下程序用于求下式的前 n 项之和S值。( n和x由键盘输入) : 1x 2x 3x 4x 5x 6x S = ── - ── + ── - ── + ── - ── + ... 1! 2! 3! 4! 5! 6! #include <math.h> main() { int i, n ; float s,s1; printf ( "请输入n=") ; scanf ( "%d",&n); s=0, s1=1; for (i=1;i<=n;i++) { 【1】 ; 【2】 ; } printf ( "Sum=%.0f\n",s) ; } 2、 以下程序经过简单选择排序方法, 由小到大输出各字符串。 #include <string.h> main() { char *name[]={"China","Japen","America","Korea","Canada","Germany"}; char *temp; int i,j,k,n=6; clrscr(); for(i=0;i< 【3】 ;i++) { k=i; for(j=i+1;j<n;j++) if(strcmp(name[k], 【4】 )>0) k=j; if(k!=i) { temp=name[i]; name[i]= ; name[k]=temp; } } for (i=0;i<n;i++) printf("%s\n",name[i]); } 3、 invert( )函数的功能是将一个字符串str的内容倒序存放。 例如: 字符串str原内容为: abcde, 函数调用后变为: edcba。 void invert(char str[]) { int i,j,k; j= 【6】 ; for (i=0; 【7】 ;i++,j--) { k=str[i]; str[i]=str[j]; str[j]= 【8】 ; } } main() { char test[]="abcde"; invert(test); printf("%s\n",test); } 4、 下列程序的功能是显示如下形式的数字: 1 0 0 0 0 0 2 1 0 0 0 0 3 2 1 0 0 0 4 3 2 1 0 0 5 4 3 2 1 0 6 5 4 3 2 1 main() { int a[6][6], i, j; for(i=0; i<6; i++) { for(j=0; j<6; j++) if( 【9】 ) a[i][j]=0; else 【10】 ; } for(i=0; i<6; i++) { for(j=0; j<6; j++) printf("%3d", a[i][j]); printf('\n'); } } 四、 编程题( 第三题10分, 其余8分, 共26分) 编写的程序请写在另发的答题白纸上。答题白纸上必须写上考生姓名、 班级和学号。 1、 编写一个程序, 求3~100之间的全部非素数之和。 2、 有15个数按从小到大顺序存放在一个数组中, 当输入一个数值时, 要求用折半查找法找出该数是数组中第几个元素的值; 如果该数不在数组中, 则显示相应的提示。 define N 15 main() { int i, num, a[N]; printf("请按从小到大顺序输入15个数(a[i]>a[i-1])\n"); scanf("%d", &a[0]); i=1; while(i<N) { scanf("%d\n", &a[i]); if (a[i]>a[i-1]) i++; else { printf("请重新输入a[i]"); printf("必须大于%d\n", a[i-1]); } } printf("Input searched data: "); scanf("%d", &num); search(a,num); } search(int *a,int num) { /*请将此处编写的程序段写在答题白纸上*/ } 3、 有一个班4个学生, 5门课。①求第一门课的平均分; ②找出有2门以上课程不及格的学生, 输出她们的学号和全部课程成绩和平均成绩; ③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编三个函数实现以上要求。 附加题( 每空2分, 共10分) 已知head指向一个带头结点的单向链表, 链表中每个结点包含一整型数据成员(data)和指针成员(next)。写一个函数删除数据成员data值为num的结点。请填空。 struct node { int data; struct node *next; }; struct node *del ( 【1】 *head, int num) { struct node *p1,*p2; if ( 【2】 ) {printf(”\n这是个空表! \n”); goto end;} p1=head; while(num!=p1->num&&p1->next!=NULL) { p2=p1; p1= 【3】 } if(num==p1->num) { if(p1==head) head= 【4】 ; else p2->next= 【5】 ; printf(”删除:%d\n”,num); n=n-1; } else printf(”%d 结点未找到! \n”,num); end: return (head); }03级计算机科学与技术专业 高级语言程序设计期末考试卷( B) 答题纸 【注意】1、 考试时间120分钟 2、 考试结束本试卷连同答题纸须全部上交, 供讲评和存档用, 不交者按缺考计 3、 所有答题结果均应写在答题纸上, 写在试卷上无效 班级 学号 姓名 成绩 一、 单项选择题( 1~10每题1分, 11~20每题2分, 共30分) 【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】 【9】 【10】 【11】 【12】 【13】 【14】 【15】 【16】 【17】 【18】 【19】 【20】 二、 程序分析题( 每题4分, 共24分) 【1】 【2】 【3】 【4】 【5】 【6】 三、 程序填空题( 每空2分, 共20分) 【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】 【9】 【10】 四、 编程题( 第三题10分, 其余8分, 共26分) 请做在另发的白纸上( 白纸上请写明姓名、 班级和学号) 附加题( 每空2分, 共10分) 【1】 【2】 【3】 【4】 【5】03级计算机科学与技术专业 高级语言程序设计期末考试卷( B) 标准答案 一、 单项选择题( 1~10每题1分, 11~20每题2分, 共30分) 【1】 D 【2】 A 【3】 B 【4】 C 【5】 B 【6】 B 【7】 C 【8】 D 【9】 B 【10】 A 【11】 D 【12】 B 【13】 A 【14】 B 【15】 C 【16】 A 【17】 C 【18】 B 【19】 A 【20】 A 二、 程序分析题( 每题4分, 共24分) 【1】这是红旗的颜色 【2】5,2,3 【3】Putian Xueyuan 【4】1 【5】1 【6】51,60,21 三、 程序填空题( 每空2分, 共20分) 【1】s1=s1* i 【2】 s+=pow(-1,i+1)*i*x/s1 【3】n-1 【4】name[j] 【5】name[k] 【6】strlen(str)-1 【7】i<strlen(str)/2 【8】 k 【9】i<j 【10】a[i][j]=i-j+1 四、 编程题( 第三题10分, 其余8分, 共26分) 参考程序/程序段 1、 #include <stdio.h> main() { int a,i,s=0; for (a=3;a<=100;a++) { for(i=2;i<a;i++) if(a%i==0) break; if(i<a) s+=a; } printf("s=%d\n",s); } 2、 int top, bott, mid; for(top=0, bott=N-1; top<=bott;) { mid= (top+bott)/2 ; if(num==a[mid]) { printf("%d位于表中第%d个数\n", num, mid+1); break; } else if(num<a[mid]) bott= mid-1 ; else top= mid+1 ; } if(top>bott) printf("%d不在表中\n", num); 3、 评分原则 每个函数各3分。 其余1分。 五、 附加题( 每空2分, 共10分) 【1】struct node 【2】head==NULL 【3】p1->next 【4】p1->next 【5】p1->next( )- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 本科 期末试卷
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文