C语言程序的设计第2阶段练习题Word格式文档下载.docx
- 文档编号:17298959
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:9
- 大小:18.67KB
C语言程序的设计第2阶段练习题Word格式文档下载.docx
《C语言程序的设计第2阶段练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计第2阶段练习题Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
A、二个语句都不正确
B、s所指向的字符串和s1的值都是"
C、第一个语句正确,而第二个语句不正确
D、第二个语句正确,而第一个语句不正确
3、变量的有效范围与其定义位置有关,(),其作用域在整个源程序文件中都有效。
A、在第一个函数中定义的变量
B、在定义第一个函数之前所定义的变量
C、在主函数中定义的变量
D、在函数中定义的静态变量
4、若程序中定义了以下函数
doublemyadd(doublea,doubleB)
{return(a+B);
}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。
A、doublemyadd(doublea,B);
B、doublemyadd(double,double);
C、doublemyadd(doubleb,doubleA);
D、doublemyadd(doublex,doubley);
5、有以下程序
voidf(intv,intw)
{intt;
t=v;
v=w;
w=t;
main()
{intx=1,y=3,z=2;
if(x>
y)f(x,y);
elseif(y>
z)f(y,z);
elsef(x,z);
printf(“%d,%d,%d\n”,x,y,z);
执行后输出结果是()。
A、1,2,3B、3,1,2C、1,3,2D、2,3,1
6、函数调用可以……,以下错误的是()。
A、出现在执行语句中B、出现在一个表达式中
C、作为一个函数的实参D、作为一个函数的形参
7、若有宏定义与变量说明如下:
#defineX5
#defineYX+1
#defineZY*X/2
inta;
a=Y;
则执行以下printf语句后输出的结果是()。
Printf("
%d%d\n"
Z,--a);
A、75B、126C、125D、76
8、下列说法不正确的是()。
A、宏替换不占用运行时间B、宏无类型
C、宏替换只是字符替换D、宏名必须用大写字母表示
9、数组名作为参数传递给函数,此时作为实在参数的数组名被处理为()。
A、该数组的长度B、该数组的元素个数
C、该数组中各元素的值D、该数组的首地址
10.执行完下面的程序段后,屏幕显示的内容为()。
main()
{inta=2,i;
for(i=0;
i<
3;
i++)printf("
f(a));
f(inta)
{intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
A、777B、777C、789D、789
11、以下描述中,正确的是()。
A、调用函数时,实参可以是表达式
B、调用函数时,将为形参分配内存单元
C、调用函数时,实参与形参的原型必须一致
D、调用函数时,实参与形参可以用内存单元
12、以下能正确定义一维数组的选项是()。
A、intnum[];
B、#defineN100
intnum[N];
C、intnum[0..100];
D、intN=100;
intnum[N];
13、有两个字符数组a,b,则以下正确的输入语句是()。
A、gets(a,b);
B、scanf("
%s%s"
a,b);
C、scanf("
&
a,&
b);
D、gets("
a"
),gets("
b"
);
14、下述对C语言字符数组的描述中错误的是()。
A、字符数组可以存放字符串
B、字符数组的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值
D、不可以用关系运算符对字符数组中的字符串进行比较
15、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。
A、float型B、int型C、long型D、double型
16、在C语言中,引用数组元素时,其下标的数据类型允许是()。
A、整型常量B、整型表达式
C、整型常量或整型表达式D、任何类型的表达式
17、C语言中函数能否嵌套调用和递归调用?
以下说法正确的是()。
A、二者均不可B、前者可,后者不可
C、前者不可,后者可D、二者均可
18、有语句charstr1[10],str2[10]={"
books"
};
则能将字符串books赋给数组str1的正确语句是()。
A、str1={"
Books"
B、strcpy(str1,str2);
C、str1=str2;
D、strcpy(str2,str1);
19、以下函数调用中有()个实参。
expd((a1,a2,a3),(a4,a5),a7,a8)
A、4个B、3个C、8个D、5个
20、C语言的编译系统对宏命令是()时候处理的。
A、在程序运行
B、在程序连接时
C、和源程序其它C语言同时进行编译时
D、对源程序其它成份正式编译之前进行处理的
二、填空题(本题共8小题,每空2分,共30分)
1、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为。
2、在C语言中,二维数组元素在内存中的存放顺序是按存放的。
3、下面rotate函数的功能是:
将n行n列的矩阵A转置为A’,例如:
123415913
5678261014
当A=9101112则A’=371115
13141516481216
请填空
#defineN4
voidrotate(inta[][N])
{inti,j,t;
N;
i++)
for(j=0;
;
j++)
{t=a[i][j];
;
a[j][i]=t;
}
4、以下程序实现从键盘上输入一个字符,用折半查找法找出该字符在已排序的字符串a中的位置。
若字符不在,则打印**。
请完善以下程序。
#include”stdio.h”
#include”string.h”
{charstr[100],ch;
intbot=0,top,mid,flag=0;
gets(str);
getchar(ch);
top=;
while((top-bot)>
=0)
{mid=;
if(str[mid]==c)
{;
;
elseif(str[mid]<
c)
bot=;
else
top=;
if(flag)
printf(“%c字符在已知字符串中位置是%d\n”,c,mid+1);
else
printf(“**”);
5、以下函数的功能是删除字符串s中的所有数字字符。
请填空。
voiddele(chars[])
{intn=0,i;
for(i=0,s[i];
if()
s[n++]=s[i];
s[n]=;
6、执行以下程序后,输出的结果是。
intm=10;
intf(intx,inty)
{intm=5;
m+=x*y;
returnm;
main()
{inta=6,b=7;
printf(“%d\n”,f(a,b)/m);
7、以下程序运行后的输出结果是。
#defineSQR(x)x*x
{inta,k=3;
a=++SQR(k+1);
printf("
%d\n"
a);
8、有以下程序
voidswap1(intc[])
t=c[0];
c[0]=c[1];
c[1]=t;
voidswap2(intc0,intc1)
t=c0;
c0=c1;
c1=t;
{inta[2]={3,5},b[2]={3,5};
swap1(A);
swap2(b[0],b[1]);
printf(“%d,%d,%d,%d\n”,a[0],a[1],b[0],b[1]);
其输出结果是。
五、编程题(本题共2小题,每小题15分,共30分)
1、编写程序实现输入一个十进制数,将其转化为指定进制的数制字符。
2、编写程序将下标为奇数的数组元素从数组中删除,然后排序输出。
参考答案:
一、单项选择题:
(本题共20小题,每小题2分,共40分)
1、B2、A3、B4、A5、C
6、D7、A8、D9、D10、C
11、A12、B13、B14、C15、B
16、C17、D18、B19、A20、D
1、auto(动态存储)2、行3、j<
N、a[i][j]=a[j][i]
4、strlen(str)-1、(top+bot)/2、flag=1、break、mid+1、mid-1
5、s[i]<
’0’||s[i]>
’9’、‘\0’
6、47、98、5,3,3,5
五、编程题:
(本题共2小题,每小题15分,共30分)
1、
#include"
string.h"
stdio.h"
voidf(intm,intr,chara[])
{inti=0,k;
charb[17]="
0123456789ABCDEF"
t;
while(m!
{a[i++]=b[m%r];
m=m/r;
a[i]='
\0'
puts(a);
k=strlen(a);
k/2;
{t=a[i];
a[i]=a[k-1-i];
a[k-1-i]=t;
{intr,m,i=0;
chara[16];
printf("
pleaseinputm,r\n"
do
{scanf("
%d,%d"
m,&
r);
}while(m<
0||r<
2||r>
16);
f(m,r,a);
%dzhuanhuancheng%djinzhizifuchuanwei%s\n"
m,r,a);
2、
#defineN10
voidsort(inta[],intn)
{intI,j,t;
for(I=1;
I<
=n-1;
I++)
for(j=0;
j<
n-I;
if(a[j]>
a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}}
{inta[N],I,k=0;
for(I=0;
scanf("
a[I]);
if(I%2==0)a[k++]=a[I];
sort(a,k);
for(I=0;
k;
%d"
a[I]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 设计 阶段 练习题