c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___

c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___,第1张

你选的是对的,答案就是C,当执行到y=x++时,因为y=x++是先运算后自加,所以y的值是10,此时x值后加变成了11,当执行printf()函数时,因为printf()函数运算是从最后运算的,所以首先运算的是y++,因为y++还是后加加,所以y的值还是10,在运算y,所以第二个输出的结果还是10,因为题中的printf()函数输出的只有两个结果,所以x++是不运算的,ok,完了

答案是C,打印三个号,if(x=y+x)注意这是一个赋值表达式,把y+z的结果赋值给x,所以x等于5,if语句判断是非0都为真,所以打印三个号,如果题目改成if(x==y+z),又不一样,变成了比较运算表达式,判断x是否等于y+z的结果,+号的运算优先级比==高,所以比较x和y+z的结果是否相等,显然结果不相等,执行else语句

1D 先调用fun(x,y),返回一个为7的值,再调用fun(7,y)

2C 值调用,int 值未改变

3D 调用长度范围是10的数组,最后执行一次p++=9,但P要增加1,所以得10

4C

5C 输出包含%d,取整数

6B main()函数决定

7A 因为最后i会变为10,有因为长度只有9,所以要减1

8C

9C

107 返回的就是字符串的长度

1、 有如下函数调用语句 func(rec1,rec2+rec3,rec4,rec5);

该函数调用语句中,含有的实参个数是

A) 3 B) 4

C) 5 D) 有语法错误

请选择-> A B C D

rec2+rec3算一个,所以是4个

2、 有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{ int x=2,y=5,z=8,r;

r=func((x-y),z); // r = x - y + z = 5

printf("%d\n",r); }

该程序的输出结果是__________。

A) 10 B) 13

C) 5 D) 15

请选择-> A B C D

3、 请读程序:

#include <stdioh>

f(char s[ ])

{ int i=0,p=0;

while(s[i++]!='\0') p++;

return(p); } // 求字符串s的长度

main()

{ char str[10]= "ABCDEF";

printf("%d\n",f(str));}

上面程序的输出结果是 // ABCDEF总共6个字符

A) 3 B) 6

C) 8 D) 10

请选择-> A B C D

4、 请读程序:

#include <stdioh>

f(int b[ ],int n)

{ int i,r;

r=1;

for (i=0;i<=n;i++) r=rb[i];

return r; }

main()

{ int x,a[]={3,4,5,6,7,8,9};

x=f(a,2); // b[0] b[1] b[2] = 60

printf("%d\n",x); }

上面程序的输出结果是________。

A) 720 B) 120

C) 60 D) 24

请选择-> A B C D

5、 下面程序的输出是________。

fun3(int x)

{int a=3;

a+=x;

return(a); }

main()

{int k=2,m=1,n;

n=fun3(k);

n=fun3(m); // n = 3 + m = 4

printf("%d\n",n); }

A) 3 B) 4

C) 6 D) 9

请选择-> A B C D

6、 设有如下的函数

ggg(x)

{float x;

printf("\n%d",xx);}

则函数的类型________。 // 默认是int类型

A) 与参数x的类型相同 B) 是void

C) 是int D) 无法确定

请选择-> A B C D

7、 以下程序的输出结果是________。

int a,b;

void fun()

{ a=100; b=200; }

main()

{ int a=5,b=7;

fun();

printf("%d%d\n",a,b); } // 打印的是局部变量 5和7

A) 100200 B) 57

C) 200100 D) 75

请选择-> A B C D

8、 以下叙述中,不正确的是________。

A) 使用static float a定义的外部变量存放在内存中的静态存储区

B) 使用float b定义的外部变量存放在内存中的动态存储区

C) 使用static float c定义的内部变量存放在内存中的静态存储区

D) 使用float d定义的内部变量存放在内存中的动态存储区

请选择-> A B C D

// A对,C对,B错,D对

9、 下面程序的输出是________。

int m=13;

int fun2(int x, int y)

{ int m=3;

return(xy-m); }

main()

{ int a=7, b=5;

printf("%d\n",fun2(a,b)/m);}

// fun2(a,b) = 7 5 - 3 = 32

// m = 13

// 32 / 13 = 2

A) 1 B) 2

C) 7 D) 10

请选择-> A B C D

10、 设有如下定义:

char aa[2][20]={ "abcd", "ABCD"};

则以下说法中错误的是________。

A) aa是个二维数组,可以存放2个19个字符以下的字符串

B) aa是个二维数组,每行中分别存放了字符串"abcd"和"ABCD"

C) aa[0]可以看作是一维数组名

D) aa[0][0]可以看作是一维数组名

请选择-> A B C D

// A对,B对,C对,D错

二1、 在C语言中,全局变量的存储类别是: (a)

A) static B) extern

C) void D) register

2、 有如下函数调用语句 func(rec1,rec2+rec3,rec4,rec5);

该函数调用语句中,含有的实参个数是(B)

A) 3 B) 4

C) 5 D) 有语法错误

3、 以下函数返回a数组中最小值所在的下标,在划线处应

填入的是________。(D)

fun( int a[],int n)

{ int i,j=0,p;

p=j;

for(i=j;i<n;i++)

if(a[i]<a[p])_______________;

return (p); }

A) i=p B) a[p]=a[i]

C) p=j D) p=i

4、 下列程序的输出结果是________。(D)

int t(int x,int y,int cp,int dp)

{ cp=xx+yy; dp=xx-yy; }

main()

{ int a=4,b=3,c=5,d=6;

t(a,b,c,d);

printf("%d %d\n",c,d); }

A) 16 9 B) 4 3

C) 5 6 D) 25 9

5、 请读程序:

#include <stdioh>

f(int b[ ],int n)

{ int i,r;

r=1;

for (i=0;i<=n;i++) r=rb[i];

return r; }

main()

{ int x,a[]={3,4,5,6,7,8,9};

x=f(a,2);

printf("%d\n",x); }

上面程序的输出结果是________。(C)

A) 720 B) 120

C) 60 D) 24

6、 以下程序的输出结果是________。(B)

int a,b;

void fun()

{ a=100; b=200; }

main()

{ int a=5,b=7;

fun();

printf("%d%d\n",a,b); }

A) 100200 B) 57

C) 200100 D) 75

7、 函数f的功能是:测定字符串的长度,空白处应填入________。(C)

int f(char s[ ])

{ int i=0;

while(s[i]!='\0') i++;

return (________); }

main( )

{ printf("%d\n",f("goodbye!")); }

A) i-1 B) i

C) i+1 D) s

8、 请读程序:

#include<stdioh>

f(char s[ ])

{ int i,j;

i=0;j=0;

while( s[ j]!= '\0') j++;

return (j-i); }

main()

{printf("%d\n",f("ABCDEF"));}

上面程序的输出结果是________。(B)

A) 0 B) 6

C) 7 D) 8

9、 下面程序的输出是________。(B)

int m=13;

int fun2(int x, int y)

{ int m=3;

return(xy-m); }

main()

{ int a=7, b=5;

printf("%d\n",fun2(a,b)/m);}

A) 1 B) 2

C) 7 D) 10

10、 以下叙述中错误的是________。(C)

A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

B) 在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容

C) 在C中,外部变量的隐含类别是自动存储类别

D) 在C中,函数中的静态变量可以赋初值,只在编译时赋一次初值

main()

{ int k, a[10]={1,2,3,4,5};

for(k=1; k<3; k++) fun(a);

for(k=0; k<5; k++) printf("%d", a[k]);

}

上面程序的输出结果是

A34756

B23445

C35743

D12345

(40) 请读程序:

#include

#define SUB(X,Y) (X)Y

main()

{ int a=3, b=4;

printf("%d", SUB(a++, b++));

}

上面程序的输出结果是

A12

B15

C16

D20(41) 请读程序:

#include

main()

{ int mun=0;

while(num<=2)

{ num++; printf("%d\n",num);}

}

上面程序的输出结果是

A1

B1

C1

D1

2 2 2

3 3

4

(42) 请读程序:

#include

main()

{ float x,y;

scan("%f",&x);

if(x<00) y=00

else if((x<50)&&(x!=20))

y=10/(x+20);

else if (x<100) y=10/x;

else y=100;

printf("%f\n",y);

}

若运行时从键盘上输入20(表示回车),则上面程序的输出结果是

A0000000

B0250000

C0500000

D1000000

(43) 请读程序:

#include

main()

{ int x=1, y=0, a=0, b=0;

switch(x)

{ case 1:

switch(y)

{ case 0: a++;break;

case 1: b++;break;

}

case 2:

a++; b++; break;

}

printf("a=%d, b=%d\n",a,

B;

}

上面程序的输出结果是

Aa=2, b=1

Ba=1, b=1

Ca=1, b=0

Da=2, b=2

(44) 若有下面的程序片段:

int a[12]={0}, p[3], pp, i;

for(i=0; i<3; i++)

p[i]=&a[i4];

pp=p;

则对数组元素的错误引用是

App[0][1]

Ba[10]

Cp[3][1]

D((p+2)+2)

(45) 请读程序:

#include

#include

main()

{ float x,y,z;

scan("%f%f",&x,&y);

z=x/y;

while(1)

{ if(fabs(z)>10)

{ x=y; y=z; z=x/y;

}

else break

}

printf("%f\n",y);

}

若运行时从键盘上输入36 24(表示回车),则输出的结果是

A1500000

B1600000

C2000000

D2400000

(46) 请读程序:

#include

f(in b[], int n)

{ int i, r;

r=1;

for(i=0; i<=n; i++) r=rb[i];

return r;

}

main()

{ int x, a[]={ 2,3,4,5,6,7,8,9};

x=f(a, 3);

printf("%d\n",x);

}

上面程序的输出结果是

A720

B120

C24

D6

(47) 请读程序:

#include

#include

void fun( char s)

{ char a[10];

strcpy( a, "STRING");

s=a;

}

main()

{ char p;

fun(p);

x=f(a, 3);

printf("%s\n",p);

}

上面程序的输出结果是(└┘表示空格)

ASTRING└┘└┘└┘└┘

BSTRING

CSTRING└┘└┘└┘

D不确定的值

(48) 若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是

As->next=NULL; p=p->next; p->next=s;

Bp=p->next; s->next=p->next; p->next=s;

Cp=p->next; s->next=p; p->next=s;

Dp=(p)next; (s)next=(p)next; (p)next=s;

(49) 请读程序:

#include

void fun(float pl, float p2, float s)

{ s=( float )calloc( 1, sizeof(float));

s=p1+ (p2++);

}

main()

{ float a[2]={11, 22}, b[2]={100, 200}, s=a;

fun(a, b, s)

printf("%f\n",s);

}

上面程序的输出结果是

A11100000

B12100000

C21100000

D1100000

(50) 请读程序:

#include

#include

void fun( char w, int m)

{ char s, p1, p2;

p1=w; p2=w+m-1;

while (p1{ s=p1++; p1=p2--; p2=s;}

}

main()

{ char a[]="ABCDEFG";

fun( a, strlen(a));

puts(a);

}

上面程序的输出结果是

AGFEDCBA

BAGADAGA

CAGAAGAG

DGAGGAGA

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡上1-20序号后的横线上,答在试卷上不得分。

(1) DOS命令分为内部命令与外部命令,XCOPY命令是 1 命令

(2) 为了列出当前盘当前目录中所有第三个字符为C的文件名的有关信息,应该用命令 2 。

(3) 设当前盘为A盘,当前目录为\X\Y,A盘上的一个文件QRC在当前目录下的子目录W中。现已将A盘的当前目录改为\D\XY,当前盘改为C盘,如需指定A盘上该文件应写成 3 。

(4) 用十六进制给存储器中的字节地址进行编号,其地址编号是从0000到FFFF,则该存储器的容量是4KB。

(5) 设有两个八位二进制数00010101与01000111相加,其结果的十进制表示为 5 。

(6) 数学式子 写成C语言表达式是 6 。

(7) 下面程序的输出结果是 7 。

#include

main()

{ static char b[]="Goodbye";

char chp=&b[7];

while( --chp >=&b[0]) putchar( chp);

putchar(’\n’);

}

(8) 下面程序的输出结果是 8 。

#include

void as( int x, int y, int cp, int dp)

{ cp=x+y;

dp=x-y;

}

main()

{ int a=4, b=3, c, d;

as( a, b, &c, &d);

printf( ’%d %d\n", c, d);

}

(9) 请读程序:

#include

main( int argc, char argv[])

{ int i;

printf( ’%d\n", argc);

for( i=0; i<=argc+1; i++) printf( "%s ", argv[i]);

printf("\n");

}

若上面的程序编译、连接后生成可执行文件ABCEXE,则输入以下命令行

abc file1 file2(表示回车)

程序执行后的输出结果是 9 。

(10) 条件“20(11) 设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是 11 。

(12) 若有以下说明和定义语句,则变量w在内存中所占的字节数是 12 。

union aa

{ float x, y;

char c[6];

};

struct st { union aa v; float w[5]; double ave; } w;

(13) 下面程序的输出结果是 13 。

#include

#define N 5

fun( char s, char a, int n)

{ int j;

s=a; j=n;

while( ereturn j;

}

main()

{ char s[N+1];

int k, p;

for( k=1; k<=N; k++)

s[k]=’A’+k+1;

printf( "%d\n", fun(s, ’E’, N));

}(14) 下面程序的输出结果是 14 。

#include

void fun( char a1, char a2, int n)

{ int k;

for( k=0; ka2[k]=( a1[k]-’A’-3+26)&+’A’;

a2[n]=’\0’;

}

main()

{ char s1[5]="ABCD", s2[5];

fun( s1, s2, 4);

puts( s2);

}

(15) 下面的findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。

findmax( int s[], int t)

{ int k, p;

for( p=0, k=p; pif( s[p]>s[k]) 15 。

return k;

}

(16) 下面程序的输出结果是 16 。

#include

fun( int x)

{ int p;

if( x==0||x==1) return(3);

p=x-fun( x-2);

return p;

}

main()

{ printf( "%d\n", fun(9));}

(17) 下面程序的输出结果是 17 。

#include

funa( int a, int b)

{ return a+b;}

funb( int a, int b)

{ return a-b;}

sub( int (t)(), int x, int y)

{ return((t)( x,y));}

main()

{ int x, (p)();

p=funa;

x=sub(p,9,3);

x+=sub(funb, 8, 3);

printf("%d\n", x);

}

(18) 下面程序的输出结果是 18 。

#include

main()

{ char p[]={ "BOOL", "OPK", "H", "SP"};

int i;

for(i=3; i>=0; i--,i--) printf( "%c", p[i]);

printf("\n");

}

(19) 为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是向结点的指针域),请填空。

data next

struct link { char data; 19 } node;

(20) 下面的程序用来统计文件中字符的个数,请填空。

#include

main()

{ FILE fp;

long num=0;

if(( fp=fopen("fnamedat","r"))==NULL)

{ printf( "Can’t open file! \n"); exit(0);}

while 20

{ fgetc(fp); num++;}

printf("num=%d\n", num);

fclose(fp);

}

参考答案

一`选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分)

(1)C (2)A (3)B (4)D (5)D (6)A (7)C (8)B (9)D (10)C

(11)B (12)D (13)A (14)C (15)B (16)A (17)B (18)A (19)C (20)C

(21)D (22)B (23)B (24)A (25)C (26)D (27)D (28)B (29)C (30)A

(31)B (32)B (33)D (34)C (35)A (36)C (37)A (38)B (39)C (40)A

(41)C (42)C (43)A (44)C (45)B (46)B (47)D (48)C (49)D (50)C

二` 填空题(每空2分,共40分)

(第(2)`(3)空允许小写或大小写混合使用,其它空均须与答案一样)

(1) 外部

(2) DIR C

(3) A:\X\Y\W\QRC

(4) 64

(5) 92

(6) pow(sin(x),2) (a+b)/(a-b) 或 sit(x) sit(x) (a+b)/(a-b)

(7) eybdooG

(8) 7 1

(9) 3 abcexe file1 file2 (注:两个答案,每个1分)

(10) ((20 (11) 11110000

(12) 34

(13) 3

(14) XYZA

(15) k=p

(16) 7

(17) 17

(18) SO

(19) struct link next

(20) (!feof(fp))或(feof(fp)==0)

以上就是关于c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___全部的内容,包括:c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是___、请阅读以下程序,该程序、C语言作业——急求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9480904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存