c语言模拟题Word文档下载推荐.docx
《c语言模拟题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言模拟题Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
y=
-1
x<
x=0
1
x>
Aif(x<
0)y=-1;
elseif(x==0)y=0;
elsey=1;
By=-1;
if(x!
=0)if(x>
0)y=1;
elsey=0;
Cy=0;
if(x>
=0){if(x>
}elsey=-1;
Dif(x>
elsey=-1;
9.while(!
x)中(!
x)与下面条件()等价
Ax==0Bx==1
Cx!
=1Dx!
=0
10.以下不是无限循环的语句为()。
Afor(y=0,x=1;
=++y;
x++);
Bfor(;
;
Cwhile
(1){x++;
}
Dfor(i=10;
i--)sum+=i;
11.若有以下语句,则下面()是正确的描述。
Charx[]=”12345”;
Chary[]={‘1’,’2’,’3’,’4’,’5’};
Ax,y完全相同。
Bx,y不相同。
Cx数组长度小于y数组长度。
Dx,y字符串长度相等。
12.为了判断两个字符串s1和s2是否相等,应当使用()。
Aif(s1==s2)Bif(s1=s2)
Cif(strcpy(s1,s2))Dif(strcmp(s1,s2)==0)
13.C程序中函数返回值的类型是由()决定。
Areturn语句中的表达式类型。
B调用该函数的主调函数类型。
C调用函数时临时决定。
D定义函数时所指定的函数类型。
14若intt,a=5,b=6,w=1,x=2,y=3,z=4,则经过t=(a=w>
x)&
(b=y>
z)计算后变量t,a,b的值分别为()
A0,0,0B0,0,6
C1,0,0D1,0,6
15如果变量grade的值为1,则运行下列程序段后输出结果为()
switch(grade)
{case1:
printf(“a\n”);
case2:
printf(“b\n”);
case3:
printf(“c\n”);
AaBa
b
c
CabcDab
二.写出下列程序的运行结果(每题3分,共15分)
1.main()
{
inti,j,k;
charspace=’‘;
for(i=0;
i<
=5;
i++)
for(j=i;
j<
=i;
j++)
printf(“%c”,space);
for(k=0;
k<
k++)
printf(“%c”,’*’);
printf(“\n”);
2.main()
intn=0;
while(n++<
=2)
printf(“%d\t”,n);
printf(“%d\n”,n);
}
3.main()
{
inta[3][3]={1,2,3,4,5,6,7,8,9};
inti,j,t;
for(i=0;
3;
for(j=0;
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
{for(j=0;
printf(“%4d”,a[i][j]);
4.#include“string.h”
main()
charstring1[20]=”abcd”;
charstring2[]=”\\cd\t”;
strcat(string1,string2);
printf(“%d”,strlen(string1));
5.main()
intcount,sum,x;
count=sum=0;
do{scanf(“%d”,&
x);
if(x%2!
=0)continue;
count++;
sum+=x;
}while(count<
5);
printf(“sum=%d”,sum);
假设输入的数据为:
36-291011812
三编程(共70分)
1.编写一个程序,输入一个字符串,按反序存放后再输出该字符串。
(10分)
2.写一个程序,能分别统计出从键盘上输入的字符串中小写字符的个数、数字字符的个数和其他字符的个数。
输入的字符串以“!
”作为结束标记。
3.编写一个求4个数中的最大数(要求用函数实现求最大数)。
4.青年歌手参加歌曲大奖赛,有5个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
(13分)
5.编程求3~100之间所有的素数及其个数。
(12分)
6.已知在一个ASCII“stud.dat”中,有10个学生的记录,每条记录有4项数据,第1项为学号(int型),第2、3、4项为成绩(float型),编写一个程序从该文件中将这些学生的数据读出来,计算每个人的平均成绩,然后在将原有数据和计算出的平均成绩写到另外一个ASCII“aver.dat”中。
(15分)
模拟试题二
一、选择题(每题2分共26分)
1.以下几个语句执行后i,j,k的值分别为()
i=j=0;
k=1;
if(i>
j?
(j--):
(i--))k++;
A1,9,1B1,0,2
C-1,0,1D0,0,2
2.inti=0,j=0;
inta=2,b=4,c=5,d=6;
表达式(i=a-b)&
(j=c-d)的结果是()
A1B0
C-2D-1
3.若给定条件表达式(m)?
(a++):
(a--),则表达式m()
A等价于(m==0)B等价于(m==1)
C等价于(m!
=0)D等价于(m!
=1)
4下列程序运行结束后,n的值为()
n=2;
do{n=n+n;
n--;
}while(n<
20);
A21B22
C33D24
5.已知数组a[3][4],若给a[1][2]赋值5,下列操作正确的是()
Aa=5B*a[1]=5
Ca[2]={0,5,3,4}D*(a[1]+2)=5
6.文件包含的含义是指()
A定义常量B定义变量
C引入已说明的函数D引入标准函数
7.以下变量命名合法的是()
AM.johnB$123
Clotus1_2_3D<
8.下面关于”A”的说法正确的是()
A它代表一个字符常量B它代表一个字符串常量
C它代表一个字符aD它代表一个变量
9.以下语句执行后变量c的结果是()
inta=7,b=2;
floatc;
c=a/b;
A3.5B3
C3.0D1
10.设定如下变量,则表达式5+’b’+i*f-d/e-‘a’的结果是()
inti;
floatf;
doubled;
longinte;
A浮点型B长整型
C整型D双精型
11.以下不正确的定义语句是()
Adoublex[5]={2.0,4.0,6.0,8.0,9.0};
Binty=[5]={0,1,3,5,7,9};
Ccharc1[]={‘1’,’2’,’3’,’4’,’5’};
Dcharc2[]={‘\x10’,’\x1’,’\x8’};
12.指出哪一个不是C语言的赋值语句()
Ainta=1,b=3;
Bi++;
Ca=b=5;
Dy=int(i);
13.以下哪一个是无限循环的语句为()。
Afor(y=0,x=0;
Bfor(x=1;
Ci=15;
while(x>
10){x--;
i>
5;
1.#include“stdio.h”
for(i=1;
{if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
printf(“$\n”);
2.main()
voidfunction(void);
function();
voidfunction(void)
inti=1,j=1;
staticintk=1;
i++;
j++;
k++;
printf(“%d,%d,%d”,i,j,k);
3.floatx=1.0,y=2.0,z;
doublefun(void);
z=fun();
printf(“%f,%f,%f\n”,x,y,z);
doublefun(void)
inty,z;
x=y=z=3.0;
return(x+y+z);
4.main()
inti=1,k=0;
while(i--)k=k+k;
printf(“k=%d\n”,k);
5.main()
inti,sum;
i=1;
for(sum=1;
i++,sum--)
sum*=sum;
printf(“%d”,sum);
三编程(共59分)
1.设有一个字符串“Thisisacomputer”,请编程求字符“i”首次出现的位置。
(8分)
2.试编程求3*3二维数组中最大元素及其所在的行、列位置。
3.编写程序,计算并输出下面级数在求和过程中第一次出现和数大于999时的奇数项部分和OS2。
(其中^表示幂运算)
1*2-2*3+3*4-4*5+……+(-1)^(n-1)*n*(n+1)+……(13分)
4.有一张由9个学生每人8个数据组成的二维数据表。
编写程序,要求将学生的总成绩按降序(由大到小)排列,计算并输出总分第二名学生的平均成绩。
姓名学号年龄政治语文数学计算机体育总分
李明1198189999887
张力2168990958090
王英3179177889578
赵锐4187984959396
周密5159592989993
吴川6177888858680
孙康7149185948288
郑重8159092949095
胡琴9167585879490
5.已知在正文文件da1.dat中,每个记录只有两项数据,第一项为一整数表示学生的学号,第二项为形如xx.x的一个实数,试统计计算并向文件t2.dat输出60分以上(含60分)的人数占总人数的比例R。
模拟试题三
一选择题(每题2分共20分)
1.下面关于”A”的说法正确的是()
A一个字符常量B一个字符串常量
C一个字符aD一个字符变量
2.使用字符串函数时,必须将()头文件包含在主程序中
A“stdio.h”B”string.h”
C“math.h”D”stdlib.h”
3.下面关于‘\\’的说法不正确的是()
A转义字符B起换行作用
C能用于输出语句D也能用于打印机
4.C程序是由()构成
A数据文件B文本文件
C函数D主函数和其他函数
5.下列关于函数的说法哪些是错误的()
A可以单独执行
B可以嵌套调用
C可以定义在主函数之前或之后
D数组可以作为函数的参数
6.一般情况下,C语言是以()表示运算结果为逻辑真。
AFBT
C1D0
7.以下变量名()是合法的。
AcontinueB$123
8.一个C语言程序总是从()开始执行的。
A主过程B主函数
C子函数D按书写顺序
9.PC机中,C语言的int,char,float所占用的内存为()字节。
A1,2,4B2,2,2
C2,1,4D2,2,4
10.若k为float型,则下列程序执行结果为()
k=2.0;
while(k!
=0)
{printf(“%d”,k);
k--;
A无限多次B0次
C1次D2次
二按题目要求填空完善下列程序(每题6分,共24分)
1.按逆序输出一个字符串
Voidreversr(str)
Charstr[];
intlen.i;
charc;
len=①;
②;
{c=③;
str[i]=str[len-i-1];
④=c;
#include<
string.h>
charstring[256];
gets(string);
reverse(string);
puts(string);
2.输出Fibonacci数列的前15项,要求每行输出5项。
#defineM15
intfib[M];
inti,
fib[0]=1;
fin[1]=1;
for(i=2;
M;
①=fib[i-2]+②;
{if(③)printf(“\n”);
④;
3.用起泡法对10个按升序排序
inta[10]={2,4,1,6,-1,34,56,78,-23,20};
①;
②;
if(③)
{k=a[i];
④;
a[i+1]=k;
3.输出100-200间的所有素数及其个数
intm,k,I,n=0
for(m=101;
m<
=200;
m++)
{①
=k;
if(②)break;
if(③){printf(“%d“,m);
n=n+1;
printf(“%d”,n);
三编程(共56分)
1.编写程序,求下面级数前n项中偶数项的和ES。
在求和过程中,以第一个绝对值大于9999的项为末项,计算并输出和数ES。
1!
-2!
+3!
-4!
+……+(-1)^(n-1)*n!
+……(10分)
2.设计一个程序,对于从键盘输入的年、月、日,计算并输出相应是星期几。
比如,1998年7月1日是星期三,要求输出形式为7—1—1998:
<
3>
。
(12分)
[提示]推算公式:
s=yy-1+(yy-1)/4-(yy-1)/100+(yy-1)/400+dd
w=s-7*(s/7)
其中yy是年份数,dd是yy年元旦到日期d的总天数,w是星期序数,w=0,1,2,…
3.编写程序:
有两个正整数a和b,已知a*b=2048,求a、b各为何值时,a+b的值最小。
(11分)
4.编写程序,找出一个4位数的完全平方数,该数减去1111后,结果仍是一个完全平方数。
(完全平方数是一个整数,它是另一个整数的平方。
例如25是5的平方,则25是一个完全平方数。
)(10分)
5.已知在正文文件test.txt中存放有120个记录,每个记录中只有一个数。
在文件中,从第一个数开始,每四个数为一组,第一个数为不同商场的代号(顺序号),其余三个数代表三类商品的营业额(万元)。
编写程序,统计计算并向文件t2.dat输出各商场的总营业额