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,给分吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)