程序设计基础试题及答案二_第1页
程序设计基础试题及答案二_第2页
程序设计基础试题及答案二_第3页
程序设计基础试题及答案二_第4页
程序设计基础试题及答案二_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、?程序设计根底?测试试卷二1. 1966年,Bohra和Jacopini提出的三种根本程序设计结构是:A.if、while和for;B.switch>do-while和for;C.while、do-while和for;D.顺序结构、分支结构和循环结构.2 .算法的特征不包括:.A.有穷性B.可行性C.确定性D.有1个或者多个输入.3 .C语言源程序的根本组成单位是.A.函数B.语句C.声明和语句D.文件4 .以下标识符中,只有是合法的.A.ifB.3abC.IntD.A-45 .以下常量中,只有是合法的.A.3e-0.3B.abc'C.02a1D.377'6 .以下说法中

2、正确的选项是:.A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略.B.宏替换比函数调用的执行速度慢.C.实质上,C语言中的指针就是一个变量的地址.D.C语言中的任何函数都可以由程序员命名.7 .C语言中,运算对象必须是整型的运算符是.A./B.%C.+D.-8 .以下表达中错误的选项是.A. C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句9 .以下表达中正确的选项是.A.调用printf函数时,必须要有输出项B.使用putchar函数时,必须在之前包含头文件stdio.hC.在C语言中,整

3、数可以以十二进制、八进制或十六进制的形式输出D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10 .以下关于函数的表达中正确的选项是.A.每个函数都可以被其它函数调用包括main函数B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数11 .有以下程序段typedefstructNODEintnum;structNODE*next;OLD;以下表达中正确的选项是.A.以上的说明形式非法B.NODE是一个结构体类型C.OLD是一个结构体类型D.OLD是一个结构体变量12 .以下表达中错误的选项是.A.C语言中对二进制文件的访问速

4、度比文本文件快B. C语言中,随机文件以二进制代码形式存储数据C.语句FILEfp;定义了一个名为fp的文件指针D.C语言中的文本文件以ASCII码形式存储数据这个选13 .当把以下四个表达式用作if语句的限制表达式时,有一个选项与其它三个选项含义不同,项是OA.k%2B.k%2=1C.(k%2)!=0D.!k%2=114 .以下不能正确计算代数式(Sin(0.5)值的C语言表达式是3A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)15 .以下能正确定义且赋初值的语句

5、是.A. intn1=n2=10;B. charc=32;C.floatf=f+1.1;D.doublex=12.3E2.5;16 .以下程序的功能是:当a<b<c时,以八进制形式输出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.a、b、c不能以八进制进行输出C.没有根据八进制进行输入D.if语句的条件表

6、达式错误17 .设有定义:intk=1,m=2;floatf=7;,那么以下选项中错误的表达式是A.k=k>=kB.-k+C.k%intD.k>=f>=m18 .设有定义: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)19 .有以下程序段intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;有勇气承当命运这才是英雄好汉.执行该程序段后,k的值是.

7、A.3B.2C.1D.020 .设变量a、b、c、d和y都已正确定义并赋值.假设有以下if语句if(a<b)if(c=d)y=0;elsey=1;该语句所表示的含义是.B.C.D.abandcdababandcdabandcdabandcdabandcdabandcdcd一、阅读程序,写出以下程序的运行结果.(20分)1、字母A的ASCII码为65.#include<stdio.h>voidmain()chara,b;a='A'+'5'-'3'b=a+'6'-'2'printf("%d%

8、cn",a,b);2、#include<stdio.h>voidf(intv,intw)intt;t=v;v=w;w=t;voidmain()intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d,x,y,z);3、#include<stdio.h>voidmain()inta44=32-3,-4,0,-12,-13,14,-21,23,0,-24,-31,12,-33,0;inti,j,s=0;for(i=0;i<4;i+)有勇气承当命运

9、这才是英雄好汉.for(j=0;j<4;j+)if(aij<0)continue;if(aij=0)break;s+=aijprintf("%dn",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,%dn,*p1,*p2);(20分)二、程序改错:找出以下程序存在的错误,并进行改正.1、以下程序的功能是:给r输入数据后计算半径为r的圆面积so#include<stdio.h

10、>#definePI3.1415926voidmain()intr;floats;scanf("%d",r);s=PI*rA2;printf("s=%fn",s);2、以下程序用于计算一个一维数组各元素平方根的和.#include<stdio.h>#include<math.h>voidmain()inta10,i;floatsum;for(i=0;i<=10;i+)scanf("%d',&ai);=0;while(i<=9)sum+=sqrt(ai);i+;3、以下程序用于通过指针对数

11、组进行输入和输出#include<stdio.h>voidmain()inta10;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");

12、case8:printf(B");case7:printf(C");case6:printf(D");default:printf(E");3、 程序填空题:阅读程序,填充空白使之能完成预定功能.(10分)1、以下程序的功能是计算:s=1+12+123+1234+12345.请填空.#include<stdio.h>voidmain()intt=0,s,i;for(i=1;i<=5;i+)t=i+;s=s+t;printf("s=%dn",s);2、以下程序的功能是输出如下形式的方阵:1314151691011125

13、6781234请填空.#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");4、 编程题(要求给出PAD图或者N-S图)(30分)有勇气承当命运这才是英雄好汉.1、设计一个C函数,对输入的a、b两个整型参数,返回其中的最小数.利用main函数调用该函数,并输出结果.2、编程输入10个学生5门课程的成绩,实现:计算每个学生的平均分;计算每门课程的平均分;n1nX计算平均方差:一Xi2()2,

14、其中Xi为第i个学生的平均分.ni1n3、编写一个C程序,求解n!.要求分别用非递归程序和递归程序实现.一、选择题.DDACDCBCBBCCDABDCABC二、程序阅读题(每个5分,共20分)程序改1、67G2、1,3,23、404、10,10,10,10错题(每个5分,共20分)1、第一个错误:scanf(%d,r)应为scanf(%d,&r").第二个错误:s=PI*rA2应为s=PI*r*r.2、第一个错误:for循环中的第二个表达式应为i<10.第二个错误:sum未赋初值,应参加:sum=0;3、应该在第二个for之前参加:p=a;4、应该在每个case语句之后

15、参加break;三、程序填空题(每个5分,共10分)1、s=0;t*102、j>0;i四、编程题is%5.2f,fangcha);3、非递归方法#include<stdio.h>voidmain()intn,i=0;longfac=1;scanf(%d",&n);while(i<n)i+;fac*=i;printf(%ld',fac);递归方法:#include<stdio.h>longfac(intn)if(n=0|n=1)return1;elsereturnn*fac(n-1);voidmain()intn;scanf(%d&q

16、uot;,&n);printf(%ld,fac(n);五、1、#include<stdio.h>intmin(inta,intb)return(a<b?a:b);voidmain()inta,b;scanf(%d%d",&a,&b);printf(%d,min(a,b);2、#include<stdio.h>voidmain()floatscore105,stuave10,courseave5,fangcha;floattemp1,temp2;inti,j;printf(Pleaseinputthescores:");for(i=0;i<10;i+)stuavei=0;temp1=0;temp2=0;for(j=0;j<5;j+)scanf(%f,&aij);stuavei+=aij;stuavei/=5.0;temp1+=stuavei*stuavei;temp2+=stuavei;for(j=0;j<5;j+)courseavej=0;for(i=0;i<10;i+)c

温馨提示

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

评论

0/150

提交评论