c语言复习题Word格式.docx
- 文档编号:17001661
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:37
- 大小:26.48KB
c语言复习题Word格式.docx
《c语言复习题Word格式.docx》由会员分享,可在线阅读,更多相关《c语言复习题Word格式.docx(37页珍藏版)》请在冰豆网上搜索。
执行y=z=x;
x=y==z;
后,变量x的结果是。
25.求解赋值表达式a=(b=10)%(c=6),则“表达式值、a、b、c”的值依次为,,,。
26.求解逗号表达式(x=a=3,6*a)后,“表达式值、x、a”的值依次为,,。
27.变量的指针是指该变量的。
28.C语言中,逻辑值“假”用表示,逻辑“真”用1表示。
29.若有定义:
inta[]={1,3,5,7,9,11,13},*p=a;
则*(p+2)的值是,为什
么。
30.判断变量a、b的值均不为0的逻辑表达式为。
31.C语言的变量名可以使用的字符包括大写字母、小写字母、和下划线,而且必
须以和开头。
32.若有定义:
chara[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’},*p=a;
则*(p+2)的值
是。
33.C语言中,数组的各元素必须具有相同的,元素的下标下限为,下标必
须是正整数、0、或者。
34.在C语言中,在内存中存放二维数组元素的顺序是。
35.假设在一维数组a[20]中,元素a[4]的指针为p,那么p+4所指向的数据元素
36.下面程序块执行完成后,m的值是。
m=1;
n=263;
do{
m*=n%10;
n/=10;
while(n);
37.标准C语言程序总是从开始执行的。
38.执行语句for(i=1;
i++<
4;
);
后,变量i的值是,如果语句for(i=1;
++i<
则执行后,变量i的值是。
39.设intx=1,y=3;
执行x=9-(y--)-(--y);
后,变量x的结果是,执行
x=9-(--y)-(--y);
40.已知有如下定义:
charstr1[10]="
abcde"
str2[10]="
xyz"
;
,则执行下列语句,
输出结果为。
printf("
%d"
strlen(strcpy(str1,str2)));
41.定义inta=10;
,其中变量a在内存中的地址为2000,如果再定义指针变量int*p;
,
并使p指向变量a,则对指针变量p的赋值语句是。
42.若有chara[3]=“as”;
则*a=,*(a+2)=。
43.函数的形式参数的作用域为,全局的外部变量和函数体内定义的局部变量
重名时,_________变量优先。
44.函数调用中,函数中的形参和调用时的实参都是数组名时,传递方式为,都
是变量时,传递方式为,两种方式中,方式可以实现在函数中修改实参变量的原值。
45.己知j=5,a=10,下列语句j=(a=j+2,a+3,a-5);
执行后整型变量j和a的值分别
是和。
46.数组名表示。
47.字符串“ab\n\\012\\\””的长度是。
48.下面程序段中循环体的执行次数是。
inta=8,b=0;
b+=1;
a-=1+b;
while(a>
=0);
49.已知:
inta[2][3]={{1,3},{8}},则a[1][1]的值为。
50.字符串常量“\\22a,0\n\””的长度是。
51.如果一个函数没有返回值,那么该函数的类型为。
52.C语言表达式5>
2>
7>
8的值是。
53.若有定义:
charch;
(1)定义指针p,并指向变量ch的语句是。
(2)若已定义char*p;
,使指针p指向变量ch的赋值语句是;
。
(3)在
(1)的基础上,通过指针p实现变量ch读入字符的scanf调用语句是。
(4)在
(1)的基础上,通过指针p给变量ch赋字符’a’的语句是。
(5)在
(1)的基础上,通过指针p用格式输出函数printf输出ch中字符的语句是。
54.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main()
{charch;
ch=getchar();
if()
ItisanEnglishcharacter\n"
elseif()
Itisadigitcharacter\n"
Itisaspacecharacter\n"
Itisothercharacter\n"
}
55.search函数的功能是从数组a[10]中对关键字m进行查找,请填空完成程序,实现功能。
#include<
stdio.h>
intsearch(inta[10],intm)
{
inti;
for(i=0;
i<
=m;
i++)
returni;
return-1;
voidmain()
{inta[10],m,i,n;
10;
i++)
scanf("
&
a[i]);
&
m);
n=search();
OK,found!
%d"
n+1);
else
sorry,nofound!
56.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
用输
入0来结束输入,用i,j来放统计数,请填空完成程序。
voidmain()
{n,i=0,j=0;
printf(“inputainteger,0forend\n”);
scanf(“%d”,&
n);
while()
if(n>
0)i=;
elsej=j+1;
printf(“i=%4d,j=%4d\n”,i,j);
57.编程计算1+3+5…+99的值
main()
{inti,sum=0;
i=1;
{sum=sum+i;
sum=%d\n"
sum);
58.有一个一维数组存放10个学生的成绩,用一个函数求平均分、最高分和最低分
floataverage(floatarray[],intn);
floatave,score[10];
pleaseenter10scores:
scanf();
ave=average(score,10);
max=%6.2f\n"
Max);
min=%6.2f\n"
Min);
average=%6.2f\n"
ave);
floataverage(floatarray[],intn)
{inti;
floataver,sum=array[0];
for(i=1;
n;
{if(array[i]>
Max)
Max=array[i];
if(array[i]<
Min)
Min=array[i];
sum=sum+array[i];
aver=sum/n;
return(aver);
59.下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空
#include<
{inta[10],i,x;
printf(“input10integers:
”);
i<
printf(“inputthenumberyouwanttofindx:
scanf(“%d”,);
break;
printf(“theposofxis:
%d\n”,i);
elseprintf(“cannotfindx!
\n”);
60.求一个3*4矩阵中,元素最大值及所在的行号、列号。
请填空完成程序,实现功能
intmain()
{inti,j,row=0,colum=0,max;
inta[3][4];
for(i=0;
=2;
for(j=0;
j<
=3;
j++)
if()
max=a[i][j];
row=i;
colum=j;
max=%d\n"
max);
row=%d\n"
row);
colum=%d\n"
colum);
return0;
61.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。
#defineN10
charstr[N];
sort(charstr[N]);
inti,flag;
%c"
str[i]);
sort(___);
N;
str[i]);
\n"
voidsort(charstr[N])
inti,j;
chart;
for(j=1;
N-j;
if(str[i]>
(2))
{t=str[i];
____________;
62.下面程序的功能是比较字符数组a和字符数组b中的两个字符串是否相等(比较对应
字符,全部相同输出0,如果不同,返回第一个不相同的字符差值,并输出)。
chara[100]="
HelloWorld!
charb[100]="
HelloChengdu!
/*完成对应字符的比较,并判定一个字符串是否结束了*/
while()
i++;
%d\n"
a[i]-b[i]);
63.程序填空:
编程计算1+3+5+……+101的值。
inti,sum=0;
for(i=1;
;
)
sum=sum+i;
64.编写程序,输入一个数字字符(‘0’—‘9’)存入变量c,把c转换成它所对应的
整数存入n,如:
字符‘0’所对应的整数就是0。
请填空。
{charc;
intn;
printf(“pleaseinputachar:
c=;
n=;
printf(“%c%d”,c,n);
65.下面的程序是输出数组中最大元素的下标(p表示最大元素的下标)。
{;
ints[]={1,-3,0,-9,8,5,-20,3};
for(i=0,p=0;
i<
8;
if(s[i]>
s[p]);
66.以下程序的功能是:
从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,
当输入负数时结束输入.请填空.
intmain(intargc,char*argv[])
floatx,amax,amin;
%f"
x);
amax=x;
amin=x;
if(x>
amax)
amin=x;
\namax=%f\namin=%f\n"
amax,amin);
二、选择
1.若有说明语句“inta[5],*p=a;
”,则对数组元素的正确引用是。
A.a[p]
B.p[a]
C.*(p+2)
D.p+2
2.在C语言中,以作为字符串结束标志
A.’\n’
B.’’
C.’0’
D.’\0’
3.下列数据中属于“字符串常量”的是(A)。
A.“a”
B.{ABC}
C.‘abc\0’
D.‘a’
4.对二维数组的正确定义是
A.inta[][]={1,2,3,4,5,6};
B.inta[2][]={1,2,3,4,5,6};
C.inta[][3]={1,2,3,4,5,6};
D.inta[2,3]={1,2,3,4,5,6};
5.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
A、a:
=b+1
B、a=b=c+2
C、int18.5%3
D、a=a+7=c+b
6.C程序的基本结构单位是:
A、文件
B、语句
C、函数
D、表达式
7.下面程序段中循环体的执行次数是:
inta=10,b=0;
b+=2;
a-=2+b;
}while(a>
A、1
B、2
C、3
D、4
8.以下可用作C语言用户合法的标识符的是:
A、B.C.Tom
B、3a6b
C、_6a7b
D、$ABC
9.已有定义:
intx=3,y=4,z=5;
,则表达式!
(x+y)+z-1&
&
y+z/2的值是:
A、6
B、0
C、2
D、1
10.若有以下程序段intc1=1,c2=2,c3;
c3=1.0/c2*c1;
,则执行后,c3中的值是()。
A、0
B、0.5
C、1
D、2
11.设整型变量a=2,则执行下列语句后,浮点型变量b的值不是0.5的是()。
A、b=1.0/a
B、b=(float)(1/a)
C、b=1/(float)a
D、b=1/(a*1.0)
12.已知charx[]="
hello"
y[]={'
h'
'
e'
a'
b'
};
则关于两个数组长度的正确描述是()。
A、相同
B、x大于y
C、x小于y
D、以上答案都不对
13.以下选项中,不能作为合法常量的是()。
A、1.234e04
B、1.234e0.4
C、1.234e+4
D、1.234e0
14.C语言中运算对象必须是整型的运算符是()。
A、%=
B、/
C、=
D、<
=
15.以下能够正确定义函数首部的形式是。
A、doublefun(intx,inty)
B、doublefun(intx;
inty)
C、doublefun(intx,inty);
D、doublefun(intx,y);
16.语句a=25.0+60.0*n/scale+2;
,如果n=6.0,scale=2.0,则该语句最后的运行结果a值
是()。
A、257
B、194.5
C、207.0
D、96.25
17.下列关键字,哪个是双精度数据类型的关键字()。
A、int
B、float
C、double
D、char
18.若有说明:
inta[][3]={{1,2,3},{4,5},{6,7}};
则数组a的第一维的大小为:
A.2
B.3
C.4
D.无确定值D)9
19.下列哪个是命名正确的变量名()。
A、7num
B、student
C、#No
D、float
20.C语言中规定函数的返回值的类型是由:
A、return语句中的表达式类型所决定
B、调用该函数时的主调用函数类型所决定
C、调用该函数时系统临时决定
D、在定义该函数时所指定函数类型决定
21.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与其
配对的是:
A、其之后最近的if
B、其之前最近的if
C、缩排位置相同的if
D、同一行上的if
22.若有语句int*p,a=4;
p=&
a,下面均代表地址的一组选项是:
A、a,p,*&
a
B、&
*a,&
a,*p
C、*&
p,*p,&
D、&
a,&
*p,p
23.下列关于C语言的说法错误的是()。
A、C程序的工作过程包括编辑、编译、链接、运行
B、C语言不区分大小写
C、C程序中使用数组存储字符串,数组的单元数至少应该比要存储的字符数多1
D、C程序中必须有一个main()函数
24.在C语言程序中,表达式5%2的结果是()。
A、2.5
D、3
25.下列说法错误的是。
A、在C语言中,break语句用于提前终止循环
B、在C语言中,continue语句只能用于switch语句和循环语句中
C、在C语言中,continue语句用于提前结束本次循环
D、在C语言中,break语句只能用于switch语句和循环语句中
26.已知:
inta=2,b=3;
,则执行表达式c=b*=a-1后,变量c的值为:
A、5
B、3
27.在C语言中,以()作为字符串结束标志。
A、\n
B、\s
C、\a
D、\0
28.在C语言中对一维整型数组的正确定义为。
A)inta(10);
B)intn=10,a[n];
C)intn;
a[n];
D)#defineN10
inta[N];
29.下面()表达式的运算结果是4。
A、11/3
B、11.0/3
C、(float)11/3
D、(int)(11.0/3+0.5)
30.下列数据中属于“字符串常量”的是()
A、“a”
B、23
C、‘abc\0’
D、‘a’
31.语句while(!
E);
中的表达式!
E等价于:
A、E==0
B、E!
=1
C、E!
=0
D、E==1
32.下面程序的运行情况是:
chara[3],b[]="
a=b;
a);
A、运行后将输出abcde
B、运行后将输出ab
C、运行后将输出abc
D、编译时出错
33.假设a=1;
b=2;
c=2;
下面程序段的运行结果是:
while(a<
b<
c)
{t=a;
a=b;
b=t;
c--;
printf(“%d,%d,%d”,a,b,c);
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1
34.对于while语句,错误的说法是()。
A、用条件控制循环体的执行次数
B、循环体至少要执行一次
C、循环体有可能一次也不执行
D、循环体中可以包含若干条语句
35.C语言的if语句中,用作判断条件的表达式为:
A、任意表达式
B、关系表达式
C、算术表达式
D、逻辑表达式
36.sizeof(float)是:
A、一个整型表达式
B、一个双精度型表达式
C、一种函数调用
D、不合法
37.putchar函数可以向终端输出一个:
A、实型变量值
B、字符或字符型变量值
C、整型变量表达式值
D、字符串
38.下面语句中,错误的是:
A、inti;
int*p;
i;
B、inti,*p;
a;
C、inti,*p=&
D、inti,*p;
*p=i;
39.在说明语句:
int*f();
中,标识符代表的是:
。
A、一个用于指向整型数据的指针变量
B、一个用于指向一维数组的指针
C、一个用于指向函数的指针变量
D、一个返回值为指针型的函数名
40.在函数调用时,以下说法正确的是。
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据联系不能使用全局变量
D、主调函数和被调函数总是在同一
个文件里
41.若有如下定义:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型
为:
A、float
B、int
C、char
D、double
42.以下能正确进行字符串赋值操作的是。
A、chars[5]={"
12345"
B、chars[5]={'
1'
2'
3'
4'
5'
‘6’};
C、char*s;
*s="
D、char*s="
43.定义了int型二维数组a[6][7]后,如果是行优先存储,则数组元素a[3][4]前的数组元
素个数为。
A、24
B、25
C、18
D、17
44.关于创建函数的目的,以下正确的说法是:
A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题