c语言模拟题.docx
- 文档编号:4056631
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:14
- 大小:21.71KB
c语言模拟题.docx
《c语言模拟题.docx》由会员分享,可在线阅读,更多相关《c语言模拟题.docx(14页珍藏版)》请在冰豆网上搜索。
c语言模拟题
【上机内容】
模拟试题一
一、选择题(每题1分共15分)
1.设x,y为float型变量,则下列()为不合适的赋值语句
A++x;By=(float)3;
Cx=y=0;Dx*=y+8;
2.若x为int变量,则执行下列语句x的值为()
x=65535;
printf(“%d\n”,x);
A65535B1
C无定值D-1
3.下面()不正确的转义符()
A‘\t’B‘\a’
C‘\081’D‘\n’
4.在C语言中,char类数据在内存中是以()形式存储的
A原码B反码
C补码DASCII码
5.以下变量名()是合法的。
AbreakB$123
Clotus_2_3D
6.判断char型变量c1是否为小写字符的最简单且正确的表达式()。
A‘a’<=c1<=’z‘B(c1<=a)&&(c1<=z)
C(‘a’<=c1)&&(‘z’>=c1)D(c1>=’a’)&&(c1<=’z’)
7.在C语言中,int,char,float所占用的内存。
A均为2个字节B由用户自己定义CPC机为2,1,4D2,2,4
8..若有说明intx,y,下面程序()不能实现以下函数关系
y=
-1
x<0
0
x=0
1
x>0
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>0)y=1;}elsey=-1;
Dif(x>=0)if(x>0)y=1;elsey=0;elsey=-1;
9.while(!
x)中(!
x)与下面条件()等价
Ax==0Bx==1
Cx!
=1Dx!
=0
10.以下不是无限循环的语句为()。
Afor(y=0,x=1;x>=++y;x++);
Bfor(;;x++);
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<=5;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;i<3;i++)
for(j=0;j<3;j++)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;}
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf(“%4d”,a[i][j]);
printf(“\n”);
}
}
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.写一个程序,能分别统计出从键盘上输入的字符串中小写字符的个数、数字字符的个数和其他字符的个数。
输入的字符串以“!
”作为结束标记。
(10分)
3.编写一个求4个数中的最大数(要求用函数实现求最大数)。
(10分)
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的值分别为()
inti,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;x>=++y;x++);
Bfor(x=1;;x++);
Ci=15;while(x>10){x--;}
Dfor(i=10;i>5;i--)sum+=i;
二.写出下列程序的运行结果(每题3分,共15分)
1.#include“stdio.h”
main()
{
inti;
for(i=1;i<=5;i++)
{if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
}
printf(“$\n”);
}
2.main()
{
inti;
voidfunction(void);
for(i=0;i<3;i++)
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;
main()
{
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<=5;i++,sum--)
sum*=sum;
printf(“%d”,sum);
}
三编程(共59分)
1.设有一个字符串“Thisisacomputer”,请编程求字符“i”首次出现的位置。
(8分)
2.试编程求3*3二维数组中最大元素及其所在的行、列位置。
(12分)
3.编写程序,计算并输出下面级数在求和过程中第一次出现和数大于999时的奇数项部分和OS2。
(其中^表示幂运算)
1*2-2*3+3*4-4*5+……+(-1)^(n-1)*n*(n+1)+……(13分)
4.有一张由9个学生每人8个数据组成的二维数据表。
编写程序,要求将学生的总成绩按降序(由大到小)排列,计算并输出总分第二名学生的平均成绩。
(13分)
姓名学号年龄政治语文数学计算机体育总分
李明1198189999887
张力2168990958090
王英3179177889578
赵锐4187984959396
周密5159592989993
吴川6177888858680
孙康7149185948288
郑重8159092949095
胡琴9167585879490
5.已知在正文文件da1.dat中,每个记录只有两项数据,第一项为一整数表示学生的学号,第二项为形如xx.x的一个实数,试统计计算并向文件t2.dat输出60分以上(含60分)的人数占总人数的比例R。
(13分)
模拟试题三
一选择题(每题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
Clotus_2_3D
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--;}
printf(“\n”);
A无限多次B0次
C1次D2次
二按题目要求填空完善下列程序(每题6分,共24分)
1.按逆序输出一个字符串
Voidreversr(str)
Charstr[];
{
intlen.i;
charc;
len=①;
for(i=0;i<②;i++)
{c=③;
str[i]=str[len-i-1];
④=c;
}
}
#include
main()
{
charstring[256];
gets(string);
reverse(string);
puts(string);
}
2.输出Fibonacci数列的前15项,要求每行输出5项。
#defineM15
main()
{
intfib[M];
inti,
fib[0]=1;fin[1]=1;
for(i=2;i ①=fib[i-2]+②; for(i=0;i {if(③)printf(“\n”); ④; } } 3.用起泡法对10个按升序排序 main() { inta[10]={2,4,1,6,-1,34,56,78,-23,20}; inti,j,k; for(j=0;j<①;j++) for(i=0;②;i++) if(③) {k=a[i]; ④; a[i+1]=k; } } 3.输出100-200间的所有素数及其个数 main() { intm,k,I,n=0 for(m=101;m<=200;m++) {① for(i=2;i<=k;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输出各商场的总营业额 (13分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟