专接本计算机C语言程序设计模拟试题及答案
更新时间:2023-05-27 19:58:01 阅读量: 实用文档 文档下载
专接本计算机C语言程序设计模拟试题及答案
专接本计算机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) 12
3. 下列程序执行后的输出结果是(小数点后只写一位)( )
#include <stdio.h>
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.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
4. 下列变量定义中合法的是( )
A) short _a=1-.le-1 B) double b=1+5e2.5
C) long d1=0xfdaL D) float 2_and=1-e-3;
5. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A)k++ B)k+=1 C)++k D)k+1
6. 有以下程序,其中%u表示按无符号整数输出,输出结果是( )
专接本计算机C语言程序设计模拟试题及答案
#include <stdio.h>
void main()
{unsigned short x=0xFFFF; /* x的初值为十六进制数*/
printf("%u\n",x);
}
A)-1 B)65535 C)32767 D)0xFFFF
7. 有以下程序,输出结果是( )
#include <stdio.h>
void main()
{int i,j;
for(i=1;i<4;i++)
{for(j=i;j<4;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=3
2*1=2 2*2=4 2*2=4 2*3=6
3*1=3 3*3=9
C) 1*1=1 D) 1*1=1
1*2=2 2*2=4 2*1=2 2*2=4
1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9
8. 在C语言中,函数返回值的类型最终取决于( )
专接本计算机C语言程序设计模拟试题及答案
A)函数定义时在函数首部所说明的函数类型 B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型 D)函数定义时形参的类型
9. 设已有定义:float x;则对指针变量p进行定义且赋初值的语句中正确的是( )
A)float *p=1024 B)int *p=(float x)
C)float p=&x D)float *P=&x;
10. 以下叙述中正确的是( )
A)break语句只能用于switch语句体中
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C)break 语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
二、完成下列的程序填空(每空3分,共18分)
1.写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
#include <stdio.h>
#include <string.h>
void main()
{void inverse(char str[]);
char str[100];
printf("input string:");
scanf("%s",str);
inverse(str);
printf("inverse string:%s\n",str);
专接本计算机C语言程序设计模拟试题及答案
}
void inverse(char str[])
{char t;
int i,j;
for (i=0,j=strlen(str);i<(strlen(str)/2);i++,j--)
{ ;
;
;
}
}
2.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组。
#include <stdio.h>
void main()
{int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("array a:\n");
for (i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("insert data:");
scanf("%d",&number);
end=a[9];
专接本计算机C语言程序设计模拟试题及答案
if (number>end)
;
else
for (i=0;i<10;i++)
{if (a[i]>number)
{ ;
a[i]=number;
for (j=i+1;j<11;j++)
{temp2=a[j];
a[j]=temp1;
;
}
break;
}
}
}
三、写出下列程序的运行结果(每小题9分,共36分)
1. 以下程序运行后的输出结果是( )
#include <stdio.h>
void f(int *q)
{int i=0;
for( ; i<5;i++)(*q)++;
专接本计算机C语言程序设计模拟试题及答案
}
void main()
{int a[5]={1,2,3,4,5},i;
f(a);
for(i=0;i<5;i++)printf("%d,",a[i]);
}
2. 以下程序运行后的输出结果是( )
#include <stdio.h>
f(int b[],int m,int n)
{int i,s=0;
for(i=m;i<n;i=i+2) s=s+b[i];
return s;
}
void main()
{int x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
3. 以下程序的输出结果是( )
#include <stdio.h>
int f()
{static int i=0;
专接本计算机C语言程序设计模拟试题及答案
int s=1;
s+=i; i++;
return s;
}
void main()
{int i,a=0;
for(i=0;i<5;i++) a+=f();
printf("%d\n",a);
}
4. 以下程序的输出结果是( )
#include <stdio.h>
void main()
{char ch[2][5]={ "6937", "8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]> '\0';j+=2) s=10*s+p[i][j]- '0';
printf("%d\n",s);
}
四、按要求编写下列程序(每小题13分,共26分)
o 编写程序,用函数的递归调用求x的n次方的值,其中n为正整数。
o 输入正整数m和n,如果m+n是质数,输出“Yes”,否则,输出“No”。要求定义并调用函数myfun(x)
来判断x是否为质数,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。
专接本计算机C语言程序设计模拟试题及答案
#include<stdio.h>
#include<math.h>
void main()
{
int m,n;
}
int myfun(int x)
{
int k;
}
参考答案
一、单项选择题(每小题2分,共20分)
AAACA BBADC
二、完成下列的程序填空(每空3分,共18分)
1.
t=str[i];
str[i]=str[j-1];
str[j-1]=t;
2.
a[10]=number;
专接本计算机C语言程序设计模拟试题及答案
temp1=a[i];
temp1=temp2;
三、写出下列程序的运行结果(每小题9分,共36分)
1、6,2,3,4,5,
2、10
3、15
4、6385
四、按要求编写下列程序(每小题13分,共26分)
1.编写程序,用函数的递归调用求x的n次方的值,其中n为正整数。
#include <stdio.h>
float mypow(float x,int n)
{float m;
if(n==1) m=x;
else m=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));
专接本计算机C语言程序设计模拟试题及答案
}
2.输入正整数m和n,如果m+n是质数,输出“Yes”,否则,输出“No”。要求定义并调用函数myfun(x)来判断x是否为质数,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。
#include<stdio.h>
#include<math.h>
void main()
{
int m,n;
scanf("%d%d",&m,&n);
if(myfun(m+n)) printf("Yes")
else printf("No");
}
int f(int x)
{int k;
for(k=2;k<x;k++)
if(x%k==0) return 0;
return 1;
}
专接本计算机C语言程序设计模拟试题及答案(二)
一、单项选择题(每小题2分,共20分)
1. 在说明语句:int *f();中,标识符f代表的是( )
A)一个用于指向整型数据的指针变量 B) 一个用于指向一维数组的行指针
专接本计算机C语言程序设计模拟试题及答案
C) 一个用于指向函数的指针变量 D) 一个返回值为指针型的函数名 2. 下列程序的输出结果是( ) #include <stdio.h> void main()
{double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d \n", d*y); }
A) 3 B) 3.2 C) 0 D) 3.07
3. 设变量均已正确定义,若要通过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〈回车〉 C)10□X〈回车〉 D)10X〈回车〉 20□Y〈回车〉 20Y〈回车〉
4. 以下选项中,当x为大于1的奇数时,值为0的表达式( ) A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0 5. 以下叙述中正确的是( )
A)break语句只能用于switch语句体中
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环 C)break 语句只能用在循环体内和switch语句体内 D)在循环体内使用break语句和continue语句的作用相同 6. 以下合法的字符型常量是( )
专接本计算机C语言程序设计模拟试题及答案
A)'\x13' B)'\018' C) 65 D) "\n" 7. 在C语言中,函数返回值的类型最终取决于( )
A)函数定义时在函数首部所说明的函数类型 B)return语句中表达式值的类型 C)调用函数时主函数所传递的实参类型 D)函数定义时形参的类型 8. 设int x=1, y=1; 表达式(!x||y--)的值是( ) A) 0 B) 1 C) 2 D) -1
9. 若指针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. 以下函数的功能是( ) 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 <stdio.h> void main() {int a[20];
)
专接本计算机C语言程序设计模拟试题及答案
int i,j,t;
printf("input 20 numbers :\n"); for (i=0;i<20;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<19;j++) for(i=0; ;i++) { } printf("the sorted numbers :\n"); for(i=0;i<20;i++) printf("%d ",a[i]); printf("\n"); }
2.写一个函数,输入一个十六进制数,输出相应的十进制数。 #include <stdio.h> void main() {char a[6]; scanf("%s",a); printf("%d\n",htoi(a)); }
专接本计算机C语言程序设计模拟试题及答案
int htoi(char s[]) {int i,n; n=0;
for (i=0;s[i]!='\0';i++) {if (s[i]>='0'&& s[i]<='9') n=n*16+ ; if (s[i]>='a' && s[i]<='f') n=n*16+ ; if (s[i]>='A' && s[i]<='F') n=n*16+ ; } return(n); }
3.用指针的方法编写的函数,将一个
的整型二维数组行列互换。
#include <stdio.h> void main()
{void move(int *pointer); int a[3][3],*p,i; printf("input matrix:\n"); for (i=0;i<3;i++)
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
专接本计算机C语言程序设计模拟试题及答案
p=&a[0][0]; move(p);
printf("Now,matrix:\n"); for (i=0;i<3;i++)
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]); }
void move(int *pointer) {int i,j,t; for (i=0;i<3;i++) for (j=i;j<3;j++)
{ ; ; ; } }
三、写出下列程序的运行结果(每小题8分,共24分) 1. 以下程序运行后的输出结果是( ) #include <stdio.h> void main() {void f(int n,int *r); int m=7,r; f(m,&r);
专接本计算机C语言程序设计模拟试题及答案
printf("%d\n",r); }
void f(int n,int *r) {int r1=0;
if (n%3==0) r1=n/3; else if(n%5==0) r1=n/5; else f(--n,&r1); *r=r1; }
2. 以下程序的输出结果是( ) #include <stdio.h> 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;i<3;i++) printf("%d\n",f(a)); }
3. 以下程序的输出结果是( )
专接本计算机C语言程序设计模拟试题及答案
#include <stdio.h> 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 (x<0) y= 0 (x=0) 5 (x>0)
2.编写一个程序,将一组数据{6,5,8,1,0,4,7,3,2,9}按从小到大的顺序排列,程序显示排序前和排序后的结果。
参考答案
一、单项选择题(每小题2分,共20分)
专接本计算机C语言程序设计模拟试题及答案
DCDDC AABAB
二、完成下列的程序填空(每空3分,共27分) 1. 2. 3.
三、写出下列程序的运行结果(每小题8分,共24分) 1、2 2、7 8 9 3、2 14 3
四、按要求编写下列程序(第1小题13,第2小题16分,共29分) 1.编程实现下面的函数,要求输入一个x的值,输出y值,函数如下:
专接本计算机C语言程序设计模拟试题及答案
y= 0 (x=0) 5 (x>0) #include <stdio.h> void main () {int x,y; printf("enter x:"); scanf("%d",&x); if(x<0) y=-5; else
if(x==0) y=0; else y=5;
printf("x=%d,y=%d\n",x,y); }
2.编写一个程序,将一组数据{6,5,8,1,0,4,7,3,2,9}按从小到大的顺序排列,程序显示排序前和排序后的结果。 #include <stdio.h> #define N 10 Void main( ) {
int a[N]= {6,5,8,1,0,4,7,3,2,9}
专接本计算机C语言程序设计模拟试题及答案
printf(“The array before sorted:”); for (i=0;i<N;i++) printf(“%4d”,a[i]); for (i=0;i<9;i++) { for (j=i+1;j<10;j++) { if ( a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } }
printf(“The array after sorted:”); for (i=0;i<N;i++) printf(“%4d”,a[i]); }
专接本计算机微机原理与汇编语言模拟试题及答案(一) 一、单项选择题(每小题1分,共15分)
1. 8088/8086的存储器组织是将存储器划分为段,可作为段的起始地址的是(A.185A2H B.00020H C.01003H D.0AB456H 2.指令POP [BX] 中,目的操作数的段寄存器是( )。
)。
专接本计算机C语言程序设计模拟试题及答案
A.DS B.ES C.SS D.CS
3. CPU执行“OUT 40H,AL”指令时,下列信号为高的是( )。
4.执行1号DOS系统功能调用后,从键盘输入的字符应存放在( )。 A.AL B.BL C.CL D.DL 5. 间接寻址方式中,操作数处在( )中。 A.通用寄存器 B.内存单元 C.程序计数器 D.堆栈
6. 8086在最小模式下,分时使用AD0~AD15,所以必须外接地址锁存器,当总线上为地址信息时,通过( )信号将地址送入地址锁存器。 A.DEN B.ALE C.
D.DT/ R
7. 在对汇编语言程序的处理过程中,用编辑程序产生汇编语言的源程序的扩展名是( )。 A..EXE B..OBJ C..BAT D..ASM 8. 表示过程定义结束的伪指令是( )。
A.END B.ENDP C.ENDS D.ENDM
9. 默认状态下,在寄存器间接寻址中与SS段寄存器对应的寄存器是( )。 A.BP B.BX C.SI D.DI 10. 标志寄存器中属于控制标志的是( )。 A.DF、SF、OF B.DF、IF、TF C.OF、CF、PF D.AF、OF、SF
11. 两个组合十进制数46H、35H相加,调整指令DAA完成的是( )。
正在阅读:
专接本计算机C语言程序设计模拟试题及答案05-27
最新精品作文:我最钦佩的一种行为—见义勇为_500字作文-精品作文05-07
PMP+IT项目管理专家培训课程10-19
瑜伽呼吸法是我们分享的09-23
2007年高级营销师考试试题大全10-13
2013中国自驾游路线评选介绍09-01
2017年小学教师资格证面试必答题04-05
会员活动室管理制度及温馨提示语11-15
目标方针管理的基本05-14
再别康桥朗诵分析06-02
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 模拟试题
- 程序设计
- 答案
- 语言
- 计算机