- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)