2022年程序设计基础试题及答案二 .pdf

上传人:H****o 文档编号:39733862 上传时间:2022-09-07 格式:PDF 页数:7 大小:83.20KB
返回 下载 相关 举报
2022年程序设计基础试题及答案二 .pdf_第1页
第1页 / 共7页
2022年程序设计基础试题及答案二 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年程序设计基础试题及答案二 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计基础试题及答案二 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、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 if B.3ab C.Int D.A-4 5.下列常量中,只有_是合法的。A 3e-0.3 B.,abc?C.02a1 D.,3

2、77?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使用 putchar 函数时,必须在之前包含头文件stdio

3、.h C在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的ASCII 码10.以下关于函数的叙述中正确的是_。A每个函数都可以被其它函数调用(包括main 函数)B每个函数都可以被单独编译C每个函数都可以单独运行D在一个函数内部可以定义另一个函数11.有以下程序段typedef struct NODE int num;struct NODE*next;OLD;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -2 以下叙述中正确的是_。A以上的说明形式非法BNODE 是一个结构体类型COLD 是

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

5、sin(0.5),2)/3 D1/3.0*pow(sin(1.0/2),2)15.以下能正确定义且赋初值的语句是_。Aint n1=n2=10;Bchar c=32;Cfloat f=f+1.1;Ddouble x=12.3E2.5;16.以下程序的功能是:当abc 时,以八进制形式输出a、b、c 的值。#include void main()/*Beginning*/int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(ab=k B-k+Ck%int(f)Dk=f=m 18.设有定义:int a=2,b=3,c=4;,则以下选项中值为0 的表达式是 _。A(!a=1)&

6、(!b=0);B(ab)&!c|1;Ca&b;Da|(b+b)&(c-a)19.有以下程序段int k=0,a=1,b=2,c=3;k=ac?c:k;执行该程序段后,k 的值是 _。A3 B2 C1 D0 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -3 20.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下if 语句if(ab)if(c=d)y=0;else y=1;该语句所表示的含义是_。A01ab and cdyabB01ab and cdyab and cdC01ab and cdyab and cdD01ab and cdycd一、阅读程序,写出

7、下列程序的运行结果。(20 分)1、已知字母 A 的 ASCII 码为 65。#include void main()char a,b;a=A+5-3;b=a+6-2;printf(%d%cn,a,b);2、#include void f(int v,int w)int t;t=v;v=w;w=t;void main()int x=1,y=3,z=2;if(xy)f(x,y);else if(yz)f(y,z);else f(x,z);printf(“%d,%d,%d”,x,y,z);3、#include void main()int a44=3,2,-3,-4,0,-12,-13,14,-2

8、1,23,0,-24,-31,12,-33,0;int i,j,s=0;for(i=0;i4;i+)for(j=0;j4;j+)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -4 if(aij0)continue;if(aij=0)break;s+=aij printf(%dn,s);4、#include void main()int a=100,b=10;int*p1=&a,*p2=&b;*p1=b;*p2=a;printf(“%d,%d,”,a,b);printf(“%d,%dn”,*p1,*p2);二、程序改错:找出下列程序存在的错误,并进行改正。(20 分)1、

9、以下程序的功能是:给r 输入数据后计算半径为r 的圆面积s。#include#define PI 3.1415926 void main()int r;float s;scanf(%d,r);s=PI*r2;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;while(i=9)sum+=sqrt(ai);i+;3、以下程序用于通过指针对数组进行输入和输出#include void main()in

10、t a10;int*p=a;int i;for(i=0;i10;i+)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 7 页 -5 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:printf(“A”);case 8:printf(“B”);case 7:printf

11、(“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 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。#include void main()int i,j,x;for(j=4;_;j-)

12、for(i=1;i=4;i+)x=(j-1)*4+_;printf(%4d,x);printf(n);四、编程题(要求给出 PAD 图或者 N-S 图)(30分)1、设计一个 C 函数,对输入的a、b 两个整型参数,返回其中的最小数。利用 main 函数调用该函数,名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 7 页 -6 并输出结果。2、编程输入 10 个学生 5 门课程的成绩,实现:计算每个学生的平均分;计算每门课程的平均分;计算平均方差:22111()niniiixxnn,其中 xi为第 i 个学生的平均分。3、编写一个 C 程序,求解n!。要求分别用非递归程序和递归程序

13、实现。一、选择题。DDACD CBCBB CCDAB DCABC 二、程序阅读题(每个 5 分,共 20 分)1、67 G 2、1,3,2 3、40 4、10,10,10,10 程 序 改错题(每个 5 分,共 20 分)1、第一个错误:scanf(“%d”,r)应为 scanf(“%d,&r”)。第二个错误:s=PI*r2 应为 s=PI*r*r。2、第一个错误:for 循环中的第二个表达式应为i0;i 四、编程题名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -第 7 页 共 7 页五、1、#include int min(int a,int b)return(ab?

14、a:b);void main()int a,b;scanf(“%d%d”,&a,&b);printf(“%d”,min(a,b);2、#include void main()float score105,stuave10,courseave5,fangcha;float temp1,temp2;int i,j;printf(“Please input 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+=stua

15、vei*stuavei;temp2+=stuavei;for(j=0;j5;j+)courseavej=0;for(i=0;i10;i+)courseavej+=scoreij;courseavej/=10.0;fangcha=temp1/n-(temp2/n)*(temp2/n);printf(“the average scores of each student are:”);for(i=0;i10;i+)printf(“%5.2f”,stuavei);printf(“the average scores of each course are:”);for(i=0;i5;i+)printf

16、(“%5.2f”,courseavei);printf(“the fangcha is%5.2f”,fangcha);3、非递归方法#include void main()int n,i=0;long fac=1;scanf(“%d”,&n);while(in)i+;fac*=i;printf(“%ld”,fac);递归方法:#include long fac(int n)if(n=0|n=1)return 1;else return n*fac(n-1);void main()int n;scanf(“%d”,&n);printf(“%ld”,fac(n);名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁