C语言考试题与答案(4).docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、单项选择题(20分,每题2分) 1.程序段 C int *p,a; p=a; a=10; printf(%d,p); 的输出应为: A)10 B)0 C)不能确定 D)语法错误 2.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式 3.以下语句或语句组中,能正确进行字符串赋值的是。D A)char *sp;*sp=right!; B)char s[10];s=right!; C)char s[10];*s=right!; D)char *sp=right!; 4.for(i=0;i10;i++) A if(i〈=5) break; 则循环结束后i的值为 A)0 B)1 C)5 D)10 5.有以下程序 main() { int m,n,p; scanf(m=%dn=%dp=%d,m,n,p); printf(%d%d%d\n,m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是。A A)m=123n=456p=789 B) m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 6.C语言中,最基本的数据类型包括:C A)整型、实型、逻辑型 B)整型、字符型、数组 C)整型、实型、字符型 D)整型、实型、结构体 7.以下说法正确的是C A) C程序总是从第一个定义的函数开始执行 B) 在C程序中,要调用的函数必须在main()函数中定义 C) C程序总是从main()函数开始执行 D) C程序的main()函数必须放在程序的开始部分 8.程序段B int *p, a=1; p=a; *p=10; a的值为: A) 1 B) 10 C) 不能确定 D) 11 9.以下定义语句中,错误的是 D A) int a[]={1,2}; B) char *a[3]; C) char s[10]=test; D) int n=5,a[n]; 10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 D A) 3 B) 6 C) 10 D) 20 二、填空题(30分,每空2分) 1.已知字符A的ACSII码值为65,以下语句的输出结果是 66 。 char ch=’B’; printf(%c %d\n,ch,ch); 2.’a’在内存中占 1 个字节,”a”在内存中占 2 个字节。 3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 2 。 4.有以下程序,执行后输出结果是 0 。 main( ) { int t=1,i=5; for(;i=0;i--) t*=i; printf(%d\n,t); } 5.在循环语句中,break语句的作用是 跳出循环体 ,continue语句的作用是 跳过循环体中剩余的语句而强行执行下次循环 。 6.下面程序段将字符数组b连接到数组a的后面。 main() { char a[20]= .I am ; char b[]= .a student.; int i, j; i = strlen(a); for(j =__0___; b[j]!=\0; j++) { a[__i+j _] = b[__j __]; } a[___i+j __] = ___\0___ ; } 7.for(表达式1;表达式2;表达式3) 语句组 的执行顺序是先求解表达式1、再___判断表达式2_____、如果成立则执行___语句组____、然后___求解表达式3______。 三、写出程序的运行结果(30分,每题10分) 1.写出程序运行后的输出结果。 int f(int b[][4]) { int i,j,s=0; for(j=0;j4;j++) { i=j; if(i2) i=3-j; s+=b[i][j]; } return s; } main( ) { int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf(%d\n,f(a)); } 答: 1. 16 2. 0.500000 2.写出程序运行后的输出结果 #include stdio.h main() { float x=2,y; if(x0) y=0; else if(x10) y=1/x; else y=1; printf(“%f\n”,y); } 答、0.500000 3.(1)函数sub()的功能是什么?(2)写出程序运行的输出结果。 long sub(int nu

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档