网站大量收购独家精品文档,联系QQ:2885784924

C程序设计8 11章测试题谜底版本.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计8-11章测试题(04级) 姓名____ 选择题:(每题3分,共45分) 1、以下说法正确的是( b )。建立函数的目的之一是 A)提高程序的执行效率。 B) C) D) A) double fun(int x , int y) B) double fun(int x ; int y) C) double fun(int x ,int y); D) double fun(int x ; int y); 3、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( b ) float 型 int型 long 型 double型 4、关于C语言的函数,下面说法错误的是( c ) 一个源程序文件由一个或多个函数组成 函数之间可以互相调用,但不能调用main函数 函数可以嵌套定义 一个C语言程序是由函数组成的 5、C语言规定,简单变量做实参时候,他和对应形参之间的数据传递方式是( b ) A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式 6、在#define PI 3.14159中,用宏名代替一个( d ) a)常量 b)单精度数 c) 双精度数 d)字符串 7、以下有关宏替换的叙述不正确的实( d ) a) 宏替换不占用运行时间 b)宏名无类型 c) 宏替换只是字符替换 d) 宏名必须用大写字母表示 8、若有以下定义,则对a数组元素地址的正确引用是( b ) int a[5]; int *p=a; A)a[5] B)p+2 C)a++ D)a 9、若有以下定义,则对a数组元素的正确引用是( d ) int a[5]; int *p=a; A)*a[5] B)a+2 C)*(p+5) D)*(a+2) 10、若有说明:int *p,m=5,n;以下正确的程序段是( c ) A)p=n;scanf(“%d”,p); B)p=n;scanf(“%d”,*p); C)scanf(“%d”,n);*p=n; D)p=n;*p=m; 11、变量的指针,其含义使指该变量的( b ) a)值 b)地址 c) 名 d) 一个标志 12、若有语句int *point,a=4; 和point+a; 下面均代表地址的一组选项( d ) a) a, point , a b) *a, a,*point c) * point,point,a d) a,*point,point 13、若有定义:int a[2][3]; 则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( a ) a) *(*(a+i)+j) b) (a+i)[j] c)*(a+i+j) d) *(a+i)+j 14、设有如下结构定义: struct addr { char name[30]; char street[40]; char city[20]; char office[30]; char phone[10]; int age;} stud; 若用printf(“%s\n”,…)访问该结构中name值的正确方法是__①__ ( d ),用scanf(“%d”,…)访问结构元素age的地址的正确方法是_②___ ( b ) 。 ①(A) stud-name (B) stud.name (C) stud.name (D) stud.name ②(A) stud.age (B) stud.age (C) stud.age (D) stud-age 填空题与简答:(共25分) 1、一个变量的地址称为该变量的( 指针 ),如果有一个变量专门存放另一个变量的地址,则它称为( 指针变量 ) 2、通过指针变量输出a数组的10个元素。有人编写了如下程序: #include stdio.h void main() { int *p,i,a[10]; p=a; for(i=0;i10;i++) scanf(%d,p++); printf(\n); for(i=0;i10;i++,p++) printf(%d ,*p); } 你知道问题出在哪里吗?( 经过第2个循环后,p指针的位置已经变了 ,不再指向a数组的首地址 。)怎么改呢?( 在第2个for循环前加个p=a;就可以了,这样使变了的指针又指

文档评论(0)

yxutcangfp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档