专接本计算机C语言程序设计模拟试题及答案二.docx

上传人:b****1 文档编号:1818252 上传时间:2023-05-01 格式:DOCX 页数:9 大小:17.99KB
下载 相关 举报
专接本计算机C语言程序设计模拟试题及答案二.docx_第1页
第1页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第2页
第2页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第3页
第3页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第4页
第4页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第5页
第5页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第6页
第6页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第7页
第7页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第8页
第8页 / 共9页
专接本计算机C语言程序设计模拟试题及答案二.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

专接本计算机C语言程序设计模拟试题及答案二.docx

《专接本计算机C语言程序设计模拟试题及答案二.docx》由会员分享,可在线阅读,更多相关《专接本计算机C语言程序设计模拟试题及答案二.docx(9页珍藏版)》请在冰点文库上搜索。

专接本计算机C语言程序设计模拟试题及答案二.docx

专接本计算机C语言程序设计模拟试题及答案二

专接本计算机C语言程序设计模拟试题及答案

(二)

一、单项选择题(每小题2分,共20分)

1.在说明语句:

int*f();中,标识符f代表的是()

A)一个用于指向整型数据的指针变量B)一个用于指向一维数组的行指针

C)一个用于指向函数的指针变量D)一个返回值为指针型的函数名

2.下列程序的输出结果是()

#include

voidmain()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A)3B)3.2C)0D)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.以下合法的字符型常量是()

A)'\x13'  B)'\018' C)65  D)"\n"

7.在C语言中,函数返回值的类型最终取决于()

A)函数定义时在函数首部所说明的函数类型  B)return语句中表达式值的类型

C)调用函数时主函数所传递的实参类型  D)函数定义时形参的类型

8.设intx=1,y=1;表达式(!

x||y--)的值是()

A)0B)1C)2D)-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.以下函数的功能是()

intfun(char*s)

{char*t=s;

while(*t++);

return(t-s);

}

A)比较两个字符的大小 B)计算s所指字符串占用内存字节的个数

C)计算s所指字符串的长度D)将s所指字符串复制到字符串t中

二、完成下列的程序填空(每空3分,共27分)

1.输入20个数,用起泡法对这20个数升序排列。

#include

voidmain()

{inta[20];

inti,j,t;

printf("input20numbers:

\n");

for(i=0;i<20;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=0;j<19;j++)

for(i=0;;i++)

if()

{}

printf("thesortednumbers:

\n");

for(i=0;i<20;i++)

printf("%d",a[i]);

printf("\n");

}

2.写一个函数,输入一个十六进制数,输出相应的十进制数。

#include

voidmain()

{chara[6];

scanf("%s",a);

printf("%d\n",htoi(a));

}

inthtoi(chars[])

{inti,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

voidmain()

{voidmove(int*pointer);

inta[3][3],*p,i;

printf("inputmatrix:

\n");

for(i=0;i<3;i++)

scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);

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]);

}

voidmove(int*pointer)

{inti,j,t;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

{;

;

;

}

}

三、写出下列程序的运行结果(每小题8分,共24分)

1.以下程序运行后的输出结果是()

#include

voidmain()

{voidf(intn,int*r);

intm=7,r;

f(m,&r);

printf("%d\n",r);

}

voidf(intn,int*r)

{intr1=0;

if(n%3==0)r1=n/3;

elseif(n%5==0)r1=n/5;

elsef(--n,&r1);

*r=r1;

}

2.以下程序的输出结果是()

#include

f(inta)

{intb=0;

staticintc=3;

b++;c++;

return(a+b+c);

}

voidmain()

{inta=2,i;

for(i=0;i<3;i++)printf("%d\n",f(a));

}

3.以下程序的输出结果是()

#include

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);

*x=3;

*y=4;

}

voidmain()

{intx=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分)

DCDDCAABAB

二、完成下列的程序填空(每空3分,共27分)

1.

i<19-j

(a[i]>a[i+1])

t=a[i];a[i]=a[i+1];a[i+1]=t;

2.

s[i]-'0'

s[i]-'a'+10

s[i]-'A'+10

3.

t=*(pointer+3*i+j)

*(pointer+3*i+j)=*(pointer+3*j+i)

*(pointer+3*j+i)=t

三、写出下列程序的运行结果(每小题8分,共24分)

1、2

2、7

8

9

3、2143

四、按要求编写下列程序(第1小题13,第2小题16分,共29分)

1.编程实现下面的函数,要求输入一个x的值,输出y值,函数如下:

-5(x<0)

y=0(x=0)

5(x>0)

#include

voidmain()

{intx,y;

printf("enterx:

");

scanf("%d",&x);

if(x<0)

y=-5;

else

if(x==0)y=0;

elsey=5;

printf("x=%d,y=%d\n",x,y);

}

2.编写一个程序,将一组数据{6,5,8,1,0,4,7,3,2,9}按从小到大的顺序排列,程序显示排序前和排序后的结果。

#include

#defineN10

Voidmain()

{

inta[N]={6,5,8,1,0,4,7,3,2,9}

inti,j,t;

printf(“Thearraybeforesorted:

”);

for(i=0;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(“Thearrayaftersorted:

”);

for(i=0;i

printf(“%4d”,a[i]);

}

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2