|

楼主 |
发表于 2025-3-22 10:32:42
|
显示全部楼层
include
int main( )
{
int k=2,i=2,m;
m=(k+=i*=k);
printf( %d,%d\n ,m,i);
return 0;
}
选项:
•
A. 8, 6
•
B. 8 ,3
•
C. 6, 4
•
D. 7, 4
答案: 请关注ybaotk.com搜题查看答案
问题 19: 19. 设有以下语句,则执行完上述语句后n的值为( )。
int a=5,b=6,c=7,d=8,x=2,y=2,n;
n=(x=ad&&b>c));
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 0
答案: 请关注ybaotk.com搜题查看答案
问题 20: 20. 设x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是( )。
选项:
•
A. 2.5
•
B. 3.5
•
C. 4.5
•
D. 5.5
答案: 请关注ybaotk.com搜题查看答案
问题 21: 21. 设a=3,b=4,c=5,逻辑表达式!(a+b)+c-1&&b+c/2的值是( )。
选项:
•
A. 0
•
B. 1
•
C. 4
•
D. 5
答案: 请关注ybaotk.com搜题查看答案
问题 22: 22. 下列可用于C语言用户标识符的一组是( )。
选项:
•
A. void, if, WORD
•
B. a3_3,_123,Car
•
C. for, -abc, IF case
•
D. 2a, DO, sizeof
答案: 请关注ybaotk.com搜题查看答案
问题 23: 23. 若变量c为char类型,能正确判断出c为数字的表达式是( )。
选项:
•
A. '0'<=c<= '9'
•
B. (c>= '0')||(c<= '9')
•
C. ('0'<=c) and ('9'>=c)
•
D. (c>= '0')&&(c<= '9')
答案: 请关注ybaotk.com搜题查看答案
问题 24: 24. 表达式y=(13>12?15:6>7?8:9)的值为( )。
选项:
•
A. 9
•
B. 8
•
C. 15
•
D. 1
答案: 请关注ybaotk.com搜题查看答案
问题 25: 25. 以下叙述中不正确的是( )。
选项:
•
A. C程序书写格式规定,一行内只能写一个语句
•
B. main()函数后面有一对花括号,花括号内的部分称为函数体
•
C. 一个C程序必须有main()函数
•
D. C规定函数内的每个语句以分号结束
答案: 请关注ybaotk.com搜题查看答案
问题 26: 26. 为表示关系x≥y≥z,应使用C语言表达式( )。
选项:
•
A. (x>=y)&&(y>=z)
•
B. (x>=y) AND (y>=z)
•
C. (x>=y>=z)
•
D. (x>=z)&(y>=z)
答案: 请关注ybaotk.com搜题查看答案
问题 27: 27. 设a=3,b=4,c=5,逻辑表达式!(a>b)&&!c||1的值是( )。
选项:
•
A. 3
•
B. 0
•
C. 1
•
D. 5
答案: 请关注ybaotk.com搜题查看答案
问题 28: 28. 关于C语言变量,描述不正确的是( )。
选项:
•
A. 变量有空间
•
B. 变量有类型
•
C. 变量先定义后使用
•
D. 变量定义必需初始化
答案: 请关注ybaotk.com搜题查看答案
问题 29: 29. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 4
答案: 请关注ybaotk.com搜题查看答案
问题 30: 30. 设a=3,b=4,c=5,逻辑表达式a||b+c&&b-c的值是( )。
选项:
•
A. 0
•
B. 3
•
C. 1
•
D. 2
答案: 请关注ybaotk.com搜题查看答案
问题 31: 31. 设有如下程序段则以下叙述中正确的是( )。
int x=2002,y=2003;
printf(%d\n,(x,y));
选项:
•
A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
•
B. 运行时产生出错信息
•
C. 输出值为2002
•
D. 输出值为2003
答案: 请关注ybaotk.com搜题查看答案
问题 32: 32. 若已定x和y为double类型,则表达式x=1,y=x+3/2的值是( )。
选项:
•
A. 1
•
B. 2
•
C. 2.0
•
D. 2.5
答案: 请关注ybaotk.com搜题查看答案
问题 33: 33. 表达式:10!=9的值是( )。
选项:
•
A. true
•
B. 非零值
•
C. 0
•
D. 1
答案: 请关注ybaotk.com搜题查看答案
问题 34: 34. 设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a的值是( )。
选项:
•
A. 3
•
B. 0
•
C. 9
•
D. -12
答案: 请关注ybaotk.com搜题查看答案
问题 35: 35. 以下选项中,不正确的C语言浮点型常量是( )。
选项:
•
A. 160.
•
B. 0.12
•
C. 2e4.2
•
D. 0.0
答案: 请关注ybaotk.com搜题查看答案
问题 36: 36. 设有如下定义: int x=10,y=3,z;则语句printf(%d\n,z=(x%y,x/y)); 的输出结果是( )。
选项:
•
A. 1
•
B. 0
•
C. 4
•
D. 3
答案: 请关注ybaotk.com搜题查看答案
问题 37: 37. 下列说法正确的是( )。
选项:
•
A. 用C语言书写程序时,不区分大小写字母
•
B. 用C语言书写程序时,一个语句可以分几行写
•
C. 用C语言书写程序时,一行只能写一个语句
•
D. 用C语言书写程序时,每行必需有行号
答案: 请关注ybaotk.com搜题查看答案
问题 38: 38. 下列四组选项中,均是合法转义字符的选项是( )。
选项:
•
A. ‘\”’ ‘\\’ ‘\n’
•
B. ‘\’ ‘\017’ ‘\”’
•
C. ‘\018’ ‘\f’ ‘xab’
•
D. ‘\\0’ ‘\101’ ‘xlf’
答案: 请关注ybaotk.com搜题查看答案
问题 39: 39. 以下非法的赋值语句是( )。
选项:
•
A. n=(i+2,i++);
•
B. j++;
•
C. ++(i+1);
•
D. x=j>0
答案: 请关注ybaotk.com搜题查看答案
问题 40: 40. 设int a=3,b=4,c=5;下列表达式的值不为1的是( )。
选项:
•
A. a+b>c&&b==c
•
B. a||b+c&&b-c
•
C. !(a>b)&&!c||1
•
D. !(a+b)+c-1&&b+c/2
答案: 请关注ybaotk.com搜题查看答案
问题 41: 41. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。
选项:
•
A. 算术运算、赋值运算、关系运算
•
B. 算术运算、关系运算、赋值运算
•
C. 关系运算、赋值运算、算术运算
•
D. 关系运算、算术运算、赋值运算
答案: 请关注ybaotk.com搜题查看答案
问题 42: 42. 有以下程序段:
int m=0,n=0;char c='a';
scanf(%d%c%d,&m,&c,&n);
printf(%d,%c,%d\n,m,c,n);
若从键盘上输入:10A10<回车键>,则输出结果是( )。
选项:
•
A. 10,A,10
•
B. 10,a,10
•
C. 10,a,0
•
D. 10,A,0
答案: 请关注ybaotk.com搜题查看答案
问题 43: 43. 在每个C程序中都必须包含有这样一个函数,该函数的函数名为( )。
选项:
•
A. main
•
B. MAIN
•
C. name
•
D. function
答案: 请关注ybaotk.com搜题查看答案
问题 44: 44. 下列语句不具有赋值功能的是( )。
选项:
•
A. a*=b
•
B. x=1
•
C. a+b
•
D. a++
答案: 请关注ybaotk.com搜题查看答案
问题 45: 45. 不是C语言的浮点类型的是( )。
选项:
•
A. float
•
B. double
•
C. long double
•
D. real
答案: 请关注ybaotk.com搜题查看答案
问题 46: 1. 有以下程序:
int main()
{
int a=5,b=0,c=0;
if(a=b+C)
printf(***\n);
else
printf($$$\n);
return 0;
}
程序运行结果是( )。
选项:
•
A. 有语法错不能通过编译
•
B. 可以通过编译但不能通过连接
•
C. 输出***
•
D. 输出$$$
答案: 请关注ybaotk.com搜题查看答案
问题 47: 2. 设有int m=1,n=2;则++m==n的结果是( )。
选项:
•
A. 0
•
B. 1
•
C. 2
•
D. 3
答案: 请关注ybaotk.com搜题查看答案
问题 48: 3. 若变量已正确定义,在if(W) printf(%d\n,k);中,以下不可替代W的是( )。
选项:
•
A. a<>b+c
•
B. ch=getchar()
•
C. a==b+c
•
D. a++
答案: 请关注ybaotk.com搜题查看答案
问题 49: 4. 有如下嵌套的if语句:
if(a
选项:
•
A. k=(ac)?b:c);
•
B. k=(a
•
C. k=(a
•
D. k=(a
答案: 请关注ybaotk.com搜题查看答案
问题 50: 5. 已有定义语句:int a=4,b=6,temp;,执行以下语句后,能正确表示a,b,temp值的选项是( )。
if(a>b)
temp=a;
else
temp=b;
printf(%d,%d,%d,a,b,temp);
选项:
•
A. 4,6,4
•
B. 4,6,6
•
C. 6,4,6
•
D. 6,4,4
答案: 请关注ybaotk.com搜题查看答案
问题 51: 6. 以下程序的输出结果是( )。
int main()
{
int a=2,b=1,c=2;
if(b
选项:
•
A. b=1,c=2
•
B. b=1,c=0
•
C. b=2,c=2
•
D. b=1,c=1
答案: 请关注ybaotk.com搜题查看答案
问题 52: 7. C语言中用于结构化程序设计的三种基本结构是( )。
选项:
•
A. 顺序结构、选择结构、循环结构
•
B. if、switch、break
•
C. for、while、do-while
•
D. if、for、continue
答案: 请关注ybaotk.com搜题查看答案
问题 53: 8. 已有定义语句:int x=6,y=4,z=5;,执行以下语句后,能正确表示x,y,z值的选项是( )。
if(x
选项:
•
A. x=4,y=5,z=6
•
B. x=6,y=4,z=5
•
C. x=4,y=5,z=5
•
D. x=5,y=6,z=4
答案: 请关注ybaotk.com搜题查看答案
问题 54: 9. 有以下程序段:
int main()
{
int x=1,y=0;
if(!x) y++;
else if(x==0)
if(x) y+=2;
else y+=3;
printf(%d\n,y);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 3
•
B. 2
•
C. 1
•
D. 0
答案: 请关注ybaotk.com搜题查看答案
问题 55: 10. 以下程序的运行结果是( )。
int main()
{
int i=0;
if(i==0)
printf(“**”);
else
printf(“$”);
printf(“*\n”);
return 0;
}
选项:
•
A. *
•
B. $*
•
C. **
•
D. ***
答案: 请关注ybaotk.com搜题查看答案
问题 56: 11. 执行以下程序的输出结果是( )。
int main()
{
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
return 0;
}
选项:
•
A. 6,1
•
B. 2,1
•
C. 6,0
•
D. 2,0
答案: 请关注ybaotk.com搜题查看答案
问题 57: 12. 逻辑运算符两侧运算对象的数据类型( )。
选项:
•
A. 只能是0或1
•
B. 只能是0或非0正数
•
C. 只能是整型或字符型数据
•
D. 可以是任何类型的数据
答案: 请关注ybaotk.com搜题查看答案
问题 58: 13. 若运行时给变量x 输入12,则以下程序的运行结果是( )。
int main()
{
int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
return 0;
}
选项:
•
A. 0
•
B. 22
•
C. 12
•
D. 10
答案: 请关注ybaotk.com搜题查看答案
问题 59: 14. 有如下程序:
int main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
return 0;
}
该程序的输出结果是( )。
选项:
•
A. a=2,b=1
•
B. a=1,b=1
•
C. a=1,b=0
•
D. a=2,b=2
答案: 请关注ybaotk.com搜题查看答案
问题 60: 15. 若w=1,x=2,y=3,z=4,则表达式w
选项:
•
A. 4
•
B. 3
•
C. 2
•
D. 1
答案: 请关注ybaotk.com搜题查看答案
问题 61: 16. 若通过键盘输入6和8时,执行下述程序的结果为( )。
int main()
{
int a,b,s;
scanf(%d%d,&a,&b);
s=a;
if(a
选项:
•
A. 36
•
B. 64
•
C. 48
•
D. 以上都不对
答案: 请关注ybaotk.com搜题查看答案
问题 62: 17. 在if嵌套语句中,为避免else匹配错误,C语言规定else总是与( )组成配对关系。
选项:
•
A. 最近的if
•
B. 在其之前未配对的if
•
C. 在其之前尚未配对的最近的if
•
D. 同一行的if
答案: 请关注ybaotk.com搜题查看答案
问题 63: 18. 若int k=8;则执行下列程序后,变量k的正确结果是( )。
int main()
{
int k=8;
switch(k)
{
case 9:k+=1;
case 10:k+=1;
case 11:k+=1;break;
default:k+=1;
}
printf(%d\n,k);
return 0;
}
选项:
•
A. 12
•
B. 11
•
C. 10
•
D. 9
答案: 请关注ybaotk.com搜题查看答案
问题 64: 19. 以下程序的输出结果是( )。
int main()
{
int a=53,b=18,c=0;
if(b10)
{
c=a--;
c++;
}
b++;
printf(“%d,%d,%d”,a,b,c);
return 0;
}
选项:
•
A. 52,18,52
•
B. 52,19,54
•
C. 52,19,52
•
D. 54,18,52
答案: 请关注ybaotk.com搜题查看答案
问题 65: 20. 下面的程序段中共出现了几处语法错误( )。
int a,b;
scanf(%d,a);
b=2a;
if(b>0)
printf(%b,b);
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 4
答案: 请关注ybaotk.com搜题查看答案
问题 66: 21. 下列条件语句中,功能与其他语句不同的是( )。
选项:
•
A. if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
•
B. if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
•
C. if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
•
D. if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
答案: 请关注ybaotk.com搜题查看答案
问题 67: 22. 设有int a=2,b;则执行b=a&&1;语句后,b的结果是( )。
选项:
•
A. 0
•
B. 1
•
C. 2
•
D. 3
答案: 请关注ybaotk.com搜题查看答案
问题 68: 23. 在以下给出的表达式中,与while(E)中的E不等价的表达式是( )。
选项:
•
A. (E>0||E<0)
•
B. (E==0)
•
C. (!E==0)
•
D. (E!=0)
答案: 请关注ybaotk.com搜题查看答案
问题 69: 24. C 语言中,逻辑“真”等价于( )。
选项:
•
A. 大于零的数
•
B. 大于零的整数
•
C. 非零的数
•
D. 非零的整数
答案: 请关注ybaotk.com搜题查看答案
问题 70: 25. 设有int n=2;则执行++n+1==4;语句后,n的结果是( )。
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 4
答案: 请关注ybaotk.com搜题查看答案
问题 71: 26. 设有int n=2;则++n+1==4的结果是( )。
选项:
•
A. true
•
B. false
•
C. 1
•
D. 0
答案: 请关注ybaotk.com搜题查看答案
问题 72: 27. 以下程序的输出结果是( )。
int main()
{
int m=5;
if(m++>5)
printf(“%d\n”,m);
else
printf(“%d\n”,m--);
return 0;
}
选项:
•
A. 4
•
B. 5
•
C. 6
•
D. 7
答案: 请关注ybaotk.com搜题查看答案
问题 73: 28. 下列描述正确的是( )。
选项:
•
A. break语句只能用于switch语句中
•
B. 在switch语句中必须使用default语句
•
C. break语句必须与switch语句中的case配对使用
•
D. 在switch语句中,不一定使用break语句
答案: 请关注ybaotk.com搜题查看答案
问题 74: 29. 设有int i=1,j=2,k=3;则表达式i&&j&&k 的值为( )。
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 0
答案: 请关注ybaotk.com搜题查看答案
问题 75: 30. 以下程序的输出结果是( )。
int main()
{
float a=3.1,b;
if(a<3)
b=0;
else if(a<6)
b=a*=a+1;
else if(a<9)
b=a*10;
else
b=10.0;
printf(“%f\n”,b);
return 0;
}
选项:
•
A. 0.000000
•
B. 10.00000
•
C. 12.709999
•
D. 1.000000
答案: 请关注ybaotk.com搜题查看答案
问题 76: 31. 若变量已正确定义,有以下程序段:
int main()
{
int a=3,b=5,c=7;
if(a>b)
a=b;
c=a;
if(c!=a)
c=b;
printf(“%d,%d,%d\n”,a,b,c);
return 0;
}
程序运行结果是( )。
选项:
•
A. 程序段有语法错
•
B. 3,5,3
•
C. 3,5,5
•
D. 3,5,7
答案: 请关注ybaotk.com搜题查看答案
问题 77: 32. C 语言的 switch 语句中,case 后( )。
选项:
•
A. 只能为常量
•
B. 只能为常量或常量表达式
•
C. 可为常量及表达式或有确定值的变量及表达式
•
D. 可为任何量或表达式
答案: 请关注ybaotk.com搜题查看答案
问题 78: 33. 以下选项中与
if(a==1) a=b;
else a++;
语句功能不同的switch语句是( )。
选项:
•
A. switch(a==1)
{
case 0: a=b; break;
case 1: a++;
}
•
B. switch(a)
{
case 1: a=b; break;
default: a++;
}
•
C. switch(a)
{
default: a++; break;
case 1: a=b;
}
•
D. switch(a==1)
{
case 1: a=b; break;
case 0: a++;
}
答案: 请关注ybaotk.com搜题查看答案
问题 79: 34. 能表示x为偶数的表达式是( )。
选项:
•
A. x%2==0
•
B. x%2==1
•
C. x%2
•
D. x%2!=0
答案: 请关注ybaotk.com搜题查看答案
问题 80: 35. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )。
选项:
•
A. 必须是逻辑值
•
B. 必须是整数值
•
C. 必须是正数
•
D. 可以是任意合法的数值
答案: 请关注ybaotk.com搜题查看答案
问题 81: 36. 若有int x=10,y=20,z=30;以下语句执行后x,y,z 的值是( )。
if(x>y)
z=x;
x=y;
y=z;
选项:
•
A. x=10,y=20,z=30
•
B. x=20,y=30,z=30
•
C. x=20,y=30,z=10
•
D. x=20,y=30,z=20
答案: 请关注ybaotk.com搜题查看答案
问题 82: 37. 有以下程序段:
int main()
{
int a=0,b=0,c=0,d=0;
if(a=1)
b=1;
c=2;
else
d=3;
printf(%d,%d,%d,%d,a,b,c,d);
return 0;
}
程序运行后的输出结果是( )
选项:
•
A. 1,1,2,0
•
B. 0,0,0,3
•
C. 编译有错
•
D. 0,1,2,0
答案: 请关注ybaotk.com搜题查看答案
问题 83: 38. 若执行以下程序时从键盘上输入9,则输出结果是( )。
int main()
{
int n;
scanf(%d,&n);
if(n++<10)
printf(%d\n,n);
else
printf(%d\n,n--);
return 0;
}
选项:
•
A. 11
•
B. 10
•
C. 9
•
D. 8
答案: 请关注ybaotk.com搜题查看答案
问题 84: 1. 在下列选项中,没有构成死循环的是( )。
选项:
•
A. int i=100;
while(1)
{
i=i-1;
if(i>100)
break;
}
•
B. for(;;);
•
C. int k=10000;
do
{
k++;
}while(k>10000);
•
D. int s=36;
while(s)
--s;
答案: 请关注ybaotk.com搜题查看答案
问题 85: 2. 循环语句中的for语句,其一般形式如下:
for(表达式1;表达式2;表达式3)
语句;
其中表示循环条件的是( )。
选项:
•
A. 表达式1
•
B. 表达式2
•
C. 表达式3
•
D. 语句
答案: 请关注ybaotk.com搜题查看答案
问题 86: 3. 下列程序的输出结果是( )。
int main()
{
int i,a=1,b=1;
for(i=10;i>0;i--)
{
if(i%3==0)
{
a++;
continue;
}
b++;
}
printf(a=%d,b=%d,a,b);
return 0;
}
选项:
•
A. a=4,b=7
•
B. a=4,b=8
•
C. a=8,b=4
•
D. a=7,b=5
答案: 请关注ybaotk.com搜题查看答案
问题 87: 4. 下列程序的输出结果是:
int main()
{
int i;
for(i=1;i<=5;i++)
{
if(i%2==0)
break;
printf(%d ,i);
}
printf(ok!\n);
return 0;
}
选项:
•
A. Ok!
•
B. 1 2 3 4 5 Ok!
•
C. 1
•
D. 1 0k!
答案: 请关注ybaotk.com搜题查看答案
问题 88: 5. 以下while循环中,循环体执行的次数是( )。
k=1;
while(k--)
k=6;
选项:
•
A. 执行10次
•
B. 执行无限次
•
C. 一次也不执行
•
D. 执行1次
答案: 请关注ybaotk.com搜题查看答案
问题 89: 6. 有以下程序段,其中x为整型变量:
int x=-1;
do
{
}while(x++);
printf(x=%d,x);
以下正确的是( )。
选项:
•
A. 该循环没有循环体,程序错误
•
B. 输出 x=1
•
C. 输出 x=0
•
D. 输出 x=-1
答案: 请关注ybaotk.com搜题查看答案
问题 90: 7. 与以下程序段等价的是( )。
while(a)
{
if(b)
continue;
c;
}
选项:
•
A. while (a)
{ if (!b) c; }
•
B. while (c)
{ if (!b) break; c; }
•
C. while (c)
{ if (b) c; }
•
D. while (a)
{ if (b) break; c; }
答案: 请关注ybaotk.com搜题查看答案
问题 91: 8. while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定要有能使此表达式的值变为( )的操作,否则,循环将会无限制地进行下去。
选项:
•
A. 0
•
B. 1
•
C. 2
•
D. 成立
答案: 请关注ybaotk.com搜题查看答案
问题 92: 9. 若i为整型变量,则以下循环执行次数是( )。
for(i=10;i==0;)
printf(%d,i--);
选项:
•
A. 无限次
•
B. 0次
•
C. 10次
•
D. 程序错误
答案: 请关注ybaotk.com搜题查看答案
问题 93: 10. C语言中,下列说法正确的是( )。
选项:
•
A. 不能用do-while语句构成循环
•
B. do-while语句构成循环必须用break语句才能退出
•
C. do-while语句构成循环,当while语句中的表达式为非零时结束循环
•
D. do-while语句构成循环,当while语句中的表达式为零时结束循环
答案: 请关注ybaotk.com搜题查看答案
问题 94: 11. 以下循环中,while循环的次数是( )。
int main()
{
int i=0;
while(i<5)
{
if(i<1)
continue;
if(i==5)
break;
i++;
}
return 0;
}
选项:
•
A. 1
•
B. 10
•
C. 6
•
D. 死循环,不能确定次数
答案: 请关注ybaotk.com搜题查看答案
问题 95: 12. 阅读下列程序段,则程序的输出结果是( )。
int main()
{
int a=10,b=10,k;
for(k=0;a>8;b=++k)
printf(%d,%d,,a--,--b);
printf(\n);
}
选项:
•
A. 10,10,10,0,
•
B. 10,9,9,0,
•
C. 10,10,9,1,
•
D. 9,9,9,1,
答案: 请关注ybaotk.com搜题查看答案
问题 96: 13. 以下程序段的描述,正确的是( )。
x=-1;
do
{
x=x*x;
}while(!x);
选项:
•
A. 是死循环
•
B. 循环执行两次
•
C. 循环执行一次
•
D. 有语法错误
答案: 请关注ybaotk.com搜题查看答案
问题 97: 14. 阅读下列程序,则执行结果是( )。
int main()
{
int a=0,b=0,c=0,i;
for(i=0;i<4;i++)
{
switch(i)
{
case 0:a=i++;
case 1:b=i++;
case 2:c=i++;
case 3:i++;
}
}
printf(%d,%d,%d,%d\n,a,b,c,i);
return 0;
}
选项:
•
A. 0,1,3,4
•
B. 1,2,3,4
•
C. 0,1,2,5
•
D. 0,2,3,4
答案: 请关注ybaotk.com搜题查看答案
问题 98: 15. 设有程序段:
int k=1;
while(k=0)
k=k-1;
这下面描述中正确的是( )。
选项:
•
A. while循环执行10次
•
B. 循环是无限循环
•
C. 循环体语句一次也不执行
•
D. 循环体语句执行一次
答案: 请关注ybaotk.com搜题查看答案
问题 99: 16. 下列程序的输出结果是( )。
int main()
{
int i=6;
while(i--)
printf(%d,--i);
printf(\n);
return 0;
}
选项:
•
A. 531
•
B. 420
•
C. 654321
•
D. 死循环
答案: 请关注ybaotk.com搜题查看答案
问题 100: 17. 对下列两个语句Ⅰ和Ⅱ描述正确的是( )。
Ⅰ.while(1)
Ⅱ.for(;;)
选项:
•
A. 都是无限循环
•
B. Ⅰ是无限循环,Ⅱ错误
•
C. Ⅰ循环一次,Ⅱ错误
•
D. 以上答案都错
答案: 请关注ybaotk.com搜题查看答案
问题 101: 18. 若运行以下程序时,从键盘输入回车键,则下面程序的运行结果是( )。
int main()
{
char c;
int v0=1,v1=0,v2=0;
do
{
switch(c=getchar())
{
case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U':v1+=1;
default:v0+=1;v2+=1;
}
}while(c!='\n');
printf(v0=%d,v1=%d,v2=%d\n,v0,v1,v2);
return 0;
}
选项:
•
A. v0=7,v1=4,v2=7
•
B. v0=8,v1=4,v2=8
•
C. v0=11,v1=4,v2=11
•
D. v0=2,v1=0,v2=1
答案: 请关注ybaotk.com搜题查看答案
问题 102: 19. 下列程序的输出结果是( )。
int main()
{
int i,a=0,b=0;
for(i=1;i<10;i++)
{
if(i%2==0)
{
a++;
continue;
}
b++;
}
printf(a=%d,b=%d,a,b);
return 0;
}
选项:
•
A. a=4,b=4
•
B. a=4,b=5
•
C. a=5,b=4
•
D. a=5,b=5
答案: 请关注ybaotk.com搜题查看答案
问题 103: 20. 对于 for(表达式1; ;表达式3)可理解为( )。
选项:
•
A. for(表达式1;0;表达式3)
•
B. for(表达式1;1;表达式3)
•
C. for(表达式1;表达式1;表达式3)
•
D. for(表达式1;表达式3;表达式3)
答案: 请关注ybaotk.com搜题查看答案
问题 104: 21. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是( )。
x=0;
while(!x!=0)
x++;
选项:
•
A. 退出while循环后,x的值为0
•
B. 退出while循环后,x的值为1
•
C. while的控制表达式是非法的
•
D. while循环执行无限次
答案: 请关注ybaotk.com搜题查看答案
问题 105: 22. 阅读下列程序,程序的输出结果是( )。
int main()
{
int m,n;
float k;
for(m=6;m>2;m--)
{
k=0;
for(n=m;n>1;n--)
k=k+m*n;
}
printf(%f\n,k);
return 0;
}
选项:
•
A. 5.000000
•
B. 15.000000
•
C. 25.000000
•
D. 35.000000
答案: 请关注ybaotk.com搜题查看答案
问题 106: 23. 若有如下语句:
int x=3;
do
{
printf(%d\n,x-=2);
}while(!(--x));
则上面程序段( )。
选项:
•
A. 输出的是1
•
B. 输出的是1和-2
•
C. 输出的是3和0
•
D. 是死循环
答案: 请关注ybaotk.com搜题查看答案
问题 107: 24. 下列程序的输出结果是( )。
int main()
{
int a=0,b=0,c=0,i;
for(i=0;i<4;i++)
{
switch(i)
{
case 0:a=++i;
case 1:b=i++;
case 2:c=--i;
case 3:i--;
}
}
printf(%d,%d,%d,%d\n,a,b,c,i);
return 0;
}
选项:
•
A. 1,1,1,5
•
B. 1,2,3,4
•
C. 0,0,0,50
•
D. 死循环
答案: 请关注ybaotk.com搜题查看答案
问题 108: 25. 执行for(x=1,y=0;(y!=1)&&(x<4);x++);的结果为( )。
选项:
•
A. 无限循环
•
B. 循环次数不定
•
C. 执行3次
•
D. 执行2次
答案: 请关注ybaotk.com搜题查看答案
问题 109: 26. 若有如下语句:
int x=3;
do
{
printf(%d\n,x-=2);
}while(!(--x));
则上面程序段( )。
选项:
•
A. 输出的是4
•
B. 输出的是4和2
•
C. 输出的是1和-2
•
D. 是死循环
答案: 请关注ybaotk.com搜题查看答案
问题 110: 27. 若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是( )。
选项:
•
A. 9
•
B. 8
•
C. 3
•
D. 2
答案: 请关注ybaotk.com搜题查看答案
问题 111: 28. 执行语句for(i=1;i++<4;);后变量i的值是( )。
选项:
•
A. 3
•
B. 4
•
C. 5
•
D. 不定
答案: 请关注ybaotk.com搜题查看答案
问题 112: 29. 以下正确的描述是( )。
选项:
•
A. continue语句的作用是结束整个循环的执行
•
B. 只能在循环体内和switch语句体内使用break语句
•
C. 在循环体内使用break语句或continue语句的作用相同
•
D. 从多层循环嵌套中退出时,只能使用goto语句
答案: 请关注ybaotk.com搜题查看答案
问题 113: 30. 以下循环体的执行次数是( )。
int main()
{
int i,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
printf(%d\n,i);
return 0;
}
选项:
•
A. 3
•
B. 2
•
C. 1
•
D. 0
答案: 请关注ybaotk.com搜题查看答案
问题 114: 31. C语言中while和do-while循环的主要区别是( )。
选项:
•
A. do-while的循环体至少无条件执行一次
•
B. while的循环控制条件比do-while的循环控制条件更严格
•
C. do-while允许从外部转到循环体内
•
D. do-while 的循环体不能是复合语句
答案: 请关注ybaotk.com搜题查看答案
问题 115: 32. 在do-while循环中,循环由do开始,用while结束;在while表达式后面的( )不能丢,它表示do-while语句的结束。
选项:
•
A. 0
•
B. 1
•
C. ;
•
D. ,
答案: 请关注ybaotk.com搜题查看答案
问题 116: 33. 以下程序段的描述,正确的是( )。
x=-4;
do
{
x=x*x;
}while(!x);
选项:
•
A. 是死循环
•
B. 循环执行两次
•
C. 循环执行一次
•
D. 有语法错误
答案: 请关注ybaotk.com搜题查看答案
问题 117: 34. 以下循环中,while循环的次数是( )。
int main()
{
int i=0;
while(i<10)
{
if(i<1)
continue;
if(i==5)
break;
i++;
}
return 0;
}
选项:
•
A. 1
•
B. 10
•
C. 6
•
D. 死循环,不能确定次数
答案: 请关注ybaotk.com搜题查看答案
问题 118: 35. 下面程序段的运行结果是( )。
int a=1,b=2,c=2,t;
while(a
选项:
•
A. 1,2,0
•
B. 2,1,0
•
C. 1,2,1
•
D. 2,1,1
答案: 请关注ybaotk.com搜题查看答案
问题 119: 36. 下面有关for循环的正确描述是( )。
选项:
•
A. for循环只能用于循环次数已经确定的情况
•
B. for循环是先执行循环体语句,后判断表达式
•
C. 在for循环中,不能用break语句跳出循环体
•
D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
答案: 请关注ybaotk.com搜题查看答案
问题 120: 37. for语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。
选项:
•
A. 0
•
B. 1
•
C. ;
•
D. ,
答案: 请关注ybaotk.com搜题查看答案
问题 121: 38. 阅读下列程序段,则程序的输出结果是( )。
int main()
{
int a=8,b=3,k;
for(k=0;a>6;b=++k)
printf(%d,%d,,a--,--b);
printf(\n);
return 0;
}
选项:
•
A. 7,2,6,0,
•
B. 8,2,7,0,
•
C. 7,3,6,1,
•
D. 8,3,7,1,
答案: 请关注ybaotk.com搜题查看答案
问题 122: 39. t为int类型,进入下面的循环之前,t的值为0,
while(t=3)
{……}
则以下叙述中正确的是( )。
选项:
•
A. 循环控制表达式的值为0
•
B. 循环控制表达式的值为1
•
C. 循环控制表达式不正确
•
D. 以上说法都不对
答案: 请关注ybaotk.com搜题查看答案
问题 123: 40. 下面程序的运行结果是( )。
int main()
{
int a=1,b=10;
do
{
b-=a;
a++;
}while(b--<0);
printf(a=%d,b=%d\n,a,b);
return 0;
}
选项:
•
A. a=3,b=11
•
B. a=2,b=8
•
C. a=1,b=-1
•
D. a=4,b=9
答案: 请关注ybaotk.com搜题查看答案
问题 124: 1. 下面对C语言的描述中,正确的是( )。
选项:
•
A. 函数一定有返回值,否则无法使用函数
•
B. 函数既可以嵌套定义又可以递归调用
•
C. 调用函数时,只能将实参的值传递给形参
•
D. 程序中有调用关系的所有函数都必须放在同一源程序文件中
答案: 请关注ybaotk.com搜题查看答案
问题 125: 2. 若用数组名作为函数调用的实参,传递给形参的是( )。
选项:
•
A. 数组的首地址
•
B. 数组第一个元素的值
•
C. 数组中全部元素的值
•
D. 数组元素的个数
答案: 请关注ybaotk.com搜题查看答案
问题 126: 3. 若有如下程序:
char fun(char x,char y)
{
if(x
选项:
•
A. 函数调用出错
•
B. 8
•
C. 9
•
D. 7
答案: 请关注ybaotk.com搜题查看答案
问题 127: 4. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
选项:
•
A. 函数调用可以作为独立的语句存在
•
B. 函数调用可以作为一个函数的实参
•
C. 函数调用可以出现在表达式中
•
D. 函数调用可以作为一个函数的形参
答案: 请关注ybaotk.com搜题查看答案
问题 128: 5. 若有如下程序:
int max(int x, int y)
{
if(x>y)
return x;
else
return y;
}
int sum(int i)
{
return i+1;
return i+2;
}
int main()
{
int a=1, b=9, j;
printf(%d, max(a+2,b));
j=sum(6);
printf(%d,j);
return 0;
}
程序运行结果是( )。
选项:
•
A. 97
•
B. 9,7
•
C. 98
•
D. 9,8
答案: 请关注ybaotk.com搜题查看答案
问题 129: 6. 若有如下程序:
int fun(int a,int b)
{
if(a>b)
return(a);
else
return(b);
}
int main()
{
int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf(“%d\n”,r);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 3
•
B. 6
•
C. 8
•
D. 12
答案: 请关注ybaotk.com搜题查看答案
问题 130: 7. 下列函数定义中,出现编译错误的是( )。
选项:
•
A. max(int x,int y,int z)
{
z=x>y?x:y;
return z;
}
•
B. int max(int x,y)
{
int z;
z=x>y?x:y;
return z;
}
•
C. max(int x,int y)
{
int z;
z=x>y?x:y;
return(z);
}
•
D. int max(int x,int y)
{
return(x>y?x:y);
}
答案: 请关注ybaotk.com搜题查看答案
问题 131: 8. 若有如下函数:
fun(float x)
{
printf(%d\n,x*x);
}
则函数的类型是( )。
选项:
•
A. 与参数x的类型相同
•
B. 是void型
•
C. 是int型
•
D. 无法确定
答案: 请关注ybaotk.com搜题查看答案
问题 132: 9. 下面程序能对两个整型变量的值进行交换。以下说法正确的是( )。
int main()
{
int a=10,b=20;
printf((1)a=%d,b=%d\n,a,b);
swap(&a,&b);
printf((2)a=%d,b=%d\n,a,b);
return 0;
}
int swap(int p,int q)
{
int t;
t=p;
p=q;
q=t;
}
选项:
•
A. 该程序完全正确
•
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
•
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
•
D. 以上说法都不对
答案: 请关注ybaotk.com搜题查看答案
问题 133: 10. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。
选项:
•
A. 地址传递
•
B. 单向值传递
•
C. 由实参传给形参,再由形参传回实参
•
D. 传递方式由用户指定
答案: 请关注ybaotk.com搜题查看答案
问题 134: 11. 已知函数f的定义如下:
int f(int a,int b)
{
if(a
选项:
•
A. 2
•
B. 3
•
C. 2和3
•
D. 3和2
答案: 请关注ybaotk.com搜题查看答案
问题 135: 12. C语言中函数返回值的类型是由( )决定的。
选项:
•
A. return语句中表达式的类型
•
B. 该函数定义时的类型
•
C. 调用函数时的调用语句
•
D. 根据结果
答案: 请关注ybaotk.com搜题查看答案
问题 136: 13. 以下叙述中错误的是( )。
选项:
•
A. 用户定义的函数中可以没有return语句
•
B. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
•
C. 用户定义的函数中若没有return语句,则应当定义函数为void类型
•
D. 函数的return语句中可以没有表达式
答案: 请关注ybaotk.com搜题查看答案
问题 137: 14. 若调用函数时的实参为变量,以下关于函数形参和实参的叙述正确的是( )。
选项:
•
A. 函数的实参和其对应的形参共占同一存储单元
•
B. 形参只是形式上的存在,不占用具体存储单元
•
C. 同名的实参和形参占同一存储单元
•
D. 函数的形参和实参分别占用不同的存储单元
答案: 请关注ybaotk.com搜题查看答案
问题 138: 15. 若主调函数类型为double,被调函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
选项:
•
A. int
•
B. float
•
C. double
•
D. 由系统当时的情况而定
答案: 请关注ybaotk.com搜题查看答案
问题 139: 16. 若有如下程序:
void f(int v,int w)
{
int t;
t=v;
v=w;
w=t;
}
int main()
{
int x=1,y=3,z=2;
if(x>y)
f(x,y);
else if(y>z)
f(y,z);
else
f(x,z);
printf(%d,%d,%d\n,x,y,z);
return 0;
}
执行后的输出结果是( )。
选项:
•
A. 1,2,3
•
B. 3,1,2
•
C. 1,3,2
•
D. 2,3,1
答案: 请关注ybaotk.com搜题查看答案
问题 140: 17. 若使用一维数组名做函数实参,则以下正确的说法是( )。
选项:
•
A. 实参数组类型与形参数组类型可以不匹配
•
B. 在被调函数中可以不考虑形参数组的大小
•
C. 实参数组名必须与形参数组名一致
•
D. 必须在主调函数中说明此数组的大小
答案: 请关注ybaotk.com搜题查看答案
问题 141: 18. 下列说法正确的是( )。
选项:
•
A. C语言中允许定义空函数
•
B. 空函数是一种错误的函数
•
C. 空函数既没有函数头,也没有函数体
•
D. 编程时,空函数没有任何用途
答案: 请关注ybaotk.com搜题查看答案
问题 142: 19. 编写求两个双精度数之和的函数,选项中正确的是( )。
选项:
•
A. double add(double a,double b)
{
double s;
s=a+b;
return s;
}
•
B. double add(double a,b)
{
double s;
s=a+b;
return (s);
}
•
C. double add(double a double b)
{
double s;
s=a+b;
return s;
}
•
D. double add(a,b)
{
double a,b,s;
s=a+b;
return (s);
}
答案: 请关注ybaotk.com搜题查看答案
问题 143: 20. 在C语言中以下不正确的说法是( )。
选项:
•
A. 实参可以是常量、变量或表达式
•
B. 形参可以是常量、变量或表达式
•
C. 实参可以为任意类型
•
D. 形参应与其对应的实参类型一致
答案: 请关注ybaotk.com搜题查看答案
问题 144: 21. 以下说法正确的是( )。
选项:
•
A. 用户若需调用标准库函数,调用前必须重新定义
•
B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义
•
C. 系统根本不允许用户重新定义标准库函数
•
D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用
答案: 请关注ybaotk.com搜题查看答案
问题 145: 22. 以下程序运行后的输出结果是( )。
float fun(int x,int y)
{
return(x+y);
}
int main()
{
int a=2,b=5,c=8;
printf(%.1f\n,fun((int)fun(a+c,b),a-c));
return 0;
}
选项:
•
A. 编译出错
•
B. 9
•
C. 21
•
D. 9.0
答案: 请关注ybaotk.com搜题查看答案
问题 146: 23. 以下函数首部定义形式正确的是( )。
选项:
•
A. double fun(int x,int y)
•
B. double fun(int x;int y)
•
C. double fun(int x,int y);
•
D. double fun(int x,y);
答案: 请关注ybaotk.com搜题查看答案
问题 147: 24. 将一个整数n,转换成字符串,以下说法正确的是( )。
选项:
•
A. 只能使用递归函数实现
•
B. 不能使用递归函数实现
•
C. 可以使用递归函数实现
•
D. 无法实现
答案: 请关注ybaotk.com搜题查看答案
问题 148: 25. 在C语言程序中,若对函数类型未加说明,则函数的隐含类型为( )。
选项:
•
A. void
•
B. double
•
C. char
•
D. int
答案: 请关注ybaotk.com搜题查看答案
问题 149: 26. 若程序中定义了如下函数:
double myadd(double a,double b)
{
return (a+b);
}
将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是( )。
选项:
•
A. double myadd(double a,b);
•
B. double myadd(double,double);
•
C. double myadd(double b,double a);
•
D. double myadd(double x,double y);
答案: 请关注ybaotk.com搜题查看答案
问题 150: 27. 若有如下程序:
int fun(int a,int b)
{
if(b==0)
return a;
else
return(fun(--a,--b));
}
int main()
{
printf(%d\n,fun(4,2));
return 0;
}
程序的运行结果是( )。
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 4
答案: 请关注ybaotk.com搜题查看答案
问题 151: 28. 以下函数值的类型是( )。
fun(float x)
{
float y;
y=3*x-4;
return y;
}
选项:
•
A. int
•
B. 不确定
•
C. void
•
D. float
答案: 请关注ybaotk.com搜题查看答案
问题 152: 29. 以下程序有语法错误,有关错误原因的正确说法是( )。
int main()
{
int G=5,k;
void prt_char();
...
k=prt_char(G);
...
return 0;
}
选项:
•
A. 语句void prt_char();有错,它是函数调用语句,不能用void说明
•
B. 变量名不能使用大写字母
•
C. 函数说明语句和函数调用语句之间有矛盾
•
D. 函数名不能使用下划线
答案: 请关注ybaotk.com搜题查看答案
问题 153: 30. 下面函数func((exp1,exp2),(exp3,exp4,exp5));调用语句中含有实参的个数为( )。
选项:
•
A. 1
•
B. 2
•
C. 4
•
D. 5
答案: 请关注ybaotk.com搜题查看答案
问题 154: 31. 若有如下程序:
int f(int a)
{
int b=0;
static int c=3;
b++;
c++;
return(a+b+c);
}
int main()
{
int a=2,i;
for(i=0;i<3;i++)
printf(%d\n,f(a));
return 0;
}
输出结果是( )。
选项:
•
A. 7
8
9
•
B. 7
9
11
•
C. 7
10
13
•
D. 7
7
7
答案: 请关注ybaotk.com搜题查看答案
问题 155: 32. 以下说法正确的是( )。
选项:
•
A. 定义函数时,形参的类型说明可以放在函数体内
•
B. return后边的值不能为表达式
•
C. 如果函数值的类型与返回值类型不一致,以函数值类型为准
•
D. 如果形参与实参类型不一致,以实参类型为准
答案: 请关注ybaotk.com搜题查看答案
问题 156: 33. 在C语言中,函数的数据类型是指( )。
选项:
•
A. 函数返回值的数据类型
•
B. 函数形参的数据类型
•
C. 调用该函数时的实参的数据类型
•
D. 任意指定的数据类型
答案: 请关注ybaotk.com搜题查看答案
问题 157: 34. 下列关于函数定义的叙述中,正确的是( )。
选项:
•
A. 函数可以嵌套定义,但不可以嵌套调用
•
B. 函数不可以嵌套定义,但可以嵌套调用
•
C. 函数不可以嵌套定义,也不可以嵌套调用
•
D. 函数可以嵌套定义,也可以嵌套调用
答案: 请关注ybaotk.com搜题查看答案
问题 158: 35. 以下关于函数定义的叙述中,正确的是( )。
选项:
•
A. 构成C语言源程序的基本单位之一是函数定义
•
B. 所有被调用的函数必须在调用之前定义
•
C. void main()函数定义必须放在其他函数定义之前
•
D. void main()函数定义的函数体中必须至少有一条语句或声明
答案: 请关注ybaotk.com搜题查看答案
问题 159: 36. 已知有函数定义:
int fun()
{
return(3,4);
}
则调用fun后的函数返回值是( )。
选项:
•
A. 3
•
B. 4
•
C. 3和4
•
D. 程序出错
答案: 请关注ybaotk.com搜题查看答案
问题 160: 37. 有如下函数定义:
void fun(int n,double x)
{
……
}
若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是( )。
选项:
•
A. fun(int y,double m);
•
B. k=fun(10,12.5);
•
C. fun(x,n);
•
D. void fun(n,x);
答案: 请关注ybaotk.com搜题查看答案
问题 161: 38. 以下函数声明中,正确的是( )。
选项:
•
A. void play(var a:Integer,var b:Integer)
•
B. void play(int a,b)
•
C. void play(int a,int b)
•
D. void play(int a int b)
答案: 请关注ybaotk.com搜题查看答案
问题 162: 39. 下面的函数func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));调用语句中func函数的实参个数是( )。
选项:
•
A. 3
•
B. 4
•
C. 5
•
D. 8
答案: 请关注ybaotk.com搜题查看答案
问题 163: 40. 在定义任何一个函数时,下列选项中不可缺少的是( )。
选项:
•
A. 函数名之前的数据类型
•
B. 函数名之后的一对圆括号
•
C. 形式参数声明
•
D. 函数体中的语句
答案: 请关注ybaotk.com搜题查看答案
问题 164: 1. 若有以下程序:
int main()
{
int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf(%d\n,c);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 1
•
B. 2
•
C. 3
•
D. 4
答案: 请关注ybaotk.com搜题查看答案
问题 165: 2. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。
int main()
{
int *p=NULL,*q=NULL,a,b;
p=&a;
printf(“input a:”);
scanf(“%d”,*p);
……
return 0;
}
选项:
•
A. *p表示的是指针变量p的地址
•
B. *p表示的是变量a的值,而不是变量a的地址
•
C. *p表示的是指针变量p的值
•
D. *p只能用来说明p是一个指针变量
答案: 请关注ybaotk.com搜题查看答案
问题 166: 3. 若有以下定义:
char a[10],*b=a;
不能给数组a输入字符串的语句是( )。
选项:
•
A. gets(a);
•
B. gets(a[0]);
•
C. gets(&a[0]);
•
D. gets(b);
答案: 请关注ybaotk.com搜题查看答案
问题 167: 4. 若有以下程序:
void sum(int *a)
{
a[0]=a[1];
}
int main( )
{
int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--)
sum(&aa);
printf(%d\n,aa[0]);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 4
•
B. 3
•
C. 2
•
D. 1
答案: 请关注ybaotk.com搜题查看答案
问题 168: 5. 若有以下说明:
char a[]=It is mine;
char *p=It is mine;
以下叙述不正确的是( )。
选项:
•
A. a+1表示的是字符t的地址
•
B. p指向另外的字符串时,字符串的长度不受限制
•
C. p变量中存放的地址值可以改变
•
D. a中只能存放10个字符
答案: 请关注ybaotk.com搜题查看答案
问题 169: 6. 若有说明:int *p=NULL,m=5,n;,以下程序段正确的的是( )。
选项:
•
A. p=&n;
scanf(%d,&p);
•
B. p=&n;
scanf(%d,*p);
•
C. scanf(%d,&n);
*p=n;
•
D. p=&n;
*p=m;
答案: 请关注ybaotk.com搜题查看答案
问题 170: 7. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。
选项:
•
A. c=*p1+*p2;
•
B. p2=c
•
C. p1=p2
•
D. c=*p1*(*p2);
答案: 请关注ybaotk.com搜题查看答案
问题 171: 8. 若有变量定义和函数调用语句:int a=25; print_value(&a);,下面函数的正确输出结果是( )。
void print_value(int *x)
{
printf(“%d\n”,++*x);
}
选项:
•
A. 23
•
B. 24
•
C. 25
•
D. 26
答案: 请关注ybaotk.com搜题查看答案
问题 172: 9. 若有以下说明语句:
char language[]={“FORTRAN”};
char *q=NULL;
q=language+2;
则语句printf(“%s\n”,*q);输出的是( )。
选项:
•
A. language[2]元素的地址
•
B. 字符串RTRANL
•
C. language[2]元素的值,它是字符串FORTRAN的首地址
•
D. 输出语句错误,无法得到输出结果
答案: 请关注ybaotk.com搜题查看答案
问题 173: 10. 若有以下定义:
int arr[]={6,7,8,9,10};
int *ptr=NULL;
ptr=arr;
*(ptr+2)+=2;
printf(%d,%d\n,*ptr,*(ptr+2));
则程序段的输出结果为( )。
选项:
•
A. 8,10
•
B. 6,8
•
C. 7,9
•
D. 6,10
答案: 请关注ybaotk.com搜题查看答案
问题 174: 11. 若有以下定义:
int a[10]={15,12,7,31,47,20,16,28,13,19},*p=NULL;
下列语句中正确的是( )。
选项:
•
A. for(p=a;a<(p+10);a++);
•
B. for(p=a;p<(a+10);p++);
•
C. for(p=a;a=a+10;p
•
D. for(p=a;a
答案: 请关注ybaotk.com搜题查看答案
问题 175: 12. 下面程序段的运行结果是( )。
char *s=abcde;
s+=2;
printf(%s,s);
选项:
•
A. cde
•
B. 字符'c'
•
C. 字符'c'的地址
•
D. 无确定的输出结果
答案: 请关注ybaotk.com搜题查看答案
问题 176: 13. 若 有以下程序:
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2)
i=3-j;
s+=b[j];
}
return s;
}
int main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
int *p=a;
printf(%d\n,f(p));
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 12
•
B. 11
•
C. 18
•
D. 16
答案: 请关注ybaotk.com搜题查看答案
问题 177: 14. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。
选项:
•
A. char s[10]=abcdefg;
•
B. char t[]=abcdefg,*s=t;
•
C. char s[10];s=abcdefg;
•
D. char s[10];strcpy(s,abcdefg);
答案: 请关注ybaotk.com搜题查看答案
问题 178: 15. 若有以下程序段:
int main()
{
int x[]={10,20,30};
int *px=x;
printf(%d,,++*px);
printf(%d,,*px);
px=x;
printf(%d,,(*px)++);
printf(%d,,*px);
px=x;
printf(%d,,*px++);
printf(%d,,*px);
px=x;
printf(%d,,*++px);
printf(%d\n,*px);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 11,11,11,12,12,20,20,20
•
B. 20,10,11,10,11,10,11,10
•
C. 11,11,11,12,12,13,20,20
•
D. 20,10,11,20,11,12,20,20
答案: 请关注ybaotk.com搜题查看答案
问题 179: 16. 若有以下程序:
int main()
{
char a;
char *str=&a;
strcpy(str,hello);
puts(str);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. hello
•
B. null
•
C. h
•
D. 发生异常
答案: 请关注ybaotk.com搜题查看答案
问题 180: 17. 若有以下定义:
int a[10],*p=a;
则p+5表示( )。
选项:
•
A. 元素a[5]的地址
•
B. 元素a[5]的值
•
C. 元素a[6]的地址
•
D. 元素a[6]的值
答案: 请关注ybaotk.com搜题查看答案
问题 181: 18. 若要对a进行++运算,则a应具有如下说明( )。
选项:
•
A. int a[3];
•
B. char a=12”;
•
C. char(*a)[3];
•
D. int b[10], *a=b;
答案: 请关注ybaotk.com搜题查看答案
问题 182: 19. 变量的指针,其含义是指该变量的( )。
选项:
•
A. 值
•
B. 地址
•
C. 名
•
D. 一个标志
答案: 请关注ybaotk.com搜题查看答案
问题 183: 20. 若有以下程序段:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
则b中的值是( )。
选项:
•
A. 5
•
B. 6
•
C. 7
•
D. 9
答案: 请关注ybaotk.com搜题查看答案
问题 184: 21. 若有说明:int *point=NULL,a=4; point=&a;,下面均代表地址的是( )。
选项:
•
A. a,point,*&a
•
B. &*a,&a,*point
•
C. *&point,*point,&a
•
D. &a,&*point,point
答案: 请关注ybaotk.com搜题查看答案
问题 185: 22. 若有sizeof(int)值为2字节,则定义int a[]={10,20,30}, *p=&a;,当执行p++;后,下列说法错误的是( )。
选项:
•
A. p向高地址移了一个字节
•
B. p向高地址移了一个存储单元
•
C. p向高地址移了两个字节
•
D. p与a+1等价
答案: 请关注ybaotk.com搜题查看答案
问题 186: 23. 若有以下程序:
int main()
{
char a[]=programming,b[]=language;
char *p1,*p2;
int i;
p1=a;
p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i))
printf(%c,*(p1+i));
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. gm
•
B. Rg
•
C. or
•
D. ga
答案: 请关注ybaotk.com搜题查看答案
问题 187: 24. 若有以下程序:
int main()
{
char a[20]=I love China;
char *p=a;
printf(%c%s\n,*(a+2),p+1);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. I l
•
B. l o
•
C. o love
•
D. l love China
答案: 请关注ybaotk.com搜题查看答案
问题 188: 25. 若有以下定义:
int a[]={2,4,6,8,10,12},*p=a;
则*(p+1)和*(a+5)的值是( )。
选项:
•
A. 4,12
•
B. 3,7
•
C. 4,10
•
D. 6,10
答案: 请关注ybaotk.com搜题查看答案
问题 189: 26. 若有以下程序:
void fun(char *c,int d)
{
*c=*c+1;
d=d+1;
printf(%c,%c,,*c,d);
}
int main()
{
char a='A',b='a';
fun(&b,a);
printf(%c,%c\n,a,b);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. B,a,B,a
•
B. a,B,a,B
•
C. A,b,A,b
•
D. b,B,A,b
答案: 请关注ybaotk.com搜题查看答案
问题 190: 27. 若有以下程序:
int main()
{
int m=1,n=2,*p=&m,*q=&n,*r;
r=p;
p=q;
q=r;
printf(%d,%d,%d,%d\n,m,n,*p,*q);
return 0;
}
程序运行后的输出结果是( )。
选项:
•
A. 1,2,1,2
•
B. 1,2,2,1
•
C. 2,1,2,1
•
D. 2,1,1,2
答案: 请关注ybaotk.com搜题查看答案
问题 191: 1. 用下面的scanf函数输入数据,使a=4,b=9,在键盘上应该输入( )。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|