历年二级C语言笔试真题及答案
5
(31)有以下程序 #include <stdio.h>
main ()
{ char *a[ ]={“abcd ”,”ef ”,”gh ”,”
ijk ”};int I;
for (i=0;i<4;i++)
printf (“%c ”,*a );} 程序运行后输
出的结果是
A )aegi
B )dfhk
C )abcd
D )
abcdefghijk
32)以下选项中正确的语句组是
A )char s[];s=”BOOK!”;
B ) char
*s;s={”BOOK!”}; C )char s[10];s=”
BOOK!”; D ) char *s;s=”BOOK!”;
(33)有以下程序
#include <stdio.h>
int fun{int x,int y}
{ if (x==y ) return (x );
else returen ((x+y )/2)}
main ()
{ int a=4,b=5,c=6;
printf (“%d\n ”,fun (2*a,fun (b,c )))}
程序运行后的输出结果是
A )3
B )6
C )8
D )12
(34)设函数中有整型变量n ,为保证其
在未赋值的情况下初值为0,应选择的存
储类别是
A )auto
B ) register
C )static
D )auto 或register
(35)有以下程序 #include <stdio.h> int b=2; int fun (int *k ) { b=*k+b;return (b );} main () { int a[10]={1,2,3,4,5,6,7,8},I; for (i=2;i<4;i++) {b=fun (&a )+b;printf (“%d ”,b );} printf (“\n ”);}程序运行后输出的结果是 A )10 B )8 C )10 D )10 12 10 28 16 36)有以下程序
#include <stdio.h>
#define PT 3.5;
#define S (x ) PT*x*x;
mian ()
{ int a=1, b=2; printf (“%4.1f\n ”,S
(a+b ));}程序运行后输出的结果是
A )14.0
B )31.5
C )7.5
D )程序有错无输出结果
37)有以下程序
#include <stdio.h>
struct ord
{ int x,y;} dt[2]={1,2,3,4};
main ()
{ struct ord *p=dt;
printf (“%d,”,++p->x ); printf
(“%d\n ”,++p->y );}程序的运行结果
是
A )1,2
B )2,3
C )3,4
D )4,1
38)设有宏定义:#include IsDIV (k,n ) ((k%n==1)?1:0且变量
m 已正确定义并赋值,则宏调用:IsDIV
(m,5)&& IsDIV (m,7)为真时所要表达
的是 A )判断m 是否能被5或者7整
除 B )判断m 是否能被5和7整除
C )判断m 被5或者7整除是否余1
D )判断m 被5和7整除是否余1 (39)有以下程序 #include <stdio.h> main () { int a=5,b=1,t; t=(a<<2|b ); printf (“%d\n ”,t )}程序运行后的输出结果是 A )21 B )11 C )6 D )1 (40)有以下程序 #include <stdio.h> main () { EIL
E *f; f=fopen (“filea.txt ”,”w ”); fprintf (f,”abc ”); fclose (f );} 若文本文件filea.txt 中原有内容为:hello ,则运行以上程序后,文件filea.txt 中的内容为 A ) helloabc B )abclo C )abc D )abchello 二、填空题(每空2分,共30分) (1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom 指向栈底元素,栈顶指针top 指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。 (2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于 【2】测试。 (3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】。 (4)数据库系统的核心是 【4】 (5)在E-R 图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。 (6)表达式(int )((double )(5/2)+2.5)的值是【6】 (7)若变量x 、y 已定义为int 类型且x 的值为99,y 的值为9,请将输出语句printf (【7】,x/y );补充完整,使其输出的计算结果形式为:x/y=11 (8)有以下程序 #include <stdio.h> main( ) {char c1,c2;scanf(“&c ”,&c1); while(c1<65||c1>90)
scanf(“&c ”,&c1);
c2=c1+32;
printf(“&c, &c\n ”,c1,c2);} 程序
运行输入65回车后,能否输出结果、结
束运行(请回答能或不能)【8】。
(9)以下程序运行后的输出结果是【9】 #include <stdio.h> main( ) {int k=1,s=0; do{
if{((k&2)!=0)continue ; s+=k ;k++;
}while (k )10);
printf (“s=&d/n ”,s );}
(10)下列程序运行时,若输入labced12df<回车>输出结果为【10】 #include <stdio.h> main( ) {char a =0,ch;
while((ch=getchar())!=’\n ’)
{if(a&2!=0&&(ch>’a ’&&ch<=’z ’)) ch=ch-‘a ’+’A ’; a++;putchar(ch);} printf(“\n ”);}
(11)有以下程序,程序执行后,输出结果是【11】
#include <stdio.h> void fun (int *a) {a[0=a[1];]} main()
{int a[10]={10,9,8,7,6,5,4,3,2,1},i; for(i=2;i>=0;i--) fun{&a};
for(i=0;i<10;i++) printf(“&d ”,a); printf(“\n ”); }
(12)请将以下程序中的函数声明语句补充完整
#include <stdio.h> int 【12】; main( )
{int x,y,(*p)(); p=max;
printf(“&d\n ”,&x,&y);} Int max(int a,int b) {return (a>b/a:b);}
(13)以下程序用来判断指定文件是否能正常打开,请填空 #include <stdio.h> main( ) {FILE *fp; if (((fp=fopen(“test.txt ”,”r ”))==【13】))
printf (“未能打开文件!\n ”); else
printf(“文件打开成功!\n ”); (14)下列程序的运行结果为【14】 #include <stdio.h> #include <string.h> struct A
{int a;char b[10];doublec;}; void
f (struct A *t); main() {struct A a=(1001,”ZhangDa ”,1098,0); f(&a);printf(“&d,&s,&6,if\n ”,a.a,a.b,a.c);} void f(struct A *t)
{strcpy(t->b,”ChangRong ”);}
(15)以下程序把三个NODETYPE 型的变量
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库历年二级C语言笔试真题及答案(5)在线全文阅读。
相关推荐: