12级信工计本c语言(老师所给)全真模拟题.doc_第1页
12级信工计本c语言(老师所给)全真模拟题.doc_第2页
12级信工计本c语言(老师所给)全真模拟题.doc_第3页
12级信工计本c语言(老师所给)全真模拟题.doc_第4页
12级信工计本c语言(老师所给)全真模拟题.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12级信工计本C语言全真模拟题及答案(答案是我整理的,如有错误请及时指出)一、填空题第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() int w = 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+; else b3+;第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; do k=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 student char number6; char name6; int score3; 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, );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, );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);static float scoreM+1N+1=78,85,83,65, 88,91,89,93, 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+)/*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,min max=min=n; if(maxn) /最小值 min=n; printf(max number %d min 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+6 x0且x-3 f(x)= x2-5x+6 0x10且x2及x3 x2-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时,函 数值为3。int 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/4 1/6.1/2m 。例如:若m=9,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论