308、C语言中函数能否嵌套调用和递归调用? A、二者均不可 B、前者可,后者不可 C、前者不可,后者可 D、二者均可、D、3
309、C语言联合类型在任何给定时刻_____。 A、 所有成员一直驻留在结构中。 B、 只能有一个成员驻留在结构中。 C、 部分成员驻留在结构中。 D、 没有成员驻留在结构中。 、B、3
310、#include main() { int a,b,c,d; scanf(\c=gbs(a,b); d=gys(a,b); printf(\gbs=%d gys=%d\\n\} gbs(a,b) int a,b; { int c; a=a>0?a:-a; b=b>0?b:-b; c=a*b; if(c==0) return(0); while(a!=b) if(a>b) a-=b; else b-=a; return(c/a); } gys(a,b) int a,b; { if(a*b==0) return(0); a=a>0?a:-a; b=b>0?b:-b; while(a!=b) if(a>b) a-=b;else b-=a; return(a); } 请写出上面程序的运行结果: A、a=30 b=63 gbs=189 gys=9 B、a=27 b=63 gbs=190 gys=10 C、a=27 b=63 gbs=189 gys=9 D、a=27 b=63 gbs=188 gys=10、C、3
311、请读程序: main() { int *p,x; x=10; *p=x; printf(\请判断上面程序____ A、错误:*p=x; printf(\正确:p=&x; printf(\、错误:*p=x; printf(\正确:p=**x; printf(\、错误:int *p,x; 正确:int *(p),*(x);D、错误:*p=x; 正确:p=&x;、A、3
312、根据下面的定义,能打印出字母M的语句是____ A) printf(\、name); D) printf(\、name[0]); B) printf(\、name[1]); C) printf(\、name[1]); struct person { char name[9]; int age;}; struct person class[10]={\、D、3
313、假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是 A) free(q); p->next=q->next; B) (*p)、next=(*q)、next; free(q); C) q=(*q)、next; (*p)、next=q; free(q); D) q=q->next; p->next=q; p=p->next; free(p);、B、3
314、假定下列程序的可执行文件名为prg、exe,则在该程序所在的子目录下输入命令行: prg hello good后,程序的输出结果是 A) hello good B) hg C) hel D) hellogood main()(int argc, char *argv[]) { int i; if(argc<-0)return; for(i=1;i、B、3 315、假定以下程序经编译和连接后生成可执行文件PROG、EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL,则输出结果为 A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *argv[])) { while(--argc>0) printf(\、D、3
316、利用数组写出一个与int *p[4]等价的说明。 A、int &p[4]; B、int p[4]; C、int **p[4]; D、int *(*p[4]);、B、3
317、请选出以下程序段的输出结果 #include #define MIN(x,y) (x)、A、3
318、若a=5,b=3,c=4,逻辑表达式!(a+b)&&!c的值为____ (A) 0 (B) -1 (C) 1 (D) 2、C、3
319、若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是____ A) EOF B) -1 C) 非零值 D) NULL、C、3
320、若程序中有下面的说明和定义 struct abc {int x;char y;} struct abc s1,s2; 则会发生的情况是 A) 编译进错 B) 程序将顺利编译`连接`执行 C) 能顺利通过编译`连接`但不能执行 D) 能顺利通过编译`但连接出错、A、3
321、若想要通过异或运算对变量a进行高4位求反,低四位不变,则b应为____。(二进制表示) A、11110000 B、00001111 C、视a值而定 D、不可能实现、A、3
322、若要打开A盘上user子目录下名为abc、txt的文本文件进行读、写操作,下面符合此要求的函数调用是 A) fopen(\、txt\B) fopen(\、txt\、txt\、txt\、B、3
323、若给定条件表达式(M)?(a++):(a--)则 其中表达式M和________等价。 A、(M==0) B、(M==1) C、(M!=0) D、(M!=0)、C、3
324、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是 A) p+1 B) a+1 C) a++ D) ++p、C、3
325、若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元: int *p; p=__________ malloc( sizeof(int)); 则应填入 A)int B)int * C)(*int) D)(int *)、D、3
326、以下程序的输出结果是____ main() {int x,y,z; x=y=z=0; ++x&&++y||++z; printf(“%d,%d,%d\\n”,x,y,z); } A、1,1,1 B、1,0,0 C、1,1,0 D、1,0,1、C、3
327、若以下程序所生成的可执行文件名为filel、exe ; 当打入以下命令行执行该程序时; FILE1 CHINA BEIJING SHANGHA1 程序的输出结果是 A、 XHIN VWIJINF AHANJHAI B、 FILE1 CHINA BEIJING C、 C B S D、 F C B main(int arge,char * argv []) { char ch
[7]={\int i,s=0; for (i=0;ch [i]>='0'&&ch [i]'9';i+=2) s=10*s+ch[i]-'0'; print (\、A、3
328、若有定义和语句: int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(\则输出结果是: A)10,20 B)10,10 C)20,10 D)20,20、D、3
329、若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 A) scanf(\scanf(\、A、3
330、若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是 A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;、B、3
331、若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是 A) i= *p; B) *p=*&j; C) i=&j; D) i=* *p;、B、3
332、若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是 A) *p=&a; scanf(\,p); B) p=(long *)malloc(8); scanf(\,p); C) scanf(\,p=&a); D) scanf(\,&a);、A、3
333、若有以下的定义: int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a; 则值为3的表式是 A) p+=2, *(p++) B) p+=2,*++p C) p+=3, *kp++ D) p+=2,++*p、A、3
334、若有以下的说明,则对初值中字符'a'的引用方式为___。 static struct { char ch; double x; char a[]; }c[2][2]={{{'a',3、5,'bc'},{'c',4、5,'de'},{'m',8、6,'abc'}}}; A、c、ch B、c[0][0]、ch C、c[1][1]、ch D、a[0]、B、3
335、若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是 A) t[2][0] B) t[2][2] C) t[l][2] D) t[2][l] int t[3][3], *pt([3], k; for (k=0;k、C、3
336、若有下面的说明和定义: struct test { int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua; } myaa; 则sizeof(struct test )的值是____ A) 12 B) 16 C) 14 D) 9、A、3
337、若有以下定义,则语句( )是正确的。 union data {int i; char c; float f; }a; int n; A: s=5 B:a={2,'a'1、2} C:printf(\、C、3
338、若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 A) *p B) a[10] C) *a D) a[p-a]、B、3
339、若有以下定义和语句: double r=99, *p=&r; *p=r; 则以下正确的叙述是 A) 以下两处的*p含义相同,都说明给指针变量p赋值 B) 在\, *p=&r;\中,把r的地址赋值给了p所指的存储单元 C) 语句\把变量r的值赋给指针变量p D) 语句\取变量r的值放回r中、D、3
340、若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素非法引用是 A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2)、B、3
341、若有以下说明和定义 fun(int *c){ } main() { int (*a)()=fun,*b(),w[10],c; ┆ } 在必要的赋值之后,对fun函数的正确调用语句是 A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);、B、3
342、若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 A) *p+6 B) *(p+6) C) *p+=5 D) p+5、C、3
343、若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是 A) p=2*(int*)malloc(sizeof(int)); B) p=(int*)malloc(2*sizeof(int)); C) p=(int*)malloc(2*2); D) p=(int*)calloc(2,sizeof(int));、A、3
344、设已有定义: char *st=\下列程序段中正确的是 A) char a[11], *p; strcpy(p=a+1,&st[4]); B) char a[11]; strcpy(++a, st); C) char a[11]; strcpy(a, st); D) char a[], *p; strcpy(p=&a[1],st+2);、A、3
345、设有如下程序: #include main() { int **k, *j, i=100; j=&i; k=&j; printf(\上面程序的输出结果是 A) 运行错误 B) 100 C) i的地址 D) j的地址、B、3
346、设一整型(int)变量占用2个字节则下述共同体变量x所占用内存字节数为________。 union exp { int i; float j; double k; }x; A、14个 B、7个 C、8个 D、随机而定、C、3
347、设x的值为4,则表达式(++x)+(++x)+(++x)的值是( ) A:12; B:18; C:16; D:21 、D、3
348、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是 A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=*p1 * (*p2);、B、3
349、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为 A) 不定值 B) 4 C) 3 D) 1、C、3
350、设a=3,b=2,则表达式a^b>>2的值的二进制表示为________。 A、00000011 B、00000110 C、00000100 D、00000010、A、3
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 351、设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch 的值是____ A) A B) a C) Z D) z、B、3
352、设有如下定义: struct sk {int a;float b;}data,*p; 若有p=&data;,则对data中的a域的正确引用是 A)(*p)、data、a B)(*p)、a C)p->data、a D)p、data、a、B、3 353、设有如下定义: int (*ptr)*(); 则以下叙述中正确的是 A)ptr是指向一维组数的指针变量 B)ptr是指向int型数据的指针变量 C)ptr是指向函数的指针,该函数返回一个int型数据 D)ptr是一个函数名,该函数的返回值是指向int型数据的指针、C、3 354、设有如下定义: int (*ptr)*(); 则以下叙述中正确的是 A) ptr是指向一维组数的指针变量 B) ptr是指向int型数据的指针变量 C) ptr是指向函数的指针,该函数返回一个int型数据 D) ptr是一个函数名,该函数的返回值是指向int型数据的指针、C、3 355、设有如下枚举类型定义: enum language
{ Basic=3,Assembly,Ada=100,COBOL,Fortran}; 枚举量Fortran的值为 A) 4 B) 7 C) 102 D) 103、C、3
356、设有如下函数定义: int f(char *s) { char *p=s; while(*p!='\\0') p++; return(p-s); } 如果在主程序中用下面的语句调用上述函数,则输出结果为 printf(\、C、3
357、设有说明int(*ptr)[m];其中的标识符ptr是( )。 (A) M个指向整型变量的指针 (B)指向M个整型变量的函数指针 (C) 一个指向具有M个整型元素的一维数组的指针 (D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量、C、3
358、为表示关系x≥y≥z,应使用C语言表达式 A) (x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)、A、3
359、设有以下定义: typedef union { long i;int k[5];char c;}DATE; struct date { int cat;DATE cow;double dog;}too; DATE max; 则下列语句的执行结果是 printf(\、B、3
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机等级考试二级C语言笔试经典习题400道(6)在线全文阅读。
相关推荐: