帮看看有没有做错的 谢谢了(100分)
18. 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为( )。
x=(i=4,j=16,k=32)
A:4
B:16
C:32
D:其他值
19. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。
A:7
B:8
C:6
D:2
20. 以下程序运行后的输出结果是( )。
main()
{int a,b;
a=50;b=90;
printf("%d\n",(a,b));
}
A:90
B:50 90
C:50
D:其他
21. 以下程序的运行结果是( )。
void main()
{
int a=4; char ch=‘a’;
printf( "%d\n",(a&2)&&(ch>‘A’));
}
A:0
B:1
C:2
D:3
22. 以下程序的输出是:( )。
#include <stdio.h>
main( )
{ int i,j=4;
for(i=j; i<=2*j; i++)
switch (i/j)
{ case 0 :
case 1: printf("*"); break;
case 2: printf("#"); break;
}
}
A:*###
B:**##
C:***#
D:****#
23. 有如下程序片段:
int i = 0;
while(i++ <= 2);
printf("%d", i--);
则正确的执行结果是: ( )。
A:2
B:3
C:4
D:以上都不是
24. 有以下程序段
main()
{ int i=1,sum=0,n;
scanf(“%d”,&n);
do
{ i+=2;
sum+=i ;
}while(i!=n);
printf(“%d”,sum);
}
若使程序的输出值为15,则应该从键盘输入的n的值是 ( )。
A:1
B:3
C:5
D:7
25.
以下程序的输出是( )。
#include<stdio.h>
void fun(int *p)
{
int a=10;
p=&a;
++a;
}
void main()
{
int a=5;
fun(&a);
printf("%d\n",a);
}
A:5
B:6
C:10
D:11
26. 以下关于函数的说法中正确的是 ( )。
A:定义函数时,形参类型说明可放在函数体内
B:return语句后边的值不能为表达式
C:如果函数类型与返回值类型不一致,以函数类型为准
D:如果形参与实参的类型不一致,以实参为准
27. 已知有定义:int *p(); 则以下说法正确的是 ( )。
A:指向int型的指针变量
B:int型的指针数组
C:一个函数,该函数的返回值是指向int型的指针变量
D:一个指向函数的指针变量,该函数的返回值为int型
28. 若有如下程序:
void s(char *m,int n)
{
*m=*m+3;n=n+3;
printf("%c,%c,",*m,n);
}
void main()
{
char p=‘b’,q=‘B’;
s(&q,p);
printf("%c,%c\n",p,q);
}则程序运行后的输出结果是 ( )。
A:E,e,b,E
B:e,E,b,F
C:E,e,e,E
D:e,E,b,E
29. C语言规定函数返回值的类型由 ( )。
A:在定义时所指定的函数类型所决定
B:调用该函数时的主调函数类型所决定
C:return语句中的表达式类型所决定
D:调用该函数时系统临时决定
30. 要在c语言中求正弦30度的值,可以调用库函数,可用格式为 ( )。
A:sin(30)
B:sin(30.0)
C:sin((double)30)
D:sin(3.1415/6)
31. 在C语言程序设计中,简单变量作为实参时,它和对应形参之间的数据的传递方式是 ( )。
A:地址传递
B:单向值传递
C:由实参传给形参,再由形参传给实参
D:由用户指定传递方式
32. 以下程序的输出为( )。
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
33. 以下程序输出结果是( )。
#include <stdio.h>
int *fun()
{
int a[4],k;
for(k=0;k<4;k++)a[k]=k;
return(a);
}
void main()
{ int *p,j;
p=NULL;
p=fun();
for(j=0;j<4;j++){printf("%d\n",*p);p++;}
}
A:输出0 0 0 0
B:输出0 1 2 3
C:输出1 1 1 1
D:输出不确定值
34. 以下程序的运行结果是( )。
void fun(int *n)
{
static int m=2;
*n*=m-1; m+=2;
}
void main()
{
static int m=1;
int i;
for(i=1;i<4;i++)
fun(&m);
printf("%d\n",m);
}
A:8
B:10
C:11
D:15
[解决办法]
正确答案是:
C B A A D
C D A C D
A A D B C
D D
[解决办法]
楼主还是答对了大部分题目的。
[解决办法]
自己上机实验室 是最正确的答案!!赵老师说过:要相信cpu,编译器和输出结果!!哈哈
[解决办法]
#include <stdio.h>
main( )
{ int i,j=4;
for(i=j; i<=2*j; i++)
switch (i/j)
{ case 0 :
case 1: printf("*"); break;
case 2: printf("#"); break;
}
}选 D 楼主粗心了
[解决办法]
23题也是 粗心 i=3 i++<=2不满足 i++ 跳出循环 i=4
[解决办法]
27题概念性问题