C语言程序设计模拟试题一0套.docx
- 文档编号:7423359
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:73
- 大小:60.50KB
C语言程序设计模拟试题一0套.docx
《C语言程序设计模拟试题一0套.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题一0套.docx(73页珍藏版)》请在冰豆网上搜索。
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.有以下程序: #
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模拟 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)