C程序设计试题汇编Word格式.docx
- 文档编号:19281927
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:59
- 大小:45.33KB
C程序设计试题汇编Word格式.docx
《C程序设计试题汇编Word格式.docx》由会员分享,可在线阅读,更多相关《C程序设计试题汇编Word格式.docx(59页珍藏版)》请在冰豆网上搜索。
{intx;
floaty;
prinf(“enterx,y:
”)
输入语句
输出语句
}
输入形式enterx,y:
2︼
输出形式x+y=
A)scanf(“%d,%f”,&
x,&
y);
prinf(“\nx+y=%”,x+y);
B)scanf(“%d%f”,&
prinf(“\nx+y=%”,x+y);
C)scanf(“%d%f”,&
D)scanf(“%d%”,&
B
有一输入函数scanf(“%d”,k);
那么不能使float类型变量k取得正确数值的缘故是[1]和[2]
[1]未指明k的地址
[2]格式操纵符与变量类型不匹配
scanf语句的正确形式应该是:
scanf(“%f”,&
k);
能正确表示”当x的取值在[1,10]和[200,210]范围内为真,不然为假”的表达式是______
A)(x>
=1)&
&
(x<
=10)&
(x>
=200)&
=210)
B)(x>
=1)||(x<
=10)||(x>
=200)||(x<
C)(x>
D)(x>
设x、y和z是int型变量,且x=3,y=4,z=5,那么下面表达式中值为0的是______
A)’x’&
’y’
B)x<
=y
C)x||y+z&
y-z
D)!
((x<
y)&
!
z||1)
以下if语句语法正确的选项是_____
A)if(x>
0)
prinf(“%f”,x)
elseprinf(“%f”,-x);
B)if(x>
{x=x+y;
prinf(“%f”,x);
elseprinf(“%f”,-x);
C)if(x>
};
D)if(x>
prinf(“%f”,x)}
当a=3,b=2,c=1时,表达式f=a>
b>
c的值是[].
有inta=3,b=4,c=5,x,y;
那么以下表达式的值为[]
(x=a)&
(y=b)&
以下程序对输入两个整数,按从大到小顺序输出.请在[]内填入正确内容.
Main()
{
intx,y,z;
scanf(“%d,%d”,&
if([1])
{z=x;
[2]}
printf(“%d,%d”,x,y);
[1]x<
y
[2]x=y;
y=z;
请阅读下面的程序:
main()
{ints,t,a,b;
scanf(“%d,%d”,&
a,&
b);
s=1;
t=1;
if(a>
0)s=s+1;
b)t=s+t;
elset=2*s;
prinf(“s=%d,t=%d”,s,t);
为了使输出结果t=4,输入量a和b应知足的条件是[].
0<
a<
b
请读程序:
#include<
>
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
case2:
a++;
b++;
break;
prinf(“a=%d,b=%d”,a,b);
上面程序的运行结果是_____
a=2,b=1
语言中while和do-while循环的要紧区别是______
A)do-while的循环体至少无条件执行一次
B)while的循环操纵条件比do-while的循环操纵条件严格
C)do-while许诺从外部转到循环体内
D)do-while的循环体不能是复合语句
假设I为整型变量,那么以下循环执行次数是______
for(I=2;
I==0;
)prinf(“%d”,I--);
A)无穷次B)0次C)1次D)2次
下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空.
{intI,sum=0;
for(I=1;
I<
=50;
I++)
if([1])sum+=I;
prinf(“%d”,sum);
A)(int)(I/7)==I/7B)(int)I/7==I/7C)I%7=0D)I%7==0
以下是死循环的程序段是______
A)for(I=1;
;
)
{if(++I%2==0)continue;
if(++I%3==0)break;
B)I=32767;
Do{if(I<
0)break;
}while(++I);
C)for(I=1;
)if(++I<
10)continue;
D)I=1;
While(I--);
下面程序的功能是用”辗转相除法”求两个正整数的最大公约数.请填空.
{intr,m,n;
m,&
n);
if(m<
n)[1];
r=m%n;
while(r){m=n;
n=r;
r=[2];
prinf(“%d\n”,n);
[1]r=m,m=n,n=r
[2]m%n
下面程序的功能是用do-while语句求1之1000之间知足”用3除余2;
用5除余3;
用
7除余2”的数,且一行只打印五个数.请填空.
{intI=1,j=0;
do{if([1])
{prinf(“%4d”,I);
j=j+1;
if([2])prinf(“\n”);
I=I+1;
}while(I<
1000);
[1]I%3==2&
I%5==3&
I%7==2
[2]j%5==0
C语言习题集与上机指导
编写一个求0~100之间全数偶数之和的程序.
运行结果:
sum=2550
请设计以下算法.
(5)求两个正整数m和n的最大公约数
略
写一个程序测试你所用的C版本中的float型数据所占的字节数.
运行结果:
b=4
以下常数中哪些是合法的C常量,哪些是非法的C常量?
对合法者指出其类型,对非法者
指出其缘故.
-0.23-0x2a10x7ge30003
‘\n’“x-y”‘{‘“105”
‘105’“35’53”3+535o7”πe
2E5‘AB’03e5±
7f7ff
2e-31012356e3e+5e+0lg3
合法的常量如下
-0(实型常量)
-0x2al(十六进制长整型常量)
0003(八进制整型常量)
5e+0(实型常量)
(实型常量)
2E5(实型常量)
‘{‘(字符常量)
‘\n’(一种特殊形式的字符常量---转义字符)
“105”(字符常量)
“x-y”(字符常量)
“35’55”(字符常量)
不合法的常量如下:
23(表示形式不对)
0x(超出十六进制表示的数字)
e3(e前必需有数字)
(表示形式不对)
‘105’(单引号中应为单个字符)
‘AB’(单引号中应为单个字符)
3+5(这是表达式,不是常量)
35o7”(无字符”o”)
π(无此字符)
e(e前应有数值,e后应跟整数)
03e5(表示形式不对)
±
7f(±
不能同时显现,十六进制数应以0x开头)
7ff(应以0x开头)
2e-310(超出范围)
12356e(e后应跟整数)
3e+(e后应跟整数)
lg3(表示形式不对)
在以下符号中,你能够选哪些做变量名?
哪些不能够?
为何?
a3B3aBπ+ab*xs
bb5ifnextdaye2ok?
intgermaxnumberi*j
可做变量名的为:
a3Bbsb5nextdayintgermaxnumber
剩余的均不可做变量名,因为,C语言给变量起名的规定是:
由字母、数字和下划线
三种字符组成,且第一个字符必需是字母或下划线(适应上,变量名用小写字母表示).
指出下面程序段中的错误,并更正.
Main()
{
inta;
floatb;
fcharc;
scanf(“%c%d%c%f;
c,b,a,b);
1.字符变量标识符多写一个f;
2.格式输入函数名有错;
函数中格式字
符与数据类型不匹配;
4.少了一个双引号.正确的应为:
charc;
scanf(“%c%f%d%f\n”,&
c,&
b,&
把以下程序改写得更合理.
(1)
while(A)
if(B)continue;
C;
(2)
do
if(!
A)continue;
elseB;
}while(A)
答案
(1)可改写为:
B)C;
(2)可改写为:
do
if(A)
B;
指出下面三个程序的功能.当输入为:
”quert?
”时,它们的执行结果是什么?
#include””
c=getchar();
while(c!
=’?
’)
putchar(c);
c=geetchar();
while((c=getchar())!
’)putchar(++c);
(3)
while(putchar(getchar())!
’);
(1)的功能是:
显示从键盘输入的每一个字符,当输入”?
”时终止.
执行结果是:
quert
(2)的功能是:
显示从键盘输入的每一个字符的下一个字符(按字母顺序排
列),当输入”?
rvfsu
(3)的功能与
(1)相同,但输出结果中多一个”?
”
一、单项选择题(每题2分,其中第33、50题别离4分)。
1、以下标识符中,不合法的用户标识符是__________1。
①c[5]②Unsigned③A_123④k000
2、以下不正确的C语言标识符是________4。
①abc_123②_123abc
③a_bc123④123abc
3、以下标识符中,不合法的用户标识符是________1。
①&
b②Int③D32769④k2
4、以下整数值中,不正确的八进制或十六进制数是________3。
①0x16②016③-16④0xaaaa
5、以下说法中正确的选项是________3。
①C语言程序老是从第一个的函数开始执行
②在C语言程序中,要挪用的函数必需在main()函数中概念
③C语言程序老是从main()函数开始执行
④C语言程序中的main()函数必需放在程序的开始部份
6、C语言中最简单的数据类型包括__________2。
①整型、实型、逻辑型②整型、实型、字符型
③整型、字符型、逻辑型④整型、实型、逻辑型、字符型
7、面向对象程序设计的特点是________1。
①多态性、封装性、继承性②多态性、继承性、可移植性
③多态性、继承性、交互性④封装性、交互性、多态性
8、以下能正确表示C语言中double类型常量的选项是__________2。
①⨯10②③⨯102④
9、假设a为float型变量,且已赋值,能正确使a中的值维持两位小数,删去尔后小数的语句是________3。
①a=a*100/100;
②a=int(a*100)/;
③a=(int)(a*100)/;
④a=(int)a*100/;
10、以下值不为3的表达式是________3。
①'
D'
-'
A'
②'
6'
3'
③'
\011'
④3+'
\0'
11、假设变量已正确概念并赋值,以下不能组成赋值语句的是__________4。
①s/=i;
②k++;
③a=b=c;
④i+j;
12、C语言中,运算对象必需是整型数的运算符是________1。
①%②/③%和/④*
13、如下程序的执行结果是__________4。
{
intn=1;
n++;
printf("%d%d%d",n,n++,――n);
①221 ②222③232 ④211
14、以下不是结构化程序设计的大体结构的是________2。
①选择结构②逻辑结构③循环结构④顺序结构
15、设intm=2,n=3,那么++m==n的结果是__________2。
①2 ②1③0④3
16、两次运行下面的程序,假设是从键盘上别离输入5和3,那么输出结果是__________3。
intx;
scanf("
%d"
,&
x);
if(x>=4)printf("
,++x);
elseprintf("
%d\n"
,x――);
①6和4②5和2③6和3④5和3
17、循环语句while(!
E);
中的表达式!
E等价于________3。
①E!
=0②E!
=1③E==0④E==1
18、设a、b和c都是int型变量,且a=1,b=1,c=1;
那么以下值为0的表达式是__________4。
①b>=a②a&
c③!
a||b④!
a==b
19、如有以下程序段:
intp=10;
do
printf("
*"
);
}while(p――);
退出循环后,变量p的值是__________3。
①0 ②1 ③-1 ④2
20、假设是变量概念有:
inta=9,c=8;
那么表达式(――a!
=c++)?
――a:
++c的值为________2。
①9②10③7④8
21、假设是a=1,b=2,c=3,d=4,那么条件表达式a<b?
a:
c<d?
c:
d的值为__________1。
①1②2③3④4
22、有如下概念:
structdate
intyy,mm,dd;
};
structworklist
charname[20];
charsex;
structdatebirthday;
}person;
对结构体变量person的诞生年月进行赋值时,下面正确的赋值语句是__________4。
①yy=1958②=1958
23、③=1958④设有以下说明语句
structstu
{inta;
floatb;
}structpe;
那么下面的表达不正确的选项是________3。
①struct是结构体类型的关键字②structstu是用户概念的结构体类型
③structpe是用户概念的结构体类型名④a和b都是结构体成员名
24、设变量a是整型,f是实型,i是双精度型,那么表达式100%9+'
a'
+i*f值的数据类型是________3。
①int②float③double④不确信
25、以下程序的执行结果是________4。
inta=2,i;
for(i=0;
i<
3;
i++)
%d,"
,func(a);
func(inta)
intb=0;
staticc=1;
b++;
c++;
return(a+b+③;
①555②7,7,7③567④5,6,7
26、关于for(表达式1;
;
表达式3)可明白得为__________4。
①for(表达式1;
0;
表达式3)
②for(表达式1;
表达式3;
③for(表达式1;
表达式1;
④for(表达式1;
100;
27、有如下输入语句:
a=%d,b=%d,c=%d"
a,&
b,&
③;
为使变量a的值为2,b的值3,c的值为4,从键盘输入数据的正确形式应是________3。
①234↙②2,3,4↙
③a=2,b=3,c=4↙④a=2b=3c=4↙
28、下面关于函数参数的说法不正确的选项是__________1。
①形参能够是常量、变量或表达式
②实参能够是常量、变量或表达式
③在被概念的函数中,必需指定形参的类型
④形参应与其对应的实参类型一致
29、假设已概念chara[10]和char*p=a,下面的赋值语句中,正确的选项是__________4。
①a[10]="TurboC"②a="TurboC"
③*p="TurboC"④p="TurboC"
30、设有下面的程序段:
chars[]="
china"
char*p=s;
那么以下表达正确的选项是________4。
①数组s中的内容和指针变量p中的内容相等②s和p完全相同
③s数组长度和p所指向的字符串长度相等④*p与s[0]相等
31、C语言中不合法的字符常量是__________1。
\0xff'
\65'
③'
'
④'
\\'
32、以下一维数组a的概念中,正确的选项是________4。
①inta(10);
②intn=10,a[n];
③intn;
④#defineSIZE10
n);
inta[SIZE];
inta[n];
33、下面程序的功能是将字符串s中的内容按逆序输出,但不改变串中的内容,请选择填空,【A】________3,【B】________4。
#include<>
{chars[10]="
hello!
"
inverp(s);
inverp(char*a)
if(【A】)return0;
inverp(a+1);
%c"
【B】)
【A】
①*a!
='
②*a!
=NULL
③!
*a==0
④!
*a
【B】
①*(a―1)
②*(a+1)
③*a
④*(a――)
34、如有一已赋值的持续存储单元,指针p已正确概念,且指向此持续存储单元的起始地址,以下表达正确的选项是__________2。
①表达式:
*p++;
使p所指存储单元中的值增1。
②表达式:
(*p)++;
③表达式:
使指针p向高地址移动一个存储单元。
④表达式:
++*p;
35、下面是对数组a的初始化,其中不正确的选项是________4。
①a[5]={"
ABCD"
}②a[5]={'
,'
B'
C'
③a[5]="
④a[5]="
ABCDE"
36、如有以下说明,那么对y数组元素的正确引用是__________4。
inty[6],*p=y;
①y[6]②p+2③y++④*p
37、设有如下概念:
intx=10,y=3,z;
那么语句
,z=(x%y,x/y));
的输出结果是________4。
①1②0
③4④3
3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 试题 汇编