c语言程序设计期末试题A(含答案).doc
《c语言程序设计期末试题A(含答案).doc》由会员分享,可在线阅读,更多相关《c语言程序设计期末试题A(含答案).doc(7页珍藏版)》请在咨信网上搜索。
c语言程序设计期末试题A(含答案) 一、单项选择题(选择一个最佳答案,每题2分,共20分) 1. 一个C程序的执行是从( )。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 2. 下列选项中,不能用作标识符的是( )。 A) _1234_ B) _1_2 C) int_2_ D) 2_int_ 3. 以下定义语句中正确的是( )。 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 4. 设有以下定义:#define d 2 int a=0; double b=1.25; char c=’A’; 则下面语句中错误的是( )。 A) a++; B) b++ C) c++; D) d++; 5. 以下4个选项中,不能作为一条C语句的是( )。 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2; 6. 有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( )。 A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b; 7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。 A) p=1; B) *q=2; C) q=p; D) *p=5; 8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。 A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ; C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa); 9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。 A)字符B和字符P B) 字符串FORTRAN和字符串BASIC C)字符F和字符B D) 字符串BASIC和字符串PASCAL 10. 执行语句for(i=1;i++<4;);后变量i的值是( )。 A) 3 B)4 C) 5 D) 不定 一、填空题(每空2分,共18分) 1. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为 。 2. 有程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; 则b中的值是 。 3. 函数swap(int x,int y)实现对x和y值的交换。则执行语句{int a[2]={1,2}; swap(a[0],a[1]);}后,a[0]= ,a[1]= 。 4. 设有以下宏定义:#define f(z) z*z,执行赋值语句k=f(4+4)/f(2+2);(k为int型变量)后,k的值是 。 5. 书写语句求a, b两个数的最大值max。 ? : ; 6. 若x为int型变量,则执行x=7; x+=x-=x+x; 语句后,x的值是 。 二、读程序写结果(每题6分,共24分) 1. 有以下程序 int f(int a) { int b=0; static c=3; b=b+1;c=c+1; return(a+b+c); } void main() { int a=2,i; for(i=0;i<3;i++) printf(“%2d”,f(a)); } 执行后输出的结果是 。 2. 有以下程序 void f(int y,int *x) { y=y+*x; *x=*x+y;} void main( ) { int x=2,y=4; f(y,&x); printf(“x=%d,y=%d\n”,x,y); } 执行后输出的结果是 。 3. 有以下程序 #define LETTER 1 #include <stdio.h> void main() { char str[20]="C Language", c; int i=0; while((c=str[i])!='\0') { i++; #ifdef LETTER if(c>='a' &&c<'z') c=c+1; else if(c=='z') c=c-25; #else if(c>='B'&&c<='Z') c=c-1; else if(c=='A') c=c+25; #endif printf("%c",c); } } 执行后输出的结果是 。 4. 有以下程序 void fun(int *a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; for(i=0;i<4;i++) printf("%2d",a[i]); fun(a,i,j); } } void main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\n"); } 执行后输出的结果是 。 四、程序填空(每空1分,共8分) 下面程序的功能是:计算从命令行中输入的第2个参数开始的所有参数中是回文字符串的参数个数。(顺读和倒读都一样的字符串称为“回文”,如“level”就是回文)请填空。 #include <stdio.h> 【1】 int sumhw( char **p,int n); char jughw(char *str); void main(int argc,char *argv[]) { int s; if (argc<2) printf("请输入有效参数"); else { s=sumhw( 【2】 ,argc-1); printf("共有%d个回文串\n",s); } } int sumhw(char **p,int n) { char flag; int i,sum=0; for(i=0;i<n;i++) { flag=jughw( 【3】 ); if ( 【4】 ) sum++; } return sum; } char jughw(char *str) { char *p1,*p2; int n; n=strlen(str); p1=str; p2= 【5】 ; while( 【6】 ) { if(*p1!=*p2) break; else {p1++; 【7】 ;} } if( 【8】 ) return('N'); else return('Y'); } 五、编程题(30分) 1. 用指针和数组两种方法实现如下功能:将一个字符串按逆序存放。(18分) 要求(1)主函数中完成输入和输出字符串。 (2)逆序存放功能用子函数完成。 2. 一个整型数组有10个元素,编写程序删除所有值为n的元素。(12分) 要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。 (2)删除功能用子函数完成。 C语言模拟试卷一参考答案 一、单项选择题(选择一个最佳答案,每题2分,共20分) 1、A 2、D 3、C 4、B 5、D 6、C 7、D 8、A 9、A 10、C 二、填空题(每空2分,共18分) 1、2.500000 2、9 3、1 2 4、28 5、(a>b) max=a max=b 6、-14 三、读程序写结果(每题6分,共24分) 1、 7 8 9 2、 x=8,y=4 3、 C Lbohvbhf 4、 8 6 1 2 8 6 1 2 四、程序填空(每空1分,共8分) 【1】#include<string.h> 【2】argv+1 【3】*(p+i) 【4】flag= =’Y’ 【5】str+n-1 【6】p1<p2 【7】p2-- 【8】p1<p2 五、编程题(共30分) 1. (1)数组法(9分) #include <string.h> #include <stdio.h> #define N 20 void inv(char str[],int n); void main() {char str[N]; gets(str); inv(str,strlen(str)); puts(str); } void inv(char str[],int n) {int i,j,temp; for(i=0,j=n-1;i<=j;i++,j--) {temp=str[i]; str[i]=str[j]; str[j]=temp;} } (2)指针法(9分) #include <string.h> #include <stdio.h> #define N 20 void inv(char *str,int n); void main() {char str[N]; gets(str); inv(str,strlen(str)); puts(str); } void inv(char *str,int n) {char *i,*j,temp; for(i=str,j=str+n-1;i<=j;i++,j--) {temp=*i; *i=*j; *j=temp;} } 2.(12分) #include <stdio.h> int m; void del_element(int num[],int n); void main() {int num[10]; int i,n; m=10; for(i=0;i<10;i++) scanf("%d",&num[i]); printf("please input n\n"); scanf("%d",&n); del_element(num,n); for(i=0;i<m;i++) printf("%d ",num[i]); } void del_element(int num[],int n) {int i,j; for(i=0;i<m;i++) if(num[i]==n) { for(j=i+1;j<m;j++) num[j-1]=num[j]; m--; i--; } }- 配套讲稿:
如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。
关于本文