C语言第七八九章测验.doc

上传人:自*** 文档编号:126225588 上传时间:2020-03-23 格式:DOC 页数:8 大小:65.50KB
返回 下载 相关 举报
C语言第七八九章测验.doc_第1页
第1页 / 共8页
C语言第七八九章测验.doc_第2页
第2页 / 共8页
C语言第七八九章测验.doc_第3页
第3页 / 共8页
C语言第七八九章测验.doc_第4页
第4页 / 共8页
C语言第七八九章测验.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言第七八九章测验.doc》由会员分享,可在线阅读,更多相关《C语言第七八九章测验.doc(8页珍藏版)》请在金锄头文库上搜索。

1、C语言 第七八九章测验班级: 学号: 姓名: 一、选择题1以下程序的运行结果是( )。sub(int x, int y, int *z) *z=y-x; void main()int a,b;sub(10,5,&a);sub(7,a,&b);printf(%d,% d ,a,b);A) 5, 2 B) -5,-2 C) -5,-12 D) 5, -22. 函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则()。A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用3变量的指针,其含义是指该变量的(

2、)。A)地址 B) 值 C)名 D)一个标志4.已有定义 int k=2; int * ptr1,* ptr2; 且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。A)k=*ptr1 + *ptr2; B)ptr2=k; C)ptr1=ptr2; D)k=*ptr1*(*ptr2);5.若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 A)*p=&a; scanf(“%lf”,p); B)*p=&a; scanf(“%f”,p); C) p=&a; scanf(“%lf”,*p); D)p=&a; scanf(“%lf”,p);

3、6.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是( )。A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,point7.设char *s=ta103bc;则指针变量s指向的字符串所占的字节数是( )。A)9 B)5 C)6 D)78.下面程序段的运行结果是( )。char *s=abcde; s+=2; printf(%d,s);A)cde B)字符c C)字符c的地址 D)无确定的输出结果9.设有下面的程序段:则下列叙述正确的是( )。char s=china; char *

4、p; p=s;A)s和p完全相同 B)数组s中的内容和指针变量p中的内容相等C) *p与s0相等 D) s数组长度和p所指向的字符串长度相等10.若有定义 int a5, * p=a; 则对a数组元素的正确引用是( )。A)*&a5 B)a+2 C)*(p+5) D)*(a+2)11.若已定义char s10; 则在下面表达式中不表示s1的地址的是( )。A)s+1 B)s+ C)&s0+1 D)&s112.下面程序的运行结果是( )。#include#includeint main()char * s1=AbDeG;char * s2=Abdeg;s1+=2; s2+=2;printf(%d

5、n,strcmp(s1,s2);A)负数 B) 正数 C)零 D)不确定的值13.若有定义: int *p4; 则标识符p( )。A)是一个指向整型变量的指针 B)是一个指针数组名C)是一个指针,它指向一个含有四个整型元素的一维数组 D)说明不合法14.若有int a10 , *p=a; 则p+5表示( )。A)元素a5的地址 B)元素a5的值 C)元素a6的地址 D)元素a6的值15.设有以下定义:则正确的叙述是()。char *cc2=1234,5678;A)cc数组的两个元素中各自存放了字符串1234和5678的首地址B)cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址C

6、)cc是指针变量,它指向含有两个数组元素的字符型一维数组D)cc数组元素的值分别是1234和567816.若有以下定义,则能够正确表示数组元素x12的表达式是( )。int x43=1,2,3,4,5,6,7,8,9,10,11,12; int *p=&x00;A)p12 B)(*p+1)+2 C)p+5 D)p517.语句int (*ptr)( );的含义是( )。A)ptr是指向一维数组的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针,该函数返回一个int型数据D)ptr是一个函数名,该函数的返回值是指向int型数据的指针18已有函数max(a,b),为了让函数指

7、针变量p指向函数max,正确的赋值方法是( )。A)p=max; B)*p=max; C)p=max(a,b); D)*p=max(a,b);19.下面程序段的运行结果是( )。char a=language, * p ; p=a;while(*p!=u) printf(%c,*p-32); p+; A)LANGUAGE B)language C)LANG D)language20.关于语句 int *ptr( ); 以下说法正确的是( )。A)ptr是一个指针变量 B) *ptr是一个函数名C)这个语句是定义函数的语句 D) ptr是一个函数名,该函数的返回值是指向int型数据的指针21.

8、以下叙述中正确的是 ()。A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同22. 有以下程序,程序运行后的输出结果是()。 A)64, 28 B)4, 4 C)4, 3 D)64, 64 #include # define f(x) (x*x)int main( ) int i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; printf(%d, %dn,i1,i2); 23.在调用函数时,如果实参是简单

9、变量,它与对应形参之间的数据传递方式是()。A) 地址传递 B) 单向值传递C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定24.有以下程序 ,#includeint fun(int n) if(n=1) return 1; else return (n+fun(n-1); int main( ) int x; scanf(“%d”,&x); x=fun(x); printf(“%d”,x); 程序执行时,给变量x输入10,程序的输出结果是 ( )A)55 B) 54 C) 65 D) 4525. 已有定义:char a=xyz, b=x,y,z;,以下叙述中正确的是 ()。A

10、)数组a和b的长度相同 B)a数组长度小于b数组长度C)a数组长度大于b数组长度 D)上述说法都不对26. 以下程序的输出结果是()。 #include #includemain() char st20= “hello0t”; printf(%d %dn”, strlen(st),sizeof(st); A) 9 9 B) 5 20 C) 13 20 D) 20 2027.当说明一个结构体变量时系统分配给它的内存是( )。A)各成员所需内存量的总和 B)结构中第一个成员所需内存量C)成员中占内存量最大者所需内存 D)结构中最后一个成员所需内存量28.C语言结构体类型变量在程序执行期间( )。A

11、)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中C)部分成员驻留在内存中 D)没有成员驻留在内存中29.以下程序的结果是( )。#include struct WWW int X; int Y; ;void main( ) struct WWW A3=7,8,9,10,12,13; int a; a=A1.X+A2.Y; printf(%dn,a); A) 17 B) 22 C) 16 D) 2130.以下程序的输出结果是( )。struc STU char name10; int num;void f1(struct STU c) struct STU b=“LiSiGuo”,2042; c=b;void f2(struct STU *c) struct STU b=“SunDan”,2044; *c=b;main( ) struct STU a=“YangSan”,2041, b=“WangYin”,2043; f1(a); f2(&b); printf(“%d %d”,a.num , b.num );执行后的输出结果是A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043二、填空题1.若想输出b数组的十个元素,下面存在错误的程序行是 。(每个程序行前面的数字代表行号)1 int m

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号