夯实c基础
区别:
图一的交换,(交换的是地址而不是两数)无法实现两数的交换。
题干
|
以下程序的输出结果为( c )。
void fun(int a, int b, int c){
c=a*b;
}
void main( ){
int c=6;
fun(3,5,c);
printf(”%d\n”,c);
}
A.3 B.5 C.6 D.15
|
题干
|
以下程序运行输出的数值结果为( c )。
void main(){
char ch[7]="12ab56";
int i=0,s=0;
while(c[i]!=‘\0’){
if(ch[i]>=‘0’&&ch[i]<=‘9’)
s=10*s+ch[i]-‘0’;
i++;
}
printf("%d\n",s);
}
A.12 B.56 C.1256 D.68
|
题干
|
以下程序运行输出的数值结果为( a )。
void main(){
char ch[7]="12ab56";
int i,s=0;
for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i++)
s=10*s+ch[i]-‘0’;
printf("%d\n",s);
}
A.12 B.56 C.1256 D.68
|
题干
|
以下函数不能正确调用执行的是( b )。
A.double fun(int n){ return 1.0/(n*n); }
void main(){
printf("%f",fun(2));
}
B.void main(){
printf("%f",fun(2));
}
double fun(int n){ return 1.0/(n*n); }
C.void main(){
double fun(int);
printf("%f",fun(2));
}
double fun(int n){ return 1.0/(n*n); }
D.double fun(int);
void main(){
printf("%f",fun(2));
}
double fun(int n){ return 1.0/(n*n); }
|
题干
|
以下程序的输出结果为。c
void main()
{
int x=3;
if(x>=3)
{
int y=1;
y=x*x;
}
printf("%d",y);
}
A.9 B.1 C.出错,不能运行 D.8
|
题干
|
以下程序运行显示( b )。
int a;
void main()
{
printf("%d\n",a);
}
A.-858993460 B.0 C.随机值 D.出错
|
题干
|
以下程序运行输出的各行数值结果分别为。
void fun(int *p1,int *p2)
{
int *t;
t=p1;
p1=p2;
p2=t;
}
void main( )
{
int a=6,b=9;
fun(&a,&b);
printf("%d\n",a);//( a )
printf("%d\n",b);//( d )
}
A.6 B.7 C.8 D.9
|
题干
|
以下程序的输出结果为( b )。
void main()
{
int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=(*p1)*(*p2):
printf("%d",c);
}
A.2 B.3 C.4 D.5
|
题干
|
以下程序运行各行输出的数值结果分别为。
int a=2;
void fun1(int x)
{
a+=x;
}
void fun2(int x)
{
a*=x;
}
void main()
{
a/=2;
fun1(2);fun2(3);
printf("%d\n",a);//( b )
a/=2;
fun1(2);fun2(3);
printf("%d\n",a);//( c )
}
A.3 B.9 C.18 D.27
|
题干
|
以下程序段完全正确的是( c )。
A.int *p;scanf("%d",&p);
B.int *p;scanf("%d",p);
C.int k,*p=&k;scanf("%d",p);
D.int k,*p;*p=&k;scanf("%d",p);
|
题干
|
以下程序的输出结果为:( c )。
int func(int n){
if(n==1)
return 1;
else
return(n*func(n-1));
}
void main(){
int x;
x=func(5);
printf("%d",x);
}
A.5 B.24 C.120 D.720
|
题干
|
若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是( a )。
A.scanf("%lf%lf",px,py);
B.scanf("%f%f",&x,&y);
C.scanf("%f%f",x,y);
D.scanf("%lf%lf",&px,&py);
|
题干
|
以下程序的输出结果为:( d )。
int f(int x){
if(x==0||x==1)
return 3;
else
return x*x-f(x-2);
}
void main(){
printf("%d\n",f(4));
}
A.12 B.13 C.14 D.15
|
题干
|
以下程序运行的输出结果为( d )。
int a=10,b=24;
void main()
{
int a=13,c=5,y;
y=a+b-c;
printf("%d",y);
}
A.29 B.30 C.31 D.32
|
题干
|
以下语句,能正确执行的是( a )。
A.int a,*p=&a;
B.int *p;*p=6;
C.int *p;p=6;
D.int *p;scanf("%d",p);
思考不能正确执行是因为啥?
|
题干
|
C语言中,定义局部变量时,若不特殊指定(如int a;),其前隐含有关键字( d );若想定义的局部变量,在函数结束时不消失保留原值,需要使用关键字( c ),并且该种类型变量若不初始化化,其默认的初始值为( b );若想定义的局部变量不在内存,而是在寄存器中,需要使用关键字( a )。
A.register B.0 C.static D.auto
|
题干
|
以下程序的输出结果为( a )。
void fun(int a,int b){
int t;
t=a;a=b;b=t;
}
void main(){
int c[5]={1,2,3,4,5},i;
for(i=0;4>i;i++)
fun(c[i],c[i+1]);
for(i=0;5>i;i++)
printf("%d",c[i]);
}
A.12345 B.54321 C.23451 D.51234
|
题干
|
若有定义语句:double a,*p=&a;以下叙述中错误的是( d )。
A.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p
B.定义语句中的*号既是一个指针说明符,表示p为指针变量;也是一个指针运算符,表示取p指向的位置
C.定义语句中的p只能存放double类型变量的地址
D.定义语句中,*p=&a把变量a的地址作为初值赋给*p
|
题干
|
以下程序各行的输出数值结果为。
void fun(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
void main( )
{
int a=6,b=9;
int *p1,*p2;
p1=&a;
p2=&b;
fun(p1,p2);
printf("%d\n",a);//( d )
printf("%d\n",b);//( a )
}
A.6 B.7 C.8 D.9
|
题干
|
以下选项和其它项不同的是( b )。
A.0 B.‘0’ C.NULL D.‘\0’
|
题干
|
以下程序的运行结果为:( c )。
void main(){
char a[80]="aaa",b[80]="bbbb",c[80]="cc",t[80];
if(strcmp(a,b)<0){
strcpy(t,a);strcpy(a,b);strcpy(b,t);
}
if(strcmp(a,c)<0){
strcpy(t,a);strcpy(a,c);strcpy(c,t);
}
if(strcmp(b,c)<0){
strcpy(t,b);strcpy(b,c);strcpy(c,t);
}
printf("%s %s %s\n",a,b,c);
}
A.aaa bbbb cc B.bbbb aaa cc
C.cc bbbb aaa D.cc aaa bbbb
|
题干
|
为了判断两个字符串s1和s2是否相等,应当使用( d )。
A.if(s1==s2)
B.if(s1=s2)
C.if(strcpy(s1,s2))
D.if(strcmp(s1,s2)==0)
|
题干
|
一个源文件中,外部变量和局部变量同名,则在二者共同作用范围内,( b )。
A.外部变量起作用,内部变量不起作用
B.内部变量起作用,外部变量不起作用
C.二者同时起作用
D.二者同时不起作用
|
题干
|
对以下函数的声明语句错误的是( a )。
int fun(int x,int y){
returnx-y;
}
A.int fun(int x,y);
B.int fun(int,int);
C.int fun(int a,int b);
D.int fun(int x,int y);
|
题干
|
以下程序输出的结果为。
void main()
{
printf("%d",sizeof(int));//( c )
printf("%d",sizeof(char));//( a )
printf("%d",sizeof(double));//( d )
printf("%d",sizeof(float));//( c )
}
A.1 B.2 C.4 D.8
|
题干
|
设a=3,b=4,表达式a>b?a:b的值是( d )。
A.1 B.2 C.3 D.4
|
题干
|
为实现字符串/字符数组s2整体赋值到s1,应当使用( b )。
A.s1=s2
B.strcpy(s1,s2)
C.strcat(s1,s2)
D.strcmp(s1,s2)
|
题干
|
以下程序程的输出结果为( a )。
#include "stdio.h"
void main()
{
int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf("%d%d%d%d",m,n,*p,*q);
}
A.1221 B.2112 C.1122 D.2211
|
题干
|
以下程序运行输出的四个数值结果分别为( c )、( b )、( a )、( d )。
int fun(int n)
{
static int a=1;
a=a*n;
return a;
}
void main()
{
int i;
for(i=1;i<=4;i++)
printf("%d\n",fun(i));
}
A.6 B.2 C.1 D.24
|
题干
|
有以下程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( a )。
#include "stdio.h"
void main()
{
int n,*p=NULL;
*p=&n;
printf("Input n:");scanf("%d",&p);
printf("Output n:");printf("%d\n",p);
}
A.int n,*p=NULL;
B.*p=&n;
C.printf("Input n:");scanf("%d",&p);
D.printf("Output n:");printf("%d\n",p);
|
题干
|
以下关于地址和指针的叙述中正确的是( a )。
A.可以取变量的地址赋值给同类型的指针变量
B.可以取常量的地址赋值给同类型的指针变量
C.可以取一个指针变量的地址赋给本指针变量,这样就使得指针变量指向自身
D.所有指针变量如果未赋初值,则自动赋空值NULL
|
题干
|
以下程序运行输出的各行数值结果为。
int fun(int g){
if(g==1||g==2)
return 1;
else
return (fun(g-1)+fun(g-2));
}
void main(){
printf("%d\n",fun(4));//( b )
}
A.8 B.3 C.2 D.89
|
题干
|
以下程序的运行结果为( c )。
void fun(char *c,char d)
{
*c=*c+1;
d=d+1;
}
void main()
{
char b=‘a’,a=‘A’;
fun(&b,a):
printf("%c%c",b,a);
}
A.ba B.BA C.bA D.Ba
|
题干
|
以下全局变量定义,不能正确访问的是( b )。
A.
int y=6;
void main()
{
printf("%d",y);
}
B.
void main()
{
printf("%d",y);
}
int y=6;
C.
extern y;
void main()
{
printf("%d",y);
}
int y=6;
D.
void main()
{
extern y;
printf("%d",y);
}
int y=6;
|
题干
|
以下程序的输出数值结果为。
void fun(int x,int *y)
{
x=x+2;
*y=*y+2;
}
void main()
{
int a=6,b=6;
fun(a,&b);
printf("%d\n",a);//( a )
printf("%d\n",b);//( b )
}
A.6 B.8 C.10 D.12
|
题干
|
以下程序的输出结果为( c )。
void fun(int a,int b,int c){
a=b;b=c;c=a;
}
void main(){
int a=1,b=2,c=3;
fun(a,b,c);
printf("%d%d%d",a,b,c);
}
A.231 B.321 C.123 D.312
|
题干
|
以下程序的运行结果为:( b )。
void main(){
char a[80]="aaa",b[80]="bbbb",c[80]="cc",t[80];
if(strlen(b)>strlen(a)){
strcpy(t,a);strcpy(a,b);strcpy(b,t);
}
if(strlen(c)>strlen(a)){
strcpy(t,a);strcpy(a,c);strcpy(c,t);
}
if(strlen(c)>strlen(b)){
strcpy(t,b);strcpy(b,c);strcpy(c,t);
}
printf("%s %s %s\n",a,b,c);
}
A.aaa bbbb cc B.bbbb aaa cc
C.cc bbbb aaa D.cc aaa bbbb
|
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)