A.SOP
B.POS
C.SEP
D.PIS
A.pos或sop
B.osp
C.ops
D.spo
A、OPS
B、OSP
C、POS
D、unknown
A.ops
B.pos
C.osp
D.难以确定
【填空题】下面程序的功能是输入10个整数,统计其中正数(neg)、负数(pos)和O(zero)的个数并将三者输出。请填空使程序完整、正确。 #include <iostream> using namespace std; int neg = 0, pos = 0, zero = 0; void self(int num) { if (num> 0) neg++; else if (num = 0)pos++; else (1____); } void main() { int i, a[10]; for (i =0; i<10; i++) { cin>> a[i]; self((2____)); } cout <<"neg=" (3____) ",pos="<< (4____) <<" ,zero=" << (5____); }<br><p class=" answer">
85、【填空题】写出下面程序执行后的运行结果 #include<iostream> using namespace std; int main____ { char arr[2][4]; strcpy____; strcpy____; arr[0][3]=’&’; cout<<arr[0]<<endl; return 0;>
阅读下列程序说明和C代码,将应填人(n)处的字句写在对应栏内。
[程序5说明]
下列文法可用来描述化学分子式的书写规则(例如,A12(CO3)3”Cu(OH)2):
λ→β\βλ
β→δ\δn
δ→ξ\ξθ\(λ)
其中:λ是—个分子式;δ或是一个元素,或是一个带括号的(子)分子式,元素或是一个大写字母(记为ξ),或是一个大写字母和一个小写字母(记为ξθ)β或是一个δ,或是在δ之后接上一个整数n,δn表示β有n个δ的元素或(子)分子式。—个完整的分子式由若干个β组成。
当然一个正确的分子式除符合上述文法规则外,还应满足分子式本身的语义要求。
下面的程序输入分子式,按上述文法分析分子式,并计算出该分子式的分子量。例如:元素H的原子量是1,元素O的原子量是16。输入分子式H2O,程序计算出它的分子量为18 (1×2+16)。程序中各元素的名及它的原子量从文件atom.dat中读入。
[程序5]
include < stdio. h >
include < string. h >
define MAXN 300
define GMLEN 30
struct elem { char name[ ]; /* 元素名*/
double v;/*原子量*/
} nTbl [MAXN];
char cmStr [GMLEN], * pos;
int c;FILE * fp;
double factor();
double atom() /* 处理文法符号δ*/
{char w [3];int i; double num;
while((c = * pos++) =='||c =='\t'); /*略过空白字符*/
if(c == '\n') return 0.0;
if(c>='A' && C <='Z') {/*将元素名存入W */
w[i =0]=c;c= * pos ++
if(c >='a'&& c <='z')w[ ++i] =c;else pos--;
w[ ++i] ='\0',
for(i =0;nTbl [i]. v >0.0;i ++)
if(strcmp (w,nTbl[i]. name) ==0) return nTbl [i]. v;
printf (" \n元素表中没有所输入的无素: \t%s\n',w); retur n - 1.0;
} elseif (c = ='(') {
if((num=(1)) <0.0)return -l.0; /*包括可能为空的情况*/
if(* pos ++ ! = ')') { printf (" 分子式中括号不匹配!/n") ;return - 1.0; }
return num;
}
printf ("分子式中存在非法字符:\t%c\n" ,c);
return - 1.0;
}
double mAtom() /* 处理文法符号β*/
{ double num ;int n = ];
if((num=(2)) <0.0)return-l.0;
c= *pos++;
if(c >='O'&&c <='9') {
n = 0; while(c > = 0&&c < ='9')
{n=(3);
c= *poss ++;
}
}
pos --;
return num * n;
}
double factor() /*处理文法符号λ*/
{ double num =0.0,d;
if((hum = mAtom ()) < 0.0) return - 1.0;
while(* pos >= 'A'&& * pos <= 'Z'||* pos == '(') {
if((d=(4)) <0.0)return-1.0;
(5);
} return num;
void main()
{ char fname[ ] ="atom. dst"; /*元素名及其原子量文件*/
int i;double num;
if((fp=fopon(fname,"r" )) == NULL) { /*以读方式打开正文文件*/
prinff("Can net open%s file. \n' ,fname) ;return /*程序非正常结束 */
i=0;
while(i < MAXN&&fscanf (fp," %s%lf,bTbl[i]. name,&nTbl[i]. v) ==2)
i++;
fclose(fp) ;nTbl[i]. v =-1.0;
while(1) [/*输入分子式和计算分子量循环,直至输入空行结束*/
printf(" \n 输入分子式! (空行结束) \n" ) ;gets(cmStr);
pos = cmStr;
if(cmStr[0] == '\0') break;
if((num = later() ) > 0.0)
if(* pos! = '\0')printf("分子式不完整! \n" );
else printf("分子式的分子量为%f\n",num);
}
●试题四
阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在答题纸的对应栏内。
[说明]
在表单的多行文本域中显示打字效果,即先显示一个光标,再显示一个字,然后循环显示。
【HTML文本】
<html>
<!省略部分为HTML文本框>
<script. language="JavaScript">//JavaScript区域开始标识
vat m=0;//定义变量m,并赋初值0
function tl(){//声明一个数组,并对其进行初始化
m= (1) ;
for(i=0;i<m;i++)
(2) ;
}
tl=mew tl(
"能熟练使用一种网络操作系统、一种浏览器软件和一种电子邮件收发与管理软件",
"能熟练使用一种网页制作软件制作一般的网页",
"能熟练使用HTML,语言和JavaScript语言制作一般的网页",
);//定义对象
var x=0;pos=0;//定义变量并赋初值
vavl=tl[o].length;//定义变量1,并将对象t1数组元素的长度值赋给变量1
function tt(){
document.form.tf.value=tl[x].subswing(0,pos)+"-";
//将数组tl中元素从0到“pos”的值显示出来。
“form”是表单的名,“tl”是多行文本输入域的名。
If((3) ){//如果数组tl中一个元素显示完毕,则显示下一个,否则继续显示
(4) ;
setTimeout("tt()",400);//设置定时器,值越小速度越快
if(x==m{//如果数组d中所有元素均显示完毕,则从头显示,否则继续显示
(5) ;
1=tl[x].1ength:
}
else{
setTimeout("tt()",400);
}
}
</script>
<body>
<form. name=form>
<textarea name=tf rows=3 cols=38></textarea>
</form>
………
<!省略部分为HTML文本框>
……
</html>
●试题五
阅读下列程序说明和C代码,将应填入(n)处的字句写在答卷的对应栏内。
【程序5说明】
下列文法可用来描述化学分子式的书写规则(例如,Al2(CO3)3、Cu(OH)2):
λ→β\βλβ→δ\δn
δ→ξ\ξθ\(λ)
其中:λ是一个分子式;δ或是一个元素,或是一个带括号的(子)分子式,元素或是一个大写字母(记为ξ),或是一个大写字母和一个小写字母(记为ξθ);β或是一个δ,或是在δ之后接上一个整数n,δn表示β有n个δ的元素或(子)分子式。一个完整的分子式由若干个β组成。
当然一个正确的分子式除符合上述文法规则外,还应满足分子式本身的语义要求。
下面的程序输入分子式,按上述文法分析分子式,并计算出该分子式的分子量。例如:元素H的原子量是1,元素O的原子量是16。输入分子式H2O,程序计算出它的分子量为18(1×2+16)。程序中各元素的名及它的原子量从文件atom.dat中读入。
【程序5】
#include<stdio.h>
#include<string.h>
#define MAXN 300
#define GMLEN 30
struct elem{char name[];/*元素名*/
doublev;/*原子量*/
}nTbl[MAXN];
char cmStr[GMLEN],*pos;
int c;FILE*fp;
double factor();
double atom()/*处理文法符号δ*/
{char w[3];int i;double num;
while((c=*pos++)==′||c==′\t′);/*略过空白字符*/
if(c==′\n′)return 0.0;
if(c>=′A′ && C<=′Z′){/*将元素名存入W*/
w[i=0]=c;c=*pos++;
if(c>=′a ′&& c<=′z′)w[++i]=c;else pos--;
w[++i]=′\0′;
for(i=0;nTbl[i].v>0.0;i++)
if(strcmp(w,nTb[i].name)==0)returnnTbl[i].v;
printf("\n元素表中没有所输入的元素:\t%s\n",w);retur n-1.0;
}elseif(c==′(′){
if((num= (1) )<0.0)return-1.0;/*包括可能为空的情况*/
if(*pos++!=′)′){printf("分子式中括号不匹配!/n");return-1.0;}
returnnum;
}
printf("分子式中存在非法字符:\t%c\n",c);
return-1.0;
}
double mAtom()/*处理文法符号β*/
{double num;int n=1;
if((num= (2) )<0.0)return-1.0;
c=*pos++;
if(c>=′0′&&c<=′9′){
n=0;while(c>=0&&c<=′9′)
{n= (3) ;
c=*poss++;
}
}
pos--;
return num*n;
}
double factor()/*处理文法符号λ*/
{double num=0.0,d;
if((num=mAtom())<0.0)return-1.0;
while(*pos>=′A′&&*pos<=′Z′||*pos==′(′){
if((d= (4) )<0.0)return-1.0;
(5) ;
}return num;
}
void main()
{char fname[]="atom.dat";/*元素名及其原子量文件*/
int i;double num;
if((fp=fopen(fname,"r"))==NULL){/*以读方式打开正文文件*/
printf("Can not open%s file.\n",fname);return/*程序非正常结束*/
}
i=0;
while(i<MAXN&&fscanf(fp,"%s%lf",bTbl[i].name,&nTbl[i].v)==2)
i++;
fclose(fp);nTbl[i].v=-1.0;
while (1) {/*输入分子式和计算分子量循环,直至输入空行结束*/
printf("\n输入分子式!(空行结束)\n");gets(cmStr);
pos=cmStr;
if(cmStr[0]==′\0′)break;
if((num=fator())>0.0)
if(*pos!=′\0′)printf("分子式不完整!\n");
else printf("分子式的分子量为%f\n",num);
}
}
阅读下列说明和HTML文本,分析其中嵌入的JavaScdpt脚本,
[说明]
在表单的多行文本域中显示打字效果,即先显示一个光标,再显示一个字,然后循环显不,
[HTML 文本]
<html>
<!--省略部分为HTML文本框-->
<script. language="JavaScript"> //JavaScript区域开始标识
var m=0; //定义变量m,并赋初值0
function tl(){ //声明一个数组,并对其进行初始化
m=(1):
for(i=0;i<m;i++)
(2):
}
t1=mew tl(
"能熟练使用一种网络操作系统、一种浏览器软件和一种电子邮件收发与管理软件”,
"能熟练使用一种网页制作软件制作一般的网页”,
"能熟练使用HTML语言和JavaScript语言制作一般的网页”,
): //定义对象
var x=0:pos=0; //定义变量并赋初值
var 1=t1[o].1ength //定义变量1,并将对象t1数组元素的长度值赋给变量1
function tt() {
document.form.tf.value=ti[x].subswing(0.pos)+"-";
//将数组t1中元素从0到“pos'’的值显示出来。
“form"是表单的名, “t1是多行文本输入域的名。
If((3)){ //如果数组t1中一个元素显示完毕,则显示下一个,否则继续显示
(4):
setTimeout("tt()",400): //设置定时器,值越小速度越快
if(x==m){ //如果数组d中所有元素均显示完毕,则从头显示,否则继续显示
(5);
1=t1[x].length;
}
else{
setTimeout("tt0", 400):
}
}
</script>
<body>
<form. name=form>
<text,area name=ff rows=3 cols=38></textarea>
</form>
<!--省略部分为HTML 文本框-->
</html>
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!