1若定义如下变量和数组: int i;*p
static int a[10] ={1,2,3,4,5,6,7,8,9,10}; p=a;
则执行下面的语句输出结果是【 】。
for(i=3;i<6;i++) printf(“%d”,*(p+i)); A) 3 4 5 6 B) 1 2 3 C) 4 5 6 D)3 6 9 2若定义如下变量和数组: int i;
static int x[3][3]={1,2,3,4,5,6,7,8,9};
则执行下面的语句输出结果是是【 】。 for(i=0;i<3;i++)(printf(“%d”,x[i][i]);
A) 3 5 7 B) 1 4 7 C) 1 5 9 D)3 6 9 3若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10} 则取元素值6的表达式是【 】。 A) *p+6 B) *(p+6) C) *p+=5 D)p+5
4下列选项中,不正确的赋值语句是【 】 A)++j;
B) n1=(n2=(n3=0)); C) k=i==j; D)a=b+c=1
5下面程序运行时的输出结果是【 】 main(){int a=5;
printf(\
A) a=6 B) 8 C) a=5 D) a= 8 6下面程序的循环结束后i的值是【 】 main(){int i;
for(i=0;i<10;i++) ;
printf(\
A) 11 B) 9 C)10 D) 28 7C语句printf(“y=%d”,(9^2*8+3) % 3*4); 运行输出的结果是【 】. A) y=0 B) y=3 C) 8 D)y=8
8判断字符型变量s1的值在?0?到?9?之间, 正确的表达式是【 】 A)(s1>=?0?) & (s1<=?9?) B)(s1>=?0?) and (s1<=?9?) C)(?0?<=s1<=?9?)
D)(s1<=?9?) && (s1>=?0?)
9根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为【 】 main()
{char ch1,ch2,ch3; 输入语句
printf(\输入形式:A B C 输出形式:A B
A) scanf(\B) scanf(\C) scanf(\D) scanf(\
10若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是【 A) scanf(\B) scanf(\C) scanf(\D)scanf(\
1.下面程序输出的结果是【 】。 #include
{ int m,n,o,a=2,b=3;
m=(++a==--b)?-a:++b; n=++a; o=b;
printf(“m=%d,n=%d,o=%d”,m,n,o);} A) m=4,n=4,o=3 B) m=4,n=3,o=4 C) m=3,n=4,o=4 D) m=3,n=4,o=3
2、下面程序输出的结果是【 】。 #include
#define SUB(x,y) (x)*y main()
{ int a=3,b=4;
printf(“%d”, SUB(a++,++b));}
A)12 B)15 C)20 D)16 3.若有下面的定义语句:
static char str[]={“abcd”}, *string; 下面的语句不正确的是【 】 A) string=”123”; B)str=”aaaa”;
C) *(str+2)=?1?; D) string=str;
】4若有宏定义 #define MOD(x,y) x%y 则执行以下语句后的输出为【 】 int z,a=15,b=100; z=MOD(b,a); printf(\A) 11 B) 10 C) 6
D) 宏定义不合法
5在宏定义 #define FUN(a) a*a中,宏展开FUN(a)中的a用一个【 A)赋值语句 B)指针变量 C)字符串 D) 实参值 6若j为整型变量,则以下循环执行次数是【 】 for(j=2;j==0; ) printf(“%d”,j--);
A)无限次 B)0次 C)1次 D)2次 7执行语句for(j=1;j++<4; );后变量j的值是【 】 A)3 B) 4 C)5 D)不定
8若a=2, b=3; 则语句:printf(“%d”,(a=2)&&(b=2));的输出结果是【A)无输出 B)结果不确定 C)0 D)1 9设有如下的变量定义: int i =8,k ,a,b ;
unsigned long w=5; double x=1,42,y=5.2;
则以下符合C语言语法的表达式是【 】 A) a=a+=(b=4)*(a=3) B) x%(-3); C ) a=a*3=2 D) y=float(i) 10假定有以下变量定义: int k=7 ,x=12;
则能使值为3的表达式是【 】
A ) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)- (k%=5)
11设x,y,z,t均为int型变量,则执行以下语句后,t的值为【 】 x=y=z=1; t=x||y&&z;
A)不定值 B)2 C)1 D)0 12下面程序的执行结果是【 】 main( )
{int i, j, m, n; i=8; j=10;
m=++i; n=j++;
printf(“%d, %d, %d, %d”, i, j, m, n,); }
A) 9, 10, 9, 10 B)9, 11, 9, 10 C)9, 11, 9, 11 D)9, 10, 9, 11 13下面程序的执行结果是【 】 main()
】 】代替。 { int a,b;
a=20;b=10; a+=a+b; a-=a-b;
printf(\}
A) 10 B) -10 C) 30 D) 0 14下面程序的执行结果是【 】 main()
{ int x,a=1,b=2,c=0; x=-a||b&&++c; printf(\}
A) 1 B) 0 C) -1 D) 非零值 15设有程序段 int k=10;
while(k=0) k=k-1;
下面描述正确的是【 】 A)While循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 16下面程序的执行结果是【 】 main() {
int x=10;
do {x--;} while( --x); printf(\}
A) 0 B) -1 C) 1 D) 8
17)120.设说明为int a=1; 执行下列switch语句后,b获值为2的是【 】。 A. switch (a) { B. switch (a) { case 1: b=1; case 1: b=1; case 2: b=2; case 2: b=2; break; default: b=3; default:b=3: } } C. switch (a) { D. switch (a) { case 1: b=1;break; case 1: b=1; break; case 2: b=2;break; case 2: b=2; default:b=3;break; default:b=3; } } 18设程序为 int i,j,n; for (i=1;i<=10;i++){ n=0;
for (j=1;j<=10;j++) n=n+j;
} printf(“n=%d\\n”,n); 运行后输出n的值是【 】。 A) 5500 B) 5050 C) 55 D) 5000 19有如下程序 main( ){
char a[10]={“123456789”}; char *p; int i=8; p=a+i; printf(“%s\\n”,p-3); } 运行后的输出结果是【 】。 A) 6 B) 6789 C)?6? D) 789 20以下程序的输出结果是【 】 viod fun (int a,int b,int c) {a=456;b=567;c=678;} main()
{int x=10,y=20,z=30; fun (x,y,z);
printf(“%d,%d,%d\\n”,x,y,z); }
A)30,20,10 B) 10,20,30 C)456,567,678 D) 678,567,456 21以下程序运行后,输出结果是【 】 main()
{char *s=“abcde”; s+=2;
printf(“%s\\n”,s); }
A ) cde B)c C) 字符C的地址 D) 出错 22设有以下宏定义: #define N 3
#define Y(n) ((N+1)*n)
则执行以下语句后,z的值为【 】 z=2*(N+Y(5+1)); 等价于
z=2*(N+(N+1)*5+1);
N=3带入A) 出错 B)42 C) 48 D) 54 23以下程序执行输出结果是【 】 main()
{int a,,b,k=3,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+6;
printf(“%d,%d\\n”,a,b);}
A)0,6.5 B)1,6 C)0,6 D) 6,6.5 24下面程序的输出是【 】