文档详情

2013c语言全真模拟题及答案

痛***
实名认证
店铺
PDF
607.40KB
约39页
文档ID:159622597
2013c语言全真模拟题及答案_第1页
1/39

一、填空题第 1 题以下 do-while 语句中循环体的执行次数是【3】.a=10;b=0;do b+=2;a-=2+b;while(a=0);第 2 题设 i,j,k 均为 int 型变量,则执行完下面的 for 循环后,k 的值为【10】.for(i=0,j=10;ic&b=c&a|b+c&b=c的值为【1】.第 6 题int x=4,y=z=2;z=x=(y=z);则 z 的值为【4】.第 7 题int x=2,y=3,z=4;则表达式 x+y&z 的值为【1】.第 8 题若有以下定义,则计算表达式 y+=y-=m*=y 后的 y 值是【16】.int m=5,y=2;二、单项选择第 1 题为表示关系 xyz,应使用 C 语言表达式A:(x=y)&(y=z)B:(x=y)AND(y=z)C:(x=y=z)D:(x=z)&(y=z)第 2 题C 语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern第 3 题若有说明 int a34;则对 a 数组元素的正确引用是()A:a24B:a1,3C:a1+10D:a(2)(1)第 4 题从循环体内某一层跳出,继续执行循环外的语句是A:break 语句B:return 语句C:continue 语句D:空语句第 5 题下列()表达式的值为真,其中 a=5;b=8;c=10;d=0A:a*28+2B:a&dC:(a*2-c)|dD:a-bc*d第 6 题以下程序的执行结果是_.main()intw=1,x=2,y=3,z=4;w=(w x)?x:w;w=(w y)?y:w;w=(w z)?z:w;printf(%d ,w);A:1B:2C:3D:4第 7 题若变量已正确定义,执行语句 scanf(%d,%d,%d,&k1,&k2,&k3);时,_是正确的输入A:2030,40B:20 30 40C:20,30 40D:20,30,40第 8 题在 C 语言中,一维数组的定义方式为:类型说明符数组名()。

A:常量表达式B:整型表达式C:整型常量或整型表达式D:整型常量第 9 题以下不能正确进行字符串赋初值的语句是()A:char str5=good!;B:char str=good!;C:char*str=good!;D:char str5=g,o,o,d,0;第 10 题C 语言中,逻辑真等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数三、程序(程序填空、程序设计)第 1 题功能:统计一个字符串中的字母、数字、空格和其它字符的个数include stdio.hmain()char s180;int a4=0;int k;/*SPACE*/void fun(char s,int b);gets(s1);/*SPACE*/fun(s1,a);puts(s1);for(k=0;k4;k+)printf(%4d,ak);void fun(char s,int b)int i;for(i=0;si!=0;i+)if(a=si&si=z|A=si&si=Z)b0+;/*SPACE*/else if(0=si&si=9)b1+;/*SPACE*/else if(si=)b2+;elseb3+;第 2 题功能:输入三个整数 x,y,z,请把这三个数由小到大输出。

includevoid main()int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if(xy)t=x;x=y;y=t;/*交换 x,y 的值*/if(xz)t=z;z=x;x=t;/*交换 x,z 的值*/if(yz)t=y;y=z;z=t;/*交换 z,y 的值*/printf(small to big:%d%d%dn,x,y,z);第 3 题功能:输出 100 到 1000 之间的各位数字之和能被15 整除的所有数,输出时每 10 个一行includevoid main()int m,n,k,i=0;for(m=100;m=1000;m+)【k=0】;n=m;dok=k+n%10;n=n/10;【while(n!=0)】;if(k%15=0)printf(%5d,m);i+;if(i%10=0)printf(n);第 4 题学生变量定义如下:struct studentchar number6;char name6;intscore3;stu2;功能:输入学生成绩并显示include struct studentchar number6;char name6;int score3;stu2;void output(struct student stu2);void main()int i,j;/*SPACE*/for(i=0;i2;_)printf(请输入学生%d 的成绩:n,i+1);printf(学号:);/*SPACE*/scanf(%s,_.number);printf(姓名:);scanf(%s,stui.name);for(j=0;j3;j+)printf(成绩%d.,j+1);/*SPACE*/scanf(%d,_.scorej);printf(n);output(stu);void output(struct student stu2)int i,j;printf(学号姓名成绩 1 成绩 2 成绩 3n);for(i=0;i2;i+)/*SPACE*/_(%-6s%-6s,stui.number,stui.name);for(j=0;j3;j+)printf(%-8d,stui.scorej);printf(n);答案:【1】i+或+i 或 i=i+1【2】&stui【3】&stui【4】printf第 5 题功能:5 个学生选修 4 门课程,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。

define M 5/*定义符号常量人数为5*/#define N 4/*定义符号常量课程为4*/#include stdio.hmain()int i,j;void aver(float scoM+1N+1);staticfloatscoreM+1N+1=78,85,83,65,72,65,54,75,86,88,75,60,69,60,50,72;aver(score);clrscr();printf(学生编号课程 1 课程 2 课程 3 课程 4 个人平均n);for(i=0;iM;i+)printf(学生%dt,i+1);/*SPACE*/for(j=0;j_;j+)printf(%6.1ft,scoreij);printf(n);for(j=0;j8*(N+2);j+)printf(-);printf(n 课程平均);for(j=0;jN+1;j+)printf(%6.1ft,scoreij);printf(n);getch();void aver(float scoN+1)int i,j;/*SPACE*/for(i=0;i_;i+)for(j=0;jN;j+)scoiN+=scoij;scoMj+=scoij;scoMN+=scoij;/*SPACE*/scoiN _ N;for(j=0;jN;j+)88,91,89,93,/*SPACE*/scoM_/=M;scoMN=scoMN/M/N;答案:【1】N+1 或 1+N 或 5【2】M 或 5【3】/=【4】j第 6 题功能:计算平均成绩并统计90 分以上人数。

include stdio.hvoid main()int sum=0;int score10;int count=0;int i=0;for(i=0;i90)count+;printf(平均分%f,有%d 个 90 分以上sum*1.0)/10,count);第 7 题功能:写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度include#includevoid main()int f(char str);int l;char str10;gets(str);l=f(str);printf(%d,l);int f(char str)int z;z=strlen(str);return(z);第 8 题找出 x,y,z三个数中的最大、最小值#includeint main()int i,n,max,min;for(i=0;i3;i+)scanf(%d,&n);if(i=0)/初始化 max,minmax=min=n;if(maxn)/最小值min=n;printf(max number%dmin number%dn,max,min);/输出最大最小值第 9 题功能:删除一个字符串中的所有数字字符。

include void delnum(char*s)int i,j;/*SPACE*/for(i=0,j=0;【si!=】0;i+)/*SPACE*/if(si9)/*SPACE*/【sj=si】;j+;sj=0;main()char*item;printf(n input a string:n);item=;gets(item);/*SPACE*/【delnum(item)】;printf(n%s,item);第 10 题功能:从键盘为一维整型数组输入10 个整数找出其中最小的数并输出include stdio.hint fun(int x,int n)/*Program*/int min;int i;min=x0;for(i=0;ixi;min=xi;return min;/*End*/main()int a10,i,min;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)printf(%3d,ai);printf(n);min=fun(a,10);printf(%dn,min);第 11 题功能:从键盘输入一个三位数,判断是否水仙花数说明:所谓水仙花数是指一 3 位数,其各位数字立方和等于该数本身。

int fun(int n)int a,b,c;a=n%10;b=n/10%10;c=n/100;if(a*a*a+b*b*b+c*c*c=n)return 1;else return 0;第 12 题功能:判断 m 是否为素数include#includevoid main()int i;int fun(int);for(i=2;i=200;i+)if(fun(i)printf(%4d,i);getch();int fun(int n)int i,t;t=sqrt(n);for(i=2;i=t;i+)if(n%i=0)return 0;return 1;第 13 题功能:求 1 到 w 之间的奇数之和w 是大于等于 100 小于等于 1000 的整数)int i;long int sum=0;for(i=1;i=w;i+)if(i%2!=0)sum=sum+i;return sum;第 14 题功能:编写函数 fun 计算下列分段函数的值:x2+x+6x0 且 x-3f(x)=x2-5x+60 x10 且 x2 及 x3x2-x-1其它fun(double x)if(x0&x!=-3)return x*x+x+6;else if(x10&x!=2&x!=3)return x*x-5*x+6;else return x*x-x-1;第 15 题功能:求 1 到 100 之间的偶数之积。

void sum()int i,sum=0;for(i=1;i=100;i+)if(i%2=0)sum=sum+i;printf(sum=%d,sum);main()sum();第 16 题功能:求一组数中大于平均值的数的个数例如:给定的一组数为1,3,6,9,4,23,35,67,12,88 时,函数值为 3int al=0;for(int i=0;iN;i+)al+=ai;int av=al/N;int num=0;for(int j=0;jN;j+)if(avaj)al+;/al 最后为个数第 17 题功能:输入 m 的值,计算如下公式的值:y=1/21/41/6.1/2m例如:若 m=9,则应输出:1.414484#include double fun(int m)int i;double d;for(i=1,d=0;i=m;i+)d+=0.5/i;return d;int main()printf(m=9 result=%lfn,fun(9);return 0;功能:编写函数 fun 求 1!+2!+3!+n!的和int i;double sum=0;double jc=1;for(i=1;i=n;i+)jc=jc*i;sum=sum+jc;if(n=0)sum=1;return sum;。

下载提示
相关文档
正为您匹配相似的精品文档