C语言上机试题及答案1Word下载.docx

上传人:b****5 文档编号:21527053 上传时间:2023-01-31 格式:DOCX 页数:18 大小:20.22KB
下载 相关 举报
C语言上机试题及答案1Word下载.docx_第1页
第1页 / 共18页
C语言上机试题及答案1Word下载.docx_第2页
第2页 / 共18页
C语言上机试题及答案1Word下载.docx_第3页
第3页 / 共18页
C语言上机试题及答案1Word下载.docx_第4页
第4页 / 共18页
C语言上机试题及答案1Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言上机试题及答案1Word下载.docx

《C语言上机试题及答案1Word下载.docx》由会员分享,可在线阅读,更多相关《C语言上机试题及答案1Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

C语言上机试题及答案1Word下载.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1