江苏省计算机2级考试
- 学年 第 学期 c程序设计 试卷( )
题号
一
二
三
四
五
六
七
八
九
总 分
得分
一、选择题(本题共20道小题,共40分。)
1. 表示关系x≤y≤z的c语言表达式为
A) (X<=Y)&&(Y<=Z)
B) (X<=Y)AND(Y<=Z)
C) (X<=Y<=Z)
D) (X<=Y)&(Y<=Z)
2. 以下程序的输出结果是
main( )
{
int a=12,b=12;
printf("%d %d\n",--a,++b);
}
A)10 10 B)12 12 C)11 10 D)11 13
3. 以下的for循环
for(x=0,y=0; (y!=123)&&(x<4); x + + );
A) 是无限循环 B)循环次数不定 C)执行4次 D)执行3次
4. 有以下程序
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));
}
输出结果是
A)gm B)rg C)or D)ga
5. 以下说法中正确的是
A) #define和printf都是C语句 B) #define是C语句,而printf不是
C) printf是C语句,但#define不是 D) #define和printf都不是C语句
6. 下面的程序
main()
{ int x=3;
do {
printf("%d\n",X-=2);
}while(!(--x));}
A) 输出的是1 B) 输出的是1和-2C) 输出的是3和0 D) 是死循环
7. 下面能正确进行字符串赋值操作的语句是
A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'};
C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s);
8. 以下程序的输出结果是
main( )
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2)printf("%d ",p[i]);
}
A) 5 2 B) 5 1 C) 5 3 D) 9 7
9. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
A) a<>0 B) !a
C) a=0 D) a
10. 下面各语句行中,能正确进行赋字符串操作的语句行是
A) char st[4][5]={"ABCDE"};B) char s[5]={'A','B','C','D','E'};
C) char *s; s="ABCDE";D) char *s; scanf("%s",s);
11. 若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是
A) EOF B) -1 C) 非零值 D) NULL
12. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是
A)k=*p1+*p2;
B)p2=k;
C)p1=p2;
D)k=*p1 *(*p2);
13. 下面程序的输出是
main()
{ int a=-1, b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d %d %d\n",k,a,b);}
A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2
14. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是
A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x
15. 设有
static char str[ ]="Beijing";
则执行
printf("%d\n", strlen(strcpy(str,"China")));
后的输出结果为
A) 5 B) 7 C) 12