c语言期未考试BWord格式文档下载.docx
- 文档编号:21013237
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:15
- 大小:36.04KB
c语言期未考试BWord格式文档下载.docx
《c语言期未考试BWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言期未考试BWord格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
scanf(“%f”,3.5);
B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,必须指明变量地址,例如:
、
scanf(“%f”,&
f);
D)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf(“%4.2f”,&
(5)设intx[]={1,2,3,4},y,
则执行语句:
y=x[3]
后变量y的值为D
A)1B)2C)3D)4
(6)以下程序的输出结果是
main()
{inta=12,b=12;
printf(“%d%d\n”,--a,++b);
A)1010B)1212C)1110D)1113
(7)函数调用时,下列说法中不正确的是
A)若用值传递方式,则形式参数不予分配内存
B)实际参数和形式参数可以同名
C)主调函数和被调函数可以不在同一个文件中
C)函数间传递数据可以使用全局变量
(8)执行以下程序段时
x=-1;
do{x=x*x;
}while(!
x);
A)循环体将执行一次
B)循环体将执行两次
C)循环体将执行无限次
D)系统将提示有语法错误
(9)执行下列程序
intfun(intx1,intx2)
{intx;
x1>
x2?
(x=3):
(x=4);
return(x+x1);
}
main()
{printf(“%d\n”,fun(7,8));
}
后输出结果是
A)9B)10C)11D)12
(10)如下程序的运行结果是
main()
{inta=-1,b=1,k;
if((++a<
0)&
&
!
(b--<
=0))printf(“%d,%d\n”,a,b);
elseprintf(“%d,%d\n”,b,a);
A)–1,1B)0,1C)1,0D)0,0
(11)有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:
(m=a>
b)&
(n=c>
d)后,n的值为
A)1B)2C)3D)0
(12)若有说明:
inta[10];
则对a数组元素的正确引用是D
A)a[10]B)a[3.5]C)a(5)D)a[10-10]
(13)若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型为
A)floatB)intC)charD)double
(14)表达关系X≤Y≤Z的C语言表达式为
A)(X<
=Y)&
(Y<
=Z)B)(X<
=Y)AND(Y<
=Z)
C)(X<
=Y<
=Z)D)(X<
=Y)&
(Y<
(15)a=1,b=2,c=3,d=4,则表达式:
a<
b?
a:
c<
d?
d的结果为
A)4B)3C)2D)1
(16)设x=8,y,z;
执行y=z=x++;
x=y==z后,变量x的值是
A)0B)1C)8D)9
(17)可作为C语言赋值语句的是
A)x=3,y=5B)a=b=6
C)i--;
D)y=int(x);
(18)C语言中,最低类型的数据在运算之前,应先转换为:
A)charB)shortC)intD)long
(19)给出以下定义:
charx[]=“abcdefg”;
chary[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};
则正确的叙述为
A)数组X和数组Y等价B)数组x和数组Y的长度相同
C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度
(20)以下叙述中不正确的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
(21)设x和y均为int型变量,则以下语句:
x+=y;
y=x-y;
x-=y;
的功能是
A)把x和y按从大到小排列
B)把x和y按从小到大排列
C)无确定结果
D)交换x和y中的值
(22)在执行以下程序时,如果从键盘上输入:
ABCdef《回车》,则输出为
#include<
stdio.h>
{charch;
while((ch=getchar())!
=’\n’)
{if(ch>
=’A’&
ch<
=’Z’)ch+=32;
elseif(ch>
=’a’&
=’z’)ch-=32;
printf(“%c”,ch);
printf(“\n”);
A)ABCdefB)abcDEFC)abcD)DEF
(23)下面能正确进行字符串赋值操作的语句是
A)chars[5]={“ABCDE”};
B)chars[5]={‘A’,’B’,’C’,’D’,’E’};
C)chars[];
s=”ABCDEF”D)chars[10];
scanf(“%s”,s);
(24)在下列选项中,没有构成死循环的程序段是:
A)inti=100;
B)for(;
;
);
while
(1)
{i=i%100+1;
if(i>
100)break;
C)intk=1000;
D)ints=36;
do{++k;
}while(k>
=1000);
while(s);
--s;
(25)运行下面的程序,如果从键盘上输入:
ab<
回车>
c<
回车>
def<
则输出结果为
#defineN6
{charc[N];
inti=0;
for(;
i<
N;
c[i]=getchar(),i++);
for(i=0;
i++)putchar(c[i]);
printf(“\n”);
A)aB)aC)abD)abcdef
bbc
ccd
dd
e
f
(26)以下程序运行后,;
输出结果是
intd=1;
fun(intp)
{intd=5;
d+=p++;
printf(“%d”,d);
{inta=3;
fun(a);
d+=a++;
printf(“%d\n”,d);
A)84B)99C)95D)44
(27)设有数组定义:
chararray[]=“China”;
则数组array所占的空间为
A)4个字节B)5个字节C)6个字节D)7个字节
(28)以下程序的输出结果是
{inti,j,x=0;
for(i=0;
i<
2;
i++)
{x++;
for(j=0;
j<
3;
j++)
{if(j%2)continue;
x++;
printf(“x=%d\n”,x);
A)x=4B)x=8C)x=6D)x=12
(29)运行以下程序后,如果从键盘上输入6514<
,则输出结果为
{intm,n;
printf(“Enterm,n:
”);
scanf(“%d%d”,&
m,&
n);
while(m!
=n)
{while(m>
n)m-=n;
while(n>
m)n-=m;
printf(“m=%d\n”,m);
A)m=3B)m=2C)m=1D)m=0
(30)以下程序运行后,如果从键盘上输入
book<
book<
空格>
<
则输出结果是
main()
{chara1[80],a2[80],s1=a1,s2=a2;
gets(s1);
gets(s2);
if(!
strcmp(s1,s2)printf(“*”);
elseprintf(“#”);
printf(“%d\n”,strlen(strcat(s1,s2)));
A)*8B)#9C)#6D)*9
二、填空题(每题2分,共30分)
(1)若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是。
chara[10],b;
scanf(“a=%sb=%c”,a,&
b);
(2)设有数组定义:
(3)以下程序的输出结果是
(4)运行以下程序后,如果从键盘上输入6514<
(5)以下程序运行后,如果从键盘上输入
(6)若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是_____________。
(7)C语言规定,可执行程序的开始执行点是________________
(8)以下程序的输出是______________
{inta[10]={19,23,44,17,37,28,49,36};
printf(“%d\n”,a[3]);
(9)以下程序的运行结果是________________
{increment();
increment();
{intx=0;
x+=1;
printf(“%d”,x);
(10)下列程序和功能是____________________,运行结果是____________
longfib(intg)
{switch(g)
{cose0:
return0;
case1:
case2:
return1:
return(fib(g-1)+fib(g-2));
main()
{longk;
k=fib(7);
printf(“k=%d”,k);
(11)下面程序的运行结果是________________
{inta[10]={1,2,2,3,4,3,4,5,1,5};
intn=0,I,j,c,k;
10-n;
{c=a[j]==c}
for(j=i+1;
if(a[j]==c)
{for(k=j;
k,10-n;
k++)
a[k]=a[k+1];
n++;
}}
(10-n);
printf(“%d”,a[i]);
printf(“/n”);
(12)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为____________________。
for(i=0,j=10;
=j;
i++,j--)k=i+j;
(13)将一字符串中的小写英文字母改成大写。
main()
{inti=0;
charstr[81];
scanf(“%s”,str);
while(__________________)
{if(_______________)str[i]-=’a’-‘A’;
printf(“%s\n”,str);
(14)语句:
x++;
、++x;
x=x+1;
、x=1+x;
,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与举例的相同)____________________。
(15)下面程序的输出是__________________
{inti=3;
j=2;
char*a=“DCBA”;
printf(“%c%c\n”,a[i],a[j]);
三、读程序题(每小题5分,共20分)
1、读程序写功能
#include“stdio.h”
{chars[80];
inti,j;
gets(s);
for(i=j=0;
s[i]!
=’\0’;
if(s[i]!
=’c’)s[j++]=s[i];
s[j]=’\0’;
puts(s);
2.main()
运行结果为:
3.下面程序的运行结果是____________________
#include<
{inti;
for(i=1;
=5;
switch(i%2)
{case0:
i++;
printf(“#”);
break;
i+=2;
printf(“*”);
default:
printf(“\n”);
4.以下程序的运行结果是
intk=1;
{intI=4;
fun(i);
printf(“
(1)%d,%d|n”,I,k);
fun(intm)
{m+=k;
k+=m;
{chark=’B’;
printf(“
(2)%d\n”,k-‘A’);
printf(“(3)%d,%d\n”,m,k);
四.综合题(每小题10分,共30分)
1、编程根据公式e=1+
…求e的近似值,精度要求为10-6。
2、从键盘输入两个字符串a和b,要求不用库函数sttrcat把串b的前五个字符连接到串a中;
如果b的长度小于5,则把b的所元素都连接到a中。
试编程
3、编程实现两个字符串的合并,程序要求用两个一维字符数组存储两个字符串,将s1连接到s1串的尾部使s1串成为两个串的合并串,假设合并后的中长小于等于80。
二、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试