2022年专接本计算机C语言程序设计模拟试题及答案知识分享 .pdf
《2022年专接本计算机C语言程序设计模拟试题及答案知识分享 .pdf》由会员分享,可在线阅读,更多相关《2022年专接本计算机C语言程序设计模拟试题及答案知识分享 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、专接本计算机C 语言程序设计模拟试题及答案(一)一、单项选择题(每小题2 分,共 20 分)1. 若指针 p 已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )A) p=2*(int*)malloc(sizeof(int);B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(4*2);D) p=(int*)calloc(2,sizeof(int);2. 设有 int x=11; 则表达式 (x+ * 1/3) 的值是 ( )A) 3 B) 4 C) 11 D) 123. 下列程序执行后的输出结果是(小数点后只写一位)( )#i
2、nclude void main()double d; float f; long l; int i;i=f=l=d=20/3;printf(%d %ld %f %f n, i,l,f,d);A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.06.7 D) 6 6 6.7 6.04. 下列变量定义中合法的是( )A) short _a=1-.le-1 B) double b=1+5e2.5C) long d1=0 xfdaL D) float 2_and=1-e-3;5. 设有定义: int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A)k+
3、B)k+=1C)+kD)k+16. 有以下程序,其中 %u 表示按无符号整数输出,输出结果是( )#include void main()unsigned short x=0 xFFFF; /* x 的初值为十六进制数*/printf(%un,x);A)-1B)65535C)32767D)0 xFFFF7. 有以下程序,输出结果是( )#include void main()int i,j;for(i=1;i4;i+)for(j=i;j4;j+)printf(%d*%d=%d,i,j,i*j);printf(n);A) 1*1=1 1*2=2 1*3=3 B) 1*1=1 1*2=2 1*3=
4、32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C) 1*1=1 D) 1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=98. 在 C 语言中,函数返回值的类型最终取决于( )A)函数定义时在函数首部所说明的函数类型B)return 语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型9. 设已有定义 :float x;则对指针变量p 进行定义且赋初值的语句中正确的是( )A)float *p=1024 B)int *p=(float x)C)float p=&xD)f
5、loat *P=&x;10. 以下叙述中正确的是( )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - A)break 语句只能用于switch 语句体中B)continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C)break 语句只能用在循环体内和switch 语句体内D)在循环体内使用break 语句和 continue 语句的作用相同二、完成下列的程序填空(每空3 分,共 18 分)1写一个函数,使输入的一个
6、字符串按反序存放,在主函数中输入和输出字符串。#include #include void main()void inverse(char str);char str100;printf(input string:);scanf(%s,str);inverse(str);printf(inverse string:%sn,str);void inverse(char str)char t;int i,j;for (i=0,j=strlen(str);i(strlen(str)/2);i+,j-) ;2有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组。#include voi
7、d main()int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(array a:n);for (i=0;iend);elsefor (i=0;inumber) ;ai=number;for (j=i+1;j11;j+)temp2=aj;aj=temp1;break;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 三、写出下列程序的
8、运行结果(每小题9分,共 36 分)1. 以下程序运行后的输出结果是( )#include void f(int *q)int i=0;for( ; i5;i+)(*q)+;void main()int a5=1,2,3,4,5,i;f(a);for(i=0;i5;i+)printf(%d,ai);2. 以下程序运行后的输出结果是( )#include f(int b,int m,int n)int i,s=0;for(i=m;in;i=i+2)s=s+bi;return s;void main()int x,a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf(%dn,
9、x);3. 以下程序的输出结果是( )#include int f()static int i=0;int s=1;s+=i; i+;return s;void main()int i,a=0;for(i=0;i5;i+)a+=f();printf(%dn,a);4. 以下程序的输出结果是()#include void main()char ch25=6937, 8254,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i0;j+=2) s=10*s+pij- 0;printf(%dn,s);名师资料总结 - - -精品资料欢迎下载 - - - - -
10、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 四、按要求编写下列程序(每小题13 分,共 26 分)o编写程序,用函数的递归调用求x 的 n次方的值,其中n 为正整数。o输入正整数m 和 n,如果 m+n 是质数,输出 “ Yes”,否则,输出 “ No ”。要求定义并调用函数myfun(x) 来判断 x 是否为质数,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。#include#includevoid main()int m,n;int myfun(int x
11、)int k;参考答案一、单项选择题(每小题2 分,共 20 分)AAACA BBADC二、完成下列的程序填空(每空3 分,共 18 分)1.t=stri;stri=strj-1;strj-1=t;2.a10=number;temp1=ai;temp1=temp2;三、写出下列程序的运行结果(每小题9分,共 36 分)1、6,2,3,4,5,2、103、154、6385四、按要求编写下列程序(每小题13 分,共 26 分)1编写程序,用函数的递归调用求x 的 n 次方的值,其中n为正整数。#include float mypow(float x,int n)float m;if(n=1) m=
12、x;elsem=x*mypow(x,n-1);return m;void main()float x;int n;scanf(%f,%d,&x,&n);printf(%f 的%d 次方是 %f,x,n,mypow(x,n);2.输入正整数 m 和 n,如果 m+n 是质数,输出 “ Yes ”,否则,输出 “ No”。要求定义并调用函数myfun(x) 来判断 x 是否为质数,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。#include#include名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
13、心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - void main()int m,n;scanf(%d%d,&m,&n);if(myfun(m+n) printf(Yes)elseprintf(No);int f(int x)int k;for(k=2;kx;k+)if(x%k=0) return 0;return 1;专接本计算机C 语言程序设计模拟试题及答案(二)一、单项选择题(每小题2 分,共 20 分)1. 在说明语句: int *f(); 中,标识符 f 代表的是 ( )A)一个用于指向整型数据的指针变量B) 一个用于指向一维数组的行
14、指针C) 一个用于指向函数的指针变量D) 一个返回值为指针型的函数名2. 下列程序的输出结果是( )#include void main()double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(%d n, d*y);A) 3B) 3.2 C) 0D) 3.073. 设变量均已正确定义,若要通过scanf(%d%c%d%c,&a1,&c1,&a2,&c2);语句为变量 a1和 a2赋数值 10 和 20,为变量 c1 和 c2 赋字符 X和Y。以下所示的输入形式中正确的是(注: 代表空格字符) ( )A)10 X 20 Y回车B)10 X20 Y回车
15、C)10 X 回车D)10X回车20 Y 回车20Y回车4. 以下选项中,当x 为大于 1的奇数时,值为0 的表达式 ( )A)x%2=1B)x/2C)x%2!=0D)x%2=05. 以下叙述中正确的是( )A)break 语句只能用于switch 语句体中B)continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C)break 语句只能用在循环体内和switch 语句体内D)在循环体内使用break 语句和 continue 语句的作用相同6. 以下合法的字符型常量是( )A)x13B)018C) 65D) n7. 在 C 语言中,函数返回值的类型最终取决于( )A)函数定义时
16、在函数首部所说明的函数类型B)return 语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型8. 设 int x=1, y=1; 表达式 (!x|y-) 的值是 ( )A) 0 B) 1 C) 2 D) -19. 若指针 p 已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )A) p=2*(int*)malloc(sizeof(int);B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(4*2);D) p=(int*)calloc(2,sizeof(int);10. 以下函数的功能是( )名师
17、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - int fun(char *s)char *t=s;while(*t+);return(t-s);A)比较两个字符的大小B)计算 s所指字符串占用内存字节的个数C)计算 s所指字符串的长度D)将 s 所指字符串复制到字符串t 中二、完成下列的程序填空(每空3 分,共 27 分)1输入 20 个数,用起泡法对这20 个数升序排列。#include void main()int a20;
18、int i,j,t;printf(input 20 numbers:n);for (i=0;i20;i+)scanf(%d,&ai);printf(n);for(j=0;j19;j+)for(i=0; ;i+)if ( ) printf(the sortednumbers:n);for(i=0;i20;i+)printf(%d ,ai);printf(n);2写一个函数,输入一个十六进制数,输出相应的十进制数。#include void main()char a6;scanf(%s,a);printf(%dn,htoi(a);int htoi(char s)int i,n;n=0;for (i
19、=0;si!=0;i+)if (si=0&si=a & si=A & si=F)n=n*16+ ;return(n);3用指针的方法编写的函数,将一个的整型二维数组行列互换。#include void main()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - void move(int *pointer);int a33,*p,i;printf(input matrix:n);for (i=0;i3;i+)scanf(%d
20、%d%d,&ai0,&ai1,&ai2);p=&a00;move(p);printf(Now,matrix:n);for (i=0;i3;i+)printf(%d %d %dn,ai0,ai1,ai2);void move(int *pointer)int i,j,t;for (i=0;i3;i+)for (j=i;j3;j+) ;三、写出下列程序的运行结果(每小题8分,共 24 分)1. 以下程序运行后的输出结果是( )#include void main()void f(int n,int *r);int m=7,r;f(m,&r);printf(%dn,r);void f(int n,i
21、nt *r)int r1=0;if (n%3=0) r1=n/3;elseif(n%5=0) r1=n/5;elsef(-n,&r1);*r=r1;2. 以下程序的输出结果是( )#include f(int a)int b=0;static int c=3;b+; c+;return(a+b+c);void main()int a=2,i;for(i=0;i3;i+)printf(%dn,f(a);3. 以下程序的输出结果是( )#include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
22、 - - 第 7 页,共 19 页 - - - - - - - - - void fun(int *x, int *y)printf(%d %d, *x, *y);*x=3;*y=4;void main()int x=1,y=2;fun(&y,&x);printf(%d %d,x, y);四、按要求编写下列程序(第1 小题 16,第 2 小题 13 分,共 29 分)1编程实现下面的函数,要求输入一个x 的值,输出 y 值,函数如下:-5 (x0)2编写一个程序,将一组数据6,5,8,1,0,4,7,3,2,9 按从小到大的顺序排列,程序显示排序前和排序后的结果。参考答案一、单项选择题(每小题
23、2 分,共 20 分)DCDDC AABAB二、完成下列的程序填空(每空3 分,共 27 分)1iai+1)t=ai;ai=ai+1;ai+1=t;2.si-0si-a+10si-A+103.t=*(pointer+3*i+j)*(pointer+3*i+j)=*(pointer+3*j+i)*(pointer+3*j+i)=t三、写出下列程序的运行结果(每小题8分,共 24 分)1、22、7893、214 3四、按要求编写下列程序(第1 小题 13,第 2小题 16 分,共 29 分)1编程实现下面的函数,要求输入一个x 的值,输出 y 值,函数如下:-5 (x0)#include void
24、 main ()int x,y;printf(enter x:);scanf(%d,&x);if(x0)y=-5;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - elseif(x=0) y=0;elsey=5;printf(x=%d,y=%dn,x,y);2编写一个程序,将一组数据6,5,8,1,0,4,7,3,2,9 按从小到大的顺序排列,程序显示排序前和排序后的结果。include #define N 10Void mai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年专接本计算机C语言程序设计模拟试题及答案知识分享 2022 年专接 计算机 语言程序设计 模拟 试题 答案 知识 分享
限制150内