C语言习题级答案6Word文件下载.docx
- 文档编号:19748475
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:19
- 大小:25.86KB
C语言习题级答案6Word文件下载.docx
《C语言习题级答案6Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言习题级答案6Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
D、27.000000
C语言结构体类型变量在程序执行期间(C)。
A、部分成员驻留在内存中
B、只有一个成员驻留在内存中
C、所有成员一直驻留在内存中
D、没有成员驻留在内存中
charh,*s=&
h;
可将字符H通过指针存入变量h中的语句是(B)。
A、s='
H'
B、*s='
C、s=H;
D、*s=H;
下面不正确的字符串常量是(B)。
A、"
0"
B、'
abc'
C、"
12'
12"
D、"
"
函数调用:
strcat(strcpy(str1,str2),str3)的功能是(B)
A、将串str1复制到串str2中后再连接到串str3之后
B、将串str2复制到串str1中后再将串str3连接到串str1之后
C、将串str1连接到串str2之后再复制到串str3之后
D、将串str2连接到串str1之后再将串str1复制到串str3中
设有定义语句charc1=92,c2=92;
,则以下表达式中值为零的是C
A、c1|c2
B、c1&
c2
C、c1^c2
D、~c2
在一个C程序中(B)。
A、main函数必须出现在固定位置
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之前
D、main函数必须出现在所有函数之后
有以下程序段
intn=0,p;
do
{
scanf("
%d"
&
p);
n++;
}while(p!
=12345&
&
n<
3);
此处do-while循环的结束条件是__D____。
A、p的值等于12345并且n的值大于等于3
B、p的值不等于12345并且n的值小于3
C、p的值不等于12345或者n的值小于3
D、p的值等于12345或者n的值大于等于3
若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是D
A、a=b=c=100
B、d=(c=22)-(b++)
C、d++
D、c+b
在C语言中,引用数组元素时,其数组下标的数据类型允许是(D)。
A、任何类型的表达式
B、整型常量
C、整型表达式
D、整型常量或整型表达式
以下程序的输出结果是A
voidsub(intx,inty,int*z)
{*z=y-x;
}
main()
{inta,b,c;
sub(10,5,&
a);
sub(7,a,&
b);
sub(a,b,&
c);
printf(“%d,%d,%d\n”,a,b,c);
}
A、-5,-12,-7
B、-5,-12,-17
C、5,-2,-7
D、5,2,3
C语言中的文件类型只有(A)。
A、ASCII文件和二进制文件两种
B、二进制文件一种
C、文本文件一种
D、索引文件和文本文件两种
为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与(B)配对。
A、同一行上的if
B、其之前最近的if
C、其之后最近的if
D、缩排位置相同的if
C语言的switch语句中case后B
A、可为任何量或表达式
B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式
D、只能为常量
C语言程序中必须有的函数是(C)。
A、printf
B、#include"
stdio.h"
C、main
D、scanf
C语言中运算对象必须是整型的运算符是(D)。
A、=
B、/
C、〈=
D、%=
已知x=43,ch='
A'
,y=0;
则表达式(x>
=y&
ch<
'
B'
!
y)的值是(C)。
A、语法错
B、0
C、1
假"
若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是A
A、scanf(“%d%d%d”,&
a,&
b,&
B、scanf(“%d%d%d”,a,b,c);
C、read(a,b,c)
D、scnaf(“%D%D%D”,&
C);
打开文件时,方式“w”决定了对文件进行的操作是(D)。
A、追加写盘
B、可读可写盘
C、只读盘
D、只写盘
sizeof(float)是(D)。
A、一个浮点表达式
B、一个不合法的表达式
C、一种函数调用
D、一个整型表达式
若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是D
A、scanf(%8.4f”,&
B、scanf(%6.2f”,&
C、scanf(%f”,c)
D、scanf(%8f”,&
对for(表达式1;
;
表达式3)可理解为(D)。
A、for(表达式1;
表达式3;
表达式3)
B、for(表达式1;
表达式1;
C、for(表达式1;
0;
D、for(表达式1;
1;
C语言中,double类型数据占(C)。
A、4个字节
B、1个字节
C、8个字节
D、2个字节
已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(C)。
chara='
a'
a--;
printf("
%d,%c\n"
a+'
2'
-'
0'
3'
);
A、98,c
B、格式描述和输出项不匹配,输出无定值
C、b,c
D、a--运算不合法,故有语法错
下述对C语言字符数组的描术中错误的是(C)
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值
D、不可以用关系运算符对字符数组中的字符串进行比较
以下标识符中,不能作为合法的C用户定义标识符的是(D)。
A、IF
B、_123
C、a3_b3
D、void
在TurboC中,下面的定义和语句是合法的:
file*fp;
fp=fopen("
a.txt"
"
r"
N
inta[3][4]={{1},{5},{9}};
它的作用是将数组各行第一列
的元素赋初值,其余元素值为0。
Y
若有宏定义:
#defineS(a,b)t=a;
a=b;
b=t由于变量t没定义,
所以此宏定义是错误的。
关系运算符<
=与==的优先级相同。
结构体类型只有一种。
C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式.N
#define和printf都不是C语句。
在C语言中,语句str[3]='
等价于str[3]=0.Y
若有定义和语句:
inta;
charc;
floatf;
%d,%c,%f"
c,&
f);
若通过键盘输入:
10,A,12.5,则a=10,c='
f=12.5.Y
typedef可以定义生成新的数据类型.N
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
对任意输入的x,用下式计算并输出y的值。
5x<
10
y=0x=10
-5x>
------------------------------------------------*/
#include<
stdio.h>
voidVV();
intfun(intn)
/**********Begin**********/
/**********End***********/
voidmain()
intx,y;
enterx:
"
x);
y=fun(x);
x=%d,y=%d\n"
x,y);
VV();
voidVV()
FILE*IN,*OUT;
inti;
intiIN;
longintiOUT;
IN=fopen("
in.dat"
if(IN==NULL)
{
PleaseVerifyTheCurrerntDir..itMayBeChanged"
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
PleaseVerifyTheCurrentDir..itMayBeChanged"
for(i=0;
i<
5;
i++)
{
fscanf(IN,"
iIN);
iOUT=fun(iIN);
fprintf(OUT,"
%ld\n"
iOUT);
fclose(IN);
fclose(OUT);
【参考代码】
intm;
if(n<
10)
m=5;
else
if(n==10)m=0;
elsem=-5;
returnm;
===============
将1~lim中所有能被3整除的数存放在aa数组中,
在函数中返回元素的个数。
conio.h>
#defineM100
voidTestFunc();
intfun(intlim,intaa[M])
/*********Begin**********/
/**********End**********/
intlimit,i,n;
intaa[M];
Pleaseinputainteger:
limit);
n=fun(limit,aa);
n;
%5d"
aa[i]);
TestFunc();
voidTestFunc()
{
inti,j,array[100],n,lim;
FILE*rf,*wf;
rf=fopen("
"
);
wf=fopen("
for(j=0;
=5;
j++)
fscanf(rf,"
&
lim);
n=fun(lim,array);
fprintf(wf,"
%7d"
array[i]);
\n"
}
fclose(rf);
fclose(wf);
intn=0;
for(i=1;
=lim;
if(i%3==0)aa[n++]=i;
returnn;
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
求出数组中最大数和次最大数,并把最大数和a[0]中的数
对调、次最大数和a[1]中的数对调。
------------------------------------------------------*/
#include<
#defineN20
intfun(int*a,intn)
inti,m,t,k;
2;
/**********ERROR**********/
m=0;
for(k=1;
k<
k++)
if(a[k]>
a[m])k=m;
t=a[i];
a[i]=a[m];
a[m]=t;
}
main()
intx,b[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;
clrscr();
for(i=0;
i<
i++)printf("
%d"
b[i]);
fun(b,n);
i++)
【改错1】错误
【学生答案】
m=0;
【参考答案】
m=i;
============================================================
【改错2】错误
for(k=i;
【改错3】错误
a[m])m=k;
题目:
任意输入一个字符,如果是小写字母以大写字母输出,
是大写字母以小写字母输出;
否则,按原样输出。
程序中共有4条错误语句,请改正错误。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
charch;
Enterch:
/**********ERROR**********/
ch=getchar(r);
if(ch>
=a&
=z)
putchar(ch-32);
/**********ERROR**********/
elseif(ch>
=A&
=Z)
putchar(ch+32);
elseputchar();
ch=getchar();
=97&
=122)
='
z'
)
Z'
=65&
=90)
【改错4】错误
elseputchar(ch);
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
打印出如下图案(菱形)
*
***
*****
*******
-------------------------------------------------------*/
inti,j,k;
/**********FILL**********/
_____;
i++)
for(j=0;
j<
=4-i;
j++)
=_____;
*"
for(_____;
3;
for(k=0;
j+3;
5-2*j;
【空1】错误
=3
4
3>
=i
4>
i
【空2】错误
2*i+1
i*2+1
1+2*i
1+i*2
【空3】错误
j=0
编写程序,输出1000以内的所有完数及其因子。
说明:
所谓完数是指一个整数的值等于它的因子之和。
例如“6的因子是1、2、3,而6=1+2+3,故6是
一个完数。
main()
inti,j,m,s,k,a[100];
for(i=1;
=1000;
m=i;
s=0;
k=0;
for(j=1;
j<
m;
if(_____)
s=s+j;
_____=j;
if(s!
=0&
s==m)
for(j=0;
_____;
j++)
%4d"
a[j]);
=%4d\n"
i);
m%j==0
_____=j;
a[k++]
k
k>
j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题 答案