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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言习题级参考答案.docx

1、C语言习题级参考答案测试题111.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(B)。A、char s10;strcpy(s,abcdefg);B、char s10;s=abcdefg;C、char s10=abcdefg;D、char t=abcdefg,*s=t2. 下列语句的输出结果是(B)。printf(%dn,(int)(2.5+3.0)/3);A、2B、1C、有语法错误不能通过编译D、03. 以下程序段的输出结果是 Amain() char ch1, ch2; ch1 = A + 5 - 3; ch2 = A + 5 - 3; printf(“%d,%cn”, ch1

2、,ch2); A、67, CB、B,CC、不确定的值D、C,D4. 以下程序段的输出结果为(B)。 char c=abc; int i=0; do ;while(ci+!=0);printf(%d,i-1);A、abcB、3C、abD、25. 相同结构体类型的变量之间,可以(C)。A、比较大小B、地址相同C、赋值D、相加6. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为(B)的可执行文件A、.objB、.exeC、.cD、.bas7. 以下程序的输出结果是 Cmain() char s = “ABCD”, *p;for(p = s; p b!=c和a(b!=c)的执行顺序是一样的B

3、、a&bc的结果为假C、a|(b=c)执行后b的值为0D、!a!=(b!=c)表达式的值为110. 当调用函数时,实参是一个数组名,则向函数传送的是(B)。A、数组每个元素中的值B、数组的首地址C、数组的长度D、数组每一个元素的地址11. C语言中,switch后的括号内表达式的值可以是 CA、只能为整型和字符型B、只能为整型C、任何类型D、只能为整型,字符型,枚举型 12. 定义语句int *swap();指的是 DA、以上说法均不对B、swap是一个返回整型值的函数C、swap是一个指向函数的指针D、swaP是一个返回指向整型值指针的函数13. 若有定义int a=9;,则执行语句prin

4、tf(%dn,+a);后的输出结果是(C)。A、11B、9C、10D、1214. 以下数组定义中不正确的是(C)。A、int a23;B、int b3=0,1,2,3;C、int d3=1,2,1,2,3,1,2,3,4;D、int c100100=0;15. 下列程序段的输出结果为(C)。 int x=3,y=2; printf(%d,(x-=y,x*=y+8/5);A、5B、1C、3D、716. 下列四组选项中,均不是C语言关键字的选项是(C)。A、getc char printfB、include scanf caseC、define IF typeD、while go pow17. 若

5、用数组名作为函数的实参,传递给形参的是(C)。A、数组元素的个数B、数组第一个元素的值C、数组的首地址D、数组中全部元素的值18. 若变量a与i已正确定义,且i已正确赋值,合法的语句是(B)。A、a=a+=5;B、+i;C、a=1D、a=int(i);19. 指针变量p进行自加运算(即 执行p+;)后,地址偏移值为2,则其数据类型为(A)。A、intB、doubleC、floatD、char20. 下面标识符中,不合法的用户标识符为 AA、m#nB、x_22C、DoD、CHAR21. 下列数组说明中,正确的是(B)。A、int array3;B、int array4;C、int array5;

6、D、int array;22. 判断两个字符串是否相等,正确的表达方式是(C)A、while(s1=s2)B、while(s1= =s2)C、while(strcmp(s1,s2)=0)D、while(strcmp(s1,s2)=0)23. 利用 fseek 函数可以实现的操作是(D)。A、改变文件的位置指针B、文件的随机读写C、文件的顺序读写D、以上答案均正确24. 下列关于单目运算符+、-的叙述中正确的是(A)A、它们的运算对象可以是char型变量和int型变量B、它们的运算对象可以是任何变量和常量C、它们的运算对象可以是int型变量,但不能是char型变量D、它们的运算对象可以是char

7、型变量,但不能是int型变量25. 设有 int x=11; 则表达式 (x+ * 1/3) 的值是(C)。A、12B、11C、3D、426. 下列变量定义中合法的是(A)。A、short _a=1-.1e-1;B、long do=0xfdaL;C、double b=1+5e2.5;D、float 2_and=1-e-3;27. 下列语句的结果是(B)。main() int j; j=3;printf(%d,+j); printf(%d,j+);A、3,4B、4,4C、4,3D、3,328. 系统的标准输入文件是指(B)。A、显示器B、键盘C、硬盘D、软盘29. 设有 int x=11; 则表

8、达式 (x+ * 1/3) 的值是(A)。A、3B、4C、12D、1130. 以下程序的输出结果是 Cvoid fun( int *s) static int j = 0;do sj += sj+1;while(+j 2); main() int k, a10 = 1, 2, 3, 4, 5;for( k = 1; k 3; k+)fun(a);for( k = 0; k 5; k+) printf(%d, ak); A、34756B、23445 C、35745D、12345判断1. 静态存储变量不随其所在函数的调用结束而被释放,其值会保留作为下一次调用的初值.T2.若有说明int c;则wh

9、ile(c=getchar();是正确的C语句。T3. 设有数组定义: char array =hello; 则数组 array所占的空间为5. F4. 经过下述赋值int x=3;double y;y=(double)x;后,则x变量的数据类型为int。T5. char *p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。F6. integer是合法的关键字。F7. 共同体变量所占的内存长度等于最长的成员的长度。T8. 数组在内存中占一连续的存储区,数组名代表数组的首地址.T9. 若有定义:int j;则表达式(j=3,j+,j=5,j+5)执行后,j的值为10。F10.

10、+(i+1);是非法的赋值语句。T程序设计/*-【程序设计】1-功能:求一个四位数的各位数字的立方和。-*/#include void TestFunc(); int fun(int n) /*Begin*/ int d,s=0; while (n0) d=n%10; s+=d*d*d; n/=10; return s; /* End */ main() int k; k=fun(1234); printf(k=%dn,k); TestFunc();void TestFunc() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(in.dat,r); if(IN=

11、NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);/*-【程序设计】-功能:将tt数组中的小写字母都改为对应的大写字母,其它字符删除。例如:a

12、4 bdsk88*,结果:ABDSK -*/void TestFunc(); #include #include void fun(char tt) /*Begin*/ int i,j=0; for(i=0;tti;i+) if(a=tti)&(tti=z) ttj+=tti-32; ttj=0; /* End */main() char tt81; printf(nPlease enter a string:); gets(tt); fun(tt); printf(nThe result string is:n%s,tt); TestFunc();void TestFunc() FILE *

13、IN,*OUT; char s100; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); fgets(s,100,IN); fun(s); fprintf(OUT,%s,s); fclose(IN); fclose(OUT);程序改错/*- 【程序改错】-功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值 小于等于0.0001。 1 1 1 - = 1 - - + - - - + . 4 3 5 7-*/

14、#include /*ERROR*/#include fun() int i=1; /*ERROR*/ int s=0,t=1,p=1; /*ERROR*/ while(fabs(t)=1e-4) s=s+t; p=-p; i=i+2; t=p/i; /*ERROR*/ printf(pi=%dn,s*4);main() fun();【改错1】 错误【学生答案】#include 【参考答案】#include math.h#include =【改错2】 错误【学生答案】int s=0,t=1,p=1;【参考答案】float s=0,t=1,p=1;float s=0,p=1,t=1;float

15、p=1,s=0,t=1;float p=1,t=1,s=0;float t=1,p=1,s=0;float t=1,s=0,p=1;=【改错3】 错误【学生答案】while(fabs(t)1e-4)while(0.0001fabs(t)while(1e-40.0001)=【改错4】 错误【学生答案】printf(pi=%dn,s*4);【参考答案】printf(pi=%fn,s*4);printf(pi=%fn,4*s);/*- 【程序改错】2-功能:以下程序能求出1*1+2*2+.+n*n1000) +n; s+=n*n; /*ERROR*/ printf(n=%dn,&n-1); 【改错1

16、】 错误【学生答案】s=n=0;【参考答案】s=n=0;=【改错2】 错误【学生答案】while(s1000)【参考答案】while(s=1000)=【改错3】 错误【学生答案】printf(n=%dn,&n-1);【参考答案】printf(n=%dn,n-1);/*-【程序填空】-功能: 统计字符s在字符串str中出现的次数。例如:若字符串为aaas lkaaas,则应输出2。-*/#include /*FILL*/int fun (char t,_) int i,num=0; for(i=0; stri; i+) /*FILL*/ if(_) num+; return num;main()

17、 char str80,s; printf(input a string:) ; gets(str); printf(输入要查找的字符s:); /*FILL*/ s=_; printf(%dn,fun(s,str); 【空1】 错误【学生答案】int fun (char t,_)【参考答案】char strchar *str/*-【程序填空】-功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的 和、差、积、商。-*/#includevoid main() float a,b,c,d,e,f; printf(输入第一个复数的实部与虚部:); scanf(%f, %f,&a,&b); pri

18、ntf(输入第二个复数的实部与虚部:); scanf(%f, %f,&c,&d); /*FILL*/ _; f=b+d; printf(相加后复数:实部:%f,虚部:%fn,e,f); e=a*c-b*d; /*FILL*/ _; printf(相乘后复数:实部:%f,虚部:%fn,e,f); e=(a*c+b*d)/(c*c+d*d); /*FILL*/ _; printf(相除后复数:实部:%f,虚部:%fn,e,f);【空1】 错误【学生答案】_;【参考答案】e=a+ce=c+a=【空2】 错误【学生答案】_;【参考答案】f=a*d+b*cf=a*d+b*cf=a*d+b*c=【空3】 错误【学生答案】_;【参考答案】f=(b*c-a*d)/(c*c+d*d)f=(b*c-a*d)/(c*c+d*d)f=(b*c-a*d)/(c*c+d*d)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2