ImageVerifierCode 换一换
格式:PDF , 页数:20 ,大小:510.62KB ,
文档编号:941269      下载积分:5 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-941269.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(副主任)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(专科《程序设计基础》期末考试复习题及答案.pdf)为本站会员(副主任)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

专科《程序设计基础》期末考试复习题及答案.pdf

1、程序设计基础复习题程序设计基础复习题 一、单项选择题一、单项选择题 1以下叙述中正确的是( ) A. C 程序中注释部分可以出现在程序中任意合适的地方 B. 花括号和只能作为函数体的定界符 C. 构成 C 程序的基本单位是函数,所有函数名都可以由用户命名 D. 分号是 C 语句之间的分隔符,不是语句的一部分 2在一个 C 语言程序中( ) A. main 函数必须出现在所有函数之前 B. main 函数可以在任何地方出现 C. main 函数必须出现在所有函数之后 D. main 函数必须出现在固定位置 3判断下面标识符中哪个是 C 语言中合法的用户定义标识符( ) A. a-b B. #ab

2、d C. typedef D. _max 4为表示关系XYZ,应使用C语言表达式( ) A. (XY) static char y=a,b,c,d,e; 则下列说法中正确的是( ) A. x 数组和 y 数组长度相同 B.x 数组长度大于 y 数组长度 C.x 数组长度小于 y 数组长度 D.以上三种说法均错误。 7返回值为 void 的函数,其含义是( ) A.调用函数之后,被调用的函数没有返回值; B.调用函数之后,被调用的函数不返回 C.调用函数之后,被调用的函数返回值为任意类型 D.以上三种说法均不正确。 8对于语句,int x,y,z10,*px,*py; 指出下列哪个语句是不正确的

3、( ) A. px= 该函数的返回值是( ) A. 不确定的值 B. 形参p中存放的值 C. 形参p所指存储单元中的值 D. 形参p的地址值 13对于 scanf(“A=%d”, C. (a=c) D. a=c=b; 15在 C 语言中,不正确的 int 类型的常数是( ) A .32768 B. 0 C. 037 D. 0 xAF 16 若有以下说明语句 (已知int占 2 个字节, long 占 4 个字节) , 则下面printf 的输出结果是( ) A. 24 B. 26 C. 20 D. 30 union uarea int x; long y; ; struct str char

4、s20; union uarea z; ; void main() printf(“%dn”,sizeof(struct str); 17下列关于switch和break语句的讨论中,只有()是正确的。 A. break语句是switch 语句的一部分 B. 在switch语句中可以根据需要使用或不使用break语句 C. switch语句中必须使用break语句 D. 以上三种说法都不正确。 18以下不能正确定义二维数组的选项是 ( ) A. int a22=1,2; B. int a2=1,2,3,4; C. int a22=1,2,3; D. int a2=1,2,3,4; 19执行以下

5、程序后,输出结果是( ) A. 1 B. 1 C. 8 D. 0 void main() int y=11; while(-y) y-; printf(“%dn”,y-); 20void main() int a=5,*b,*c; c= b= 程序在执行了c=b=语句后,表达式:*c的值是( ) A. 变量a的地址 B. 变量b中的值 C. 变量a中的值 D. 变量b的地址 21.程序设计的三种基本程序设计结构是:_ Aif、while 和 for; B. switch、do-while 和 for; C. while、do-while 和 for; D.顺序结构、分支结构和循环结构。 22.

6、算法的特征不包括:_。 A.有穷性 B.可行性 C.确定性 D.有 1 个或者多个输入。 23.C 语言源程序的基本组成单位是_。 A.函数 B. 语句 C. 声明和语句 D. 文件 24.符中,只有_是合法的。 A.if B. 3ab C. Int D. A-4 25.下列常量中,只有_是合法的。 A.3e-0.3 B.abc C.02a1 D.377 26.下列说法中正确的是:_。 A.C 语言中的 for 语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C 语言中的指针就是一个变量的地址。 D.C 语言中的任何函数都可以由程序员命名。 2

7、7.C 语言中,运算对象必须是整型的运算符是_。 A./ B. % C. + D. - 28.以下叙述中错误的是_。 A.C 语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 29.以下叙述中正确的是_。 A.调用 printf 函数时,必须要有输出项 B.使用 putchar 函数时,必须在之前包含头文件 stdio.h C.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码 30.以下关于函数的叙述中正

8、确的是_。 A.每个函数都可以被其它函数调用(包括 main 函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 31.有以下程序段 typedef struct NODE intnum; struct NODE*next; OLD; 以下叙述中正确的是_。 A.以上的说明形式非法 B.NODE 是一个结构体类型 C.OLD 是一个结构体类型 D.OLD 是一个结构体变量 32.以下叙述中错误的是_。 A.C 语言中对二进制文件的访问速度比文本文件快 B.C 语言中,随机文件以二进制代码形式存储数据 C.语句 FILE fp; 定义了一个名为

9、 fp 的文件指针 D.C 语言中的文本文件以 ASCII 码形式存储数据 33.当把以下四个表达式用作 if 语句的控制表达式时, 有一个选项与其它三个选 项含义不同,这个选项是_。 Ak%2 B. k%2=1 C. (k%2)!=0 D!k%2=1 (sin (0.5)2 34.以下不能正确计算代数式值的 C 语言表达式是_。 3 A1/3*sin(1/2)*sin(1/2) Bsin(0.5)*sin(0.5)/3 Cpow(sin(0.5),2)/3 D1/3.0*pow(sin(1.0/2),2) 35.以下能正确定义且赋初值的语句是_。 Aint n1=n2=10; Bchar c

10、=32; Cfloat f=f+1.1; Ddouble x=12.3E2.5; 36.以下程序的功能是:当 abc 时,以八进制形式输出 a、b、c 的值。 #include void main() inta,b,c; scanf(“%d%d%d”, if (ab=k B-k+ Ck%int(f) Dk=f=m 38.设有定义:int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。 A(!a=1) B(ab) Ca Da|(b+b)k=ac ? c:k; 执行该程序段后,k 的值是_。 A3 B2C1D0 40.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 i

11、f 语句 if (ab) if(c=d)y=0; elsey=1; 该语句所表示的含义是_。 0 Ay 1 0 By 1 C a b and c d a b a b and c d a b and c d 0 y 1 a b and c d a b and c d 0 y 1 D. a b and c d c d 二、写出下列程序的执行结果二、写出下列程序的执行结果 1、有以下程序 #include void main() int i=0,s=0; do if(i%2) i+; continue; i+; s+=i; while(i9); printf(%dn,s); 执行后输出的结果是 2、

12、有以下程序 #include int func(int x) if(x= =1) return 2; else return x*func(x-1); void main() printf(“%dn”,func(4); 执行后输出的结果是 3、定义如下变量和数组 int i,x33=1,2,3,4,5,6,7,8,9; 则下列语句 for (i=0;i3;i+) printf(“%d”,xi2-i); 的输出结果是 4、 void main() int a10=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(“%d”,*p); printf(“%dn”,*(p+8);

13、输出结果是 5、 #include void main() int a=1,b=2,c=3; if(c=a) printf(%dn,c); else printf(%dn,b); 6、 #include void main() int n=c; switch(n+) case a: case A: case b: case B: printf(good);break; case c: case C: printf(pass); case d: case D: printf(warn); default: printf(error);break; 7、 #include void main()

14、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); 8、 #include void main() int a=100,b=10; int *p1= *p1=b; *p2=a; printf(“%d, %d,”,a,b); printf(“%d, %dn”,*p1,*p2); 三、程序改错题三、程序改错题 1. #include

15、 stdio.h void main() char c,*ch= while(c=getchar()!=n) if(ch=ai-) if(i%13=0) printf(%d,i); 3. 求 1+2+3+100 void main() int i=1; do sum+=i; i+; while(i =100); printf(%d,sum); 4. 计算 1+1/2+1/3+1/10 void main() double t=1.0; int i; for(i=2;i=10;i+) t+=1/i; printf(t=%fn,t); 5.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面

16、积 s。 注:该题目有 3 个错误之处,找出并改正 #include #define PI 3.1415926; void main() int r; float s; scanf(%d,r); s=PI*r*r; printf(s=%fn,s); 6.以下程序用于计算一个一维数组各元素平方根的和。 注:该题目有 3 个错误之处,找出并改正。 #include void main() int a10,i,sum; for (i=0;i=10;i+) scanf(“%d”, i=0; while (!(i=9) sum+=sqrt(ai); i+; 7.下程序是从键盘上输入若干学生的成绩, 统计

17、并输出最高成绩和最低成绩, 当输入负数时结束输入。 注:该题目有 1 个错误之处,找出并改正。 #include void main() float x,amax,amin; scanf(“%f”, amax=x; amin=x; while(xamax) amax=x; if(xamin) amin=x; scanf(“%f”, ; printf(“amax=%fn amin=%fn”,amax,amin); 8.以下程序用于通过指针对数组进行输入和输出。 注:该题目有 2 个错误之处,找出并改正。 #include void main() int a10; int *p=a; int i;

18、 for (i=0;i10;i+) scanf(“%d”,*p+); for (i=0;i10;i+) 四、把以下的程序补充完整四、把以下的程序补充完整 1 以下程序中,select 函数的功能是: 在 N 行 M 列的二维数组中,选出一个最大 值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。 #define N 3 #define M 3 int select(int aNM,int *n) int i,j,row=1,colum=1; for(i=0;iN;i+) for(j=0;jarowcolum) row=i; colum=j; *n= ; return ; 2 函数Y

19、angHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如 下: 1 1 1其构成规律是: 1 2 1(1) 第 0 列元素和主对角线元素均为 1 printf(“%5d”,*p+); 1 3 3 1(2) 其余元素为其左上方和正上方元素之和 1 4 6 4 1(3) 数据的个数每行递增 1 请将程序补充完整。 #define N 6 void yanghui(int xNN) int i,j; x00=1; for(i=1;iN;i+) xi0= =1; for(j=1;ji;j+) xij= ; 3、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 #i

20、nclude void main() int t=0,s,i; _; for( i=1; i=5; i+) t=i+_; s=s+t; printf(s=%dn,s); 4、以下程序的功能是输出如下形式的方阵: 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-) for(i=1; i=ai-) if(i%13=0) printf(%d,i); 修改为 for(i=100;i=0;i-) if(i%13=0) break; printf(%d,i); 第二个错误:宏定义后边的分号去掉。 第三个错误:s=PI*r*2 应为 s=PI*r*r。 6.第一个错误:for 的第二个表达式应为 i10。 第二个错误:sum 未赋初值,应加入:sum=0; 第三个错误: while 循环的条件应改为: !(i= =9)或者(i=9)或者(i10)。 7.while(x=0) 8.在第 2 个 for 语句前,添加语句:p=a; 四、把以下的程序补充完整四、把以下的程序补充完整 1row, arowcolum 2xii, xi-1j-1+xi-1j 注:对于 2 题, 的内容可以换 3. s=0; t*10 4. j0 i 五、编程题五、编程题 略

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|