C语言常见考试题型Word下载.docx
- 文档编号:17947135
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:27.42KB
C语言常见考试题型Word下载.docx
《C语言常见考试题型Word下载.docx》由会员分享,可在线阅读,更多相关《C语言常见考试题型Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,继续执行下次循环
(9)若变量已正确定义并赋值,不符合C语言语法的表达式是。
A)a=a+7B)a=7+b+c,8C)a>
b&
&
b>
cD)a=a+7=c+b
(10)设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是。
A)0至255B)0至65535C)0至32767D)-32768至32767
(11)以下程序的输出结果是。
main()
intx=10,y=10;
printf(“%d%d\n”,x--,--y);
A)109B)99C)910D)1010
(12)若以下选项中的变量已正确定义,则正确的赋值语句是。
A)x1=26.8%3B)x3=0x12
C)1+2=x2D)x4=1+2=3;
(13)以下表示数学式子“a<
b<
c”的逻辑表达式中错误的是。
A)a<
cB)a<
b<
c
C)!
(a>
=b)&
!
(b>
=c)D)!
=b||b>
=c)
(14)已知字符A的ASCII码值是65,以下程序。
(15)在下面的条件语句中(其中s1和s2代表C语言的语句),只有一个在功能上与其它三个语句不等价,它是【13】。
A.if(a)s1;
elses2;
B.if(a==0)s2;
elses1;
C.if(a!
=0)s1;
D.if(a==0)s1;
(16)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是。
A)k%2
B)k%2==1C)(k%2)!
=0
D)!
k%2==1
(17)已知x=3,y=2,则表达式x*=y+8的值为【4】。
A)3B)2C)30D)10
(18)读下列程序:
main()
{floata,b,t;
scanf("
%f,%f"
&
a,&
b);
if(a>
b){t=a;
a=b;
b=t;
printf("
%5.2f,%5.2f"
a,b);
运行时从键盘输入3.8和–3.4,则正确的输出结果是。
A)–3.40,–3.80B)–3.40,3.80
C)–3.4,3.8D)3.80,–3.40
(19)运行以下程序,输入6以后的输出结果是。
voidmain()
intx,y;
%d"
x);
y=0;
if(x>
=0)
{if(x>
0)y=1;
else
y=-1;
printf("
%d\n"
y);
A)0B)1C)-1D)不确定
(20)已知:
intx,a,b;
下列选项中错误的if语句是。
A)if(a=b)x++;
B)if(a=<
b)x++;
C)if(x)x++;
D)if(a-b)x++;
(21)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。
#include"
stdio.h"
intx;
scanf("
if(x++>
5)printf("
x);
elseprintf("
x--);
A)7和5B)6和3C)7和4D)6和4
(22)以下程序运行后的输出结果是。
inta;
scanf(“%d”,&
a);
if(a>
100)
printf("
a>
100);
a<
=100);
A)100B)1C)0D)不确定
(23)若变量已正确定义,则以下程序段的输出结果是:
。
x=0;
y=2;
z=3;
switch(x)
{
case0:
switch(y==2)
{
case1:
*"
);
break;
case2:
%"
}
case1:
switch(z)
$"
default:
#"
A)*B)*#C)*%#D)*%$*
(24)设有程序段
intk=10;
while(k=0)
k=k-1;
则下面描述中正确的是。
A)while循环执行10次
B)循环时无限循环
C)循环体语句一次也不执行
D)循环体语句执行一次
(25)有以下程序
{ints,i=0,x=0;
for(;
)
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
s);
程序运行后的输出结果是。
A.10B.13C.21D.程序进入死循环
(26)运行以下程序,输入ADescriptor<
CR>
(<
表示回车),则输出结果是。
charc;
intv1=0,v2=0;
do{
switch(c=getchar())
{
case'
:
e'
i'
o'
default:
v1=v1+1;
v2+=1;
}
}while(c!
='
\n'
v1=%d,v2=%d\n"
v1,v2);
A)v1=0,v2=0B)v1=4,v2=4
C)v1=11,v2=11D)v1=12,v2=12
(27)若a、b均为int型变量且a=100,则对以下for循环语句的正确判断是。
for(b=100;
a!
=b;
++a,b++)printf("
-----\n"
A)循环体只执行一次B)是死循环
C)循环体一次也不执行D)以上说法都不对
(28)以下程序运行后的输出结果是。
{intn=2,k=0;
while(k++&
n++>
2);
printf(“%d%d\n”,k,n);
A)12B)13C)57D)02
(29)判断字符串s1是否大于字符串s2,应当使用【10】。
A)if(s1>
s2)B)if(strcmp(s1,s2))
C)if(strcmp(s2,s1)>
0)D)if(strcmp(s1,s2)>
0)
(30)若有以下语句,则正确的描述是。
charx[]="
12345"
chary[]={'
1'
'
2'
3'
4'
5'
A)x数组和y数组的长度相同B)x数组长度大于y数组的长度
C)x数组长度小于y数组的长度D)x数组等价于y数组
(31)下列选项中,能正确定义数组的语句是。
A)intnum[0..2008];
B)intnum[];
C)intN=2008;
intnum[N];
D)#defineN2008
(32)下列关于输出函数的说法中,不正确的。
A)putchar()函数只能输出一个字符
B)printf()函数在输出整数时,使用"
%f"
格式控制符
C)scanf()函数既可以输入数值,也可以输入字符串
D)strcpy()函数可以实现字符串拷贝
(33)若有以下定义
intx[10],*pt=x;
则对x数组元素的正确引用是。
A)*&
x[10]B)*(x+3)C)*(pt+10)D)pt+3
(34)为了判断两个字符串s1和s2是否相等,应当使用。
A)if(s1==s2)B)if(s1=s2)
C)if(strcpy(s1,s2))D)if(strcmp(s1,s2)==0)
(35)现有如下定义语句
int*p,s[20],i;
p=s;
表示数组元素s[i]的表达式不正确的是。
A)*(s+i)B)*(p+i)C)*(s=s+i)D)*(p=p+i)
(36)设有定义doublea[10],*s=a;
,以下能够代表数组元素a[3]的是。
A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3
(37)以下程序的运行结果是。
structst
{intx,y;
}data[2]={1,10,2,20};
{structst*p=data;
%d,"
p->
y);
(++p)->
}
A)10,1B)20,1C)10,2D)20,2
有以下程序运行后的输出结果是。
voidfun(char*c,intd)
*c=*c+1;
d=d+1;
%c,%c,"
*c,d);
charb='
a'
a='
fun(&
b,a);
%c,%c\n"
b,a);
A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B
(38)有以下程序
string.h>
structA
charb[10];
doublec;
voidf(structAt);
structAa={1001,"
ZhangDa"
1098.0};
f(a);
%d,%s,%6.1f\n"
a.a,a.b,a.c);
voidf(structAt)
t.a=1002;
strcpy(t.b,"
ChangRong"
t.c=1202.0;
程序运行后的输出结果是A。
A)1001,zhangDa,1098.0B)1002,changRong,1202.0
C)1001,ehangRong,1098.0 D)1002,ZhangDa,1202.0
(39)以下程序的输出结果是。
voidfun(intx)
{printf("
++x);
}
voidmain()
{fun(12+5);
A)12
B)13
C)17
D)18
(40)以下叙述中不正确的是。
A)在不同的函数中可以使用相同的名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内的复合语句中定义的变量在本函数范围内有效
D)在一个函数内定义的变量只在本函数范围内有效
填空题
(1)C语言中最重要的一个函数是main,缺少该函数程序就无法运行。
(2)若有代数式:
,则正确的C语言表达式为:
x*x/(3*x-5*y)。
(3)设a=2,b=3,x=3.5,y=2.5;
算术表达式(float)(a+b)/2+(int)x%(int)y的值是3.5。
(4)若定义了一个指针变量inta=90,*p,假设p=&
a,则执行*p的值为90。
(5)在逻辑运算符!
、&
、||中,运算优先级别最高的是!
(6)表示年份y是闰年(能被4整除但不能被100整除或者能被400整除为闰年)的逻辑表达式为y%4==0&
y%100!
=0||y%400==0。
(7)C语言中数组的起始下标默认为0。
(8)若x,y是int型变量,x=100,y=200,则程序段printf("
(x,y));
的输出是200。
(9)break语句可以用在循环语句和switch语句中。
(10)定义数组inta[10],则从键盘读入数组a的最后一个元素的语句是scanf(“%d”,&
a[9]);
(11)若有声明”inti=7;
floatx=3.1416;
doubley=3;
”,则表达式i+’a’*x+i/y值的类型是double型。
(12)与数学算式
等价的C语言表达式是sqrt(abs(a-b))/(3*(a+b))。
(13)设x为int型变量,请写出一个关系表达式(x%3==0)&
(x%7==0),用以判断x同时为3和7的倍数时,关系表达式的值为真。
(14)设x,y,z,k都是int型变量,当执行表达式x=(y=4,z=16,k=32)之后x的值为32。
(15)设char类型的数据长度为1个字节,则unsignedchar类型数据的取值范围是0~255。
(16)以下程序段的输出结果是:
10。
inta=-1,b=1;
if((++a<
0)&
(b--<
=0))
%d%d"
a,b);
(17)以下程序的输出结果为6。
#include<
voidmain()
{
intk=5,n=0;
while(k>
switch(k)
case1:
case3:
n+=1;
k--;
default:
n=0;
case2:
case4:
n+=2;
%3d"
n);
(18)以下程序运行后的输出结果是1。
#include<
inti,j,m=1;
for(i=1;
i<
3;
i++)
{
for(j=3;
j>
0;
j--)
if((i*j)>
3)
break;
m=i*j;
m=%d\n"
m);
(19)运行下列程序,若输入are(回车),则输出结果为Compare。
{charstr[100]="
Computer"
char*p=str;
%s"
p+4);
puts(str);
(20)以下程序段的输出结果为15。
注意:
*运算优先级高于条件运算
#include<
#defineMIN(x,y)(x)<
(y)?
(x):
(y)
{inti,j,k;
i=10;
j=15;
k=10*MIN(i,j);
k);
(21)完善下列程序,计算sum=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
intn,s,sum=0;
n);
for(inti=1;
=n;
s=0;
for(intj=1;
j<
=i;
j++)
s+=j;
sum+=s;
sum);
(22)完善下列程序,要求完成输入一个长度小于100的字符串,统计该字符串中大写字母、小写字母、数字及其他字符的个数。
charstr[100];
inti,big=0,small=0,num=0,other=0;
pleaseinputstring:
"
gets(str);
for(i=0;
str[i];
if(str[i]>
str[i]<
Z'
big++;
else
&
str[i]<
z'
small++;
if(str[i]>
0'
9'
)
num++;
other++;
big=%d,small=%d,num=%d,other=%d\n"
big,small,num,other);
(23)完善下列程序,要求从键盘输入10个整数,使用冒泡法升序排序后输出该数组。
inta[10];
inti,j,t;
请输入10个数:
for(i=0;
10;
a[i]);
9;
for(j=0;
j<
9-i;
j++)
if(a[j]>
a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
排序后:
\n"
4;
a[i][j]);
(24)完善下列程序,将一个数组中的数据奇数放在前面,偶数放在后面。
#defineN10
inti,left,right,a[N],b[N];
处理前的数组:
for(i=0;
N;
%d"
left=0;
right=N-1;
if(a[i]%2!
=0)
b[left++]=a[i];
b[right--]=a[i];
\n处理后的数组:
b[i]);
编程题
选择程序设计1-2题
(1)编写程序,从键盘输入三个数,输出其中最大的数。
(2)编写程序,要求从键盘输入x的值,然后输出y的结果。
x值
y值
x<
6
3x+5
6≤x<20
2x-1
x≥20
(3)又如,商场促销打折,教材p72例4.11,个人所得税计算等。
(4)从键盘输入一个百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
成绩与等级的对照情况如下表:
成绩
等级
90分以上
A
80~89
B
70~79
C
60~69
D
60分以下
E
循环程序设计1题
(5)用循环结构编程,计算1-1/2+1/3-1/4+1/5。
(6)2013年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 常见 考试 题型