C语言程序设计模拟试题一0套.docx

上传人:b****5 文档编号:7423359 上传时间:2023-01-23 格式:DOCX 页数:73 大小:60.50KB
下载 相关 举报
C语言程序设计模拟试题一0套.docx_第1页
第1页 / 共73页
C语言程序设计模拟试题一0套.docx_第2页
第2页 / 共73页
C语言程序设计模拟试题一0套.docx_第3页
第3页 / 共73页
C语言程序设计模拟试题一0套.docx_第4页
第4页 / 共73页
C语言程序设计模拟试题一0套.docx_第5页
第5页 / 共73页
点击查看更多>>
下载资源
资源描述

C语言程序设计模拟试题一0套.docx

《C语言程序设计模拟试题一0套.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题一0套.docx(73页珍藏版)》请在冰豆网上搜索。

C语言程序设计模拟试题一0套.docx

C语言程序设计模拟试题一0套

C语言程序设计模拟试题

(一)

一、填空题(每空2分,总计20分)

1.假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,p所指对象的值为___________。

2.如果变量定义有:

inta=9,c=8;则表达式(――a!

=c++)?

――a:

++c的值为________。

3.假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为__________。

4.已有inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是__________。

5.若x=5,y=10,则x>y和x<=y的逻辑值分别为________和_______。

6.C语言提供三种逻辑运算符,按优先级高低它们分别是_________,________,_________。

7.空字符串的长度是__________。

二、选择题(10题,每题2分,总计20分)

1.若a,b均为int型变量,x,y均为float型变量,正确的输入函数调用是()

A.scanf(“%d%f”,&a,&b);B.scanf(“%d%f”,&a,&x);

C.scanf(“%d%d”,a,b);D.scanf(“%f%f”,x,y);

2.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()

A.x=y==5;B.x=n%2.5;

C.x+n=i;D.x=5=4+1;

3.C语言对嵌套if语句的规定是:

else总是与()配对。

A.其之前最近的ifB.第一个if

C.缩进位置相同的ifD.其之前最近且不带else的if

4.有以下程序:

#include

voidmain()

{inta=0,b=0,c=0,d=0;

if(a=1)b=1;c=2;

elsed=3;

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

其输出结果是()

A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错

5.下面程序的输出结果是()

#include

voidmain()

{intk=0,m=0,i,j;

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

{for(j=0;j<3;j++)k++;k=k-j;}

m=i+j;

printf(“k=%d,m=%d”,k,m);

}

A.k=0,m=3B.k=0,m=5C.k=1,m=3D.k=1,m=5

6.按C语言的规定,以下不正确的说法是()

A.实参可以是常量、变量或表达式

B.形参可以是常量、变量或表达式

C.实参可以为任意类型

D.形参应与其对应的实参类型一致

7.在C语言中,引用数据元素时,其数组下标的数据类型允许为()

A.整型变量B.整型表达式

C.整型变量或整型表达式D.任何类型的表达式

8.若有说明:

inta[3][4];,则对a数组元素的正确引用是()

A.a[2][4]B.a[1,3]C.a[1+1][0]D.a

(2)

(1)

9.变量的指针,其含义是指该变量的()

A.值B.地址C.名D.一个标志

10.若有以下说明和语句:

structworker

{intno;

char*name;

}work,*p=&work;

则以下引用方式不正确的是()

A.work.noB.(*p).noC.p->noD.work->no

三、程序阅读题,写出程序结果(每题4分,共20分)

1.有以下程序:

#include

voidmain()

{charc1,c2;

inta,b;

scanf("%c,%c",&c1,&c2);

a=c1+32;

b=c2-2;

printf("%c,%c\n",a,b);

printf("%d,%d\n",c1,c2);

}

程序运行时,若从键盘输入(第1列开始)

A,d<回车>

则输出结果是

2.有以下程序:

#include

voidmain()

{inti,sum;

i=5;sum=109;

while(i)

{sum=sum-i;i=i-2;

if(i<=1)break;

}

printf("i=%d,sum=%d\n",i,sum);

}

程序运行后输出结果是

3.有以下程序:

#include

intmain()

{inti,j,n=4;

for(i=1;i<=n;i++)

{for(j=1;j

printf(“”);//双引号内为一个空格字符

for(j=1;j<=9-2*i;j++)

printf(“*”);

printf(“\n”);

}

}

程序运行后输出结果是:

4.有以下程序:

#include"stdio.h"

#defineN4

intfun(inti)

{staticinta=1;

a=a*i;

returna;

}

main()

{inti,j;

for(i=1;i<=N;i++)

{j=fun(i);

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

}

}

程序运行后输出结果是:

5.有以下程序:

#include"stdio.h"

#defineN4

intfun(intb[][4])

{inti,j;

intm[4]={0,0,0,0},*p=m;

for(j=0;j

for(i=0;i

*(p+j)+=b[i][j];

for(i=0;i

printf("%d\n",*(p+i));

}

main()

{inti,j,k=0;

inta[4][4];

for(i=0;i

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

a[i][j]=k++;

fun(a);

}

程序运行后输出结果是:

四、程序填空题(每题4分,共20分)

1.有以下程序,功能是求出a,b,c三个数的最大值。

#include

voidmain()

{

inta,b,c,max;

max=a;

if(________)max=b;

if(________)max=c;

printf(“最大值=%d\n”,max);

}

2.任意输入一个数m,判断是否是素数

main()

{

intm,i,k;

____________;

k=sqrt(m+1);

for(i=2;i

if(m%i==0)break;

if_____________printf(“%disaprimenumber\n”,m);

elseprintf(“%disnotaprimenumber\n”,m);

}

3.有以下程序,功能是输入数组中10个元素,并求和。

#include

main()

{

floatA[10],sum=0;

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

{

scanf(“%f”,__________);

sum+=A[i];

}

printf(“sum=________”,sum);

}

4.输入10个浮点数,计算并输出相应的函数值。

x*x+2x+1x<0

y=0x=0

3x>0

#include

main()

{floatx,y;

scanf(“%f”,&x);

{if(x<0);

else;

elsey=3;

printf(“%f\n”,y);

}

5.函数sort使用冒泡法将一维数组中各元素按值从大到小排序。

voidsort(inta[],intn)

{intk,j,t;

for(k=1;k

for(;j

if(){t=a[j];a[j]=a[j+1];a[j+1]=t;}

}

五、程序设计题(每题10分,共20分)

1.输入一个整数,判断它能否同时被3,5,7整除,如是则输出YES,否则输出NO。

 

2.编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出nofound.。

C语言程序设计模拟试题

(二)

一、填空题(每空2分,总计20分)

1.为表示关系:

x≤y≤z,应使用的C语言表达式是_____________。

2.字符串是以__________为结束标志的一维字符数组。

有定义:

chara[]="";则a数组的长度是____________。

3.设inta;floatf;doublei;则表达式10+'a'+i*f值的数据类型是___________。

4.设有说明语句"inta[3][4]={{1,2},{3,4,5},{6,7,8}};"则a[0][2]的初始化值为_____________,a[2][2]的初始化值为______________。

5.假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,p所指对象的值为___________。

6.文件使用方式“r”表示________,“w+”表示________。

7.有函数调用fun1(x+y,(y,z),10,fun((x,y―1)));函数fun1有_______个参数。

二、选择题(10题,每题2分,总计20分)

1.若x,y均为double型变量,正确的输入函数调用是()

A.scanf(“%f%f”,&x,&y);B.scanf(“%d%d”,&x,&y);

C.scanf(“%lf%lf”,&x,&y);D.scanf(“%lf%lf”,x,y);

2.若x,y,z均为int型变量,则执行以下语句后的输出为()

x=(y=(z=10)+5)-5;

printf(“x=%d,y=%d,z=%d\n”,x,y,z);

y=(z=x=0,x+10);

printf(“x=%d,y=%d,z=%d\n”,x,y,z);

A.x=10,y=15,z=10B.x=10,y=10,z=10

x=0,y=10,z=0x=0,y=10,z=0

C.x=10,y=15,z=10D.x=10,y=10,z=10

x=10,y=10,z=0x=0,y=10,z=0

3.判断char型变量c1是否为小字字母的正确表达式为()

A.’a’<=c1<=’z’B.(c1>=a)&&(c1<=z)

C.(‘a’<=c1)||(‘z’>=c1)D.(c1>=’a’)&&(c1<=’z’)

4.若有说明语句:

intw=1,x=2,y=3,z=4;则表达式w>x?

w:

z>y?

z:

x的值是()

A.4B.3C.2D.1

5.以下程序执行后的输出结果是()

#include

voidmain()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;

}

i+=11;

a+=i;

}

printf(“%d”,a);

}

A.21B.32C.33D.11

6.以下正确的函数定义形式是()

A.doublefun(intx,inty)B.doublefun(intx;inty)

C.doublefun(intx,y)D.doublefun(intx,y;)

7.以下对一维数组a中的所有元素进行正确初始化的是()

A.inta[10]=(0,0,0,0);B.inta[10]={};

C.inta[]=(0);D.inta[10]={10*2};

8.以下关于数组的描述正确的是()

A.数组的大小是固定的,但可以有不同类型的数组元素

B.数组的大小是可变的,但所有数组元素的类型必须相同

C.数组的大小是固定的,所有数组元素的类型必须相同

D.数组的大小是可变的,可以有不同类型的数组元素

9.若有定义inta=5;int*p1,*p2;,且p1和p2均已指向变量a,下面不能正确执行的赋值语句是()。

A.a=*p1+*p2;B.p2=a;C.p1=p2;D.a=*p1*(*p2);

10.正确的k值是()

enum{a,b=5,c,d=4,e}k;

k=a;

A.0B.1C.4D.6

三、程序阅读题,写出程序结果(每题4分,共20分)

1.有以下程序:

#include

voidmain()

{charc1,c2,c3,c4,c5,c6;

scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf(“\n%c%c\n”,c5,c6);

}

程序运行时,若从键盘输入(第1列开始)

abc<回车>

45678〈回车〉

则输出结果是

2.有以下程序:

#include

voidmain()

{inti,sum;

i=10;sum=0;

for(;;)

{sum=sum+i;i=i+10;

if(i>=50)break;

}

printf("i=%d,sum=%d\n",i,sum);

}

程序运行后输出结果是

3.有以下程序:

#include

#defineWIDTH4

main()

{

inti,j;

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

{for(j=1;j<=i;j++)

printf("");

for(j=i;j<=WIDTH-1;j++)

printf("*");

printf("\n");

}

}

程序运行后输出结果是:

4.有以下程序:

#include"stdio.h"

intfunc(intx,inty)

{intz;

z=x+y;

returnz++;

}

main()

{inti=3,j=2,k=1;

do

{k+=func(i,j);

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

i++;

j++;

}while(i<=6);

}

程序运行后输出结果是:

5.有以下程序:

#include"stdio.h"

#defineN4

intfun(int*m)

{int*n;

n=m+3;

return*n;

}

main()

{inti,j;

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

int*p=a;

for(i=1;i<=N;i++)

{j=fun(p);p++;

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

}

}

程序运行后输出结果是:

四、程序填空题(每题4分,共20分)

1.有以下程序,功能是交换a,b的值。

#include

voidmain()

{

inta,b,t;

a=10;b=20;

printf(“a=%d,b=%d\n”,a,b);

________;

a=b;

________;

printf(“a=%d,b=%d\n”,a,b);

}

2.任意输入一个年数,判断该年是否是润年。

main()

{

intyear,yn;

____________;

if(year%4==0&&year%100!

=0||year%400==0)yn=1;

else__________;

if(yn==0)printf(“%d不是润年\n”,year);

elseprintf(“%d是润年\n”,year);

}

3.有以下程序,功能是输入二个数组,输出相对应位置元素的积。

#include

main()

{

intA[5],B[5],s;

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

{

scanf(“%d%d”,__________);

s=A[i]*B[i];

printf(“%d\t”,______);

}

}

4.输入10个浮点数,计算并输出相应的函数值。

x*x-2x+1x<0

y=0x=0

3*x+1x>0

#include

main()

{floatx,y;

scanf(“%f”,&x);

{if(x<0);

else;

elsey=0;

printf(“%f\n”,y);

}

5.函数DEL是把字符串a中的非大写字母赋值给b。

voidDEL(chara[])

{char*b;

inti=0,j=0;

While(a[i]!

=’\0’)

{if(_______________)b[j++]=a[i];

i++;

}

_________;/*字符串b结束*/

}

五、程序设计题(每题10分,共20分)

1.编写输入整数a,b,c,当a为1时显示b和c之和,a为2时显示b与c之差,a为3时显示b*c之积,a为4时显示b/c之商,a为其他数值时不做任何操作的程序。

 

2.若有说明:

inta[2][3]={{1,2,3},{4,5,6}};,现要将a的行和列的元素互换后存到另一个二维数组b中,试编程。

 

C语言程序设计模拟试题(三)

一、填空题(每空2分,总计20分)

1.若有定义:

doublex[3][5],则x数组中行下标的下限为_________,列下标的下限为__________。

2.设有说明语句"inta[3][4]={{1,2},{3,4,5},{6,7,8}};"则a[0][2]的初始化值为_____________,a[2][2]的初始化值为______________。

3.表达式7/2的结果是____________。

表达式7%2的结果是____________。

4.若已知a=1.5,b=15,c=1,则表达式a*b&&c的运算结果是____________。

5.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为______________。

6.定义inta[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是____________。

7.已有inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是__________。

二、选择题(10题,每题2分,总计20分)

1.若x为char型变量,y为int型变量,x,y均为有值,正确的输出函数调用是()

A.printf(“%c%d”,x,y);B.printf(“%c%s”,x,y);

C.printf(“%f%c”,x,y);D.printf(“%f%d”,x,y);

2.若x是int型变量,y是float型变量,所用的scanf调用语句格式为:

scanf(“x=%d,y=%f”,&x,&y);,则为了将数据10和66.6分别赋给x和y,正确的输入应当是()

A.x=10,y=66.6<回车>B.1066.6<回车>

C.10<回车>66.6<回车>D.x=10<回车>y=66.6<回车>

3.以下的if语句中,不正确的是()

A.if(x>y);B.if(x==y)x+=y;

C.if(x!

=y)scanf(“%d”,&x)elsescanf(“%d”,&y)D.if(x

4.以下关于switch语句和break语句的描述中,正确的是()

A.在switch语句中必须使用break语句

B.break语句只能用于switch语句中

C.在switch语句中,可根据需要用或不用break语句

D.break语句是switch语句的一部分

5.对下面两个循环语句,下面的叙述正确的是()

while

(1);

for(;;);

A.

都是无限循环B.

是无限循环,

错误

C.

循环一次,

错误D.

皆错误

6.在一个源文件中定义的全局变量的作用域为()

A.本文件的全部范围B.本程序的全部范围

C.本函数的全部范围D.从定义该变量的位置开始至本文件结束为止

7.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第()个元素。

A.3B.4C.5D.6

8.字符串”Iamastudent.”在存储单元中占()个字节。

A.14B.15C.16D.17

9.若int(*p)[5];,其中,p是()。

A.5个指向整型变量的指针

B.指向5个整型变量的函数指针

C.一个指向具有5个整型元素的一维数组的指针

D.具有5个指针元素的一维指针数组,每个元素都只能指向整型量

10.在16位的PC上使用C语言,若有如下定义:

structdata

{inti;

charch;

doublef;

}da;

则变量da占用内存的字节数为()

A.1B.4C.8D.11

三、程序阅读题,写出程序结果(每题4分,共20分)

1.有以下程序:

#include

voidmain()

{charc1,c2;

inta,b;

scanf("%d,%d",&a,&b);

c1=a+3;

c2=b-32;

printf("%c,%c\n",a,b);

printf("%c,%d\n",c1,c2);

}

程序运行时,若从键盘输入(第1列开始)

65,97<回车>

则输出结果是

2.有以下程序:

#

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1