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

下载本文档

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

文档简介

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. 3ab C. Int D. A-45. 下列常量中,只有 是合法的。A 3e-0.3B. ,ab

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

3、 .使用putchar函数时,必须在之前包含头文件stdio.hC 在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D .调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10. 以下关于函数的叙述中正确的是 。A .每个函数都可以被其它函数调用(包括main函数)B .每个函数都可以被单独编译C .每个函数都可以单独运行D .在一个函数内部可以定义另一个函数11. 有以下程序段 typedef struct NODEint num;struct NODE *next; OLD;以下叙述中正确的是。A 以上的说明形式非法 B NODE是一个结构体类型C O

4、LD是一个结构体类型D OLD是一个结构体变量12. 以下叙述中错误的是。A C语言中对二进制文件的访问速度比文本文件快B C语言中,随机文件以二进制代码形式存储数据C 语句FILE fp;定义了一个名为fp的文件指针D C语言中的文本文件以 ASCII码形式存储数据这个选13. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,项是。A k%2 B. k%2=1 C. (k%2)!=0 D !k%2=1. 214.以下不能正确计算代数式(sin(0.5)值的C语言表达式是315.16.A 1/3*sin(1/2)*sin(1/2)C pow(s in (0.5)

5、,2)/3以下能正确定义且赋初值的语句是A int n仁n2=10;C float f=f+1.1;以下程序的功能是:当#in elude B. si n(0.5)*si n(0.5)/3D. 1/3.0*pow(s in (1.0/2),2)B char e=32;D double x=12.3E2.5;abc时,以八进制形式输出a、b、c的值。void mai n()/* Begi nning */ int a,b,c;scanf( %d%d%d ,&a,&b,&c);if (ab=k B -k+ C . k%int(f) D . k=f=m18. 设有定义:int a=2,b=3,c=4

6、;,则以下选项中值为0的表达式是 。A (!a=1)&(!b=0);B (ab)& !c|1;C a & b;D a|(b+b )&( c-a)19. 有以下程序段 int k=0,a=1,b=2,c=3; k=ac ? c:k;执行该程序段后,k的值是。A. 3B 2 C 1 D 020. 设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句if (ab)if(c=d) y=0;else y=1;该语句所表示的含义是。A .0 y =1a : b and c =d a _ bX0a : b and c = dB .y =1a _band c = d0a : b and c = dC.

7、y =1a : b and c = d0a : b and c =dD .y = 1c = d阅读程序,写出下列程序的运行结果。(20分)1、已知字母 A的ASCII码为65。#i nclude void mai n()char a, b;a=A+5-3: b=a+6-2 ;prin tf(%d%c n, a, b);2、#include void f(int v, int w) int t;t=v;v=w;w=t;void mai n()int x=1,y=3,z=2;if (xy)f(x,y);else if (yz)f(y,z);elsef(x,z);printf( “ %d,%d,%d

8、” ,x,y,z);3、#include void mai n()int a44=3,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,12,-33,0; int i,j,s=0;for(i=0;i4;i+) for(j=0;j4;j+) if(aij0) continue; if(aij= =0) break; s+=aij printf(%dn,s);(20分)4、#include void main() int a=100,b=10; int *p1=&a, *p2=&b; *p1=b; *p2=a; printf( “%d, %d, ”,a,b); print

9、f( “%d, %dn ”,*p1,*p2); 二、 程序改错:找出下列程序存在的错误,并进行改正。1、以下程序的功能是:给r 输入数据后计算半径为 r 的圆面积 s。#include #define PI 3.1415926 void main() int r; float s; scanf(%d,r);s=PI*rA2; printf(s=%fn,s);2、以下程序用于计算一个一维数组各元素平方根的和。 #include #include void main()int a10,i;float sum;for (i=0;i=10;i+) scanf( “ %d” ,&ai)i;=0;whil

10、e (i=9) sum+=sqrt(ai); i+;3、以下程序用于通过指针对数组进行输入和输出 #include void main()int a10;int *p=a;int i;for (i=0;i10;i+)scanf(“%d”,p+);for (i=0;i10;i+)printf( “%5d”,p+);4、以下程序通过判断输入的成绩判断其级别:其中90分以上为 A ,80分以上为 B,70 分以上为 C,60分以上为D,其他为E。#include void main()int score,temp; temp=score/10;switch (temp)case 10,9: prin

11、tf( “A ”);case 8: printf( “B”);case 7:printf( “C”);case 6:printf( “D”); default:printf( “E ”);三、 程序填空题:阅读程序,填充空白使之能完成预定功能。 (10 分)1、以下程序的功能是计算: s=1+12+123+1234+12345 。请填空。#include void main() int t=0,s,i;for( i=1; i=5; i+) t=i+;s=s+t; printf(s=%dn,s); 2、以下程序的功能是输出如下形式的方阵:13 14 15 169 10 11 125 6 7 81

12、 2 3 4 请填空。 #include void main() int i,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 n 计算平均方差:二二丄n i =2 Xin、X-( 一)2,其中Xi为第i个学生的平均分。n3、

13、编写一个C程序,求解n!。要求分别用非递归程序和递归程序实现。一、选择题。DDACD二、程序阅读题1、67 G 2、1,3,2错题CBCBB CCDAB DCABC(每个5分,共20分)3、 404、 10, 10, 10, 10(每个5分,共20分)程序改1、第一个错误第二个错误2、第一个错误第二个错误seanf( %d,r)应为 seanf( %d,&r ”)。 s=PI*rA2 应为 s=PI*r*r。for循环中的第二个表达式应为 i0;i四、编程题is %5.2f ”,fan gcha);3、非递归方法#in clude void mai n()int n ,i=0;long fac

14、=1; scanf( %d,&n);while (i n)i+; fac*=i;printf( %ld,fac);递归方法:#in clude long fac(i nt n)if (n= =0| n= =1) retur n 1; else return n *fac( n-1);void mai n()int n;scanf( %d ,&n); printf( %ld ”,fac( n);五、1、#inelude int min (i nt a,i nt b)retur n (ab?a:b);void mai n()int a,b;scanf( %d %d ,&a,&b);printf(

15、%d,min(a,b);2、#inelude void mai n()floatscore105,stuave10,courseave5,fa ngcha;float temp1,temp2;int i,j;printf( Please in put the scores ”;for (i=0;i10;i+)stuavei=0; temp1=0; temp2=0; for (j=0;j5;j+)scanf( %f,&aij);stuavei+=aij; stuavei/=5.0;temp1+=stuavei*stuavei;temp2+=stuavei; for (j=0;j5;j+)courseavej=0;for (i=0;i10;i+) courseavej+=scoreij;courseavej/=10.0;

温馨提示

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

评论

0/150

提交评论