程序设计基础试题及答案二_第1页
程序设计基础试题及答案二_第2页
程序设计基础试题及答案二_第3页
程序设计基础试题及答案二_第4页
程序设计基础试题及答案二_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

《程序设计基础》考试试卷二1966年,Bohra和Jacopini提出的三种基本程序设计结构是: A.if、while和for; B.switch、do-while和for;C. while、do-while和for;D.顺序结构、分支结构和循环结构。算法的特征不包括: 。有穷性B.可行性 C.确定性 D.有1个或者多个输入。C语言源程序的基本组成单位是 。A.函数B.语句C.声明和语句D.文件下列标识符中,只有 是合法的。A.ifB.3abC.IntD.A-4下列常量中,只有 是合法的。A.3e-0.3B. ‘abc' C.02a1D.‘\377'下列说法中正确的是: 。C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。宏替换比函数调用的执行速度慢。实质上,C语言中的指针就是一个变量的地址。C语言中的任何函数都可以由程序员命名。C语言中,运算对象必须是整型的运算符是 。A./B.%C.+D.-以下叙述中错误的是 。C语句必须以分号结束复合语句在语法上被看作一条语句空语句出现在任何位置都不会影响程序运行赋值表达式末尾加分号就构成赋值语句以下叙述中正确的是 。调用printf函数时,必须要有输出项使用putchar函数时,必须在之前包含头文件stdio.h在C语言中,整数可以以十二进制、八进制或十六进制的形式输出调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码以下关于函数的叙述中正确的是 。每个函数都可以被其它函数调用(包括main函数)每个函数都可以被单独编译每个函数都可以单独运行在一个函数内部可以定义另一个函数有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下叙述中正确的是 。A.以上的说明形式非法B.NODE是一个结构体类型C.OLD是一个结构体类型D.OLD是一个结构体变量以下叙述中错误的是 。A.C语言中对二进制文件的访问速度比文本文件快B.C语言中,随机文件以二进制代码形式存储数据语句FILEfp;定义了一个名为fp的文件指针C语言中的文本文件以ASCII码形式存储数据当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 。A.k%2B.k%2==1C.(k%2)!=0D.!k%2==114.以下不能正确计算代数式(sii14.以下不能正确计算代数式(sii(0.5))23值的C语言表达式是A.1/3*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3 D.1/3.0*pow(sin(1.0/2),2)以下能正确定义且赋初值的语句是 。A.intn1=n2=10; B.charc=32;C.floatf=f+1.1; D.doublex=12.3E2.5;以下程序的功能是:当avbvc时,以八进制形式输出a、b、c的值。#include<stdio.h>voidmain()/*Beginning*/{inta,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a<b<c)printf(“%o%o%o”,a,b,c);}程序不能得到正确结果的的原因是 。注释语句书写位置错误a、b、c不能以八进制进行输出没有按照八进制进行输入if语句的条件表达式错误设有定义:intk=1,m=2;floatf=7;,则以下选项中错误的表达式是A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是 A.(!a==1)&&(!b==0); B.(a<b)&&!c||1;C.a&&b; D.a||(b+b)&&(c-a)有以下程序段intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;有勇气承担命运这才是英雄好汉。

执行该程序段后,k的值是 。A.3B.2C.1 D.020.设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句if(avb)if(c==d)y=0;elsey=1;该语句所表示的含义是 。a<bandc二dA.a<bandc二dB.B.a>bandc主da<a<bandc二dC.C.a<bandc主da<bandc二d1、2a<bandc二d1、2、3、D.、 阅读程序,写出下列程序的运行结果。(20分)已知字母A的ASCII码为65。#include<stdio.h>voidmain(){chara,b;a='A'+'5'-'3';b=a+'6'-'2';printf("%d%c\n",a,b);}#include<stdio.h>voidf(intv,intw){intt;t=v;v=w;w=t;}voidmain(){intx=1,y=3,z=2;if(x>y)elseif(y>z)elsef(x,y);f(y,z);f(x,z);printf(“%d,%d,%d”,x,y,z);}#include<stdio.h>voidmain(){inta[4][4]={{3,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,12,-33,0}};inti,j,s=0;for(i=0;i<4;i++){for(j=0;j<4;j++){if(a[i][j]<0)continue;if(a[i][j]==0)break;s+=a[i][j]}}printf("%d\n",s);}4、#include<stdio.h>voidmain(){inta=100,b=10;int*p1=&a,*p2=&b;*p1=b;*p2=a;printf(“%d,%d,”,a,b);printf(“%d,%d\n”,*p1,*p2);}二、 程序改错:找出下列程序存在的错误,并进行改正。(20分)1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。#include<stdio.h>#definePI3.1415926voidmain(){intr;floats;scanf("%d",r);s=PI*rA2;printf("s=%f\n",s);}2、以下程序用于计算一个一维数组各元素平方根的和。#include<stdio.h>#include<math.h>voidmain(){inta[10],i;floatsum;for(i=0;i<=10;i++)scanf(“%d”,&a[i])i=0;while(i<=9)){sum+=sqrt(a[i]);i++;}3、以下程序用于通过指针对数组进行输入和输出#include<stdio.h>voidmain(){inta[10];int*p=a;inti;for(i=0;i<10;i++)scanf(“%d”,p++);for(i=0;i<10;i++)printf(“%5d”,p++);}4、以下程序通过判断输入的成绩判断其级别:其中90分以上为A,80分以上为B,70分以上为C,60分以上为D,其他为E。#include<stdio.h>voidmain(){intscore,temp;temp=score/10;switch(temp){case10,9:printf(“A”);case8:printf(“B”);case7:printf(“C”);case6:printf(“D”);default:printf(“E”);}}三、 程序填空题:阅读程序,填充空白使之能完成预定功能。(10分)1、 以下程序的功能是计算:s=l+12+123+1234+12345。请填空。#include<stdio.h>voidmain(){intt=0,s,i; \for(i=1;i<=5;i++){TOC\o"1-5"\h\zt=i+ ;s=s+t;}printf("s=%d\n",s);}}2、 以下程序的功能是输出如下形式的方阵:13 1415 169 10 11 1256781234请填空。#include<stdio.h>voidmain(){inti,j,x;for(j=4; ;j--) {for(i=1;i<=4;i++){x=(j-1)*4+ ;printf("%4d",x);}printf("\n");}}四、 编程题(要求给出PAD图或者N-S图)(30分)1、 设计一个C函数,对输入的a、b两个整型参数,返回其中的最小数。利用main函数调用该函数,并输出结果。2、 编程输入10个学生5门课程的成绩,实现:计算每个学生的平均分;计算每门课程的平均分;1工x计算平均方差:&二-工X2-(— )2,其中x.为第i个学生的平均分。n ini=13、 编写一个C程序,求解n!。要求分别用非递归程序和递归程序实现。一、选择题。DDACDCBCBBCCDABDCABC二、程序阅读题(每个5分,共20分)1、67G2、1,3,23、40 4、10,10,10,10程序改错题(每个5分,共20分)1、 第一个错误:scanf(“%d",r)应为scanf(“%d,&r")。第二个错误:s=PI*rA2应为s=PI*r*r。2、 第一个错误:for循环中的第二个表达式应为iv10。第二个错误:sum未赋初值,应加入:sum=0;3、 应该在第二个for之前加入:p=a;4、 应该在每个case语句之后加入break;三、 程序填空题(每个5分,共10分)1、s=0;t*10 2、j>0;i四、 编程题五、1、#includevstdio.h>intmin(inta,intb){is%5.2f”,fangcha);}return(avb?a:b);3、非递归方法}#include<stdio.h>voidmain(){voidmain(){inta,b;intn,i=0;scanf(“%d%d",&a,&b);longfac=1;printf(“%d”,min(a,b)); }scanf(“%d",&n);while(i<n){2、#include<stdio.h>i++;fac*=i;voidmain(){}float score[10][5],printf(“%ld”,fac);stuave[10],courseave[5],fangcha;}floattemp1,temp2;递归方法:inti,j;#include<stdio.h>printf(“Pleaseinputthescores:”);longfac(intn){for(i=0;iv10;i++){if(n==0lln==1)return1;stuave[i]=0;temp1=0;temp2=0;elsereturnn*fac(n-1);for(j=0;jv5;j++){}scanf(“%f”,&a[i][j]);voidmain(){stuave[i]+=a[i][j];}intn;stuave[i]/=5.0;scanf(“%d",&n);temp1+=stuave[i]*stuave[i];printf(“%ld”,fac(n));temp2+=stuave[i];}}for(j=0;j<5;j++){courseave[j]=0;for(i=0;i<10;i++)courseave[j]+=score[i][j]

温馨提示

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

评论

0/150

提交评论