C程序设计参考题型Word格式文档下载.docx
- 文档编号:22776412
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:22
- 大小:26.20KB
C程序设计参考题型Word格式文档下载.docx
《C程序设计参考题型Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C程序设计参考题型Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
=y>
=zB)x>
=y||y>
=zC)x>
=y&
y>
=zD)x≥y≥z
16.以下说法中正确的是【C】
A)C程序总是从文件中第一个函数开始执行
B)C程序中,只有main()函数才可以调用其他函数
C)C程序总是从main()函数开始执行
D)C程序中的main()函数必须放在程序的开头
17.若有定义:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值为【A】
A)2.5B)2.75C)3.5D)0
18.设变量a是整型,f是实型,i是双精度型,则表达式10+'
+i*f值的数据类型为【C】
A)intB)floatC)doubleD)不确定
19.有输入语句:
scanf("
%d,%d"
&
a,&
b);
为使变量a、b分别为5和3,从键盘输入数据的正确形式为【B】
A)53<
回车>
B)5,3<
C)a=5b=3<
D)a=5,b=3<
20.定义如下变量和数组:
intj;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是【C】
for(j=2;
j>
=0;
j--)
printf("
%2d"
x[j][2-j]);
A)159B)147C)753D)369
21.执行下面程序后,a的值是【B】
#defineSQR(x)x*x
voidmain()
{inta=10,k=2,m=1;
a=SQR(k+m);
%d\n"
a);
}
A)10B)5C)2D)1
22.以下叙述不正确的是【C】
A)在函数内部定义的变量是局部变量
B)函数中的形式参数是局部变量
C)全局变量的作用范围仅限于其所在的整个文件
D)局部变量的作用范围仅限于本函数
23.设a=3,b=4,c=2,d=1,则表达式“a>
b?
a:
c>
d?
c:
d”的值为【C】
A)4B)3C)2D)1
24.有以下程序段:
x=-1;
do
x=x*x;
while(!
x);
执行时,循环体执行的次数为【B】
A)0B)1C)2D)不确定
25.以下不正确的if语句形式是【C】
A)if(x>
y&
x!
=y);
B)if(x==y)x+=y;
C)if(x!
=y)scanf("
%d"
x)
elsescanf("
y);
D)if(x<
y){x++;
y++;
26.以下程序的输出结果是【C】
voidmain()
{intx=2,y=-1,z=2;
if(x<
y)
if(y<
0)z=0;
elsez+=1;
z);
A)0B)1C)2D)3
27.以下能正确计算1×
2×
3×
…×
10的程序段是【A】
A)i=1,s=1;
B)s=1;
i=1;
dowhile(i<
=10)
{s=s*i;
i++;
}s=s*(++i);
while(i<
11);
C)for(i=1,s=0;
i<
=10;
i++)D)for(i=1,s=1;
;
i++)
s=s*i;
s=s*i;
28.若j为整型变量,则以下循环执行次数是【C】
for(j=0;
j==0;
)printf("
j--);
A)无限次B)0次C)1次D)2次
29.若有说明:
inta[10];
则对a数组元素的正确引用是【C】
A)a[3.5]B)a(8)C)a[6-5]D)a[10]
30.C语言规定,变量做实参时,它和对应形参之间的数据传递方式是【B】
A)地址传递B)单向值传递C)双向值传递D)由用户指定传递方式
31.C中,一个float类型的数据在内存中占用的字节数是【C】
A)1B)2C)4D)8
32.设有程序段:
intk=5;
while(k<
=0)
k--;
则下列描述中正确的是【C】
A)while循环执行5次B)循环是无限循环
C)循环语句一次也不执行D)循环体语句执行一次
33.下面程序段的运行结果是【B】
charc[5]={'
'
b'
\0'
c'
};
printf(“%s”,c);
A)'
'
B)abC)AbcD)"
abc"
34.以下不正确的字符串赋值语句是【C】
A)char*s;
s="
abcde"
B)chars[]="
C)chars[10];
D)char*s="
35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是【B】
A)k=*p1+*p2;
B)p2=k;
C)p1=p2;
D)k=p2-p1;
36.下面程序的输出结果是【A】
{chars[]="
ABCD"
char*p;
for(p=s;
p<
s+4;
p++)
printf(“%s\n”,p);
A)ABCDB)AC)DD)ABCD
BCDBCABC
CDCBAB
DDAA
37.以下关于C函数的定义和调用描述正确的是【B】
A)函数的定义可以嵌套,但函数的调用不可嵌套
B)函数的调用可以嵌套,但函数的定义不可嵌套
C)函数的定义和调用均可以嵌套
D)函数的定义和调用均不可嵌套
38.以下关于变量的作用域说法正确的是【D】
A)在不同函数中不能使用相同名字变量
B)在函数外部定义的变量只在本函数范围内有效
C)在函数内的复合语句定义的变量在本函数内有效
D)形式参数是局部变量
39.以下关于变量的作用域叙述不正确的是【同22,C】
A)在函数内部定义的变量是局部变量
B)函数中的形式参数是局部变量
C)全局变量的作用范围仅限于其所在的文件
D)局部变量的作用范围仅限于本函数
40.以下关于C函数参数说法不正确的是【B】
A)实参可以是常量、变量和表达式
B)形参可以是常量、变量和表达式
C)实参可以为任意数据类型
D)形参应与对应的实参类型一致
41.以下关于C函数返回值的叙述正确的是【D】
A)被调函数中只有使用return语句才能返回主调函数
B)使用一个return语句可以返回多个函数值
C)函数返回值类型取决于return语句中的表达式类型
D)函数返回值类型取决于定义该函数时所指定的类型
42.在C中,“a>
c”属于哪种表达式?
【A】
A)关系B)赋值C)逻辑D)非法
43.以下不合法的C表达式是【C】
A)10||8B)12==9+1C)++5D)x!
=y
44.给定以下程序段:
intn=10;
while(n>
6)
{n--;
printf(“%3d”,n);
以上程序段输出结果是【D】
A)1098B)987C)10987D)9876
45.若i,j已定义为int型,则以下程序段中内循环总的执行次数是【C】
for(i=5;
i>
0;
i--)
for(j=1;
j<
6;
j++)
{……}
A)30B)24C)25D)20
46.若已定义:
float*p,m=3.14159;
则使p指向m正确的赋值语句是【B】
A)p=m;
B)p=&
m;
C)*p=m;
D)*p=&
47.若已定义:
chars[10];
则下面表达式中不能作为s[1]地址的是【A】
A)s++B)s+1C)&
s[0]+1D)&
s[1]
48.已知:
inta=3,b=5,t;
要将a和b中的数值进行交换,错误的程序段是【C】
A.a=a+b;
b=a-b;
a=a-b;
B.t=a;
a=b;
b=t;
C.t=a;
b=a;
a=t;
D.t=b;
49.关于C程序中的#include<
math.h>
,错误的描述是【D】
A.它是C语言的预编译命令B.在程序中该行尾部不需要分号
C.用于将math.h包含进来D.math.h是一个函数
50.下列C程序段的输出结果是【C】
inta=0;
switch(a)
{case0:
printf(“a=0”);
case1:
printf(“a=1”);
default:
printf(“default”);
A.a=0B.a=0defaultC.a=0a=1defaultD.default
51.已知:
inta,x,y;
有语法错误的C语句是【B】
A.while(x)y++;
B.while(x+y=0)a++;
C.while(x<
D.while(y=5)++x;
52.对于do…while()语句,错误的说法是【C】
A.用条件控制循环体的重复执行B.循环体至少要执行一次
C.循环体有可能一次也不执行D.循环体中可以包含若干条语句
53.已知:
有语法错误的C语句是【同51,B】
54.已知:
inta[5],*ip=a;
利用ip为数组元素a[4]赋值的正确C语句是【B】
A.scanf(“%d”,ip+3);
B.scanf(“%d”,ip+4);
C.scanf(“%d”,*(ip+3));
D.scanf(“%d”,*(ip+4));
55.对于C语句:
char*a[2]={“abcd”,“ABCD”};
叙述正确的是【B】
A.a是指针变量B.a是指针数组C.a是数组指针D.a是字符串
二、填空题
1.函数是C程序的基本构成单位,C程序总是从____main()函数____开始执行的。
2.赋值表达式x*=y+5的另一种书写形式为_____x=x*(y+5)_____。
3.已知a=10,b=20,c=3,则表达式a>
b||c的值为__1_______。
4.整数m既能被3整除又能被4整除的逻辑表达式为______m%3==0&
m%4==0____。
5.若有定义:
doublea[10][5];
则数组a中行下标最大值为__9__,列下标最大值为__4__。
6.若有定义:
inta[]={1,4,6,5,8,9};
则*(a+5)的值为_____9_____。
7.设有如下定义inta[5][6],*p;
取数组元素a[4][2]的地址放到p中的语句为____p=&
a[4][2]_____。
8.未加特别说明(说明为静态的)的全局变量是外部的,能被其它文件中的函数使用,而在引用它的文件中,需要用关键字____extern_____说明。
9.已知a=10,b=20,则表达式!
a>
b的值为_______0____。
10.写出0<
x<
1的C逻辑表达式___0<
x&
x<
1_____。
11.写出判断字符变量c所存字符是否为字母的逻辑表达式c>
=’a’&
c<
=’z’||c>
=’A’&
=’Z’。
12.实现变量a和b交换的语句或语句序列是t=a;
或a=a+b;
。
13.若有定义:
inta[10],*p=a;
则元素a[5]的值用p表示的形式是_____*(p+5)_____。
14.若有定义:
int*p[4];
则标识符p表示____指针数组名_____。
15.凡是函数中未指定存储类型的局部变量,其默认的存储类型为_____auto_____。
三、程序填空
1.下面程序的功能是:
从键盘输入一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母则直接输出,请在_____处填上合适内容,使程序完整。
include<
stdio.h>
{charch;
ch=getchar();
if(_____ch>
ch<
=’Z’__________)
ch+=32;
printf(“%c”,ch);
2.下面程序的功能是:
求1~100间的偶数和,请在_____处填上合适内容,使程序完整。
#include<
{intnum,sum=0;
for(num=2;
num<
=100;
num=num+2)
________sum+=num________;
1-100间的偶数和是:
sum);
3.下面程序段是求n!
的递归函数,请将函数补充完整。
doublefac(intn)
{doubleresult;
if(n==1)
result=1;
else
result=____fac(n-1)*n________;
________returnresult_____;
4.以下程序的功能是:
输入一整数n,判断是否为素数。
#include<
{inti,n;
scanf(“%d”,&
n);
for(i=2;
__i<
n________;
i++)
if(n%i==0)
break;
if(_____i>
=n____)
printf(“%disaprimenumber.\n”,n);
else
printf(“%disnotaprimenumber.\n”,n);
5.如下程序实现字符串逆序
string.h>
voidmain()
{char*p1,*p2,c,s[50];
scanf(“%s”,s);
p1=s;
p2=s+strlen(s)-1;
for(;
p1<
p2;
p1++,p2--)
{
c=*p1;
*p1=*p2;
*p2=c;
}
printf(“Thenewstringis%s\n”,s);
四、阅读程序
1.include<
{charch;
intcnt1=0,cnt2=0;
while((ch=getchar())!
='
\n'
)
if(ch>
ch<
z'
)cnt1++;
elsecnt2++;
COUNT=%d\n"
cnt1);
若输入“ThisisaCprogram.”,运行结果:
________COUNT=13_____________
2.#include<
{inti,j,temp;
inta[]={0,1,2,3,4,5,6,7,8,9};
for(i=0,j=9;
i<
j;
i++,j--)
{temp=a[i];
a[i]=a[j];
a[j]=temp;
for(j=0;
10;
printf("
a[j]);
运行结果:
9876543210
3.#include<
{charstr1[]="
good"
str2[]="
morning"
inti,j;
for(i=strlen(str1),j=0;
str2[j]!
i++,j++)
str1[i]=str2[j];
str1[i]='
string1=%s"
str1);
___string1=goodmorning________________________
4.#include<
{inti,j,pos;
floatval,a[10];
for(i=0;
10;
scanf("
%f"
&
a[i]);
val=a[0];
if(a[j]>
val)
{val=a[j];
pos=j;
Max=%f,position:
val,pos);
本程序的功能是:
___从键盘输入的十个实数中,求出最大数及其位置序号并输出。
5.#include<
floataverage(intx[],intn)
{inti;
floatsum=0;
n;
sum+=x[i];
return(sum/n);
{inta[5]={2,4,6,8,10};
floatrst;
rst=average(a,5);
result=%f\n"
rst);
_____result=6.000000_______________________
6.给定如下程序:
{chargrade;
scanf(“%c”,&
grade);
switch(grade)
{case'
A'
:
printf("
85—100\n"
);
break;
case'
B'
70—84\n"
C'
60—69\n"
D'
<
60\n"
default:
error\n"
当程序运行时,从键盘输入“b”,输出的结果是:
__70—84_________。
7.给定如下程序:
{inta[5]={2,5,3,7,6},i,j,t;
for(i=0;
4;
for(j=0;
4-i;
if(a[j]>
a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 参考 题型