问题 多选题

驾驶员酒后驾车已成为安全行驶的重大隐患,为此全国各地掀起了一场严查酒后驾驶的安全检查行动.某市交通警察在执行任务过程中,要使用一种酒精测试仪用于检测驾驶员是否属于酒后驾驶,其内部结构如图所示.如果酒精气体传感器的电阻的倒数与酒精气体的浓度成正比,关于酒精测试仪,下列说法正确的是(  )

A.电压表的示数越小,表示酒精气体浓度越大

B.电压表的示数越大,表示酒精气体浓度越大

C.电压表的示数与酒精气体浓度成正比

D.电压表的示数与酒精气体浓度不成正比

答案

A、电压表的示数越小,说明电路中电流越小,总电阻越大,R、R0是定值电阻,说明传感器的电阻越大,由题:传感器的电阻的倒数与酒精气体的浓度成正比,表示酒精气体浓度越小.故A错误.

    B、由A分析可知,电压表的示数越大,表示酒精气体浓度越大.故B正确.

    C、D设酒精气体浓度为C,传感器的电阻为R,由题得到

1
R
=kc.根据欧姆定律得到电压表的示数U=
R0
R0+R+R+r
E
=
R0
R0+R+r+
1
kC
,根据数学知识可知,U与C不成正比.故C错误,D正确.

故选BD

单项选择题 A1/A2型题
问答题

函数ReadDat()的功能是实现从文件IN74.DAT中读取一篇英文文章存入到字符串数组xx中。请编制 6数StrCharJL(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后, (字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符的ASCII值,得到的新字符仍存入到原字符中对应的位置。最后把已处理的字符串仍按行重新存入了符串数组xx中,最后调用函数WritcDat()把结果n输出到文件OUT74.DAT中。
注意:部分源程序已给出。
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
# include<stdio. h>
# include<string. h>
# include<conio. h>
char xx[50][80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void StrCharfL(void)


void main()

Clrscr();
if(ReadDat())

printf (“数据文件IN74.DAT不能打开\n\007”);
return;

StrCharJL();
WriteDat();

int ReadDat(void)

FILE *fp;
int i=0;
char *p;
if((fp=fopen(“IN74.DAT”,“r”))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)

p=strchr(xx[i],’\n’);
if (p) *p=0;
i++;

maxline=i;
fclose(fp);
return 0;

void WriteDat(void )

FILE *fp;
int i;
clrscr();
fp=fopen("OUT74.DAt","w");
for(i=0;i<maxline;i++)

printf(”%s\n”,xx[i]);
fprintf(fp,"%s\n",xx[i]);

fclose(fp);