【1.81】已知:
struct
{inti;
charc;
floata;
}test;
则sizeof(test)的值是。
A)4
B)5
C)6
D)7
【1.82】已知:
union
{inti;
charc;
floata;
}test;
则sizeof(test)的值是。
A)4
B)5
C)6
D)7
【1.83】已知:
unionu_type
{inti;
charch;
floata;
}temp;
现在执行"temp.i=266;printf("%d",temp.ch)"的结果是。
A)266
B)256
C)10
D)1
【1.84】若有以下程序段:
structdent
{intn;
int*m;
};
inta=1,b=2,c=3;
structdents[3]={{101,&a},{102,&b},{103,&c}};
structdent*p=s;
则以下表达式中值为2的是。
A)(p++)->m
B)*(p++)->m
C)(*p).m
D)*(++p)->m
【1.85】若有以下说明语句,则对结构变量pup中sex域的正确引用是。
structpupil
{charname[20];
intsex;
}pup,*p;
p=&pup;
A)p.pup.sex
B)p->pup.sex
C)(*p).pup.sex
D)(*p).sex
【1.86】以下对结构变量stul中成员age的非法引用是。
structstudent
{intage;
intnum;
}stu1,*p;
p=&stu1;
A)stu1.age
B)student.age
C)p->age
D)(*p).age
【1.87】若有以下定义和语句:
uniondata
{inti;
charc;
floatf;
}a;
intn;
则以下语句正确的是______。
A)a=5;
B)a={2,’a’,1.2};
C)printf("%d\n",a);
D)n=a;
【1.88】已知:
structsk
{inta;
intage;
}date,*p;
如果要使指针p指向data中的成员a,正确的赋值语句是____。
A)p=(structsk*)&data.a;
B)p=(structsk*)data.a;
C)p=&data.a;
D)*p=data.a;
【1.89】已知enumweek{sun,mon,tue,wed,thu,fri,sat}day;则正确的赋值语句是____。
A)sun=0;
C)san=day;
D)sun=mon;
D)day=sun;
【1.90】已知enumcolor{red,yellow=2,blue,white,black}ren;执行下述语句的输出结果是____。
printf("%d",ren=white);
A)0
B)1
C)3
D)4
【1.91】已知enumname{zhao=1,qian,sun,li}man;执行下述程序段后的输出是____。
man=0;
switch(man)
{case0:printf("People\n");
case1:printf("Man\n");
case2:printf("Woman\n");
default:printf("Error\n");
}
A)People
B)Man
C)Woman
D)Error
【1.92】下述关于枚举类型名的定义中,正确的是____。
A)enema={one,two,three};
B)enema{one=9,two=-1,three};
C)enema={"one","two","three"};
D)enema{"one","two","three"};
【1.93】C语言中标准输入文件stdin是指。
A)键盘
B)显示器
C)鼠标
D)硬盘
【1.94】要打开一个已存在的非空文件"file"用于修改,选择正确的语句____。
A)fp=fopen("file","r");
B)fp=fopen("file","a+");
C)fp=fopen("file","w");
D)fp=fopen(’file","r+");
【1.95】当顺利执行了文件关闭操作时,fclose函数的返回值是。
A)-1
B)TRUE
C)0
D)1
【1.96】fscanf函数的正确调用形式是。
A)fscanf(文件指针,格式字符串,输出列表);
B)fscanf(格式字符串,输出列表,文件指针);
C)fscanf(格式字符串,文件指针,输出列表);
D)fscanf(文件指针,格式字符串,输入列表);
【1.97】使用fgetc函数,则打开文件的方式必须是。
A)只写
B)追加
C)读或读/写
D)参考答案B和C都正确
【1.98】已知宏定义
#defineN3
#defineY(n)((N+1)*n)
执行语句z=2*(N+Y(5+1));后,变量z的值是____。
A)42
B)48
C)52
D)出错
【1.99】已知宏定义#defineSQ(x)x*x,执行语句printf("%d",10/SQ(3));后的输出结果是____。
A)1
B)3
C)9
D)10
【1.100】已知宏定义如下:
#definePRprintf
#defineNL"\n"
#defineD"%d"
#defineD1DNL
若程序中的语句是PR(D1,a);经预处理后展开为____。
A)printf(%d\n,a);
B)printf("%d\n",a);
C)printf("%d""\n",a);
D)原语句错误
【参考答案】
【1.1】答案: A
注释:int是C语言的关键字
【1.2】答案: B
【1.3】答案:A
【1.4】答案:B
注释:include是预处理命令;scanf是函数名;type不是C语言的关键字。
【1.5】答案:D
【1.6】答案:D
【1.7】答案:A
【1.8】答案:A
注释:int型表示整数的范围是-32768~32767。
【1.9】答案:D
注释:整型常量-1在计算机中表示为补码1111 1111 1111 1111,用十六进制显示这个数时,最左边的1不会被解释为符号位,而是与右边其它位共同转换为十六进制数。
【1.10】答案:B
注释:长整型数32768在计算机内的表示是1000 0000 0000 0000,以一般整型进行输出时,此数恰是-32768的补码。
【1.11】答案:C
注释:长整型数65539在计算机内的表示是0001 0000 0000 0000 0011,以一般整型进行输出时,仅将右侧16位二进制数转换为十进制数。
【1.12】答案:A
注释:C语言中,int型的负数是采用补码表示的。
【1.13】答案:D
【1.14】答案:C
注释:变量c是字符型,可用字符常量为它赋值。字符常量必须用单引号括起来,所以B是错误的;在单引号或双引号内的反斜线'\'用于表示转义字符,A选项在无引号时使用反斜线是错误的;C选项单引号内出现反斜线表示它与后面的数字组成一个转义字符;单引号只允许括起一个字符,D选项在单引号内出现4个字符,是错误的。
【1.15】答案:C
【1.16】答案:D
注释:空字符和空格符是不同的两个字符,空格符的ASCII码值是32,空字符的ASCII值是0。
【1.17】答案:A
【1.18】答案:B
【1.19】答案:A
【1.20】答案:C
【1.21】答案:B
注释:单纯从C语言语法来说,选项B、C都是正确的,但是选项C中第一个运算的两个对象都是整型常数,其结果也是整型数0,最后的运算结果也就是0了。
【1.22】答案:C
【1.23】答案:A
注释:将条件表达式增加一个括号,此式变为a。
以上是上海育路网为上海计算机考试收集整理的上海计算机资料,更多资料请点击上海计算机网
本文结束
特别声明:①凡本网注明稿件来源为"原创"的,转载必须注明"稿件来源:上海育路网",违者将依法追究责任;
②部分稿件来源于网络,旨在与用户分享信息,如有侵权,请联系我们沟通解决。
有用
25人觉的有用
如果觉得《c语言单项选择题及答案 计算机二级C语言单项选择题及答案解析精选3》对你有帮助,请点赞、收藏,并留下你的观点哦!