语言L={ambn|m≥0,n≥1|的正规表达式是(31)。
A.a*bb*
B.aa*bb*
C.aa*b*
D.a*b*
第1题:
str是一个由数字和字母字符组成的字符串,由变量num传人字符串长度。请补充函数proc,该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。 例如,str="abcl23de45f967",结果为:l234567。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。 试题程序: include<stdio.h> define M 80 int bb[M]; int proc(char str[],int bb[],int num) { int i,n=0; for(i=0;i<num;i++) { if( 【1】 ) { bb[n]=【2】 ; n++; } } return 【3】 ; } void main { char str[M]; int num=0,n,i; printf("Enter a string:\n"); gets(str); while(str[num]) num++: n=proc(str,bb,num); printf("\nbb="); for(i=0;i<n;i++) printf("%d",bb[i]); }
第2题:
请补充main函数,该函数的功能是:如果数组arr的前一个元素比后一个元素小,则把它保存在数组bb中并输出。 例如,若数组中的元素为:“40,68,62,33,35,52,48,95,66,73”,则输出:“40,33,35,48,66”。 注意:部分源程序给出如下。 请勿改动函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: include<stdlib.h> include<stdio.h> define M l0 void main { int i,n=0; int arr[M]=(40,68,62,33,35,52,48,95,66,73); int bb[M]; system("CLS"); for(i=0;i<【1】;i++) if(arr[i]<arr[i+1]) 【2】 ; printf("\n***display bb***\n"); for(i=0;i<n;i++) printf("bb[%d]=%2d",【3】); }
第3题:
语言L={ambn|m≥0,n≥1}的正规表达式是______。
A.a*bb*
B.aa*bb*
C.aa*b
D.a*b*
A.
B.
C.
D.
第4题:
请补充main函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组bb中。
例如,当scorer[N][M]={{83.5,82,86,65,67),{80,91.5,84, 99,95){90.5,95,86,95,97}}时,三个学生的平均分为76.7 89.9 92.7。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若千表达式或语句。
试题程序:
include<stdio.h>
define N 3
define M 5
main()
{
int i,j;
static float score[N][M]={{83.5,82,86,
65,67},{80,91.5,84,99,95},{90.5,95,
86,95,97}};
float bb[N];
clrscr();
for(i=0;i<N;i++)
【 】;
for(i=0;i<N;i++)
{
for (j=0; j<M; j++)
【 】;
bb [i]/=M;
}
for (i=0; i<N; i++)
print f (" knstudent %d\t average
=%5.1f",i+l,bb[i]);
}
第5题:
请补充main函数,该函数的功能是:把一维数组中的元素逆置。结果仍然保存在原数组中。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
include <stdio.h>
define N 10
main ( )
{
int i, j, t;
int bb[N];
clrscr ();
for (i=0; i<N; i++)
bb[i]=i;
printf("\n*** original list ***\n");
for (i=0;i<N; i++)
printf ("%4d",bb [i] );
for(【 】; j<=i;【 】)
{
t=bb [j ];
bb [j ] =bb [i];
bb[i]=t;
}
printf("\n****** new list ******\n");
for (i=0; i<N; i++)
printf ("%4d",bb [i] );
}
第6题:
已知文法G2=(VT={a,b},VN={S,A},S,P),其中P为, S→Sb|Ab A→aSb|ε 该文法生成的语言是(28)。
A.{ambn|n>m≥0}
B.{ambn|m>n≥0}
C.{ambn|n≥m≥1}
D.{ambn|m≥n≥1}
第7题:
已知a=00l0l0l0B和b=40D,下列关系式成立的是
A.a>b
B.a=b
C.a<b
D.不能比较
第8题:
不能正确表示条件“两个整型变量A和B之一为0,但不能同时为0”的布尔表达式是 ( )。
A.A*B=0 And A<>B
B.(A=0 Or B=0)And A<>B
C.A=0 And B<>0 Or A<>0 And B=0
D.A*B=O And(A=0 Or b=0)
第9题:
请补充函数fun(),该函数的功能是:寻找两个整数之间的的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。
例如,输入6和21,则输出为:7 11 13 17 19 21。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<conio. h>
include<stdio. h>
define N 1000
int fun (int n, int m, int bb [N])
{
int i, j, k=0, flag;
for (j=n; j<=m; j++)
{
【 】;
for (i=2; i<j; i++)
if(【 】)
{
flag=0;
break;
}
if(【 】)
bb [k++] =j
}
return k;
}
main ()
{
int n=0,m=0, i, k;
int bb[N];
clrscr ();
printf ("Input n\n");
scanf ("%d", &n);
printf ("Input m\n");
scanf ("%d", &m);
for (i=0; i<m-n; i++)
bb[i]=0;
k=fun (n, m, bb);
for (i=0; i<k; i++)
printf ("%4d",bb [i]);
}
第10题:
str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数proc,该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如,str="abc3de987f9621",结果为:3987621。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
define M 80
int bb[M];
int proc(char str[],int bb[],int num)
{
int i,n=0;
for(i=0;i<num;i++)
{
if(【1】)
{
bb[n]=【2】:
n++:
}
}
return 【3】 ;
}
void main
{
char str[M];
int mum=0,n,i;
printf("Enter a strin9:\n");
gets(str);
while(str[num])
num++:
n=proc(str,bb,num);
printf("\nbb=");
for(i=0;i<n;i++)
printf("%d",bb[i]);
}
【1】str[i]>='0'&&str[i]<='9 '
【2】str[i]-'0'
【3】n
【解析】题目中要求把字箱串str中的数字字符转换成数字并存放到整型数组bb中。首先应判断字符串str中每个字符是否为数字字符,因此【1】填“str[i]>=' 0 ' &&str[i]<='9'”;将每一个数字字符转化为数字放在整型数组bb中,因此【2】填“str[i]-'0'”;由函数proc可知,变量n中存放的是整型数组bb中元素的个数,最后要返回到主函数中,因此【3】填“n”。
第11题:
已知文法G1=(VT={a,b,d},VN={S,A,B},S,P),其中P为, S→dAB A→aA|a B→bB|ε 该文法生成的语言是(28)。
A.{dambn|m≥0,n≥O}
B.{dambn|m≥1,n≥0}
C.{dambn|m≥0,n≥1}
D.{dambn|m≥1,n≥1}
第12题:
第13题:
●语言L={ambn│m≥0,n≥1}的正规表达式是 (31) 。
(31) A.a*bb*
B.aa*bb*
C.aa*b*
D.a*b*
略
第14题:
请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。
例如,输入aeiouAOUpqn,结果为A∶2 E∶1 1∶1 O∶2 U∶2 Other∶4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdiO.h>
include<conio.h>
define N 100
void fun(char *str,int bb[ ])
{
char *p=str;
int i=0;
for(i=0;i<6;i++)
【 】;
while(*p)
{
switch(*p)
{
case 'A':
case 'a':bb[0]++;break;
case 'E':
case 'e':bb[1]++;break;
case 'I':
case 'i':bb[2]++;break;
case 'O':
case 'o':bb[3]++;break;
case 'U':
case 'u':bb[4]++;break;
default:【 】;
}
【 】
}
}
main()
{
char str[N),ss[6]="AEIOU";
int i;
int bb[6];
clrscr();
printf("Input a string:\n");
gets(str);
printf("the string is:\n");
puts(str);
fun(str,bb);
for(i=0;i<5;i++)
printf("\n%c:%d",ss[i],bb[i]);
printf("\nother:%d",bb[i]);
}
第15题:
A.a*bb*
B.aa*bb*
C.aa*b*
D.a*b*
第16题:
请补充main函数,该函数的功能是:把一个整数插入到一个已经按从小到大排序的数组中。插入后,数组仍然有序。
例如,在数组bb[N]={12,23,31,44,51,63,71,79,85,95}中插入93,结果为:
bb[N]{11,21,31,41,51,61,7l,79,8l,93,95}
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
include<std/o. h>
define N 10
main()
{
int i,j;
int n;
int bb IN+l] ={ t2,23, 31, 44, 51, 63, 71,
79,85,95};
clrscr ();
printf("\nInput n \n");
scanf ("%d", &n);
printf ("\nn=%d ",n);
printf("\n*** original list ***In");
for (i=0; i<N; i++)
printf ("%4d ",bb [ii );
for (i=0; i<N; i++)
{
if (n<=bb [i ] )
{
for(j=N;【 】;j--)
【 】;
bb [j] =n;
【 】;
}
if (i=N)
bb[i]=n;
printf("\n***** new list ******In");
for (i=0;i<N+l; i++)
printf ("%4d ",bb [i]);
}
第17题:
A.aa*|bb*|cc*
B.(aa*|bb*)cc*
C.aa*(bb*|cc*)
D.(a|b|c)*
第18题:
有如下程序:
#include<iostream>
using namespace std;
class AA{
public:
AA(){tout<<‘l’;}
};
class BB:public AA{
int k;
public:
BB():k(0){cout<<…2;}
BB(int n):k(n){cout<<‘3’;}
};
int main(){
BB b(4),C;
return 0;
}
A.1312
B.132
C.32 D、1412
第19题:
语言的正规表达式是(21) 。
A.aa*bb*
B.a*bb*
C.aa*b*
D.a*b*
第20题:
请补充main函数,该函数的功能是:输出一个N×N矩阵,要求非对角线上的元素赋值为0,对角线元素赋值为1。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio. h>
define N 10
main ( )
{
int bb[N] [N];
int i, j,n;
clrscr ();
printf (" \nInput n:\n");
scanf ("%d", &n);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
【 】;
if (i==j)
bb[i] [j]=【 】;
if (【 】)
bb[i] [j]=1;
}
printf(" \n***** the result ***** \n");
for (i=0; i<n; i++)
{
printf (" \n\n");
for (j=0; j<n; j++)
printf ("%4d",bb [i] [j] );
}
}
第21题:
语言L={0m1n|m≥1,n≥1)的正规表达式是(27)。
A.*
B.*
C.*
D.*
第22题:
已知文法G[S]:S→A0|B1,A→S1|1,B→S0|0,该文法属于乔姆斯基定义的(18)文法,它不能产生串(19)。
语言L={ambn|m≥0,n≥1)的正规表达式是(20)。
一个文法G=(N,T,P,S),其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号,令集合V=N∪T,那么G所描述的语言是(21)的集合。
程序设计语言引入“类”的概念是为了解决数据保护问题。C++语言将类的成员封装在类体之中,使之具有一定的存取规则,这些规则规定了存取类的成员的权利,其中对于用Private说明的成员,它(22)。
A.0型
B.1型
C.2型
D.3型
第23题: