C语言练习题文档格式.docx
- 文档编号:3041852
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:25
- 大小:29.45KB
C语言练习题文档格式.docx
《C语言练习题文档格式.docx》由会员分享,可在线阅读,更多相关《C语言练习题文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
A)’\x13’B)’\081’C)’65’D)”\n”
(13)有以下程序
#include<
stdio.h>
voidmain()
{
chara,b,c,d;
scanf(“%c%c“,&
a,&
b);
c=getchar();
d=getchar();
printf(“%c%c%c%c\n”,a,b,c,d);
}
当执行程序时,按下列方式输入数据
12↙
34↙
则输出结果是C
A)1234B)12C)12D)12
(14)有以下程序334
chara,b,c;
scanf(“%c“,&
a);
b=getchar();
c=getchar();
printf(“%c%c%c\n”,a,b,c);
a↙
bc↙
则输出结果是C
A)abcB)aC)aD)a
cbbc
(15)设变量已正确定义,若要通过scanf(“%d%c%d%c”,&
a1,&
c1,&
a2,&
c2);
语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y,以下输入形式中正确的是D
A)10□X□20□Y↙B)10□X20□Y↙
C)10□X↙D)10X↙
20□Y↙20Y↙
(16)设变量定义为inta,b;
,执行下列语句时,输入,则a和b的值都是10。
scanf("
a=%d,b=%d"
&
a,&
b);
A
A)1010B)10,10C)a=10b=10D)a=10,b=10
(17)下列程序输出结果是(C)
voidmain()
intk=5;
k--;
printf("
%d"
++k);
A)3B)4C)5D)6
(18)设有intx=11;
则表达式5/2+x%3的值是C
A)2B)3C)4D)0
(19)有以下程序
intx,y,z;
x=y=1;
z=x++,y++;
%d,%d,%d"
x,y,z);
程序运行后的输出结果是A
A)2,2,1B)2,2,2C)3,2,1D)1,2,2
(20)有以下程序
int a=1,b=0;
%d,"
b=a+b);
a=2*b);
程序运行后的输出结果是B
A)0,0B)1,0C)3,2D)1,2
(21)有以下程序
intk=011;
printf(“%d\n“,k++);
程序运行后的输出结果是C
A)12B)11C)10D)9
(22)表达式3.6-5/2+1.2+5%2的值是D
A)4.3
B)4.8
C)3.3
D)3.8
(23)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中的大写字母转换为小写字母的语句是
A)c=(c-‘A’)%26+’a’;
B)c=c+32;
C)c=c-‘A’+’a’;
D)c=(‘A’+c)%26-‘a’;
(24)有以下程序
main()
{chara='
a'
b;
print("
%c,"
++a);
%c\n"
b=a++);
}
程序运行后的输出结果是
A)b,bB)b,cC)a,bD)a,c
(25)C语言中用于结构化程序设计的三种基本结构是。
A)顺序结构、选择结构、循环结构B)if、switch、break
C)for、while、do-whileD)if、for、continue
(26)下列程序段的输出结果是
intt=1,i=5;
for(;
i>
=0;
i--)
t*=i;
%d\n"
t);
A)5B)120C)0D)1
(27)有如下程序
main0
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++;
case2:
b++;
printf(“a=%d,b=%d\n”,a,b);
该程序的输出结果是。
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
(28)有以下程序
main()
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{
case0:
i);
case2:
default:
程序运行后的输出结果是
A)022111B)021021C)000122D)012
(29)有以下程序
#include<
intfun(intx,inty)
if(x>
y)returnx;
elsereturny;
voidmain()
int
a=4,b=5;
printf("
fun(a,b));
程序运行后的输出结果是()
A)3
B)4
C)5
D)6
(30)以下程序的输出结果是
main()
{inta=2,b=–1,c=2;
if(a<
b)
if(b<
0)c=0;
elsec+=1;
printf("
c):
A)0B)1C)2D)3
(31)有一函数,
以下程序段中不能根据x值正确计算出y值的是。
A)if(x>
0)y=1;
B)y=0;
elseif(x==0)y=0;
if(x>
elsey=-1;
elseif(x<
0)y=-1;
C)y=0;
D)if(x>
=0)
if(x>
=0);
if(x>
0)y=1;
elsey=0;
elsey=-1;
(32)在以下程序段中while语句中循环体执行的次数是。
intk=0;
while(k=1)k++;
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行1次
(33)以下程序的运行结果是
{intj;
for(j=1;
j<
6;
j++)
{if(j%2)
{printf("
#"
);
continue;
&
"
\n"
A.#&
#&
#B.#####C.&
D.&
(34)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是
A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
(35)以下叙述错误的是
A)用户定义的函数中可以没有return语句
B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有return语句,则应当定义函数为void类型
D)函数的return语句中可以没有表达式
(36)在一个源文件中定义的全局变量的作用域为。
A)本文件的全部范围
B)本程序的全部范围
C)本函数的全部范围
D)从定义该变量的位置开始至本文件结束
(37)在C语言中,函数返回值的类型最终取决于
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主调函数所传递的实参类型
D)函数定义时形参的类型。
(38)有以下程序
intfun(intx,inty)
{
if(x==y)return(x);
elsereturn((x+y)/2);
inta=4,b=5,c=6;
printf(“%d\n”,fun(2*a,fun(b,c)));
程序运行后的输出结果是
A)3B)6C)8D)12
(39)以下叙述中错误的是
A)C程序必须由一个或一个以上的函数组成
B)函数调用可以作为一个独立的语句存在
C)若函数有返回值,必须通过return语句返回
D)函数形参的值也可以传回给对应的实参
(40)有以下程序
fun(inta,intb)
{if(a>
b)return(a);
elsereturn(b);
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
r);
程序运行后的输出结果是。
A)3B)6C)8D)12
(41)若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
A)#defineN10
B)#definen5C)inta[5+5];
D)intn=10,a[n];
inta[N];
inta[2*n];
(42)若有说明:
inta[10];
则对a数组元素的正确引用是。
A)a[10]B)a[3.5]C)a(5)D)a[10-10]
(43)对以下说明语句的正确理解是。
inta[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5]
B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确
(44)以下程序的输出结果是。
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
i++)printf(“%d,”,x[i][2-i]);
A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,
(45)有以下程序
{intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;
{printf("
m[k][i]);
执行后输出结果是。
A)456B)258C)369D)789
(46)以下对数组的描述正确的是______
A)数组的长度是固定的,但可以有不同的类型的数组元素。
B)数组的长度是可变的,但所有数组元素的类型必须相同。
C)数组的长度是固定的,所有数组元素的类型必须相同。
D)数组的长度是可变的,可以有不同的类型的数组元素。
(47)设有数组定义:
chararray[]="
China"
;
则数组array所占的空间为。
A)4个字节B)5个字节C)6个字节D)7个字节
(48)字符串"
ASCII"
"
ascII"
和"
AscII"
中最大的是。
A)"
B)"
C)"
D)分不出大小
(49)当调用函数时,实参是一个数组名,则向函数传送的是
A)数组的长度B)数组的首地址
C)数组每一个元素的地址D)数组每个元素中的值
(50)若有定义为inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是
A)*p+9B)*(p+8)C)*p+=9D)p+8
(51)若有定义:
int
x=0,
*p=&
x;
,则语句printf("
*p);
的输出结果是
A)随机值
B)0
C)x的地址
D)p的地址
(52)有以下程序
#include<
main()
intm=1,n=2,*p=&
m,*q=&
n,*r;
r=p;
p=q;
q=r;
%d,%d,%d,%d\n"
m,n,*p,*q);
}
A)1,2,1,2B)2,1,1,2C)1,2,2,1D)2,1,2,1
(53)有以下程序
a[10]={1,2,3,4,5,6,7,8,9,10},
a[3],
*q=p+2;
*p
+
*q);
A)16
B)10
C)8
D)6
(54)设有定义:
n1=0,n2,*p=&
n2,*q=&
n1;
,以下赋值语句中与n2=n1;
语句等价的是
A)*p=*q;
B)p=q;
C)*p=&
D)p=*q;
(55)有以下程序
inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
i<
9;
i+=2)s+=*(t+i);
s);
程序执行后的输出结果是
A)45
B)20
C)25
D)36
(56)字符串"
(57)有以下程序
string.h>
typedefstruct
charname[9];
charsex;
floatscore[2];
}STU;
voidf(STUa)
STUb={“Zhao”,’m’,85.0,90.0};
inti;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;
2;
i++)
a.score[i]=b.score[i];
STUc={“Qian”,’f’,95.0,92.0};
f(c);
printf(“%s,%c,%2.0f,%2.0f\n”,c.name,c.sex,c.score[0],c.score[1]);
程序的运行结果是
A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90
(58)有以下程序
}STU;
STUf(STUa)
STUb={"
Zhao"
'
m'
85.0,90.0};
strcpy(a.name,b.name);
returna;
voidmain()
STUc={"
Qian"
f'
95.0,92.0},d;
d=f(c);
%s,%c,%2.0f,%2.0f\n"
d.name,d.sex,d.score[0],d.score[1]);
程序的运行结果是
A)Qian,f,95,92B)Qian,m,85,90C)Zhao,m,85,90D)Zhao,f,95,92
(59)有以下程序
structS
{inta,b;
}data[2]={10,100,20,200};
{structSp=data[1];
++(p.a));
A)10B)11C)20D)21
(60)有以下程序
main()
{structSTU{charname[9];
charsex;
doublescore[2];
};
structSTUa={“Zhao”,’m’,85.0,90.0},b={“Qian”,’f’,95.0,92.0};
b=a;
printf(“%s,%c,%2.0f,%2.0f\n”,b.name,b.sex,b.score[0],b.score[1]);
}程序的运行结果是
A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90
(61)有以下程序
structord
{intx,y;
}dt[2]={1,2,3,4};
structord*p=dt;
++(p->
x));
y));
A)1,2B)4,1C)3,4D)2,3
二、填空题
(62)C语言中整型常量可用八进制数、进制数、十六进制数三种数制表示。
(63)结构化程序设计由顺序结构,选择结构和三种基本结构组成。
(64)执行以下程序时输入1234567↙
inta=1,b;
%2d%2d"
%d%d\n"
a,b);
则输出结果是
(65)执行下面程序中的输出语句后,a的值是
{inta;
(a=3*5,a*4,a+5));
(66)执行以下程序后的输出结果是
inta=10;
a=(3*5,a+4);
printf(“a=%d\n”,a);
(67)已知字母A的ASCII码为65。
以下程序运行后的输出结果是
char
a,
a=’A’+’5’-’3’;
b=a+’6’-’2’
%d
(68)设有语句inta=3;
则执行了语句a+=a-=a*a;
后,变量a的值是
(69)设原来a=12,则表达式a/=a+a运算后a的值为。
(70)设有intx=21;
则表达式x%5的值是
(71)设原来a=12,则表达式a*=2+3运算后a的值为。
(72)以下程序运行后的输出结果是
{intx=10,y=20,t;
t=x;
x=y;
y=t;
printf(“%d,%d\n”,x,y);
(73)设y是int型变量,请写出判断y为奇数的关系表达式。
(74)设y是int型变量,请写出判断y为偶数的关系表达式
(75)以下程序的输出结果是
{intw=4,x=3,y=2,z=1;
(w<
x?
w:
z<
y?
z:
x));
(76)请读程序
{intn=0;
while(n++<
=1)
printf(“%d,”,n);
printf(“%d\n”,n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)