279、请读程序: #include void fun(float *pl, float *p2, float *s) { s=( float * )calloc( 1, sizeof(float)); *s=*p1+ *(p2++); } main() { float a[2]={1、1, 2、2},
b[2]={10、0, 20、0}, *s=a; fun(a, b, s) printf(\上面程序的输出结果是 A) 11、100000 B) 12、100000 C) 21、100000 D) 1、100000、D、2
280、请读程序: #include #include void fun( char *w, int m) { char s, *p1, *p2; p1=w; p2=w+m-1; while (p1、C、2
281、请读程序: #include #include main() {char *s1=\s2++; printf(\输出结果是: A)正数 B)负数 C)零 D)不确定的值、A、2
282、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 main( ) { int x; scanf(\和5 B) 6和3 C) 7和4 D) 6和4、A、2
283、能正确表示a和b同时为正或同时为负的逻辑表达式是 A) (a>=0‖b>=0)&&(a<0‖b=0&&b>=0)&&(a<0&&b0)&&(a+b<=0) D) a*b>0、D、2
284、请读程序: #include #include main() { float x,y,z; scan(\while(1) { if(fabs(z)>1、0) { x=y; y=z; z=x/y; } else break } printf(\若运行时从键盘上输入3、6 2、4(表示回车),则输出的结果是 A) 1、500000 B) 1、600000 C) 2、000000 D) 2、400000 、B、2
285、请读程序: #include #include void fun( char *s) { char a[10]; strcpy( a,
\上面程序的输出结果是(└┘表示空格) A) STRING└┘└┘└┘└┘ B) STRING C) STRING└┘└┘└┘ D) 不确定的 、D、2
286、请读程序: #include char fun(char *c) {if( *c<='Z' && *c>='A') *c-='A'-'a'; return *c; } main() { char s[81], *p=s; gets(s); while(*p) {*p=fun(p); putchar(*p); p++;} putchar('\\n'); } 若从键盘上输入OPEN THE DOOR(表示回车),则上面程序的输出结果是 A) oPEN tHE dOOR B) open the door C) OPEN THE DOOR D) Open The Door、B、2
287、请读程序: #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i、A、2
288、请读程序: #include main() { int mun=0; while(num<=2) { num++; printf(\输出结果是 A) 1 B) 1 C) 1 D) 1 2 2 2 3?ㄊ?? 3 4 、C、2
289、请读程序: #include main() { int x=1, y=0, a=0, b=0; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++; b++; break; }
printf(\上面程序的输出结果是 A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 、A、2
290、请读程序: #include void fun( int *s) {static int j=0; do s[j]+=s[j+1]; while(++j、C、2
291、假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是 A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1、0/a/b/c、D、2
292、假定x和y为 double型,则表达式x=2,y=x+3/2的值是 A) 3、500000 B) 3 C) 2、000000 D) 3、000000、D、2
293、假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w、D、2
294、合法的数组定义是 A)int a[]=\s=\、D、2
295、假定a和b为int型变量,则执行以下语句后b的值为 a=1; b=10; do { b-=a; a++; } while (b--、D、2
296、当执行以下程序段时 A 循环体将执行一次 B 循环体将执行两次 C 循环体将执行无限次 D 系统将提示有语法错误 x=-1; do { x=x*x;} while(!x);、A、2
297、当执行下面程序且输入:ABC时,输出的结果是____ #include #include main() { char ss[10]=\123456ABC D) ABC456789、A、2
298、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____ A) c=b=a; B) (a=c) ‖(b=c) ; C) (a=c) &&(b=c); C) a=c=b;、C、2
299、不能把字符串:Hello!赋给数组b的语句是 A) char b[10]={'H','e','l','l','o','!'}; B) char b[10];b=\、B、2
300、t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { ?? } 则以下叙述中正确的是 A) 循环控制表达式的值为0 B) 循环控制表达式的值为1 C) 循环控制表达式不合法 D) 以上说法都不对、B、2
301、变量a所占内存字节数是 A) 4 B) 5 C) 6 D) 8 union U { char st[4]; int i; long l; }; struct A { int c; union U u; }a;、C、3
302、标准函数 fgets(s, n, f) 的功能是 A) 从文件f中读取长度为n的字符串存入指针s所指的内存 B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 C) 从文件f中读取n个字符串存入指针s所指的内存 D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存、B、3
303、rewind函数的作用是________。 A、重新打开文件 B、使文件位置指针重新回到文件末 C、使文件位置指针重新回到文件的开始 D、返回文件长度值、C、3
304、当____,可以不指定数组长度。 (A) 对静态数组赋初值 (B) 对动态数组赋初值 (C) 只给一部分元素赋值 (D) 对全部数组元素赋初值、D、3
305、以下程序的输出结果是____ i=5; i=++i*4+2; A、5 B、6 C、23 D、26、D、3
306、以下程序的输出结果是____ i=5; i=i++*4+2; A、5 B、6 C、23 D、26、C、3
307、以下程序的输出结果是____ 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、B、3
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(\printf(\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\、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]={\[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(\C) 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 str??昳?uct { char ch; double x; char a[]; }c[2][2]={{{'a',3、5,'bc'},{'c',4、5,'de'},{'m',8、
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机二级C语言笔试400题(5)在线全文阅读。
相关推荐: