C复习题 C
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.单选题
(1) 以下有4组用户标识符,其中合法的一组是
A) for B) 4d C) f2_G3 D) WO-RD
(2) 以下选项中合法的字符常量是
A)"B" B) '\010' C) 68 D) D
(3) 假定x和y为double型,x=2, 则表达式y=x+3/2的值是
A) 3.500000 B) 3 C) 2.000000 D) 3.000000
(4) 设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y);
A) 10,3 B) 9,3 C) 9,2 D)10,2
(5) 以下程序的输出结果是
main( )
{ int a=3;
printf("%d\n",(a+=a - =a*a) );
}
A) -6 B)12 C) 0 D) -12
(6) 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为
A) 0 B) 1 C)2 D) 3
(7) 阅读以下程序:
main( )
{
int x;
scanf("%d",&x);
if(x--<5) printf("%d",x);
else printf("%d",x++);
}
程序运行后,如果从键盘上输入5,则输出结果是
A)3 B) 4 C) 5 D) 6
(8) t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ ……}
则以下叙述中正确的是
A) 循环控制表达式的值为0 B) 循环控制表达式的值为1
C) 循环控制表达式不合法D) 以上说法都不对
(9) 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A) 地址传递B) 单向值传递
C) 双向值传递D) 传递方式由用户指定
(10) 以下函数值的类型是
fun ( float x )
{
float y;
y= 3*x-4;
return y;
}
A) int B) 不确定C) void D) float
(11) 以下程序的输出结果是
main( )
{
char c='z';
printf("%c",c-25);
}
A) a B) Z C) z-25 D) y
(12) 若有说明:int i, j=2,*p=&j;,则能完成i=j赋值功能的语句是
A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;
(13) 以下定义语句中,错误的是
A) int a[ ]={1,2}; B) char * a[3];
C) char s[10]="test"; D) int n=5, a[n];
(14) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是
A) 3 B) 6 C) 10 D) 20
(15) 以下程序的输出结果是
main( )
{
int i, a[10];
for( i=9; i>=0; i- -) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A) 258 B) 741 C) 852 D) 369
(16) 以下数组定义中不正确的是
A) int a[2][3];
B) int b[ ][3]={0,1,2,3};
C) int c[100][100]={0};
D) int d[3][ ]={{1,2},{1,2,3},{1,2,3,4}};
(17) 以下程序的输出结果是
main( )
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0] );
}
A) 0650 B) 1470 C) 5430 D) 输出值不定
(18) 以下程序的输出结果是
main( )
{
char st[20]= "hello\0\thg";
printf(%d %d \n",strlen(st), sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
(19) 以下选项中,不能正确赋值的是
A) char s1[10]; s1="Ctest";
B) char s2[ ]={'C', 't', 'e', 's', 't'};
C) char s3[20]="Ctest";
D) char *s4="Ctest\n"
(20) 以下程序的输出结果是
struct HAR
{ int x, y; struct HAR *p; } h[2];
main( )
{
h[0].x=1; h[0].y=2;
h[1].x=3; h[1].y=4;
h[0].p=&h[1]; h[1].p=h;
printf("%d %d \n", h[0].p->x, h[1].p->y);
}
A) 1 2 B) 2 3 C) 1 4 D) 3 2
(21) 以下程序的输出结果是
main( )
{
int a, b;
for(a=1, b=1; a<=100; a++)
{
if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf("%d\n",a);
}
A) 101 B) 6 C) 5 D) 4