ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:20.95KB ,
资源ID:29209672      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29209672.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设测试二及答案教学文案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设测试二及答案教学文案.docx

1、C语言程序设测试二及答案教学文案C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题1 分,共20分)1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束2、以下不正确的C语言标识符是 ( D )A、 ABC B、 abc C、 a_bc D、 ab.c3、一个C语言程序是由 ( B )A、 一个主程序和若干子程序组成B、 函数组成C、 若干过程组成D、 若干子程序组成

2、4、以下能对一维数组a进行初始化的语句是: ( C ) A. int a5=(0,1,2,3,4,) B. int a(5)= C. int a3=0,1,2 D. int a5=10*15、 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 ( C )A、 int B、 float C、 double D、 不确定6、C语言中函数返回值的类型是由 ( A ) 决定的. A、函数定义时指定的类型 B、 return语句中的表达式类型 C、调用该函数时的实参的数据类型 D、 形参的数据类型7、有如下程序,输入数据:12345M678cR后(表示回车),x的值是 (

3、B ) 。#includemain()int x;float y;scanf(%3d%f,&x,&y);A、 12345 B、 123 C、 45 D、 3458、设有以下说明语句: typedef struct stu int a; float b; stutype; 则下面叙述中错误的是( D )。A、struct是结构类型的关键字 B、struct stu是用户定义的结构类型 C、a和b都是结构成员名D、stutype是用户定义的结构体变量名 9、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: (D )A、p=q B、*p=*q C、n=*q D、p=n 10、

4、已知char x=hello, y=h,e,a,b,e;, 则关于两个数组长度的正确 描述是 ( B ) .A、相同 B、x大于y C、x小于y D、以上答案都不对11、下列代码输出的是 ( C )main()int a5=1,2,3,4,5;int *ptr = (int *)(&a+1);printf(%d,%d,*(a+1),*(ptr-1);A、 2,3 B、 2,4 C、 2,5 D、 输出错误12、有以下程序 main() int a=1, b=3, c=5; int *p1=&a, *p2=&b, *p=&c; *p =*p1*(*p2); printf(%dn,c); 执行后的

5、输出结果是( C )A、1 B、2 C、3 D、413、有以下程序段 #include int main() int x = 10, 20, 30; int *px = x; printf(%d, +*px); printf(%d, *px); px = x; printf(%d, (*px)+); printf(%d, *px); px = x; printf(%d, *px+); printf(%d, *px); px = x; printf(%d, *+px); printf(%dn, *px); return 0;程序运行后的输出结果是( A ) A、11,11,11,12,12,20

6、,20,20 B、20,10,11,10,11,10,11,10C、11,11,11,12,12,13,20,20 D、20,10,11,20,11,12,20,20 14、如果在C程序中有main(intargc,char*argv),那么( D)是指命令行中的 参数个数。 A、argvB、argvC、argc,argvD、argc15、以下关于typedef的叙述不的是(B)A用typedef可以定义各种类型名,但不能用来定义变量B用typedef可以增加新类型C用typedef只是将已存在的类型用一个新的名称来代表D用typedef便于程序的通用16、下面程序的运行结果是( C )#in

7、cludemain()int num=0;while(num=a&ch=A&ch=0&ch=9 )printf(It is a digit charactern);else if( ch= )printf(It is a space charactern); else printf(It is other charactern); 2、若输入字符串:abcde,则以下while循环体将执 行_0_次.while(ch=getchar()=e)printf(*);3、若有定义:chars=china;则C编译系统为数组s开辟_6_个字节的内 存单元.4、下列程序运行后的输出结果是 _* * *

8、* * * *_#includemain()int i,j;for(i=4;i=1;i-)printf(*);for(j=1;j=4-i;j+)printf(*);printf(n);5、若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12得到的初值是_0_ a21得到的初值是 _6_6、在C语言中,二维数组元素的内存中的存放顺序是_按行主顺序存放_三、程序分析题(本大题共4题,每题2分,共8分,写出程序执行结果)1、#includemain( )int a,s,n,count;a=2;s=0;n=1;count=1;while(count=7) n=n*a; s=s+n

9、; +count;printf(“s=%d”,s); 功能:求S=0+2+4+8+16+32+64+128 和。输出结果:s=2542、#includemain()int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j;for (i=0;i3;i+)for(j=0;j3;j+)if (i=j) sum=sum+aij;printf(“sum=%dn”,sum); 功能:出矩形阵a的主对角线上的元素之和。输出结果:27 3、#include main() char grade=C; switch(grade) case A: printf(“90-100n”); case

10、 B: printf(“80-90n”);case C: printf(“70-80n”);case D: printf(“60-70n”); break;case E: printf(“60n”); default : printf(“error!n”); 注:L十进制为7670-8060-704、#include int m33=1,2,3;int n33=1,2 ,3;main( ) printf(“%d,”, m10+n00); printf(“%dn”,m01+n10);3,0四、编程题(本大题共10题,每题6分,共60分)1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏

11、温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)9/5 。#include stdafx.h#include int main() float c,f; printf(input c:); scanf(%f,&c); f= (c+32.0)*9.0/5.0; printf(F=%.2f n,f); system(pause);2、试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;否则输出no。#include stdafx.h#include int main() int x; scanf(%d,&x); if(x%5=0&x%7=0) printf

12、(yes); else printf(no); system(pause);3、判断数m是否为素数(只能被1和它本身整除的整数)?#include stdafx.h#include int main() bool isPrime(unsigned long); int m; printf(input m:); scanf(%d,&m); if(isPrime(m) printf(m is a prime number!n); else printf(m is not a prime number!n); system(pause);bool isPrime(unsigned long n) i

13、f (n 1; else if (n % 2 = 0 | n % 3 = 0) return false; else for (unsigned short i = 5; i * i = n; i += 6) if (n % i = 0 | n % (i + 2) = 0) return false; return true; 4、对15个数进行排序,按从小到大的顺序输出。#include stdafx.h#include int main() int i,j,a15,t; printf(input 15 numbers:n); for(i=0;i15;i+) scanf(%d,&ai); f

14、or(j=0;j14;j+) for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; for(i=0;i15;i+) printf(%5d,ai); printf(n); system(pause);5、(*)编程输出如下图形(不能仅用printf语句): * * * * * * * * * * * * * * * * * * * * * * * *#include stdafx.h#include int main() int i,k,j; for(i=0;i=4;i+) for(j=0;j4-i;j+) printf( ); for(k=0;k=2*i;k+) printf

15、(*); printf(n); system(pause);6、请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字 母代替原来的字母。例如,字母”A”后面第4个字母是”E”,用”E”,用E代替A,因此,”China”应译为”Glmre”.请编写一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为China,经过运算,使c1,c2,c3,c4,c5分别变成Gimre.分别用putchar函数和printf函数输出这5个字符。Printf#include stdafx.h#include int main() char c1=C,c2=h,c3=i,c4=n

16、,c5=a; printf(%c%c%c%c%c,c1+4,c2+4,c3+4,c4+4,c5+4); system(pause);Putchar#include stdafx.h#include int main() char c1=C,c2=h,c3=i,c4=n,c5=a; putchar(c1+4); putchar(c2+4); putchar(c3+4); putchar(c4+4); putchar(c5+4); system(pause);7、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少#include stdafx.h#include int m

17、ain() int count =0; for(int i=1;i5;i+) for(int j=1;j5;j+) for(int n=1;n5;n+) if(i!=j&i!=n&j!=n) printf(%d%d%d%n,i,j,n); count+; printf(一共有%dn,count); system(pause);8、请编写程序,输出以下扬辉三角形( 要求输出10行)。第一种#include stdafx.h#include # define N 10int main() int i,j; int aNN; for(i=1;iN;i+) ai1=1; / 每行第一个输出1 aii=

18、1; /每行末尾输出1 for(i=3;iN;i+) for(j=2;j=i-1;j+) aij=ai-1j-1+ai-1j; /第i行j列的数等于他低下一行的相邻左右数的和。 for(i=1;iN;i+) for(j=1;j=N-i-1;j+)printf( ); /输出三角 前面用空格填充 for(j=1;j=i;j+) printf(%4d,aij);/输出三角数值 printf(n); /换行 printf(n); system(pause);第二种#include stdafx.h#include #define M 10#define N 10int main() int aMN,

19、i,j; for(i=0;iM;i+) for(j=0;j=i;j+) if(j=0|j=i) aij=1; else aij=ai-1j-1+ai-1j; for(i=0;iM;i+) for(j=0;j=i;j+) printf(%4d,aij); printf(n); system(pause);9、写一程序,要求用户在键盘上输入一个整数,并把每位数字转换为英文。例如:输入1024时,输出One Zero Two Four#include stdafx.h#include int main() long int n; int m,i=0,c10; scanf(%ld,&n); do m=

20、n%10; i+; ci=m; printf(%5d%5d%5dn,i,m,ci); while (n/=10)0); while(i=1) i-; switch(ci+1) case 0: printf(zero);printf( );break; case 1: printf(one);printf( ); break; case 2: printf(two);printf( ); break; case 3: printf(three);printf( );break; case 4: printf(four);printf( );break; case 5: printf(five);

21、printf( );break; case 6: printf(six);printf( ); break; case 7: printf(seven);printf( ); break; case 8: printf(eight);printf( ); break; case 9: printf(nine);printf( ); break; default:printf(no); system(pause);10、请编程,从键盘输入6名学生的5门成绩,分别统计每个学生的平均成绩。(在主函数中输入输出,子函数求平均成绩)#include stdafx.h#include int main()

22、 double pingjun(double,int); int r,c,i,j; double tmp,sum10; r=6;/6 students c=5;/5 subjects for(i=1;i=r;i+) printf(请输入第%d个学生的所有成绩n,i); for(sumi=0,j=0;jc;j+) scanf(%lf,&tmp); sumi+=tmp; for(i=1;i=r;i+) printf(the average of student %d is: %0.3lfn,i,pingjun(sumi,c); system(pause); return 0;double pingjun(double sum,int n) sum = sum /n; return sum;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1