第四套试题一、选择题(20个小题,每小题2分,共40分):1、以下不正确的C语言标识符是____。A.ABCB.abcC.a_bcD.ab.c2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式中,值为0的表达式是____。A.‘a’&&‘b’B.a<=bC.a||b+c&&b-cD.!((a
=&b[0])putchar(*chp);putchar(‘\n’);}A.GoodbyeB.gOODBYEC.无任何输出D.eybdooG18、若有如下说明,则____的叙述是正确的。structst{inta;intb[2];}a;A.结构体变量a与结构体成员a同名,定义是非法的B.程序只有在执行到该定义时才为结构体st分配存储单元C.程序运行时为结构体变量a分配6个字节存储单元D.不能将结构体类型说明与变量定义紧凑写在一起19、设有如下定义:structstd{inta;floatb;}data,*p;若有p=&data;则对data中的成员变量a的正确引用是____。A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a20、以下程序的输出结果是____。main(){charx=040;printf(“%d\n”,x=x<<1);}A.100B.160C.120D.64二、填空题(10个小题,每小题2分,共20分):1、若a是int型变量,则执行表达式a=25/3%3后,a的值为____。2、C语言中用____表示逻辑值“真”。3、用在循环结构中,可以结束本次循环的语句是____。4、用数组名作为函数参数是地址传递方式。地址传递是____(单向/双向)传递。5、在二维数组初始化时,可以省略数组的____(行下标/列下标),系统会根据初值的个数,算出该下标的大小。6、若输入字符‘A’,在以下while语句执行后ch的值为____。while(ch=getchar()==‘A’);7、所谓“指针”,就是____。8、设有宏定义:#defineMUL(z)(z)*(z),则执行以下语句后,输出结果为____。printf(“%d\n”,MUL(1+2)+3);9、若有定义和语句:charstr[]=“ABCD”,*p=str;printf(“%d\n”,*(p+4));则输出结果是____。10、能够实现局部翻转(0变1,1变0)的位运算是____。三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):1、若运行以下程序时,从第一列开始输入数据:2473(代表Enter),写出程序的执行结果。#include“stdio.h”main(){charc;while((c=getchar())!=‘\n’)switch(c-‘2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf(“\n”);}2、main(){intx=2,y=3,z=0;try(x,y,z);printf(“(2)x=%d,y=%d,z=%d\n”,x,y,z);}try(intx,inty,intz){z=x+y;x=x*x;y=y*y;printf(“(1)x=%d,y=%d,z=%d\n”,x,y,z);}3、#include“stdio.h”#include“string.h”main(){char*p1=“abc”,*p2=“ABC”,str[50]=“xyz”;strcpy(str+2,strcat(p1,p2));printf(“%s\n”,str);}4、#include“stdio.h”#defineNUM8voidinvert(int*a,intn);main(){inta[NUM]={10,20,30,40,50,60,70,80},i;invert(a,NUM);for(i=0;i0){strcpy(s,str[0]);strcpy(str[0],str[i]);strcpy(str[i],s);}for(i=0;i<9;i++)if(strcmp(str[i],str[9])>0){strcpy(s,str[i]);strcpy(str[i],str[9]);strcpy(str[9],s);}puts(str[0]);puts(str[9]);}