C语言练习题Word文档格式.docx
《C语言练习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言练习题Word文档格式.docx(77页珍藏版)》请在冰豆网上搜索。
x*=x/=x-9;
x的值为 b
a)10 b)100 c)40 d)30
6、下列运算符中运算优先级最高的是b
a)*b)!
c)&
d)>
=
7、设x,y,z,t均为int型变量,则执行以下语句:
x=y=z=0;
t=x&
++y||++z;
后,t的值为b
a)不定值 b)1 c)2 d)0
8、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("
%d,%f"
&
i,&
f);
为了把100和765.12分别赋给i和f,则正确的输入为 a
a)100,765.12 b)i=100,f=765.12 c)100765.12 d)x=100y=765.12
9、C语言中运算对象必须是整型的运算符是 d
a)/b)=c)>
=d)%=
10)给出以下定义:
charx[]="
abcdefg"
;
则正确的叙述为 b
a)数组x长度为7 b)数组x的长度为8
c)数组x的长度为9 d)数组x的长度为6
1.以下符合C语言语法的实型常量是b。
A)E3B)3.14159E10C)3E1.0D)E15
2.以下不正确的C语言变量名是a。
A)caseB)CaseC)IfD)_x
3.以下优先级最高的运算符是d。
A)||B)&
C)?
:
D)++
4.以下叙述正确的是c。
A)可以在一个函数中定义另一个函数
B)不可以在一个函数中调用另一个函数
C)函数是构成c程序的基本单位
D)所有被调用的函数必须在被调用前定义
5.在结构化程序设计方法中,三种基本结构是c。
A)if语句、switch语句、for语句B)条件结构、多条件结构、循环结构
C)顺序结构、选择结构、循环结构D)if语句、for语句、while语句
6.定义N为一个符号常量,下列正确的是a
A)#defineN100B)defineN100
C)#includeN100D)includeN100
7.以下对一维数组b的正确声明方式是_b_。
A)intb(20);
B)#defineK20inta[K];
C)intn;
scanf(“%d”,&
n);
intb[n];
D)intn=20,b[n];
8.在执行inta[][3]={1,2,3,4,5};
语句后,a[2][0]的值是d。
A)1B)4C)0D)超过数组范围
9.已知大写字母A的ASCII码值是65,小写字母的ASCII码值是97,则用字符常量
‘148’是c。
A)字符gB)非法常量
C)字符hD)字符i
10.以下非法的赋值语句是a。
A)inta[10];
a++;
B)int*p;
p++;
C)x=j>
0;
D)n=(i=2,i++);
11.已有定义:
intx=3,y=4,z=5;
,则表达!
(x+y)+z-1&
y+z/2的值是b。
A)6B)1C)0D)2
12.以下选项中,与k=n++完全等价的是b。
A)n=n+1,k=nB)k=n,n+=1C)k=++nD)k+=n+1
13.有以下程序段:
intn=0,p;
do(scanf("
d"
p);
n++;
)while(p!
=12345&
n<
3);
此处do-while循环的结束条件是c。
A)p的值不等于12345并且n的值大于等于3
B)p的值不等于12345并且n的值小于3
C)p的值等于12345或n的值大于等于3
D)p的值等于12345并且n的值小于3
14.若有说明intn=2,*p=&
n,*q=p;
则以下非法的赋值语句是b。
A)p=qB)p=nC)*p=*qD)n=*q
15.有字符数组c[100],d[100],则正确的输出语句是c
A)puts(c,d);
B)scanf(“%s%s”,&
c,&
d);
C)printf(“%s%s”,c,d);
D)gets(“c”),gets(“d”);
16.若二维数组a有n列,则在a[i-1][j]之前的元素个数为_b__。
A)j*n+iB)(i-1)*n+jC)(i-1)*n+j-1D)(i-1)*n+j+1
17.以下字符数组初始化不正确的是d。
A)charc[]={"
chi"
};
B)charc[]="
C)charc[3]={‘c’,‘h’,‘i’};
D)charc[3]={"
18.#include<
stdio.h>
voidsort(int*a,intn)
{inti,j,t;
for(i=0;
i<
n-1;
i++)
for(j=i+1;
j<
n;
j++)
if(a[i]<
a[j])
{t=a[i];
a[i]=a[j];
a[j]=t;
}
voidmain()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&
aa[3],5);
10;
printf("
%d,"
aa[i]);
printf("
\n"
);
程序运行后的输出结果是 c。
A)1,2,3,4,5,6,7,8,9,10,
B)10,9,8,7,6,5,4,3,2,1,
C)1,2,3,8,7,6,5,4,9,10,
D)1,2,3,10,9,8,7,6,5,4,
19.以下程序的输出结果是 a。
#include<
{chars[]={'
a'
'
b'
\0'
c'
printf("
%d,%d\n"
sizeof(s),strlen(s));
备注:
sizeof计数,strlen碰到第一个字符串结束符'
为止
A)5,2B)6,2C)5,4D)5,3
20.下面不正确的语句是。
c语句中对嵌套if语句的规定是:
else总是与__b_配对。
A)缩进位置相同的ifB)其前面最近且尚未配对的在同一复合语句中的if
C)其之前最近的ifD)第一个if
1.在C语言中,组成程序的一个基本单位是【a】。
A)函数B)变量C)指针D)数组
2.以下说法正确的是【c】。
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
3.以下程序的输出结果是【d】。
main()
{
inta=12,b=12;
printf(“%d%d\n”,--a,++b);
A)1010B)1212C)1110D)1113
4.以下程序的输出结果是【d】。
inta=2,b=5;
printf(“a=%%d,b=%%d\n”,a,b);
A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d
5.C语言对嵌套if语句的规定是:
else总是与【d】配对。
A)最近的ifB)第一个ifC)缩进位置相同的if
D)其前面最近的尚未配对的if
6.合法的数组定义是【b】。
A)chara={‘H’‘e’‘l’‘l’‘o’};
B)chara[5]={‘H’‘e’‘l’‘l’‘o’};
C)chara[5]={“Hello”};
D)chara[5]=“Hello”;
7.以下不能对二维数组a进行正确的初始化的语句是【c】。
A)inta[2][3]={0};
B)inta[2][3]={{1,2},{0}};
C)inta[2][3]={{1,2},{3,4},{5,6}}D)inta[2][3]={1,2,3,4,5,6};
8.决定C语言中函数返回值类型的是【d】。
A)return语句中表达式的类型
B)调用该函数的主调函数的类型
C)调用函数临时指定的类型
D)定义函数时在函数首部所指定的类型
9.以下程序运行结束后,输出结果是【d】。
char*s=“abcde”;
s+=2;
printf(“%1d\n”,s);
A)cdeB)字符c的ASCII码值C)字符c的地址D)出错
10.若有下列的定义语句,则输出结果是【d】。
int**pp,*p,a=100,b=200;
pp=&
p;
p=&
b;
printf(“a=%d,b=%d\n”,*p,**pp);
A)100200B)100100C)200100D)200200
11.若有以下定义语句,则sizeof(a)和sizeof(b)的值分别是【】。
Struct
{intday;
charmouth;
intyear;
}a,*b;
b=&
a;
A)52B)25C)65D)56
12.设有如下定义
Structsk
{inta;
floatb;
}data,*p;
若有p=&
data,则对data中a域的正确引用的是【B】。
有三种表示方法:
(*p).ap->
adata.a
A)(*p).data.aB)(*p).aC)p->
data.aD)p.data.a
13.执行下列程序后的输出结果是【c】。
#include“stdio.h”
{
inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&
[1][1];
4;
i+=2)
printf(“%d”,p[i]);
}
A)52B)51C)53D)97
14.已知int*p(),这里的p是【c】。
A)指向int型的指针变量B)int类型的指针数组
C)一个函数,该函数的返回值是指向i