计算机程序设计基础试卷B_第1页
计算机程序设计基础试卷B_第2页
计算机程序设计基础试卷B_第3页
计算机程序设计基础试卷B_第4页
计算机程序设计基础试卷B_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

真康胸技知*试题纸(B)课程名称:计算机程序设计基础考试时间19:30—21:00严谨治学诚信为人一、选择题(20X1分=20分)1、以下叙述中错误的是( )A.C语言源程序经编译后生成后缀为.obj的目标程序。C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件。用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中。C语言中的每条可执行语句和非可执行语句最终都将被转换成二进制的机器指令。2、 以下叙述中错误的是( )。算法正确的程序最终一定会结束。B.算法正确的程序可以有零个输出。C.算法正确的程序可以有零个输入。D.算法正确的程序对于相同的输入一定有相同的结果。3、 e2是()。实型常数100B.值为100的整型常数 C.非法标识符D.合法标识符4、 表达式1?(0?3:2):(10?1:0)的值是( )。A.3 B.2C.1D.05、下列格式符中,哪一个可以用于以8进制形式输出整数(A.%d B.%8dC.%o D.%ld6、假定所有变量均已正确定义,下列程序段运行后x的值是(a=b=c=0,x=35; if(!a)x--;elseif(b);if(c)x=3;elsex=4A.34 B.4C.35D.37、下面的程序片段所表示的数学函数关系是( )y=-1;if(x!=0)if(x>0) y=1; elsey=0;-1(x<0)1 (x<0)八0(x<0)"-1(x<0)A.y=<0(x=0) B.y=<-1(x=0) C.y=<-1(x=0)D.y=<1(x=0)1(x>0)0(x>0)1(x>0)0(x>0)8、在C语言中,下列说法中正确的是( )。不能使用“do语句while(条件)”的循环“do语句while(条件)”的循环必须使用“break”语句退出循环“do语句while(条件)”的循环中,当条件为非0时将结束循环“do语句while(条件)”的循环中,当条件为0时将结束循环9、 在C语言的语句中,用来决定分支流程的表达式是( )。A.可用任意表达式 B.只能用逻辑表达式或关系表达式C.只能用逻辑表达式 D.只能用关系表达式10、 求整数1至10的和并存入变量s,下列语句中错误的是( )。A.s=0;for(i=1;i〈=10;i++)s+=i;B.s=0;i=1;for(;i〈=10;i++)s=s+i;C.for(i=1,s=0;i〈=10;s+=i,i=i+1);D.for(i=1;s=0;i〈=10;i++)s=s+i;

11、12、13、设有二维数组定义如下,则不正确的元素引用是(inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};A.a[2][3] B.a[a[0][0]][1]语句11、12、13、设有二维数组定义如下,则不正确的元素引用是(inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};A.a[2][3] B.a[a[0][0]][1]语句printf((“%d\n“,strlen(A.11 B.10合法的数组定义是( )A.inta[3][]={0,1,2,3,4,5};C.inta[2][3]={0,1,2,3,4,5,6};C.a[7]“ats\no12\1\\C.B.D.intint)。D.“));a[2]['c'-'a']

的输出结果是(D.8)。14、以下对C语言函数的有关描述中,正确的是a[][3]={0,1,2,3,4};a[2][3]={0,1,2,3,4,5,};)。在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参C函数既可以嵌套定义又可递归调用函数必须有返回值,否则不能使用函数C程序中有调用关系的所有函数必须放在同一个源程序文件中15、函数调用语句f((e1,e2),(e3,e4,e5));中参数个数是( )。A.5B.4C.2D.116、对于以下递归函数f,调用f(4).其返回值为( )。intf(intn) {if(n)returnf(n-1)+n; elsereturnn; }A.10B.4C.0 D.以上均不是17、若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是()。A.i=*p;B.*p=*&j;C.i二&j;D.i=**p;TOC\o"1-5"\h\z18、下面各语句中,能正确进行赋字符串操作的语句是( )。A.chars[5]=”ABCDE”; B.chars[5]={'A','B', 'C','D', 'E'};C.char*s;s二”ABCDE”; D.char*s;scanf(“%s”,&s);19、 数组定义为“inta[4][5];”,弓|用“a+3”表示( )。A、a数组第3列的首地址 B、a数组第0行第3列元素的值C、a数组第3行的首地址 D、a数组第0列第3行元素的值20、 若有定义inta[3][4];则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是( )。A.*(a+4*i+j) B.*(*(a+i)+j) C.*(a+i)[j] D.a[i]+j二、填空题(10X1分=10分)1、C程序是由 构成的。其中有并且只能有1个主函数。2、说明变量时,若省略存储类型符,系统默认其为 存储类别。3、 有定义:charc='';inta=1,b;(c的初值为空格),执行b=!c&&a;后b的值为 。4、 循环体中的continue语句是 。5、 下列程序段的功能是输入一个正整数,判断是否能被3或7整除,若能整除,输出“YES”,若不能整除,输出“N0”。请为程序段填空。voidmain(){intk;scanf(“%d”,&k);if( )printf(“YES\n”);elseprintf(“N0\n”); }6、 结构化程序设计规定的三种基本结构是 。7、 函数形式参数的作用域为函数内部,全局的外部变量和函数体内定义的局部变量重名时, 变量优先。TOC\o"1-5"\h\z8、以下程序段的输出结果是 。#defineM(y)y*y+3*yvoidmain(){intk;k=M(5)*2;printf(“k=%d\n“,k); }9、以下程序段的输出结果是 。voidswap(int*a,int*b) {int*t;t=a;a=b;b=t;}voidmain(){inti=3,j=5,*p=&i,*q=&j;swajp(q);printf(“%d%d\n”,*p,*q);}10、设有如下定义,则对字符串1iming的正确引用形式是 。structperson{charname[20];charsex;}a二{“1iming”,'m'};三、读程序写结果(6X5分=30分)1、 写出以下程序段的输出结果。char*fun(char*t) {char*p=t; return(p+strlen(t)/2); }voidmain(){char*str二”abcdefg”; str二fun(str); puts(str);}2、 以下程序运行后的输出结果是什么?voidmain(){charp[][10]={"3678","2594"};inti,j;longnum=0;for(i=0;i<2;i++){ j=0;while(p[i][j]){ if((p[i][j]-'0')%2) num二num*10+p[i][j]-'0';j=j+2; }}printf(“%d\n”,num);}3、 写出以下程序段的输出结果。voidfun(intx){if(x/2>0)fun(x/2); printf(“%d”,x); }voidmain(){ fun(15);printf(“)n”}; }4、 阅读下列程序段,写出程序段运行的结果。voidmain(){charstr1[]="1111111";for(inti=0;i〈4;i++){printf("%s\n",stri); strl[i]二'';//空格str1[strlen(str1)-1]='\0'; }}5、阅读下面程序段,写出程序段的输出结果。voidmain(){intx=100,a=10,b=20,ok1=5,ok2=0;辻(a〈b)辻(b!=15)if(!ok1)x=1;elseif(ok2)x=10; elsex=T;printf(“%d\n”,x);}6、阅读下列程序段,写出程序段的运行结果。voidmain(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k—;case'C':k+=2;break;case'D':k=k%2;break;case'E':k=k*10;break;default:k=k/3;}k++; }while(c〈'G');printf("k=%d\n",k);}四、 程序填空(10X2分=20分)1、 以下程序段的功能是顺序输出整数n的各位数字。请填空。voidmain(){intn=123456;while(① ){printf(“%4d”,n%10); n=n/10;} }2、 有以下程序段,且变量已正确定义和赋值。for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));printf(“s=%f\n\n”,s);请填空,使下面程序段的功能与上面程序段完全相同。s=1.0; k=1;while( ② ) { s=s+1.0/(k*(k+1)); ③ ; }printf(“s=%f\n\n”,s);3、 以下程序段的功能是:输出a、b、c三个变量中的最小值。请填空。voidmain(){ ④ ;scanf(“%d%d%d”,&a,&b,&c);t1二a〈b? ; 12=c〈t1? ⑥ ;printf(“%d\n”,12); }4、 以下程序段用来统计从终端输入的字符中大写字母的个数,然后输出从终端输入的各大写字母及出现次数。num[0]中统计字母A的个数,num[1]中统计字母B的个数,其它依次类推。用#号结束输入,请填空。(提示:函数issupper(c)的功能是判断字符c是否大写字母)voidmain(){intnum[26]={0},i;charc;while( ⑦ !='#')if(isupper(c))num[c-‘A']二 ⑧ ;for(i=0;i<26;i++) ⑨ printf(“%c:%d\n”,i+'A', ⑩ );}五、 程序设计(20分)1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论