C语言笔试复习题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言笔试复习题.doc

C语言笔试复习题 (2010-05-07 08:22:48) 转载▼ 标签: 分类: 一、判断对错 ? 1. 3_a_b是合法的标识符。 ? 2.设有定义float a; 则变量a在内存中占2个字节。 ? 3.C语言在执行过程中,不检查数组下标是否越界。 ? 4.局部静态变量在编译时赋初值。 ? 5.若有以下定义:#define C? R? 37.6921;则C? R是称为宏名的标识符。 ? 6.若有定义int *fun(int? x ,int? y){……..}则fun函数是用指针做参数的函数。 ? 7.若有定义int a[2][3]={{1,3},{2,4}};则a[1][2]的值为4。 ??8.if语句嵌套时,每个else总是与它上面最近的并且没有与其它else匹配的if配对。 ? 9.循环语句for(k=0;k=10;k++);最多执行10次。 ? 10.函数定义时,出现在函数首部括号中的参数称为实参。 二、指出下列错误: 1.??? 有如下程序来求 1+1/2+1/3+1/4+1/5的和。 main() {int i,n; ?float t,s; ?n=5;s=0; ?for(i=1;i=n;i++){t=1/I;s=s+t;} printf(“%f\n”,s); } 2. 以下程序调用exc函数对两个整数进行交换。 ?? void? exp(int? *a,? int? *b){int? *t; t=*a; *a=*b; *b=t;} ? ?? main() ?? { int x, y ,? *px,? *py; ? px=x;? py=y;? scanf(“%d%d”,px,py); ?? exc(px,py); ? printf(“%d,%d\n”,x,y); 3. 欲对数组a的各个元素赋值: ? main() ? {int? a[5], i; ? for(i=0;i5;i++) scanf(“%d”,*(a+i));…….} 4. 欲使指针s指向字符串“abcd”的首字符: main() {? char *s; ?? *s=”abcd”; ……} 5.? 有如下程序,欲实现将数组元素a[1][1]的值放在变量i中: ? int? a[2][3]={{1,2,3},{4,5,6}}; ? int? I; ? i=*(*a+1); 四、阅读和分析程序并回答问题 1、main()?????? 问题:左侧hcf函数的功能是求两个正整数的最大公约数, ?? {int a,?? b,?? c;??? ?并返回相应的值。请填空。 scanf(“%d%d”,a,b); c=hcf(a,b); printf(“%d\n”,c);} ? hct(int? m, int? n) {int r; r=m%n; while(?? A??? ) {m=n;n=r;r=m%n;} ???? B?? ;} 2、#include “stdio.h”????????? 问题:A写出画线处语句的功能。 main()???????????????????????? B若输入abc12dec34程序的运行结果是什么? {char s[80]; int i,? j; gets(s); for(i=j=0;s[i]!=’\0’;i++) if(s[i]!=’c’) s[j++]=s[i]; s[j]=’\0’; puts(s); } 3、main()??????????????? 问题:A写出程序运行结果。 {int? x[10]={2,4,6,8,10,12,14,16,18,20},*p,**k; p=x; k=p; *(x+2)=100;? p=p+2;? *(p+2)=200; printf(“%d\n”,**k); } 三、1、已知:x=3,y=2, 则表达式x*=y+8 的值是(?? )。 ??? A 3? B 2?? C 30?? D? 10 2、若有说明:int i,j=7,*p=i;? 则与i=j;等价的语句是(?? )。 ??? A i=*p? B *p=*j;?? C i=j;?? D? i=**p; 3、若有以下定义和语句:int? **pp, *p, a=10,? b=20; ?? pp=p;? p=a;? p=b; printf(“%d,%d\n”, *p,? **pp); 则输出结果是: ??? A 10,20? B 10,10 ?? C 20,10? D 20,20 4、若有以下说明,则对a数组元素的正确引用是(?? )。 ?? int a[5],? *p=a; ?? A? a[5]???? B? *p+2?? C? *(a-2)?? D *p 5、下面程序片段的输出结果是()。 ?? int n=10; ??

文档评论(0)

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

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

1亿VIP精品文档

相关文档