收藏 分享(赏)

上海海事大学C语言程序设计练习题全(题库).doc

上传人:精品资料 文档编号:8883461 上传时间:2019-07-15 格式:DOC 页数:215 大小:500.50KB
下载 相关 举报
上海海事大学C语言程序设计练习题全(题库).doc_第1页
第1页 / 共215页
上海海事大学C语言程序设计练习题全(题库).doc_第2页
第2页 / 共215页
上海海事大学C语言程序设计练习题全(题库).doc_第3页
第3页 / 共215页
上海海事大学C语言程序设计练习题全(题库).doc_第4页
第4页 / 共215页
上海海事大学C语言程序设计练习题全(题库).doc_第5页
第5页 / 共215页
点击查看更多>>
资源描述

1、试卷编号:9049 所属语言:Turbo C 试卷方案:09(2) 模拟试卷总分:100 分 共有题型:5 种一、填空 共 15 题 (共计 15 分)第 1 题 (1.0 分)C 语言表达式!(3c) b=a;a=c;c=b;答案: 1). 2第 6 题 (1.0 分)假设有条件 int x=1,y=2,z=3;则表达式 z+=xy?+x:+y 的值是【1】.答案: 1). 6第 7 题 (1.0 分)执行下列语句后,b 的十进制值是【1】.int x=240,y=15,b;char z=A;b=( x if(bc) b=c;else c=b;c=a;答案: 1). 2第 9 题 (1.0

2、分)以下程序的输出结果为【1】,#include “stdio.h“ main()int a;for(a=0;a=0);答案: 1). 3第 13 题 (1.0 分)C 语言中,数组元素的下标下限为【1】.答案: 1). 0第 14 题 (1.0 分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案: 1). void第 15 题 (1.0 分)C 语言源程序的基本单位是【1】.答案: 1). 函数二、判断 共 15 题 (共计 15 分)第 1 题 (1.0 分)a=(b=4)+(c=6) 是一个合法的赋值表达式. 答案:Y第 2 题 (1.0 分)在 C 语言中,变量必需先定义后

3、使用 答案:Y第 3 题 (1.0 分)语句 printf(“%f%“,1.0/3);输出为 0.333333. 答案:N第 4 题 (1.0 分)语句 scanf(“%7.2f“,是一个合法的 scanf 函数. 答案:N第 5 题 (1.0 分)在 switch-case 语句中,必须使用 default 语句. 答案:N第 6 题 (1.0 分)关系运算符(大于、小于)的优先级高于(低于加减乘除)算术运算符并且低于(高于)赋值运算符.答案:N第 7 题 (1.0 分)C 语言中的 for 语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第

4、 8 题 (1.0 分)do-while 循环是先判断循环条件表达式,后执行循环体;while 循环是先执行循环体,后判断循环条件表达式.答案:N第 9 题 (1.0 分)在定义二维数组时,可以将该数组的两个维数全部省略答案:N第 10 题 (1.0 分)任何数组的下标都是从 0 开始;答案:Y第 11 题 (1.0 分)C 语言中只能逐个引用数组元素而不能一次引用整个数组.答案:Y第 12 题 (1.0 分)数组中的元素类型不能不同答案:Y第 13 题 (1.0 分)通过 return 语句,函数可以带回一个或一个以上的返回值.答案:N第 14 题 (1.0 分)如果函数值的类型和 retu

5、rn 语句中表达式的值不一致,则以函数类型为准.答案:Y第 15 题 (1.0 分)C 程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:N三、单项选择 共 20 题 (共计 40 分)第 1 题 (2.0 分)下列程序的输出结果是().main()printf(“%dn“,null);A:0B:变量无定义C:-1D:1答案:B第 2 题 (2.0 分)用下列语句定义 a,b,c,然后执行 b=a、c=b+b,则 b,c 的值是(). long a=0xffffff; int b; char c;A:0ffffff 和 0x61B:-1 和 98C:-1 和 97D:指向同一地址答案

6、:C第 3 题 (2.0 分)已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量101是().A:字符 AB:字符 aC:字符 eD:非法的常量答案:A第 4 题 (2.0 分)若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 十进制代码为 97),则以下程序段的执行结果是().ch=a; k=12; printf(“%x,%o,“,ch,ch); printf(“k=%dn“,k);(x 十六进制整数,o 八进制整数)A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数

7、不符,输出为零值或不定值C:61,141,k=%12D:61,141,k=%d 答案:C第 5 题 (2.0 分)若 a 是 float 型变量,b 是 unsigned 型变量,以下输入语句中合法的是().A:scanf(“%6.2f%d“,B:scanf(“%f%n“,C:scanf(“%f%3o“,D:scanf(“%f%f“,答案:C第 6 题 (2.0 分)以下程序的输出结果为().main()int i=010,j=10;printf(“%d,%dn“,+i,j-);A:11,10B:9,10C:010,9D:10,9答案:B第 7 题 (2.0 分)int a=1,b=2,c=3

8、;if(ac)b=a;a=c;c=b;则 c 的值为().A:1B:2C:3D:不一定答案:B第 8 题 (2.0 分)下列各 m 的值中,能使 m%3=2j1;i-)for(j=1;jmain()int k,n,i,j;printf(“Enter INT number,with 0 to endn“);i=j=0;scanf(“%d“,while(n!=0)/*SPACE*/if(n0)i=【?】;/*SPACE*/if(nj 或 j=j4). k != i 五、程序设计 共 3 题 (共计 18 分)第 1 题 (6.0 分)/*-【程序设计】-题目:编写函数 fun 求 1!+2!+3!

9、+ +n!的和,在main 函数中由键盘输入 n 值,并输出运算结果。请编写 fun 函数。例如:若 n 值为 20,则结果为 268040729。-注意:部分源程序给出如下。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。-*/#includefloat fun(int n)/*Program*/* End */main()int i,n;long int result;scanf(“%d“,result=fun(n);printf(“%ldn“,result);yzj();yzj()FILE *IN,*OUT;int i;int iIN;

10、long int iOUT;IN=fopen(“1.in“,“r“);if(IN=NULL)printf(“Please Verify The Currernt DirIt May Be Changed“);OUT=fopen(“1.out“,“w“);if(OUT=NULL)printf(“Please Verify The Current Dir It May Be Changed“);for(i=0;i,则以下 while 循环体将执行 【1】 次.While(ch=getchar()=e) printf(“*“);答案:0第 9 题 (1.0 分)如果函数不要求带回值,可用【1】来定义

11、函数返回值为空.答案:void第 10 题 (1.0 分)C 语言中,数组元素的下标下限为【1】.答案:0第 11 题 (1.0 分)int a=1,b=2,c=3; 执行语句 a=b=c;后 a 的值是【1】.答案:3第 12 题 (1.0 分)若有以下数组 a,数组元素:a0a9,其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案:0第 13 题 (1.0 分)将数组 a 的首地址赋给指针变量 p 的语句是【1】.答案:p=a;第 14 题 (1.0 分)以下程序的输出结果为【1】,#include “stdio.h“ main()int a=010,j=

12、10;printf(“%d,%dn“,+a,j-);答案:9,10第 15 题 (1.0 分)假设有条件 int x=1,y=2,z=3;则表达式 z+=xy?+x:+y 的值是【1】.答案:6二、判断 共 15 题 (共计 15 分)第 1 题 (1.0 分)do-while 循环是先判断循环条件表达式,后执行循环体;while 循环是先执行循环体,后判断循环条件表达式.答案:N第 2 题 (1.0 分)关系运算符的优先级高于算术运算符并且低于赋值运算符.答案:N第 3 题 (1.0 分)C 程序中的关键字必须小写.答案:Y第 4 题 (1.0 分)若有说明 int c;则 while(c=

13、getchar();是正确的 C 语句.答案:Y第 5 题 (1.0 分)数组中的元素类型不能不同 答案:Y第 6 题 (1.0 分)a=(b=4)+(c=6) 是一个合法的赋值表达式.答案:Y第 7 题 (1.0 分)int a34=1,5,9; 它的作用是将数组各行第一列的元素赋初值,其余元素值为 0.答案:Y第 8 题 (1.0 分)若 a=3,b=2,c=1 则关系表达式“(ab)=c“ 的值为“真“.答案:Y第 9 题 (1.0 分)int i,*p=是正确的 C 说明语句.答案:Y第 10 题 (1.0 分)语句“int *pi,pj“定义了两个指针变量答案:N第 11 题 (1.

14、0 分)如果函数值的类型和 return 语句中表达式的值不一致,则以函数类型为准.答案:Y第 12 题 (1.0 分)C 语言中的 for 语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第 13 题 (1.0 分)在执行 switch 语句时,default 和各个 case 的出现次序不影响执行结果.答案:Y第 14 题 (1.0 分)语句 printf(“%f%“,1.0/3);输出为 0.333333.答案:N第 15 题 (1.0 分)若 i =3,则 printf(“%d“,-i+);输出的值为 -4.答案:N三、单项选择 共 1

15、7 题 (共计 34 分)第 1 题 (2.0 分)下列程序段的输出结果为().float x=213.82631;printf(“%3d“,(int)x);A:213.82 B:213.83 C:213 D:3.8 答案:C第 2 题 (2.0 分)下列定义不正确的是().A:#define PI 3.141592 B:#define S345C:int max(x,y); int x,y; D:static char c; 答案:C第 3 题 (2.0 分)以下程序段的输出结果为().char c=“abc“;int i=0;do while(ci+!=0);printf(“%d“,i-1

16、);A:abc B:ab C:2 D:3 答案:D第 4 题 (2.0 分)若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 十进制代码为 97),则以下程序段的执行结果是().ch=a; k=12; printf(“%x,%o,“,ch,ch); printf(“k=%dn“,k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%12 D:61,141,k=%d 答案:C第 5 题 (2.0 分)对 for(表达式 1; ;表达式 3) 可理解为().A:for(表达式 1;0;表

17、达式 3) B:for(表达式 1;1;表达式 3)C:for(表达式 1;表达式 1;表达式 3) D:for(表达式 1;表达式 3;表达式 3) 答案:B第 6 题 (2.0 分)以下程序段的输出结果为().for(i=4;i1;i-)for(j=1;j 答案:B第 16 题 (2.0 分)下列运算符中是 C 语言关系运算符的是().A: B:! C:则 a 数组第一维的大小是().A:2 B:3 C:4 D:无确定值 答案:B四、程序填空 共 2 题 (共计 12 分)第 1 题 (6.0 分)/*-【程序填空】-题目:以下程序的功能如(图 1)。-*/#include #includ

18、e /*SPACE*/double f(【?】) /*SPACE*/【?】; /*SPACE*/if (【?】)y=2.0*x*x+3.0*x+4.0;elsey=-2.0*x*x+3.0*x-4.0;/*SPACE*/【?】;main ( ) clrscr( );printf(“%fn“, f(f(-1.0)+f(5.0);答案:=(答案 1)=float x=或=double x=(答案 2)=double y=(答案 3)=x=x=(答案 4)=return y=或=return (y)第 2 题 (6.0 分)/*-【程序填空】-题目:已定义一个含有 30 个元素的数组 s,函数 fu

19、n1 的功能是按顺序分别赋予各元素从 2 开始的偶数,函数 fun2 则按顺序每五个元素求一个平均值, 并将该值存放在数组 w 中。程序中有 4 个空,填空使程序完整。-*/float s30,w6;fun1(float s)int k,i;for(k=2,i=0;ii;i+)=或=for(i=2;i=i;i+)=或=for(i=1;i=i;i+)=(答案 3)=f1=f2;=(答案 4)=f2=f3;六、程序设计 共 3 题 (共计 18 分)第 1 题 (6.0 分)/*-【程序设计】-题目:编写函数求 1100 中奇数的平方和。结果为 166650。-注意:部分源程序给出如下。请勿改动主

20、函数main 和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。-*/#include “stdio.h“float sum(int n)/*Program*/* End */main()printf(“sum=%fn“,sum(100);yzj();getch();yzj()FILE *IN,*OUT;int n;int i;float o;IN=fopen(“in.dat“,“r“);if(IN=NULL)printf(“Read File Error“);OUT=fopen(“out.dat“,“w“);if(OUT=NULL)printf(“Write File Erro

21、r“);fscanf(IN,“%d“,o=sum(i);fprintf(OUT,“%fn“,o);fclose(IN);fclose(OUT);答案:-float s=0;int i,j;for(i=1;iamax) amax=ai;return amax;-第 3 题 (6.0 分)/*-【程序设计】-题目:编写函数 fun 其功能是:根据整型形参 m,计算如下公式的值:y=11/31/51/7.1/(2m+1)例如:若 m=9,则应输出:2.133256-注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。-*/#in

22、clude “stdio.h“double fun(int m) /*Program*/* End */main() int n; clrscr(); printf(“Enter n: “); scanf(“%d“, printf(“nThe result is %1fn“, fun(n);yzj(); getch(); yzj()FILE *IN,*OUT;int s,i ;int t;float o;IN=fopen(“in.dat“,“r“);if(IN=NULL)printf(“Read File Error“);OUT=fopen(“out.dat“,“w“);if(OUT=NULL

23、)printf(“Write File Error“);for(i=0;i=0);答案:=(答案 1)=3第 13 题 (1.0 分) 题号:340C 语言中,二维数组在内存中的存放方式为按【1】优先存放.答案:=(答案 1)=行第 14 题 (1.0 分) 题号:331C 程序在执行过程中,不检查数组下标是否【1】.答案:=(答案 1)=越界第 15 题 (1.0 分) 题号:332若有以下数组 a,数组元素:a0a9,其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案:=(答案 1)=0二、判断 共 15 题 (共计 15 分)第 1 题 (1.0 分)

24、题号:933在 C 语言中,变量必需先定义后使用答案:Y第 2 题 (1.0 分) 题号:717x*=y+8 等价于 x=x*(y+8).答案:Y第 3 题 (1.0 分) 题号:878若有 int i=10,j=2;则执行完 i*=j+8;后的值为 28.答案:N第 4 题 (1.0 分) 题号:943使用 putchar 函数时,必须在之前包含头文件 stdio.h答案:Y第 5 题 (1.0 分) 题号:720语句 printf(“%f%“,1.0/3);输出为 0.333333.答案:N第 6 题 (1.0 分) 题号:716若 i =3,则 printf(“%d“,-i+);输出的值

25、为 -4.答案:N第 7 题 (1.0 分) 题号:930关于 if 语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第 8 题 (1.0 分) 题号:956在 switch-case 语句中,必须使用 default 语句.答案:N第 9 题 (1.0 分) 题号:951在执行 switch 语句时,default 和各个 case 的出现次序不影响执行结果.答案:Y第 10 题 (1.0 分) 题号:952do-while 循环是先判断循环条件表达式,后执行循环体;while 循环是先执行循环体,后判断循环条件表达式.答案:N第 11 题 (1.0 分) 题号:953C 语言中的 f

26、or 语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第 12 题 (1.0 分) 题号:954continue 语句只结束本次循环,而不是终止整个循环的执行.break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第 13 题 (1.0 分) 题号:736int a34=1,5,9; 它的作用是将数组各行第一列的元素赋初值,其余元素值为 0.答案:Y第 14 题 (1.0 分) 题号:926任何数组的下标都是从 0 开始;答案:Y第 15 题 (1.0 分) 题号:735如果想使一个数组中全部元素的值为 0,可以写成 i

27、nt a10=0*10;答案:N三、单项选择 共 20 题 (共计 40 分)第 1 题 (2.0 分) 题号:2219设有说明:char w;int x;float y;double z;则表达式 w*x+z-y值的数据类型为().A:floatB:charC:intD:double答案:D第 2 题 (2.0 分) 题号:2005以下不正确的叙述是().A:在 C 程序中所用的变量必须先定义后使用B:程序中,APH 和 aph 是两个不同的变量C:若 a 和 b 类型相同,在执行了赋值语句 a=b;后 b 中的值将放入 a 中,b 中的值不变D:当输入数值数据时,对于整型变量只能输入整型值

28、;对于实型变量只能输入实型值答案:D第 3 题 (2.0 分) 题号:2194C 语言表达式 a=15,a%6 的值是A:15B:3C:2D:非法表达式答案:B第 4 题 (2.0 分) 题号:2039若 k 为 int 型变量,则以下程序段的执行结果是().k=-8567; printf(“k=|%06D|n“);A:格式描述符不合法,输出无定值B:输出为 k=|%06D|C:输出为|0-8567|D:输出为|-8567|答案:B第 5 题 (2.0 分) 题号:2044下列程序的输出结果为().main()int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(“%fn“,x);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报