《C语言(结构体与共用体)习题与答案.pdf》由会员分享,可在线阅读,更多相关《C语言(结构体与共用体)习题与答案.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、指针的含义是()。A.名B.一个标志C.地址D.值正确答案:C2、若已定义a为int型变量,则下面的语句中正确的是()。A.int*p=*a;B.int*p=&a;C.int*p=a;D.int p=&a;正确答案:B3、若有定义:int x/p;则以下正确的赋值表达式是()。A.*p=&xB.p=&xC.p=xD.*p=*x正确答案:B4、下面的语句段中,char*s=ta018bc”;for(;*s!=Of;s+)for循环的执行次数是()。A.9B.5C.7D.6(*)printf;正确答案:D5、假设int*p3;则以下叙述中正确的是()。A.p是一个指针,它可以指向一个一维数组中
2、的任一元素B.(*p)3与*p3等价C.p是一个指针,它只能指向一个每行包含3个int类型元素的二维数组D.p是一个与第十数组正确答案:D6、若有以下定义,int x10=0,1,2,3,4,5,6,7,8,9,*pl;则数值不为3的表达式是()。A.pl=x+2,*(pl+)B.pl=x+2Z*+plC.pl=x+3,*pl+D.x3正确答案:A7、若有以下说明语句,static int a23=l,3Z5,7,9,11;int m,n;且0ml,0 n2,则下述对数组元素的引用,正确的是()。A*(a+5)B.am+nC.*(*(a+m)+n)D.(a+m)+n正确答案:C8、下面程序的运
3、行结果是()。#includevoid main()int x5=274z6z8z10z*p,*pp;P=X;pp=&p;printf(H%dHz*(p+);)A.4 6B.2 2C.2 4D.4 4正确答案:C9、以下程序运行的结果是()。#include#includevoid main()char*plz*p2zstr50=abc,st50=abc;pl=st;p2=abc;strcpy(str+l,strcat(pl,p2);printf(%sn,str);)A.cabcabcB.bcabcabcC.aabcabcD.abcabcabc正确答案:c10、下面程序的运行结果是()。#in
4、cludesub(int x,int y,int*z)void main()int a,b,c;*z=y-x;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(,%4d,%4d,%4dn,a,b,c);A.5,-2,-7B.5,2,3C.-5,-12,7D.-5,-12,-7正确答案:D11、以下程序运行的结果是()。#includevoid main()int b,a=28;char s10,*p;p=s;dob=a%16;if(b0);*P=0;puts(s);)A.C51B.10C.2D.O正确答案:A12、下面程序的运行结果是()。#include
5、void main()static char a=,Language,b=,programen;char*pl,*p2;int k;pl=a;p2=b;for(k=0;k=7;k+)if(*(pl+k)=*(p2+k)printf(%cwz*(pl4-k);)A.gaB.有语法错误C.gae0.Language正确答案:c13、下面程序的运行结果是()。#includevoid main()int a=2,4,6,8,10,y=l,x,*p;p=&dl;for(x=0;x3;x+)y+=*(p+x);printf-%dn”,y);)A.18B.19C.20D.17正确答案:B14、下面判断正确
6、的是()。A.char c4=abcd4=abc;等价于char c4=d4=abc;B.char*a=china;等价于char*a;*a=china;C.char str10=china);等价于char str10;str=china;D.char*s=china;等价于char*s;s=china;正确答案:D15、函数strcmp(char*szchar*t)功能是()。当第1个串大于第二个串时,函数返回值大于零;当第1个串等于第二个串时,函数返回值为零;当第1个串小于第二个串时,函数返回值小于零;与strcmp功能相等的程序段是:A.int strcmp4(char*szchar*
7、t)for(;*s=*t;s+,t+)if(!*s)return 0;return(*t-*s);B.int strcmp2(char*s,char*t)for(;*s+=*t+;)if(!*s)return 0;return(*s-*t);)C.int strcmp3(char*s,char*t)for(;*t=*s;)if(!*t)return 0;t+;s+;return(*s-*t);)D.int strcmpl(char*s,char*t)for(;*s+=*t+;)if(*s=0*)return 0;return(*s-*t);)正确答案:c16、设有以下说明:struct stud char num6;int s4;double ave;a;则变量a在 内存所占字节数是()。A.11B.5C.18D.22正确答案:D二、判断题I、在c语言中,可以把一个结构体变量作为一个整体赋值给另一个具有相同类型的结 构体变量。(V)2、当说明一个结构体变量时系统分配给它的内存是成员中占内存量最大者所需的容 量。(x)三、填空题1、若有以下定义和语句,int a4=0zl,2z3,*P;P=&a;则*-p的值是。正确答案:12、若有定义:int a=2,4,6,8,10,12);则*(&a血+2*2+1)的值是正确答案:12