全国计算机等级考试二级C语言模拟试题8 |
|
www.nanhushi.com 佚名 不详 |
答案
答案
6.软件开发的结构化生命周期方法将软件生命周期划分成 A)定义、开发、运行维护 B)设计阶段、编程阶段、测试阶段 C)总体设计、详细设计、编程调试 D)需求分析、功能定义、系统设计
|
A B C D |
7.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是 A)路径的集合 B)循环的集合 C)目标的集合 D)地址的集合
|
A B C D |
8.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 A)特定的数据模型 B)数据无冗余 C)数据可共享 D)专门的数据管理软件
|
A B C D |
9.数据库设计包括两个方面的设计内容,它们是 A)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计 D)结构特性设计和行为特性设计
|
A B C D |
10.实体是信息世界中广泛使用的一个术语,它用于表示 A)有生命的事物 B)无生命的事物 C)实际存在的事物 D)一切事物
|
A B C D |
11.C语言中提供的关键字是 A)swicth B)cher C)Case D)default
|
A B C D |
12.以下有4组用户标识符,其中合法的一组是 A)For-subCase B)4dDOSize C)f2_G3Ifabc D)WORDvoiddefine
|
A B C D |
13.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为 A)1.4 B)1 C)2.0 D)2
|
A B C D |
14.已知各变量的类型如下 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是 A)a+=a-=(b=4)*(a=3) B)a=a*3+2 C)x%(-3) D)y=float(i)
|
A B C D |
15.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为 A)100<空格>765.12<回车> B)i=100,f=765.12<回车> C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>
|
A B C D |
16.下列程序的输出结果是 main() { int a=2;a%=4-1; printf("%d",a);a+=a*=a-=a*=3; printf("\n%d",a); } A)2,12 B)-1,12 C)1,0 D)2,0
|
A B C D |
17.若有以下程序 main() { int k=2,i=2,m; m=(k+=i*=k);printf("%d,%d\n",m,i); } 执行后的输出结果是 A)8,6 B)8,3 C)6,4 D)7,4
|
A B C D |
18.以下不正确的if语句形式是 A)if(x>y&&x!=y); B)if(x==y)x+=y; C)if(x!=y)scanf("%d",&x)else scanf("%d",&y); D)if(x |
A B C D |
19.以下程序中循环体总的执行次数是 int i,j; for(i=6;i>1;i--) for(j=0;j{……} A)20 B)261 C)15 D)25
|
A B C D |
20.对于下面的程序,说法正确的是 main() { int x=3,y=4,z=2; if(x=y+z)printf("x=y+z"); else printf("x!=y+z"); } A)不能通过编译 B)输出6 C)输出x!=y+z D)输出x=y+z
|
A B C D |
21.下列程序的输出结果是 main() { int a[3],i,j,k=2; for(i=0;i<3;i++)a[i]=i; for(i=0;ifor(j=0;ja[j]=a[i]; printf("%d\n ",a[2]); } A)2 B)3 C)1 D)0
|
A B C D |
22.标准库函数fgets(buf,n,fp)的功能是 A)从fp所指向的文件中读取长度为n的字符串存入缓冲区buf B)从fp所指向的文件中读取长度不超过n-1的字符串存入缓冲区buf C)从fp所指向的文件中读取n个字符串存入缓冲区buf D)从fp所指向的文件中读取长度为n-1的字符串存入缓冲区buf
|
A B C D |
23.如下程序的执行结果是 main() { static int a[]={1,7,3,9,5,11}; int *p=a; *(p+3)+=4; printf("%d,%d",*p,*(p+3)); } A)1,13 B)1,16 C)3,13 D)1,14
|
A B C D |
24.下面程序的输出是 int b=3; fun(int *k) { int b=2; b=*(k++)*b; return(b); } main() { int a[]={11,12,13,14,15,16}; b=fun(&a[1])*b; printf("%d\n",b); } A)24 B)72 C)11 D)33
|
A B C D |
25.执行下列程序段,结果是 int x=40; char y=′C′; int n; n=(x&0xff)&&(y>′B′); printf("%d\n",n); A)0 B)1 C)2 D)3
|
A B C D |
26.以下能对二维数组a进行正确初始化的语句是 A)int a[2][]={{1,0,1},{5,2,3}}; B)int a[][3]={{1,2,3},{4,5,6}}; C)int a[2][4]={{1,2,3},{4,5},{6}}; D)int a[][]={{1,0,1}{},{1,1}};
|
A B C D |
27.以下程序的执行结果是 union un { int i; char c[2]; } main() { union un x; x.c[0]=10; x.c[1]=1; printf("%d",x.i); } A)266 B)11 C)265 D)138
|
A B C D |
28.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是 A)if (x>0)y=1; else if(x<0)y=-1; else y=0; B)if(x) if(x>0)y=1; else if(x<0)y=-1; C)y=-1 if(x) if(x>0)y=1; else if(x==0)y=0; else y=-1; D)y=0; if(x>=0) if(x>0)y=1;else y=-1;
|
A B C D |
29.下面程序的执行结果是 #define SUM(X) X*X main() { int a=6;int i=1,j=2; a+=SUM(i+j)/SUM(i+j); printf("%d\n",a); } A)15 B)2 C)7 D)0
|
A B C D |
30.下列程序段的输出结果是 void fun(int *x, int *y) { printf("%d %d", *x, *y); *x=3; *y=4;} main() { int x=1,y=2; fun(&y,&x); printf("%d %d",x, y); } A)2 1 4 3 B)1 2 1 2 C)1 2 3 4 D)2 1 1 2
|
A B C D |
31.下列函数的功能是将字符串ss中的特定位置上的字母实行转化(若该位置上不是字母,则不转换)。 #include #include void fun ( char *ss) { int i; for(i=0;ss[i]!=′\0′;i++){ if(i%2==1 && ss[i]>=′a′ && ss[i]<=′z′) ss[i]=ss[i]-32; } } main() { char tt[51]; clrscr(); printf("Please enter an character string within 50 characters:\n"); gets(tt); printf("\n\nAfter changing,the string\n %s",tt); fun(tt); printf("\nbecomes\n \%s",tt); } 若输入abc4Efg,则应输出 A)aBc4Efg B)abc4Efg C)ABC4EFG D)abc4dfg
|
A B C D |
32.下面程序的输出结果是 fun(int x) { int a=3; a*=x; return a; } main() { int x=2,y=1,n; n=fun(x); n=fun(y); printf("%d\n",n); } A)2 B)4 C)3 D)8
|
A B C D |
33.下列程序的输出结果是 main() { char *str="12123434"; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!=′\0′;i++) switch (str[i]) { case′1′: x4++; case′2′: x3++; case′3′: x2++; case′4′: x1++; } printf("%d,%d,%d,%d\n",x1,x2,x3,x4); } A)8,6,4,1 B)8,6,3,2 C)8,8,4,1 D)8,6,4,2
|
A B C D |
34.以下程序的结果是 main() { char *p="abcdefgh",*r; long *q; q=(long*)p; q++; r=(char*)q; printf("%s\n",r); } A)defg B)cdef C)ghab D)efgh
|
A B C D |
35.下列函数的功能是计算并输出下列多项式值: Sn=∑ni=0(2.02*i-1-1.02*i) 例如,若主函数从键盘给n输入8后,则输出为S=0.662872。注意:n的值要求大于1但不大于100。在划线处应填入的选项是 #include double fun(int n) { int i; double s=0.0; for(i=1;i<=n;i++) s=s+; return s; } main() { int n; double s; printf("\nInput n: "); scanf("%d ",&n); s=fun(n); printf("\ns=%f\n ",s); } A)1.0/(2*i-1)-1.0/(2*i) B)1.0/(2*i-1) C)1.0/(2*i) D)1.0/(2*i)-1.0/(2*i-1)
|
A B C D |
二、填空题(每空2分,共计30分) |
1.常用的黑箱测试有等价分类法、 【1】 、因果图法和错误推测法4种。 |
输入答案,中间不含空格: |
2.测试的目的是暴露错误,评价程序的可靠性;而 【2】 的目的是发现错误的位置并改正错误。
|
输入答案,中间不含空格: |
3.软件维护活动包括以下几类:改正性维护、适应性维护、 【3】 维护和预防性维护。 |
输入答案,中间不含空格: |
4.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【4】 。
|
输入答案,中间不含空格: |
5.关键字ASC和DESC分别表示 【5】 的含义。
|
输入答案,中间不含空格: |
6.以下程序执行结果为 【6】 。 main() { int i,j,k; for(i=0,j=5;i<=j;i++,j--); printf("k=%d",k=i+j); }
|
输入答案,中间不含空格: |
7.设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式w*x+z-y所求得的数据类型为 【7】 。
|
输入答案,中间不含空格: |
8.以下程序的输出结果是 【8】 。 main() { char s[]="abcdef"; s[3]=′\0′; printf("%s\n",s); }
|
输入答案,中间不含空格: |
9.以下程序运行后的输出结果是 【9】 。 void fun(int x,int y) { x=x+y;y=x-y;x=x-y; printf("%d,%d, ",x,y); } main() { int x=2,y=3; fun(x,y); printf("%d,%d\n",x,y); }
|
输入答案,中间不含空格: |
10.以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。请填空。 #include #include main() { char str[81], *sptr; int i; for(i=0; i<80; i++) { str[i]=getchar(); if (str[i] == ′\n′)break; } str[i] = 【10】 ; sptr=str; while(*sptr)putchar(*sptr 【11】 ); }
|
输入答案,中间不含空格: |
11.设有定义“#define F(N)2*N”,则表达式F(2+3)的值是 【12】 。 |
输入答案,中间不含空格: |
12.若在程序中用到“putchar()”函数时,应在程序开头写上包含命令 【13】 ,若在程序中用到"strlen()"函数时,应在程序开头写上包含命令 【14】 。
|
输入答案,中间不含空格: |
13.下面的程序用来统计文件中字符的个数,请填空。 #include main() { FILE *fp; long num=0; if ((fp=fopen("fname.dat", "r"))== NULL) { printf("Cant't open file!\n"); exit(0); } while ( 【15】 ){ fgetc(fp); num++; } printf("num=%ld\n", num); fclose(fp); }
|
输入答案,中间不含空格: |
答案
11.C语言中提供的关键字是 A)swicth B)cher C)Case D)default
|
A B C D |
12.以下有4组用户标识符,其中合法的一组是 A)For-subCase B)4dDOSize C)f2_G3Ifabc D)WORDvoiddefine
|
A B C D |
13.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为 A)1.4 B)1 C)2.0 D)2
|
A B C D |
14.已知各变量的类型如下 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是 A)a+=a-=(b=4)*(a=3) B)a=a*3+2 C)x%(-3) D)y=float(i)
|
A B C D |
15.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为 A)100<空格>765.12<回车> B)i=100,f=765.12<回车> C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>
|
A B C D |
答案
16.下列程序的输出结果是 main() { int a=2;a%=4-1; printf("%d",a);a+=a*=a-=a*=3; printf("\n%d",a); } A)2,12 B)-1,12 C)1,0 D)2,0
|
A B C D |
17.若有以下程序 main() { int k=2,i=2,m; m=(k+=i*=k);printf("%d,%d\n",m,i); } 执行后的输出结果是 A)8,6 B)8,3 C)6,4 D)7,4
|
A B C D |
18.以下不正确的if语句形式是 A)if(x>y&&x!=y); B)if(x==y)x+=y; C)if(x!=y)scanf("%d",&x)else scanf("%d",&y); D)if(x |
A B C D |
19.以下程序中循环体总的执行次数是 int i,j; for(i=6;i>1;i--) for(j=0;j{……} A)20 B)261 C)15 D)25
|
A B C D |
20.对于下面的程序,说法正确的是 main() { int x=3,y=4,z=2; if(x=y+z)printf("x=y+z"); else printf("x!=y+z"); } A)不能通过编译 B)输出6 C)输出x!=y+z D)输出x=y+z
|
A B C D |
21.下列程序的输出结果是 main() { int a[3],i,j,k=2; for(i=0;i<3;i++)a[i]=i; for(i=0;ifor(j=0;ja[j]=a[i]; printf("%d\n ",a[2]); } A)2 B)3 C)1 D)0
|
A B C D |
22.标准库函数fgets(buf,n,fp)的功能是 A)从fp所指向的文件中读取长度为n的字符串存入缓冲区buf B)从fp所指向的文件中读取长度不超过n-1的字符串存入缓冲区buf C)从fp所指向的文件中读取n个字符串存入缓冲区buf D)从fp所指向的文件中读取长度为n-1的字符串存入缓冲区buf
|
A B C D |
23.如下程序的执行结果是 main() { static int a[]={1,7,3,9,5,11}; int *p=a; *(p+3)+=4; printf("%d,%d",*p,*(p+3)); } A)1,13 B)1,16 C)3,13 D)1,14
|
A B C D |
24.下面程序的输出是 int b=3; fun(int *k) { int b=2; b=*(k++)*b; return(b); } main() { int a[]={11,12,13,14,15,16}; b=fun(&a[1])*b; printf("%d\n",b); } A)24 B)72 C)11 D)33
|
A B C D |
25.执行下列程序段,结果是 int x=40; char y=′C′; int n; n=(x&0xff)&&(y>′B′); printf("%d\n",n); A)0 B)1 C)2 D)3
|
A B C D |
答案
26.以下能对二维数组a进行正确初始化的语句是 A)int a[2][]={{1,0,1},{5,2,3}}; B)int a[][3]={{1,2,3},{4,5,6}}; C)int a[2][4]={{1,2,3},{4,5},{6}}; D)int a[][]={{1,0,1}{},{1,1}};
|
A B C D |
27.以下程序的执行结果是 union un { int i; char c[2]; } main() { union un x; x.c[0]=10; x.c[1]=1; printf("%d",x.i); } A)266 B)11 C)265 D)138
|
A B C D |
28.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是 A)if (x>0)y=1; else if(x<0)y=-1; else y=0; B)if(x) if(x>0)y=1; else if(x<0)y=-1; C)y=-1 if(x) if(x>0)y=1; else if(x==0)y=0; else y=-1; D)y=0; if(x>=0) if(x>0)y=1;else y=-1;
|
A B C D |
29.下面程序的执行结果是 #define SUM(X) X*X main() { int a=6;int i=1,j=2; a+=SUM(i+j)/SUM(i+j); printf("%d\n",a); } A)15 B)2 C)7 D)0
|
A B C D |
30.下列程序段的输出结果是 void fun(int *x, int *y) { printf("%d %d", *x, *y); *x=3; *y=4;} main() { int x=1,y=2; fun(&y,&x); printf("%d %d",x, y); } A)2 1 4 3 B)1 2 1 2 C)1 2 3 4 D)2 1 1 2
|
A B C D |
答案
31.下列函数的功能是将字符串ss中的特定位置上的字母实行转化(若该位置上不是字母,则不转换)。 #include #include void fun ( char *ss) { int i; for(i=0;ss[i]!=′\0′;i++){ if(i%2==1 && ss[i]>=′a′ && ss[i]<=′z′) ss[i]=ss[i]-32; } } main() { char tt[51]; clrscr(); printf("Please enter an character string within 50 characters:\n"); gets(tt); printf("\n\nAfter changing,the string\n %s",tt); fun(tt); printf("\nbecomes\n \%s",tt); } 若输入abc4Efg,则应输出 A)aBc4Efg B)abc4Efg C)ABC4EFG D)abc4dfg
|
A B C D |
32.下面程序的输出结果是 fun(int x) { int a=3; a*=x; return a; } main() { int x=2,y=1,n; n=fun(x); n=fun(y); printf("%d\n",n); } A)2 B)4 C)3 D)8
|
A B C D |
33.下列程序的输出结果是 main() { char *str="12123434"; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!=′\0′;i++) switch (str[i]) { case′1′: x4++; case′2′: x3++; case′3′: x2++; case′4′: x1++; } printf("%d,%d,%d,%d\n",x1,x2,x3,x4); } A)8,6,4,1 B)8,6,3,2 C)8,8,4,1 D)8,6,4,2
|
A B C D |
34.以下程序的结果是 main() { char *p="abcdefgh",*r; long *q; q=(long*)p; q++; r=(char*)q; printf("%s\n",r); } A)defg B)cdef C)ghab D)efgh
|
A B C D |
35.下列函数的功能是计算并输出下列多项式值: Sn=∑ni=0(2.02*i-1-1.02*i) 例如,若主函数从键盘给n输入8后,则输出为S=0.662872。注意:n的值要求大于1但不大于100。在划线处应填入的选项是 #include double fun(int n) { int i; double s=0.0; for(i=1;i<=n;i++) s=s+; return s; } main() { int n; double s; printf("\nInput n: "); scanf("%d ",&n); s=fun(n); printf("\ns=%f\n ",s); } A)1.0/(2*i-1)-1.0/(2*i) B)1.0/(2*i-1) C)1.0/(2*i) D)1.0/(2*i)-1.0/(2*i-1)
|
A B C D |
答案
答案
6.以下程序执行结果为 【6】 。 main() { int i,j,k; for(i=0,j=5;i<=j;i++,j--); printf("k=%d",k=i+j); }
|
输入答案,中间不含空格: |
7.设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式w*x+z-y所求得的数据类型为 【7】 。
|
输入答案,中间不含空格: |
8.以下程序的输出结果是 【8】 。 main() { char s[]="abcdef"; s[3]=′\0′; printf("%s\n",s); }
|
输入答案,中间不含空格: |
9.以下程序运行后的输出结果是 【9】 。 void fun(int x,int y) { x=x+y;y=x-y;x=x-y; printf("%d,%d, ",x,y); } main() { int x=2,y=3; fun(x,y); printf("%d,%d\n",x,y); }
|
输入答案,中间不含空格: |
10.以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。请填空。 #include #include main() { char str[81], *sptr; int i; for(i=0; i<80; i++) { str[i]=getchar(); if (str[i] == ′\n′)break; } str[i] = 【10】 ; sptr=str; while(*sptr)putchar(*sptr 【11】 ); }
|
输入答案,中间不含空格: |
答案
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 全国计算机等级考试二级C语言模拟试题7 下一篇文章: 全国计算机等级考试二级C语言模拟试题6 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
| |
联 系 信 息 |
QQ:88236621 电话:15853773350 E-Mail:malenurse@163.com 免费发布招聘信息 做中国最专业男护士门户网站 |
|
最 新 热 门 |
|
|
最 新 推 荐 |
|
|
相 关 文 章 |
没有相关文章 |
|
|