期末C模拟题1 2 3.docx
- 文档编号:17885122
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:22
- 大小:27.71KB
期末C模拟题1 2 3.docx
《期末C模拟题1 2 3.docx》由会员分享,可在线阅读,更多相关《期末C模拟题1 2 3.docx(22页珍藏版)》请在冰点文库上搜索。
期末C模拟题123
《C语言程序设计》模拟题1
一、选择题:
1.一个C语言的源程序中___A___。
A)必须有一个主函数B)可以有多个主函数
C)必须有主函数和其他函数D)可以没有主函数
2.执行以下语句的结果为___C___。
y=10;x=y++;
A)x=10,y=10B)x=11,y=11
C)x=10,y=11D)x=11,y=10
3.执行以下程序段后,c3的值是___A___。
intc1=1,c2=2,c3;
c3=c1/c2;
A)0 B)1/2 C)0.5 D)1
4.C语言中字符型(char)数据在内存中的形式存储是__D____。
A)原码 B)补码 C)反码 D)ASCII码
5.下列常数中不能作为C的常量的是__D____。
A)0xA5 B)2.5e-2 C)3e2 D)2e32.6
7.已知inti,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是__C____。
A)6 B)12 C)30 D)36
注意,此时表达式的值应为36
8.已知函数abc的定义为:
voidabc()
{.......}
则函数定义中void的含义是__A___。
A)执行函数abc后,函数没有返回值
B)执行函数abc后,函数不再返回
C)执行函数abc后,可以返回任意类型
D)以上三个答案全是错误的
9.以下程序的输出结果是_C___。
main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)printf("%d,",x[i][2-i]);
}
A)1,5,9, B)1,4,7, C)3,5,7, D)3,6,9,
10.已知:
double*p[6];它的含义是___C__。
A)p是指向double型变量的指针B)p是double型数组
C)p是指针数组D)p是数组指针
11.已知:
int*p,a;则语句"p=&a;"中的运算符"&"的含义是__D___。
A)位与运算B)逻辑与运算C)取指针内容D)取变量地址
12.变量的指针,其含义是指该变量的(B)
A)值B)地址C)名D)一个标志
13.下面程序段的运行结果是:
(B)
charc[]=”\t\v\\\0will\n”
printf(“%d”,strlen(c));
A)14B)3C)9D)字符串中有非法字符,输出值不确定
二、填空题:
1.表达式10+16%3的值为_____11______。
2.写出满足下列条件的表达式:
a和b都不小于c____a>=c&&b>=c_____________。
3.若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为___0__。
4.下面函数的功能是求整数1到n的和请把程序补充完整。
longsum(intn)
{inti;
__s=0_______
for(i=1;i<=n;i++)
___s+=i;____________
returns;
}
三、程序阅读题,写出程序的输出结果:
1.#include“stdio.h”
main()
{inti,j;
i=j=2;
if(i==1)
if(i==2)
printf(“%d”,i=i+j);
else
printf(“%d”,i=i-j);
printf(“%d”,i);
}
___________2________________________。
2.main()
{inti=3
while(i<10))
{if(i<6)
{i+=2;
continue;
}
else
printf(“%d”,++i);
}
}
_____8910__________。
四、编程题:
1.编程求分段函数y=f(x)的值,f(x)的表达式如下:
2x+3x<-1
f(x)=5x+10-1≤x≤1
12xx>1
解:
程序如下:
floatf(floatx)
{floaty;
if(x<-1)
y=2*x+3;
elseif(x>1)
y=12*x;
else
y=5*x+10;
returny;
}
main()
{floaty,x;
scanf("%f",&x);
y=f(x);
printf("%f\n",y);
}
2.用switch语句编写程序,实现以下功能:
从键盘输入数字1、2、3、4。
分别显示excellent,good,pass,fail.输入其它键时显示error。
main()
{intn;
scanf("%d",&n);
switch(n)
{case1:
printf("excellent\n");break;
case2:
printf("good\n");break;
case3:
printf("pass\n");break;
case4:
printf("fail\n");break;
default:
printf("error\n");
}
}
3.编写一函数,该函数从一个一维整型数组中寻找指定的一个数,若找到,返回该数在数组中的下标值,否则返回-1,并写出主函数调用该函数。
intseek(inta[],intn,intt)
{inti,s=-1;
for(i=0;i if(t==a[i]){s=i;break;} returns; } main() {intarray[5]={10,20,30,40,50},n=5,t,s; scanf("%d",&t); s=seek(array,n,t); printf("%d\n",s); } 《C语言程序设计》模拟题2 一、选择题: 1.一个C语言程序的基本组成单位是__C____。 A)主程序 B)子程序 C)函数 D)过程 2.C语言中字符型(char)数据在内存中的形式存储是__d____。 A)原码 B)补码 C)反码 D)ASCII码 3.执行以下程序段后,c3的值是__0____。 intc1=1,c2=2,c3; c3=c1/c2; A)0 B)1/2 C)0.5 D)1 4.执行以下语句的结果为___D___。 y=10;x=y++; A)x=10,y=10B)x=11,y=11 C)x=10,y=11D)x=11,y=10 5.下列常数中不能作为C的常量的是____D__。 A)0xA5 B)2.5e-2 C)3e2 D)2e32.6 6.C语言中整数-8在内存中的存储形式是____A__。 A)1111111111111000B)1000000000001000 C)0000000000001000D)1111111111110111 7.已知inti,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是__C____。 A)6 B)12 C)30 D)36 8.执行以下程序段后,a,b,c的值分别是__B____。 inta,b=100,c,x=10,y=9; a=(--x==y++)? --x: ++y; if(x<9)b=x++;c=y; A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,10 9.下列程序段__A____。 x=3; do {y=x--; if(! y){printf("x"); continue; } printf("#"); }while(1<=x&&x<=2); A)输出### B)输出##x C)是死循环 D)有语法错 10.一个C语言的源程序中____A__。 A)必须有一个主函数B)可以有多个主函数 C)必须有主函数和其他函数D)可以没有主函数 11.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是__B___。 A)地址传递B)值传递 C)由实参传给形参,并由形参传回来给实参D)由用户指定传递方式 12.以下程序的输出结果是_C___。 main() {inti,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf("%d,",x[i][2-i]); } A)1,5,9, B)1,4,7, C)3,5,7, D)3,6,9, 13.已知: int*p,a;则语句"p=&a;"中的运算符"&"的含义是_D____。 A)位与运算B)逻辑与运算C)取指针内容D)取变量地址 二、填空题: 1.表达式10+16%3的值为____11_______。 2.写出满足下列条件的表达式: a和b都不小于c____a>=c&&b>=c)_________。 3.若有定义: inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为__0___。 4.下面函数的功能是求1到n的和请把程序补充完整。 longsum(intn) {inti; ___s=0;______ for(i=1;i<=n;i++) ___s+=i;______ returns; } 三、程序阅读题,写出程序的输出结果: 1.main() {inti=3 while(i<10)) {if(i<6) {i+=2; continue; } else printf(“%d”,++i); } } ______8910_________________________。 2.#include“stdio.h” #defineX5 #defineYX+1 #defineZY*X/2 main() {inta; a=Y; printf(“%d%d\n”,Z,--a); } _75______________________。 四、编程题: 1.用switch语句编写程序,实现以下功能: 从键盘输入数字1、2、3、4。 分别显示excellent,good,pass,fail.输入其它键时显示error。 main() {intn; scanf("%d",&n); switch(n) {case1: printf("excellent\n");break; case2: printf("good\n");break; case3: printf("pass\n");break; case4: printf("fail\n");break; default: printf("error\n"); } } 2.编程求一个3×3矩阵对角线元素之和。 main() {inta[3][3],sum=0; inti,j; printf("Enterdata: \n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) sum+=a[i][i]; printf("sum=%5d\n",sum); } 3.编写一函数,找出任一整数的全部因子。 main() {intn,i; scanf("%d",&n); for(i=1;i<=n;i++) if(n%i==0) printf("%d",i); } 《C语言程序设计》模拟题3 一、选择题 1.以下说法中正确的是(C)。 A.C语言程序总是从第一个函数开始执行 B.C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 2.下列为字符常量的是(C)。 A.“a”B.‘ab’C.‘\n’D.‘\084’ 3.在C语言中,下面字符串能用作变量名的是(D)。 A.a+bB.autoC.2-andD.a2 4.在C语言中运算对象必须是整型的运算符是(A)。 A.%B./C.==D.<= 5.若有以下定义: intx=10,y=3,z;则语句: printf(“%d\n”,z=(x%y,x/y));的输出结果为(B)。 A.1B.0C.2D.3 6.表达式(A)的值是整数类型。 A.15/2B.15/2+2.0C.25/5.0D.0.5*10 7.若doublex=2,y;则执行y=x+3/2;后,y的值是(B)。 A.3.500000B.3.000000C.2.000000D.3 8.C语言程序的基本单位是(C)。 A.程序行B.语句C.函数D.字符 9.设int类型的数据长度为2字节,则int类型数据的取值范围是(B)。 A.0~255B.-32768~32767C.-256~255D.0~65535 10.语句int(*p)()的含义是(C)。 A.p是一个指向一维数组的指针变量 B.p是指针变量,它指向一个整型数据的指针 C.p是一个指向函数的指针,该函数的返回值为整型 D.以上答案都不对 11.下面程序的输出结果是(A)。 main() {intx=10,y=10; printf(“%d,%d\n”,x--,y--); } A.10,10B.9,9C.9,10D.10,9 12.(A)是C语言的标准函数名。 A.scanfB.caseC.whileD.int 13.下面程序的输出结果是(D)。 voidmain() {inti=10; switch(i) { case9: i+=1; case10: i+=1; case11: i+=1; case12: i+=1; } printf(“i=%d\n”,i); } A.10B.11C.12D.13 14.以下定义语句中,错误的是(D)。 A.inta[]={1,2}B.inta[][3]={1,2,3,4,5}; C.chars[10]=“test”;D.intn=5,a[n]; 15.在一个源文件中定义的全局变量的作用域为(B)。 A.本文件的全部范围B.从定义该变量开始至本文件结束 C.本函数的全部范围D.本程序的全部范围 16.int型变量在内存中占2个字节,若inta[10]={0,2,4};则数组a所占字节数是(C)。 A.3B.10C.20D.6 17.有以下程序 #include #include main() { chara[7]="China"; inti,j; i=sizeof(a); j=strlen(a); printf("%d%d\n",i,j); } 程序运行后的输出结果是(C)。 A.55B.76 C.75D.66 18.下面程序运行时,如果从键盘上输入5,则输出的结果是(B)。 voidmain() {intx; scanf(“%d”,&x); if(x--<5)printf(“%d\n”,x); elseprintf(“%d\n”,x++); } A.3B.4C.5D.6 19.若有以下说明和语句,且已知char型占1个字节,int型占两个字节,float型占4个字节。 structst {intnum; charname[10]; intage; floatscore; }student; 则结构体变量student占用内存的字节数是(B)。 A.10B.18C.9D.2 20.以下程序的输出结果是(D)。 voidmain() {chars[]="ABCD"; int*p; for(p=s;p printf("%s\n",p); } A.ABCDB.A ABCB ABC AD C.DD.ABCD CBCD BCD AD 二、填空题 1.若有定义inta[2][5],则整型数组a包含有10个元素。 2.数学表达式x3+y3在C语言中应表示为x*x*x+y*y*y。 3.若有数据3.5需要存储到变量x中,则变量x定义应写为floatx=3.5;。 4.有如下程序段 int*p,a=10,b=1;p=&a;a=*p+b; 执行该程序段后,a的值为11。 5.表达式“0≤a≤10”在C语言中应表示为a>=0&&a<=10。 6.若有定义floatx,y;则从键盘给x、y输入数据的语句应写为 scanf(“%f,%f”,&x,&y);。 三、判断题(对的填√,错的填×) √1.C语言源程序文件的扩展名均为.c。 ×2.C语言中的基本数据类型有整型、字符型和实型。 √3.C语言中不同的函数中不可以使用相同名字的变量。 ×4.C语言程序区分字母大小写,符号常量必须定义为大写。 ×5.若intx=100,y=200,则语句printf(“%d”,(x,y))的输出结果是100。 √6.C语言的源程序经过编译、连接后才能运行。 √7.若inta[2][2]={{1},{2,3}};则a[0][1]的值为0。 ×8.C语言的数组名是一个地址常量,不能对它进行加、减和赋值运算。 √9.若x为某函数f之内说明的变量,则当函数f执行完后,x值无定义。 ×10.若inti=10,j=2;则执行i*=j+8;后i的值为28。 四、编程题(任选3题) 1.输入圆的半径,计算并输出圆的周长、面积及球的体积(结果保留两位小数)。 #definePI3.1415926 main() {floatr,c,s,v; printf("输入半径: "); scanf("%f",&r); c=2*PI*r; s=PI*r*r; v=4.0/3*PI*r*r*r; printf("周长为%.2f,面积为%.2f,球的体积为%.2f\n",c,s,v); } 2.有一个函数: y= 编程输入x的值,求y的值。 main() {intx,y; printf("输入x: "); scanf("%d",&x); if(x<1) {y=x; printf("x=%3d,y=x=%d\n",x,y); } elseif(x<10) {y=2*x-1; printf("x=%3d,y=2*x-1=%d\n",x,y); } else {y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x,y); } } 3.Fibonacci数列为1、1、2、3、5、8、13、……,编程输出该数列的前20项。 main() {intf1,f2,i; f1=1;f2=1; for(i=1;i<=10;i++) {printf("%6d%6d",f1,f2); if(i%2==0)printf("\n"); f1=f1+f2; f2=f2+f1; } } 4.编程输出所有的水仙花数。 水仙花数是一个3位数,其各位数字立方和等于该数本身。 如: 153=13+53+33,故153是水仙花数。 main() {inti,j,k,n; printf("水仙花数是: "); for(n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf("%4d",n); } printf("\n"); } 5.编程从输入的10个数中,去掉一个最大数和一个最小数,求剩余数的平均值。 main() {inta[10]; inti,min,max; floataver=0; printf("Enterdata: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); aver=max=min=a[0]; for(i=1;i<10;i++) {aver+=a[i]; if(a[i]>max)max=a[i]; elseif(a[i] } aver=(aver-min-max)/8; printf("aver=%.3f\n",aver); } 6.编写判断素数的函数。 调用该函数,计算并输出区间[100,200]内所有的素数及素数的和。 intprime(intn) {intflag=1,i; for(i=2;i if(n%i==0) flag=0; return(flag); } main() {inti,s=0; printf("[100,200]内所有的素数为: "); for(i=100;i<=200;i++) if(prime(i)) {printf("%d",i); s+=i; } printf("\n[100,200]内所有的素数的和为%d\n",s); } 7.有一个班,30名学生,各学4门课,查找有一门以上课程不及格的学生,输出他们的全部课程的成绩。 main() {intscore[30][4]; inti,j,n=30; for(i=0;i for(j=0;j<4;j++) scanf("%d",&score[i][j]); for(i=0;i for(j=0;j<4;j++) if(score[i][j]<60) {for(j=0;j<4;j+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期末C模拟题1 期末 模拟