版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、选择题(每小题2分,共34分)以下不合法的用户标识符。A、j2_KEY C、4d 、_8_以下叙述中正确的。ACB“{”“}”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数)D、分号是C语言之间的分隔符,不是语句的一部分设inta=12,则执行完语句a+=a-=a*a后,a的值。A0 、264C、144 、-264假定x和y为double型,表达式x=2,y=x+3/2的值A3.500000 、3C、2.000000 、3.0000005.语:printf("%d",(a=2)&&(b=-2));的输出结果A2 1C、-4 、-2若变量c为char类型,能正确判断出c为小写字母的表达式A、´a´<=c<=´z´B、(c>=´a´)||(c<=´z´)C、(´a´<=c)and(´z´>=c)D、(c>=´a´)&&(c<=´z´)在嵌套使用if语句时语言规定else总A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带elseifD、和之前的第一个if配对以下循环体的执行次数main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}A3 、2C、1 、09.inta[2][3]={{1},{2,3}};,则a[0][1]的值。B.2C.3 D.0以下对二维数组a的正确说明。A.inta[5][]; B.floata[5][4];C.doublea[][4]; D.floata(5)(4);main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%d",t[2-i][i]);}判序执行后的输出结果。A753 、357C、369 、751若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的A、函数调用可以作为独立的语句存在B、函数调用可以作为一个函数的实参C、函数调用可以出现在表达式中D、函数调用可以作为一个函数的形参以下函数值的类型fun(floatx){floaty;y=3*x-4;returny;}A、int 、不确定C、void 、float17.能正确表示a和b同时为正或同时为负的逻辑表达式A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>0二、填空题(每小题2分,共16分)表示条:10<x<100或x<0的C语言表达式。若函数调用语句为f(a,b,f(a+b,a-b,b));,则函数f的参数个数。5.下面程序的功能是输出以下形式的金字塔图案是:****************在下划线处填入的正确的表达式。main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<= ;j++)printf("\n");}}6.以下程序的功能是计算:1+12+123+1234+12345。请填空。Main(){intt=0,s=0,I;for(I=1;I<=5;I++){t=I+ s=s+t;}printf(“s=%d\n”,s)}8.下面的程序采用辗转相除法与函数求两个整数的最大公约数,其中两条语句有语法或算法错误,请在空格处填上正确语句。#include<stdio.h>voidmain(){intgcd(inta,intb);inta,b,abd;printf("intputdataab:\n");scanf("%d,%d",a,b); 语句错误*/ abd=gcd(a,b);printf("abd=%d\n",abd);}intgcd(intx,inty){intt;if(x<y){t=x;x=y;y=t;}while(y!=0){t=x%y;x=y;x=t;} 语句错误*/ returnx;}三、程序分析题(每题5分,共25分)#include<stdio.h>{inta=10,a+=b;b=a-b;a-=b;printf("a=%d,b=%d\n",a,b);}写出下面程序的运行结果。#include<stdio.h>main(){ inti;for(i=1;i<7;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}写出下面程序的运行结果。main(){ int a[3][3]={1,2,3,4,5,6,7,8,9};int x=0,y=0;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j)x+=a[i][j];for(i=0;i<3;i++)for(j=2;j>=0;j--)if(i+j==2)y+=a[i][j];printf("x=%d,y=%d\n",x,y);}写出下面程序的运行结果。#include<stdio.h>inta=100;fun(){staticinta=20;a++;printf("%d\n",a);}voidmain(){inti;for(i=1;i<=3;i++){a++;printf("%d,",a);fun();}}四、程序设计(共25分)1、编写函数fun(intm)求1000以内所有m的倍数之和,m为一个正整数;并编写main(12分。2011-20122学分<C语言程序设计>试卷(1)答案一、单项选择题(每题2分,共30分)1、以下C语言用户标识符中,不合法的是(D。A)_1 B)AaBc C)a_b 复习要点:标识符的定义:首字符必须是字母或下划线;后续字符可以是字母、数字或下画线。D)中用了„-‟,所以不合法2、对于一个正常运行的C程序,以下叙述中正确的是(A。A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序复习要点:一个Cmain函数函数是程序执行的入口,3、有以下定义a,b;doublex,y;则以下选项中正确的表达式是(AA)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x原因:B)错,后面有一个分号””,这是一个表达式语句是double可以用x+y=x4、以下选项中能表示合法常量的是(。A)整数B)实数:1.5E2.0 C)字符斜杠D)字符串:"\007"原因:A)错,整数中不可以有逗号”,”错实数指数形式格式其中阶数是整数中阶数2.0不对应该为2“\”,„\‟"\007"‟\007‟,‟\ddd‟,每位d8进制数5、表达式a+=a-=a=9的值是(0。A)9 B)-9 C)18 D)0原因:赋值运算赋”=”和符合赋值运算赋都是右结合性,所以,先执行a=9,然后执行a-=a,a=a-a,a。最后执行a+=a,即a=a+a.6、若变量已正确定义,在if()print(n”,;中,以下不可替代W的是(A。A)a<>b+c B)ch=0 C)a==b+c D)a++复习要点:if语句格式,if(表达式)语句。if后面括号内的表达式可以是任意合法的表达式。a<>b+c都是合法表达式,所以可以代替W7、若有定义语句inta,b;double则下列选项中没有错误的是(CA)switch(x%2) B)switch((int)x/2.0){case0:a++;break; {case0:a++;break;case1:b++;break; case1:b++;break;default:a++;b++;} default:a++;b++;C)switch((int)x%2) (int)(x)%2){case0:a++;break; {case0.0:a++;case1:b++;break; case1.0:b++;break;default:a++;b++;} default:a++;b++;}复习要点:switch语句格式;switch后面括号内的表达式必须是一个整型表达式,所以A和B错。case后面的值必须是一个整型常量,所以D错8、若要定义一个具有5个元素的整型数组,以下错误的定义语句是(。A)inta[5]={0}; B)intb[]={0,0,0,0,0}; C)intc[2+3]; D)inti=5,d[i];复习要点:数组的定义:元素个数国定,类型相同的元素集合。即数组定义时,下标运算符[]中必须时整型常量表达式,而Dd[i]i错9、下列定义数组的语句中,正确的是(B。A)intN=10; )defineN10 )intx[0..10]; )intintx[N]; intx[N];A答案d[N]中N是个变量,错C答案d[0..10]中0..10不是数据,错D答案[10、已定义了以下函数fun(floatx){ printf(“%f\n”,x*x);}该函数的类型是(A。int类型B)void类型C)无法确定类型D)与参数x理由:函数定义时,如果不写函数的类型,默认为int1、ifif值的叙述中正确的是D。必须是逻辑值B)必须是整数值C)D)语句格式,if(表达式)语句。if后面括号内的表达式可以是任意合法的表达式。12、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是(D循环体执行两次 B)循环体执行一次C)循环体一次也不执行 D)构成无限循环for语句的执行过程,由表达式k1,即表达式的值为真。1、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是。A)实参的值传递给形参 B)形参的值传递给实参C)实参的地址传递给形参D)形参的地址传递给实参复习要点:函数调用时,形参和实参的数据传递方式。如果函数的形参是简单变量,则函数调用时,把实参的值传递给形参,这个传递是单向的传值过程,不可以把形参的值传给实参14、若a是数值类型,则逻辑表达式的值是(A。A)1 B)0 C)2 D)不知道a的值,不能确定复习要点:逻辑运算符”||”是”或”运算,即只要有一个操作数为真,则结果为真。15、以下关于return语句的叙述中正确的是(B。一个自定义函数中必须有一条return语句一个自定义函数中可以根据不同情况设置多条return语句定义成void类型的函数中可以有带返回值的return语句没有return复习要点:函数可以有return语句,也可以有多条return语句。如果没有return语句,则函数在执行到函数体后的右”}”时返回到调用处。如果函数右多条return语句,则执行到任一return语句就返回到调用处。二、填空题(每题2分,共20分)1、设x为int型变量,请写出一个关系,用以判断x同时为3和7的倍数时,关系表达式的值为真。2、字符“w\\\x53\np\104\””的长度。3、表达式3/4*2.5&&1||4%2的值。4、一个C语言程序至少应该包含一函数。5、continue语句只能用中。6、以下程序的功能是:将值为三位正整数的变量x拆分并输出。请填空。#include<stdio.h>main(){intx=256;printf("%d-%d-%d\n", ,x/10%10,x/100); 7、若有定义:doublex[11];则x数组元素下标的上限,下限。8、数组是
的集合。9、复合语句在语法上被认为是 。空语句的形式。10、结构化程序、 和 三种基本结构组成三、程序分析每题3分,共30分)注意:每个程序的#include<stdio.h>都简化1、有以下程序main(){inta=1,b=0;if(!a)b++;elseif(a==0)if(a)elseb+=3;printf(”%d\n”,b) }程序运行后的输出结果是:2、有以下程序main(){inta=1,b=2;while(a<6){b+=a;a+=2;printf(”%d,%d\n”,a,b); }程序运行后的输出结果是:3、有以下程序main(){intx=011;printf("%d\n",++x); 程序运行后的输出结果是:4、有以下程序main(){ints;scanf("%d",&s);while(s>0){switch(s){case1:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入123450<回车>,则输出结果是:5、以下程序运行后的输出结果是:main(){inta;a=(int)((double)(3/2)+0.5+(int)1.99*2);printf("%d\n",a);}6、有以下程序main(){intx;scanf("%d",&x);if(x>15)printf("%d",x-5);if(x>10)printf("%d",x);if(x>5)printf("%d\n",x+5);}若程序运行时从键盘输入12<回车>,则输出结果为:7、有以下程序main(){ inta=1,b=2;do{b+=a;a+=2;b%=10;}while(a<6);printf(”%d,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度文化艺术界员工劳动合同范本2篇
- 二零二五年度大蒜种植基地与电商平台物流配送合同3篇
- 二零二五年度房产中介保密协议示范文本9篇
- 二零二五年度房屋抵押贷款与资产证券化合同范本3篇
- 二零二五年度建筑安装工程安全应急预案编制合同3篇
- 二零二五年度房地产开发项目合作智慧城市建设合作协议范本3篇
- 纵向推书机构课程设计
- 二零二五年度步行街商铺租赁与绿色能源使用协议合同3篇
- 二零二五年度房地产销售代理服务合同(含绿色环保建材)3篇
- 海南卫生健康职业学院《拓展运动课程设计》2023-2024学年第一学期期末试卷
- 米吴科学漫画奇妙万象篇
- 河南省郑州市金水区2022-2023学年三年级上学期期末数学试卷
- XXX酒店开办费POB预算
- Z矩阵、Y矩阵、A矩阵、S矩阵、T矩阵定义、推导及转换公式
- 中美欧规范桩基承载力计算设计对比
- 外科洗手操作考核评分表
- 复旦大学外国留学生入学申请表
- 长安汽车发动机水温高故障案例分析处置
- 瞬时单位线法计算洪水
- 气力输灰安装施工方案
- 抗精神疾病药物与麻醉课件
评论
0/150
提交评论