五邑大学专插本C语言程序设计考卷.docx
《五邑大学专插本C语言程序设计考卷.docx》由会员分享,可在线阅读,更多相关《五邑大学专插本C语言程序设计考卷.docx(12页珍藏版)》请在冰点文库上搜索。
五邑大学专插本C语言程序设计考卷
五邑大学--2015专插本-C语言程序设计-考卷
7.char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
()
8.用fopen("file","r+");打开的文件"file"不能修改。
()
9.一个共用体变量只能存放其中一个成员的值。
()
10.在不出现溢出的情况下,将一个数左移n位,相当于给它扩大2n倍。
()
二单项选择题,错选、漏选、多选不得分。
(每题2分,共40分)
1.下面关于"A"的说法正确的是()。
A)它代表一个字符常量 B)它代表一个字符串常量
C)它代表一个字符 D)它代表一个变量
2.若以下选项中的变量已正确定义,则正确的赋值语句是()。
A)x1=26.8%3;B)1+2=x2;
C)x3=0x12;D)x4=1+2=3;
3.为表示关系x≥y≥z,正确C语言表达式是()。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=z)&(y>=z)
4.设a=5,b=6,c=7,d=8,m=2,n=2,则执行(m=a>b)&&(n=cA)1 B)2
C)3 D)4
5.设a=8、b=13,则printf("%d",(a>b)?
a:
b);则输出结果是()。
A)5B)8
C)13D)21
6.在C语言中要求参加运算的数必须是整数的运算符是()。
A)/B)!
C)% D)==
7.设整型变量a为5,使b不为2的表达式是()。
A)b=a/2B)b=5-(----a)
C)b=a>3?
2:
1D)b=a%2
8.若x=5,y=4则y*=x+5;y的值为()。
A)40B)20
C)15D)30
9.关于break语句的正确说法是()。
A)无论在任何情况下,都中断程序的执行,退出到系统下一层。
B)在多重循环中,只能退出最靠近的那一层循环语句。
C)跳出多重循环。
D)只能修改控制变量。
10.设有定义:
floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是()。
A)(a+b)*h/2B)(1/2)*(a+b)*h
C)(a+b)*h*1/2D)h/2*(a+b)
11.有定义语句:
intb;
charc[10];
则正确的输入语句是()。
A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);
C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);
12.设有如下定义:
structsk
{inta;
floatb;
}data;
int*p;
若要使指针p指向data中的a域,正确的赋值语句是()。
A)p=&a; B)p=data.a;
C)p=&data.a; D)*p=data.a
13.以下对数组初始化中哪个是不正确的。
( )
A)charch[]={“Cprogram!
”};
B)intnum[][3]={2,4,6,8,10,12,14,16,18};
C)charch[5]={‘C’,’h’,’i’,’n’,’a’};
D)intnum[3][]={1,3,5,7,9,11,13,15,17};
14.C语言用()表示逻辑“真”值。
A).trueB).T或Y
C).非零整型值D).整型值0
15.以下为非法操作的是( )。
A)inti;i=100;B)inti=100;
C)constinti=100;D)constinti;i=100;
16.根据C语言的语法规则,下列()是不合法标识符。
A)whileB)Name
C)Rern5D)_exam
17.设有宏定义“#defineS(a,b)a*b”,则赋值语句“s=S(x,y)”经宏展开为( )。
A)s=x*y B)s=S(a,b)
C)s=a*b D)s=S(x*y)
18.设指针变量p指向数组a的首地址,则以下哪个选项不能取得数组第i个元素值。
( )
A)*(p+i)B)p+i
C)*(a+i)D)a[i]
19.设a=15,则表达式“(a=3*5,a*4),a+5”的值是( )。
A)15B)60
C)20D)75
20.结构化程序设计的基本结构不包含()。
A)顺序B)选择
C)循环D)跳转
三综合题。
(第1-2题每题3分,第3-6题每题6分,共30分)
1.阅读以下程序代码,写出程序运行结果。
intmain()
{inti,sum=0;
for(i=1;i<=20;i++)
{sum+=i;}
printf(“%d”,sum);
return0;
}
程序运行后输出:
。
2.阅读以下程序代码,写出程序运行结果。
intmain()
{inti,j,x=0;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
if(j%2==0)continue;
x=x+1;
}
}
printf(“%d”,x);
return0;
}
程序运行后输出:
。
3.下列程序的功能是求10的阶乘,改正程序中存在的错误(错误行已标出,不可改动其他程序代码否则不能得分),使程序能正确运行并得到正确的结果。
intmain()
{inti=1,n=10;
longt=1;
do
{
t=t*i;
i++;
}while(i<=n)//此行错误,正确为:
prinft(“%d”,t);//此行错误,正确为:
return0;
}
4.下列程序的功能是采用选择法对10个整数进行排序,改正程序中存在的错误(错误行已标出,不可改动其他程序代码否则不能得分),使程序能正确运行并得到正确的结果。
intmain()
{inta[10]={18,6,7,35,24,69,52,21,11,41};
inti,j,k,t;
for(i=0;i<10;i++)
{k=i;
for(j=0;j
if(a[j]if(k!
=i)
t=a[i],a[i]=a[j],a[j]=t;//此行错误,正确为:
}
for(i=0;i<10;i++)
printf(“%d”,a[i]);
return0;
}
5.下列程序为使用指针输出数组所有元素。
阅读程序,将程序中缺少的代码补充完整,使程序能正确运行并得到正确的结果。
(每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。
)
intmain()
{int*p,i,num[10]={1,2,3,4,5,6,7,8,9,10};
i=0;
while(i<10)
{printf(“%d“,*p);
p++;
}
return0;
}
6.下列程序中的数组a包括10个整型元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素的形式输出数组b。
阅读程序,将程序中缺少的代码补充完整,使程序能正确运行并得到正确的结果。
(每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。
)
intmain()
{
inta[10],b[10],i;
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
for(i=1;i<10;i++)
b[i]=;
for(i=1;i<10;i++)
{printf(“%3d”,b[i]);
if()printf(“\n”);
}
}
四编程题。
(第1题8分,第2题12分,共20分)
1.编写函数strLen,计算并返回给定字符串的长度。
2.编写反转函数reverse,将输入的整数反转并返回,如:
输入-1234转换成-4321,输入6853转换为3586。