




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计课程期终自测试卷(2)学号: 姓名: 队别: 一、选择题(每题1分,共40分)1. 下面说法正确的是( )。A)结构化程序的基本结构有三种,分别是循环结构、选择结构和顺序结构B)计算机只能执行顺序结构的C语言源程序C)循环结构无法使用NS流程图描述D)一般称含有20条以内语句的算法为简单算法,超过20条则不可能是简单算法2. 下面说法正确的是( )。A)只要程序使用基本结构编写,运行时就不会出错B)MAIN()函数是每一个C语言程序必须定义的C)任何函数只能有一种基本结构D) 任何复杂问题都可以只使用三种基本结构来解決3. 以下选项中,合法的C语言常量是( )。A) C+B) 1.0C) 0.0D) 2B4. 以下选项中,合法的C语言实数是( )。A) .9E0B) E22C) 0.41ED) .8e0.015. 设a,b,c是整型变量,以下选项中的赋值表达式错误的是( )。A) a=1=(b=1)=1B) a=(b=0)*(c+0)C) a=b=c*0D) a=1%(b=c=9)+466. 有如下程序#include main()char* msg =Hello;int x=012;printf(%s, X =%d.n, msg, x+1);程序运行后的输出结果是( )。A) Hello, X =11.B) He, X=13.C) HelX=121.D) Hello, X=013.7. 对于if(表达式)语句,以下说法正确的是( )。A)“表达式”的值只能是整数值B)在“表达式”中不能调用返回整数的函数C)在“表达式”中不能含有函数调用D)“表达式”可以是算术表达式8. 对于函数声明void fun(int a1, int *b);以下叙述中正确的是( )。A)函数参数a,b都是指针变量B)声明有语法错误,参数a的数组大小必须大于1C)调用该函数时,形参a仅复制实参数组中第一个元素D)调用该函数时,a的值是对应实参数组的内容,b的值是对应实参的地址9. 设有如下程序段int a2=0;int b =0,0,1;char c=A;char d= 0;以下叙述中正确的是( )。A)a、b的定义合法,c、d的定义不合法B)所有定义都是合法的C)只有d的定义不合法,其余定义均合法D)只有a的定义合法,其余定义均不合法10. 以下涉及字符串数组、字符指针的程序段,没有编译错误的是( )。A ) char *str, name3;B) char * str, name5; str=name; name=name;C) char str17=prog. c0, str27;D) char line10; str2=str1; line=/* * * */;11. 以下叙述中错误的是( )。A)算法正确的程序可以有零个输入B)算法正确的程序最终一定会结束C)算法正确的程序可以有零个输出D)算法正确的程序对于相同的输入一定有相同的结果12. 以下叙述中正确的是( )。A)C语句必须在一行内写完B)C程序中的每一行只能写一条语句C)C语言程序中的注释必须与语句写在同一行D)简单C语句必须以分号结束13. 以下选项中关于C语言常量的叙述错误的是( )。A)经常被使用的变量可以定义成常量B)常量分为整型常量,实型常量、字符常量和字符串常量C)常量可分为数值型常量和非数值型常量D)所谓常量,是指在程序运行过程中,其值不能被改变的量14. 以下选项中,不合法的C语言用户标识符是( )。A)a bB) AaBcC) a - - bD) _115. 若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。A) x=y=5;B) x=n%2.5;C) x+n=i;D) x=5=4+1;16. 设有定义:int a;float b;执行scanf(%2d% f, &a, &B);语句时,若从键盘输入876 543.0则a和b的值分别是( )。A)87和6.0B)876和543.0C)87和543.0D)76和543.017. 有以下定义语句,编译时会出现编译错误的是( )。A) char a=x2d;B) char a=n;C) char a=a;D) char a=aa;18. 当变量c的值不为2、4、6时,值也为真的表达式是( )。A) (c=2&c=2&c=2&c=6)|(c!=3)|(c!=5)19. 有以下计算公式 (x0)y= (x=0) y=sqrt(x);B)if(x=0) y=sqrt(x);if(x =0?x: -x);if(x0) y=sqrt(-x);20. 有以下程序#includemain() int y=10;while(y- -);printf(y=%dn,y);程序执行后的输出结果是( )。A) y=-1;B)y=0;C) y=1;D)while构成无限循环21. 有以下程序:#includemain() int i;for(i=l;i=40;i+) if(i+%5= =0)if(+i%8= =0)pintf(%d,i); printf(n);程序执行后的输出结果是( )。A) 5B) 24C) 32D) 4022. 有以下程序:#includemain() int s;scanf(%d,s);while(s0) switch(s) case 1: printf(%d,s+5),case 2: printf(%d,s+4);break;case 3: printf(%d,s+3);default: printf(%d,s+1);break; scanf(%d,s); 运行时,若输入1 2 3 4 5 0回车,则输出结果是( )。A) 66656B) C) 66666D) 23. 以下叙述中错误的是( )。A)用户定义的函数中可以没有 retun语句B)用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有 return语句,则应当定义函数为void类型D)函数的 return语句中可以没有表达式24. 有以下程序:#includevoid fun(char *c,int d) *c=*c+1;d=d+1;printf(%c,%c,*c,d);main() char b=a, a=A;fun(&b, A) ;printf(%c, %cn, b, a);程序运行后的输出结果是( )。A) b,B,b,AB) b,B,B,AC) a, B,B,aD) a,B,a,B25. 下列选项中,能正确定义数组的语句是( )。A) int num0.2008;B) int num ;C) int N=2008;D) #define N 2008 int numN;int numN;26. 以下函数实现按每行8个输出w所指数组中的数据:#include stdiohvoid fun(int *w, int n) int i;for(i=0;in;i+ +) printf(%d, wi); printf(n);在横线处应填入的语句是( )。A)if(i/8= =0) printf(n);B)if(i/8= =0) continue;C)if(i%8= =0) printf(n);D)if(i%8= =0) continue;27. 有以下程序:#include void fun(char *c) while(*c) if(*c=a*c=z) *c=*c - (a-A); c+; main() char s81; gets(s); fun(s); puts(s);当执行程序时从键盘上输入 Hello Beijing回车,则程序运行后的输出结果是( )。A) hello beijing B) Hello Beijing C) HELLO BEIJING D) hELLO Beijing28. 有以下程序:#includemain( )int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1;int i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;kaki) t=aji;aji=aki; aki=t; /*按列排序*/for(i=0;i4;i+) printf(d,aii);程序运行后的输出结果是( )。A) 1,6,2,1,B) 8,7,3,1,C)4,7,5,2,D)1,6,5,7,29. 有以下程序( strcat函数用于连接两个字符串):#include #include main()char a20 =ABCD0EFG0,b =IJK;strcat(a,b);printf(%sn);程序运行后的输出结果是( )。A) IJKB) ABCDE0EFG0IJKC) ABCDIJKD) EFGIJK30. 有以下程序段:char name20;int num;scanf(name=%s num=%d,name,num);当执行上述程序段,并从键盘输入:name=Lili num=1001回车后,name的值为( )。A) name=Lili num=1001B) name =LiliC) Lili num=D) Lili31. 有以下程序:#includemain( )char ch =uvwxyz,*pc;pc=ch;printf(%cn,*(pc+5);程序运行后的输出结果是( )。A) zB) 0C)元素ch5的地址D)字符y的地址32. 有以下程序:#include main( )char s =012xy;int i,n=0for(i=0;si!=0;i+ +)if(si=asi=z) n+;printf(%dn,n);程序运行后的输出结果是( )。A) 0B) 2C) 3D) 533. 有以下程序:#includeint fun(int n) if(n= =1)retum 1;elsereturn(n+fun(n-1);main( )int x;scanf(%d, &x);x=fun(x);printf(%dn, x)执行程序时,给变量x输入10,程序运行后的输出结果是( )。A) 55B) 54C) 65D) 4534. 有以下程序:#include int f(int m) static int n=0;n + =m;return n;main( ) int n=0;printf(%d,f(+n);printf(%dn,f(+n);程序运行后的输出结果是( )。A) 3,3B) 1,1C) 2,3D) 1,235. 设有以下语句:typedef struct TT char c; int a4; CIN;则下面叙述中正确的是( )。A)CIN是 struct TT类型的变量B)TT是 struct类型的变量C)可以用TT定义结构体变量D)可以用CIN定义结构体变量36. 有以下程序:#include struct ord int x,y;dt2=1,2,3,4;main()struct ord *p=dt;printf(%d,+ +(P-x);printf(%dn,+ +(p-y);程序运行后的输出结果是( )。A) 3,4B) 4,1C) 2,3D) 1,237. 有以下程序:#include #define SUB(A) (a)-(a) main() int a=2,b=3,c-5, d;d=SUB(a+b)*c;printf(%dn,d);程序运行后的输出结果是( )。A) 0B) -12C) -20D) 1038. 有以下程序#include main( ) int a=2,b;b=a2;printf (%dn, b );程序运行后的输出结果是( )。A) 2B) 4C) 6D) 839. 下列关于C语言文件的叙述中正确的是( )。A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件40. 有以下程序#include main( ) FILE * fp;int a10=1,2,3,0,0,i;fp= fopen(d2. dat, wb);fwrite(a, sizeof(int), 5, fp);fwrite(a, sizeof(int), 5, fp);fclose(fp);fp=fopen(d2. dat, rb);fread( a, sizeof(int), 10, fp);fclose(fp);for(i=0;i10;i+ +)printf(% d, , ai);程序运行后的输出结果是( )。A) 1,2,3,0,0,0,0,0,0,0,B) 1,2,3,1,2,3,0,0,0,0C) 123,0,0,0,0,123,0,0,0,0,D) 1,2,3,0,0,1,2,3,0,0二、程序填空题(共18分)使用VC2010打开考生文件夹下 blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件 blank1.c中。不得增行或删行,也不得更改程序的结构!#include #include #define N 5#define M 10int fun(char(* ss)M, int k) int i, j=0, len;/* * * * * * * * * * found * * * * * * * * * * /for(i=0;1【1】;i+ +) len=strlen(ssi);/* * * * * * * * * * found * * * * * * * * * * /if(len=【2】)/* * * * * * * * * * found * * * * * * * * * * /strcpy(ssj+ +, 【2】); return j;main() char xNM=Beijing, Shanghai, Tianjin,Nanjing,Wuhan;int i,f;printf(nThe original stringnn);for(i=0;iN;i+ +)puts(xi);printf(n);f= fun(x, 7);printf(The string witch length is less than or equal to 7:n);for(i=0;if;i+) puts(xi);printf(n);三、程序修改题(共18分)使用VC+2010打开考生文件夹下 modi1中的解決方案。此解決方案的项目中包含一个源程序文件modi1.c在此程序中,函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为aBCDeFgH,b字符串为ABcd,则c中的字符串应为“ aBcdeFgH”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件modi1.c中,不得增行或刷行,也不得更改程序的结构!#include #include void fun(cha * p,char *q, char * c)/* * * * * * * * * * found * * * * * * * * * * /int k= 1;/* * * * * * * * * * found * * * * * * * * * * /while( * p != * q ) if( * p*q) ck=*q;else ck=*p;if(*p) p+;if(*q) q+;k+; main() char a10= aBCDeFgH, b10=Abcd, c80=0;fun(a, b, c);printf(The
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 螺蛳粉开业营销策划方案
- 无人机AI多任务并行处理能力研究分析报告
- 初步设计咨询方案
- 互联网春节营销计划方案
- 云端大联欢活动方案策划
- 金华无尘室施工方案设计
- 初二道法考试题库及答案
- 深圳肠粉店营销方案设计
- 防护网水下施工方案
- 桥梁混凝土结构防腐施工方案
- 市国资公司信访维稳工作应急预案
- SMT印刷工艺培训资料
- 2024年个人之间清账协议书模板
- 给水管道停水碰口专项施工方案
- 2024年人教版九年级英语单词默写单(微调版)
- 2024年东南亚解热镇痛类原料药市场深度研究及预测报告
- 中建企业定额2023版
- 《计算机网络实验教程》全套教学课件
- 间隔记录数据表
- 《民航客舱设备操作与管理》课件-项目四 飞机舱门及撤离滑梯
- DB32T4064-2021江苏省城镇燃气安全检查标准
评论
0/150
提交评论