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("%d\n",f("goodbey!")); A) 3 B) 6 C) 8 D) 0、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("%d",sizeof(struct date)+sizeof(max)); A) 25 B) 30 C) 18 D) 8、B、3
360、设有以下说明语句 typedef struct { int n; char ch[8]; }PER; 则下面叙述中正确的是 A) PER 是结构体变量名 B) PER是结构体类型名 C) typedef struct 是结构体类型 D) struct 是结构体类型名、B、3
361、设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是 A) struct结构体类型的关键字 B) example是结构体类型名 C) x,y,z都是结构体成员名 D) struct ex是结构体类型、B、3
362、下列程序的输出结果是 main( ) { int a[5]={2,4,6,8,10},*p,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",* *k); } A) 4 4 B) 2 2 C) 2 4 D) 4 6、C、3
363、下列程序的输出结果是 main( ) { char*p1,*p2,str[50]="xyz"; p1="abcd"; p2="ABCD"; strcpy(str+2,strcat(p1+2,p2+1); printf)"%s",str); } A) xyabcAB B) abcABz C) Ababcz D) xycdBCD、D、3
364、下列程序的输出结果是 A) 4 B) 6 C) 8 D) 10 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d \n",res); }、B、3
365、下列程序的输出结果是 A) 5 B) 6 C) 7 D) 8 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0],a+s[1],b; printf("%d \n",t); }、B、3
366、下列程序的输出结果是 A) 非法 B)a[4]的地址 C)5 D)3 main() { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p); }、C、3
367、下列程序的运行结果是 A) 6 3 B) 3 6 C) 编译出错 D) 0 0 void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } main() { int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b); }、B、3
368、请读程序: int x,y; for(x=1;x、C、3
369、下列程序执行后的输出结果是 A) 6 B) 8 C) 10 D) 12 #define MA(x) x*(x-1) main() { int a=1,b=2; printf("%d \n",MA(1+a+b));}、B、3
370、下列程序执行后的输出结果是 A) -32767 B) FFFE C) -1 D) -32768 main() { char x=0xFFFF; printf("%d \n",x--); }、C、3
371、下列分支语句合法的是( )。(A) if(a>c) m=a else m=c (B) if a>c (if a>b) m=a (C) if (a>b && a>c) m=a (D) case 6,7:printf("reset\n") 、C、3
372、下面程序的输出结果为 struct st { int x; int *y; } *p; int dt[4]={10,20,30,40}; struct st aa[4]={ 50,&dt[0],60,&dt[1], 70,&dt[2],80,&dt[3] }; main() { p=aa; printf("%d\n", ++p->x ); printf("%d\n", (++p)->x); printf("%d\n", ++( *p->y)); } A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31、C、3
373、下列有关长度不同的数据进行运算时,系统的扩充操作正确的是______ A、右端对齐,短方按符号位扩充,无符号数以零扩充 B、右端对齐,短方按零扩充 C、左端对齐,短方按符号位扩充,无符号数以零扩充 D、左端对齐,短方以"1"扩充、A、3
374、下面程序的输出是 A) 32 B) 16 C) 8 D) 24 typedef union { long x[2]; int y[4]; char z[8]; } MYTYPE; MYTYPE them; main() { printf("%d\n", sizeof(them));}、C、3
375、下面程序的输出是 A) 0 B) 1 C) 3 D) 6 main() { struct cmplx { int x; int y; } cnum[2]={1,3, 2,7}; printf("%d\n",cnum[0]、y /cnum[0]、x * cnum[1]、x);}、D、3
376、请读程序: main( ) {struct cmplx{int x;int y;}cnum[2]={1,3,2,7}; printf("%d\n",cnum[0]、y/cnum[0]、x*cnum[1]、x); } 则上面程序的输出结果是____ A:0 B:1 C:3 D:6、D、3
377、写出下列程序段运行结果 unsigned int a=3,b=10; printf("%d\n",a<、A、3
378、以数据块为单位对数据进行整体 读写时如果ptr是指向内存中数据块的首地址,fp是文件指针,那么数据块中每个数据项的大小为( )。 (A) sizeof(*ptr) (B) *ptr (C) sizeof(ptr) (D) sizeof(*fp)、A、3
379、已知字符0的ASCII码为十六进制的30,下面程序的输出是 A) 6 B) 9 C) 0 D) 3 main() { union { unsigned char c; unsigned int i[4]; } z; z、i[0]=0x39; z、i[1]=0x36; printf("%c\n",z、c);}、B、3
380、以下程序的输出是____ A) 10 B) 11 C) 51 D) 60 struct st { int x; int *y;} *p; int dt[4]={ 10,20,30,40 }; struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],}; main() { p=aa; printf("%d\n",++(p->x)); }、C、3
381、以下程序的输出结果是 struct HAR { int x, y; struct HAR *p;} h[2]; main() { h[0],x=1;h[0];y=2; h[1],x=3;h[1];y=4; h[0],p=&h[1],p=h; printf("%d %d \n",(h[0],p)->x,(h[1],p)->y); } A) 12 B) 23 C) 14 D) 32、D、3
382、以下程序的输出结果是 union myun { struct { int x, y, z; } u; int k; } a; main() { a、u、x=4; a、u、y=5; a、u、z=6; a、k=0; printf(%d\n",a、u、x); } A) 4 B) 5 C) 6 D) 0、D、3
383、请读程序: main() {union {int k; char i[2]; }*s,a; s=&a; s--i[0]=0x39;s--i[1]=0x38; printf(“%x、n”,s--k); } 则上面程序的输出结果是____ A)3839 B)3938 C)380039 D)390038、A、3
384、有如下定义 struct person{char name[9]; int age;}; strict person class[10]={"Johu", 17, "Paul", 19 "Mary", 18, "Adam 16,}; 根据上述定义,能输出字母M的语句是 A) prinft("%c\n",class[3]、mane); B) pfintf("%c\n",class[3]、name[1]); C) prinft("%c\n",class[2]、name[1]); D) printf("%^c\n",class[2]、name[0]);、D、3
385、有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5); 该函数调用语句中,含有的实参个数是 A) 3 B) 4 C) 5 D) 有语法错、A、3
386、以下选项中,能定义s为合法的结构体变量的是 A) typedef struct abc B) struct { double a; { double a; char b[10]; char b[10]; } s; } s; C) struct ABC D) typedef ABC { double a; { double a; char b[10]; char b[10]; } } ABC s; ABC s;、B、3
387、以下对结构体类型变量的定义中,不正确的是 A) typedef struct aa B) #define AA struct aa { int n; AA {int n; float m; float m; }AA; }td1; AA td1; C) struct D) struct { int n; { int n; float m; float m; }aa; }td1; stuct aa td1;、C、3
388、以下程序运行后,输出结果是 A) 1 B) 7 C)9 D)11 fut (int **s,int p[2][3]) { **s=p[1][1];) main() { int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fut (&p,a); printf("%d\n",*p); }、C、3
389、有语句char str1[10],str2[10]={"china"};则能将字符串china赋给数组str1的正确语句是________。 A、str1={"china"}; B、strcpy(str1,str2); C、str1=str2; D、strcpy(str2,str1);、B、3
390、有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 A) a、next=q; B) p、next=&b; C) p->next=&b; D) (*p)、next=q; struct node { char data; struct node *next; { a,b,*p=&a,*q=&b; data next data next、B、3
391、有以下程序段 char arr[]="ABCDE"; char *ptr; for(ptr=arr;ptr main() { union { int k; char i[2]; } *s,a; s=&a; s->i[0]=0x39; s->i[1]=0x38; printf("%x\n",s->k); } 输出结果是 A) 3839 B) 3938 C) 380039 D) 390038、D、3
392、有以下程序 #include "stdio、h" struct stu { int num; char name[10]; int age; }; void fun(struct stu *p) { printf("%s\n",(*p)、name); } main() { struct stu students[3]={ {9801,"Zhang",20}, {9802,"Wang",19}, {9803,"Zhao",18} }; fun(students+2); } 输出结果是 A) Zhang B)Zhao C) Wang D) 18、B、3
393、运行下面的程序,如果从键盘上输入: ab c def 则输出结果为 A、a B、a C、ab D、abcdef b b c c c d d d e f #include #define N 6 main () { char c[N]; int i=0; int i=0; for ( ;i ss (char *s) { char *p=s; while (*、p)p++; return(p-s); } main() { char *a="abded"; int i; i=ss(a); print ("%d\n",i); }、C、3
394、在C程序中,可把整型数以二进制形式存放到文件中的函数是 A) fprintf函数 B) fread函数 C) fwrite函数 D) fputc函数、A、3
395、在C语言中,fclose()函数返回____时, 表示关闭不成功 (A) 0 (B) -1 (C) EOF (D) 非零值、D、3
396、在C语言中,如果下面的变量都是int类型,则输出的结果是( )。 sum=5,p=5;p=sum++,p++,++p; printf("%d\n",p); A、 7 B、 6 C、 5 D、 4、A、3
397、在scanf( )中,表示本输入项在读入后不赋给相应变量的格式说明字符是____ (A) L (B) h (C) C (D) *、D、3
398、在TC语言中int和short两种数据所占用的内存____ A) 均为2个字节 B) 由用户自己定义 C) 由所用机器的机器字长决定 D) 是任意的、A、3
399、在以下定义中,标识符p______ int (*p)[3] A) 定义不合法 B) 是一个指针数组名,每个元素是一个指向整数变量的指针 C) 是一个指针,它指向一个具有三个元素的一维数组 D) 是一个指向整型变量的指针、C、3
400、字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是 #include main( ) { union { int i[2]; long k; char c[4]; }r,*s=&r; s->i[0]=0x39; s->i[1]=0x38; printf("%c\n",s->c[0]) } A) 39 B) 9 C) 38 D) 8、B、3
https://www.unjs.com/