C语言上机试题及答案1Word下载.docx
- 文档编号:21527053
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:18
- 大小:20.22KB
C语言上机试题及答案1Word下载.docx
《C语言上机试题及答案1Word下载.docx》由会员分享,可在线阅读,更多相关《C语言上机试题及答案1Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
B、8,17
C、8,8
D、8,16
下列关于单目运算符++、--的叙述中正确的是___C___。
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量
B、它们的运算对象可以是任何变量和常量
C、它们的运算对象可以是char型变量、int型变量和float型变量
D、它们的运算对象可以是char型变量和int型变量,但不能是float型变量
下列字符数组长度为5的是C
A、charc[10]={'
h'
'
a'
b'
c'
d'
};
B、charb[]={'
\0'
C、chara[]={'
D、chard[6]={'
};
以下程序运行后的输出结果是C
#include<
stdio.h>
main()
{FILE*fp;
inti,k=0,n=0;
fp=fopen(“d1.dat”,“w”);
for(i=1;
i<
4;
i++)fprintf(fp,“%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,“r”);
fscanf(fp,“%d%d”,&
k,&
n);
printf(“%d%d\n”,k,n);
A、123
B、00
C、1230
D、12
定义语句int*swap();
指的是D
A、以上说法均不对
B、swap是一个返回整型值的函数
C、swap是一个指向函数的指针
D、swap是一个返回指向整型值指针的函数
以下选项中正确的实型常量是C
A、0.03x102
B、32
C、3.1415
D、0
以下程序的运行结果是(B)。
{intn;
for(n=1;
n<
=10;
n++)
{
if(n%3==0)continue;
printf("
n);
A、12
B、12457810
C、1234567890
D、369
设变量a是整型,f是实型,i是双精度型,则表达式10+'
+i*f值的
数据类型为(B)。
A、不确定
B、double
C、int
D、float
下列选项中正确的语句组是(B)。
A、chars[8];
s={"
Beijing"
B、char*s;
s="
;
C、chars[8];
D、char*s;
当定义一个结构体变量时,系统分配给它的内存是(D)。
A、结构中最后一个成员所需内存量
B、结构中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、各成员所需内存量的总和
若有说明:
int*p1,*p2,m=5,n;
以下均是正确赋值语句的选项是(B)。
A、p1=&
m;
*p2=*p1;
B、p1=&
p2=p1;
C、p1=&
p2=&
p1
D、p1=&
n;
*p1=*p2;
已定义两个字符数组a,b,则以下正确的输入格式B
是
A、scanf("
%s%s"
&
a,&
b);
B、scanf("
a,b);
C、gets("
a"
),gets("
b"
);
D、get(a,b);
若有定义:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是(D)。
A、3.500000
B、0.000000
C、2.750000
D、2.500000
结构化程序设计所规定的三种基本控制结构是(D)。
A、树形、网形、环形
B、输入、处理、输出
C、主程序、子程序、函数
D、顺序、选择、循环
在下列程序段中,枚举变量c1,c2的值依次是(A)。
enumcolor{red,yellow,blue=4,green,white}c1,c2;
c1=yellow;
c2=white;
printf("
%d,%d\n"
c1,c2);
A、1,6
B、1,4
C、2,6
D、2,5
已知year为整型变量,不能使表达式(year%4==0&
year%100!
=0)
||year%400==0的值为“真”的数据是(A)。
A、1990
B、1996
C、1992
D、2000
以下正确的说法是(A)。
A、用户可以重新定义标准库函数,若如此,该函数将失去原有含义
B、系统根本不允许用户重新定义标准库函数
C、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
D、用户若需调用标准库函数,调用前必须重新定义
设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;
后a的值为(C)。
A、132
B、12
C、0
D、144
有以下宏定义B
#definek2
#defineX(k)((K+1)*k)
当C程序中的语句y=2*(K+X(5));
被执行后,
A、y中的值为65
B、语句报错
C、y中的值为34
D、y中的值不确定
对于void类型函数,调用时不可作为(A)。
A、表达式
B、循环体里的语句
C、自定义函数体中的语句
D、if语句的成分语句
下面程序的运行结果是D
{charch[7]=“65ab21”;
inti,s=0;
for(i=0;
ch[i]>
=’0’&
ch[i]<
=’9’;
i+=2)
s=s*10+ch[i]-‘0’;
printf(“%d\n”,s);
A、62
B、6521
C、12ba56
D、6
对于建立函数的目的,正确的说法是D
A、提高程序的执行效率
B、减少程序的篇幅
C、减少程序文件所占的内存
D、提高程序的可读性
以下程序的输出结果是C
{
inti;
5;
i++)
if(i%2)
putchar(‘<
’);
else
continue;
putchar(‘>
putchar(‘#’);
A、<
>
<
#
B、>
C、<
#
D、>
下面判断正确的是(D)。
A、char*a="
china"
等价于char*a;
*a="
B、charstr[10]={"
等价于charstr[10];
str[]={"
C、charc[4]="
abc"
d[4]="
等价于charc[4]=d[4]="
D、char*s="
等价于char*s;
s="
charc[]="
VeryGood"
是一个合法的为字符串数组赋值的语句。
对
用fopen("
file"
"
r+"
打开的文件"
可以进行修改。
对
C程序中有调用关系的所有函数必须放在同一个源程序文件中。
错
char*p="
girl"
的含义是定义字符型指针变量p,p的值是字符串"
。
若a=3,b=2,c=1则关系表达式"
(a>
b)==c"
的值为"
真"
C语言中只能逐个引用数组元素而不能一次引用整个数组。
C语言的函数可以嵌套定义.错
如果函数值的类型和return语句中表达式的值不一致,则以
函数类型为准。
x*=y+8等价于x=x*(y+8)。
【程序设计】
--------------------------------------------------
功能:
在键盘上输入一个3行3列矩阵的各个元素的值(值
为整数),然后输出矩阵第一行与第三行元素之和,
并在fun()函数中输出。
------------------------------------------------*/
#include"
stdio.h"
intfun(inta[3][3])
/**********Begin**********/
/**********End**********/
voidTestFunc();
inti,j,s,a[3][3];
i<
3;
i++)
for(j=0;
j<
j++)
scanf("
a[i][j]);
s=fun(a);
Sum=%d\n"
s);
TestFunc();
答案
intsum;
inti,j;
sum=0;
for(i=0;
i+=2)
for(j=0;
sum=sum+a[i][j];
从字符串中删除指定的字符。
同一字母的大、小写
按不同字符处理。
例如:
若程序执行时输入字符串为:
turbocandborlandc++
从键盘上输入字符:
n,则输出后变为:
turbocadbo
rladc++,如果输入的字符在字符串中不存在,则字
符串照原样输出。
voidbky();
intfun(chars[],intc)
/**********Begin**********/
/**********End**********/
}
main()
{
staticcharstr[]="
turbocandborlandc++"
charch;
原始字符串:
%s\n"
str);
输入一个字符:
"
%c"
ch);
fun(str,ch);
str[]=%s\n"
str);
bky();
voidbky()
voidTestFunc()
FILE*IN,*OUT;
intm;
intn;
inti[3][3];
into;
IN=fopen("
in.dat"
r"
if(IN==NULL)
ReadFileError"
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
WriteFileError"
for(m=0;
m<
m++)
for(n=0;
fscanf(IN,"
i[m][n]);
o=fun(i);
{
fprintf(OUT,"
%d\n"
o);
fclose(IN);
fclose(OUT);
char*q=s;
for(;
*q;
q++)
if(*q!
=c)*(s++)=*q;
*s=0;
【程序改错】
--------------------------------------------------------
编写函数fun生成一个对角线元素为5,上三角元素为0,
下三角元素为1的3*3的二维数组。
------------------------------------------------------*/
inta[3][3],i,j;
fun(a);
%d"
a[i][j]);
\n"
fun(intarr[][3])
/**********ERROR**********/
inti,j
for(i=1;
if(i=j)
arr[i][j]=5;
elseif(j>
i)
arr[i][j]=0;
arr[i][j]=1;
i++)【参考答案】if(i==j)
求出N×
M整型数组的最小元素及其所在的行坐标及列坐标
(如果最小元素不唯一,选择位置在最前面的一个)。
输入的数组为:
923
4156
1219
10112
求出的最小数为1,行坐标为2,列坐标为1。
#defineN4
#defineM3
intRow,Col;
inta[N][M],i,j,min,row,col;
inputaarray:
N;
M;
min=fun(a);
max=%d,row=%d,col=%d"
min,Row,Col);
intfun(intarray[N][M])
intmin,i,j;
min=array[0][0];
Row=0;
Col=0;
for(j=i;
if(min<
array[i][j])
min=array[i][j];
Row=i;
Col=i;
return(min);
j++)if(min>
array[i][j])Col=j;
【程序填空】
---------------------------------------------------------
已定义一个含有30个元素的数组s,函数fun1的功能是按
顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序
每五个元素求一个平均值,并将该值存放在数组w中。
-------------------------------------------------------*/
floats[30],w[6];
fun1(floats[])
intk,i;
for(k=2,i=0;
30;
/**********FILL**********/
_____;
k+=2;
fun2(floats[],floatw[])
floatsum=0.0;
for(k=0,i=0;
sum+=s[i];
_____;
w[k]=sum/5;
k++;
fun1(s);
if(i%5==0)printf("
%8.2f"
s[i]);
6;
w[i]);
1.s[i]=ks[i]=(i+1)*22,if((i+1)%5==0)if((i+1)/5*5==i+1)3,sum=0sum=0.04fun2(s,w)
题目:
<
题干内容>
>
给定程序中,函数fun的功能是:
统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
stdlib.h>
#defineN8
typedefstructlist
{intdata;
structlist*next;
}SLIST;
SLIST*creatlist(int*a);
voidoutlist(SLIST*);
voidfun(SLIST*h,int*n)
{SLIST*p;
/**********FILL**********/
_____=0;
p=h->
next;
while(p)
{(*n)++;
p=p->
_____;
{SLIST*head;
inta[N]={12,87,45,32,91,16,20,48},num;
head=creatlist(a);
outlist(head);
fun(_____,&
num);
\nnumber=%d\n"
num);
SLIST*creatlist(inta[])
{SLIST*h,*p,*q;
h=p=(SLIST*)malloc(sizeof(SLIST));
i<
{q=(SLIST*)malloc(sizeof(SLIST));
q->
data=a[i];
p->
next=q;
p=q;
next=0;
returnh;
voidoutlist(SLIST*h)
if(p==NULL)printf("
ThelistisNULL!
{printf("
\nHead"
do
->
p->
data);
while(p!
=NULL);
End\n"
1,(*n)*n2.next3head
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 试题 答案