C语言求助!C语言初学者,求各位高手指点!!!

C语言求助!C语言初学者,求各位高手指点!!!,第1张

1 A auto 默认就是auto的

9 A

执行fun(x,y,z)相当于

int a = x;

int b = y;

int c = z;

a = 456;

b = 567;

c = 678;

可见abc的值变了,被赋值了,但是xyz没有变

形参不能为实参传递参数

10。。。。。好多啊 楼主找身边同学问问就都会啦 都不很难哦

1、 有如下程序

int func(int a,int b)

{ return(a+b); }

main()

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

r=func((x-y),z);

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

该程序的输出结果是_____C_____。

A) 10 B) 13

C) 5 D) 15

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

填入的是________。

fun( int a[],int n)

{ int i,j=0,p;

p=j;

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

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

return (p); }

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

C) p=j D) p=i

3、 以下说法中正确的是___C_____。

A) C语言程序总是从第一个定义的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

4、 下面程序的输出是___B______。

int m=13;

int fun(int x,int y)

{int m=3;

return(xy-m); }

main()

{int a=7,b=5;

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

A) 1 B) 2

C) 7 D) 10

5、 以下函数func()的功能是:使具有n个元素的一维数组b的每个元素的值

都增加2,划线处应填入________。

func(int b[ ],int n)

{ int ;

for(i=0;i<n;i++) ____D______; }

A) b[i++] B) b[i]++

C) b[i+=2] D) b[i]+=2

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

int f(char s[ ])

{ int i=0;

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

return (____B____); }

main( )

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

A) i-1 B) i

C) i+1 D) s

7、 如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合

语句中定义了一个变量,则该变量____B____。

A) 为全局变量,在本程序文件范围内有效

B) 为局部变量,只在该函数内有效

C) 为局部变量,只在该复合语句中有效

D) 定义无效,为非法变量

8、 对以下程序,正确的说法是___B_____。

sub (char x,char y)

{ int z; z=x%y; return z; }

main( )

{ int g=5,h=3,k;

k=sub(g,h);

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

A) 实参与其对应的形参类型不一致,程序不能运行

B) 被调函数缺少数据类型说明,程序不能运行

C) 主函数中缺少对被调函数的说明语句,程序不能运行

D) 程序中没有错误,可以正常运行

9、 请读程序:

#include <stdioh>

f(in b[ ], int n)

{ int i, r=0;

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

return r; }

main()

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

x=f(a, 3);

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

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

A) 20 B) 14

C) 9 D)5

10、 以下叙述中错误的是__A______。

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

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

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

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

1若有定义:const int i=10,j=20;int const pi=(int)&i;,则下列 *** 作正确的为(A )。

A)pi=0;

B)pi=&j;

C)i=10;pi=&j;

D)j=pi;

解释:const定义的数据为只读数据。也就是说i和pi(地址)的值是不可以被修改的。B C D都修改了只读数据的值。A是修改了pi所指向的值,不是修改了pi的地址。所以A正确。

2函数调用语句:fseek(fp,-20L,2);的含义是(C )。

A)将文件位置指针移到距离文件头20个字节处

B)将文件位置指针从当前位置向后移动20个字节

C)将文件位置指针从文件末尾处后退20个字节

D)将文件位置指针移到距离当前位置20个字节处

PS:仔细看下fseek函数就可以了。

3在下述程序中,if (i>j) 语句共执行的次数是( )。

main()

{ int i=0,j=14,k=2,s=0;

for(;;)

{ i+= k ;

if(i>j)

{ printf(“%d”,s);

break ;

}

s+=i ;

}

}

A)6

B)9

C)7

D)12

这个好像没有答案 我计算的应该是8

4语句printf(“%d\n”,strlen(“xyz\t\xab\3\\”));的输出结果是( C)。

A)9

B)11

C)7

D)8

PS:strlen遇到\0就停止计算长度。x y z \t ab 3 \

5在C语言中,函数的隐含存储类别是(A )。

A)auto

B)static

C)extern

D)无存储类别

PS:查查资料,书上有说明的。

6下列程序的输出结果是( C)。

main()

{

int k=4,m=5,n=7;

int pk=&k,pm=&m,p;

(p=&n)=pk(pm); //运算符优先级

printf(“%d\n”,n);

}

A)5

B)7

C)20

D)21

7以下程序将输出的字符是( C)。

#include "stdioh"

main()

{

char c;

char (p)[3];

char s[2][3] ={’a’,’b’,’c’,’d’,’e’,’f’};

p=&s[0];

c=(p[1]+1);

printf("%c",c);

}

A)b

B)d

C)e

D)f

8若a是整型变量,表达式~(a^~a)等价于(C )。

A)~a

B)1

C)0

D)2

PS:~优先级高于^。

9有以下程序:

main()

{ char str[ ][8]={“Hello”,“Beijing”},p=str;

printf(“%s\n”,p+8);}

该程序运行后的输出结果是(B )。

A)Hello

B)Beijing

C)jing

D)ijing

10设有定义:#define STR "12345";,则以下叙述正确的是(B )。

A)宏名STR代替的是数值常量12345

B)宏定义以分号结束,编译时会产生错误信息

C)宏名STR代替的是字符串"12345"

D)宏名STR代替的是字符串常量"12345"

11以下程序的输出结果为(C )。

int a=2;

int f(int a)

{

return(a)++;

}

void main()

{

int s=0;

{

int a=5;

s+=f(&a);

}

s+=f(&a);

printf("%d %d\n",a,s);

}

A)2 7

B)2 10

C)3 7

D)3 11

PS:全局变量和局部变量。

12在下列字符序列中,属于C语言合法标识符的是(B )。

A)P12a

B)stud_100

C)$water1

D)88sum

13若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车)

则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是()。

A)scanf(“%d”,&a);

scanf(“%d”,&b);

x=getchar();y=getchar();

B)scanf(“%d%d %c %c”, &a, &b,&x,&y);

C)scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y);

D)scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y);

//这个好像没有答案。

14下列选项中属于不正确的赋值语句的是( B)。

A)t--;

B)k=i==j;//优先级

C)t1=t2=t3=3;

D)t1=1,t2=2;

15在下列语句选项中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是(D )。

A)if (a) s1; else s2;

B)if (!a) s2; else s1;

C)if (a!=0) s1; else s2;

D)if (a==0) s1; else s2;

LZ,给分吧。

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

原文地址: http://outofmemory.cn/langs/12185157.html

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

发表评论

登录后才能评论

评论列表(0条)

保存