二级C语言笔试真题

时间:09-30编辑:佚名 招聘笔试题

【23xiu.com-爱上秀-教育信息门户网】

  (21) C语言中最简单的数据类型包括

  A) 整型、实型、逻辑型 B) 整型、实型、字符型

  C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型

  (22) C语言中,运乍对象必须是整型数的运算符是

  A) % B) \ C) %和\ D) * *

  (23) 为表示关系x≥y≥z,应使用C语言表达式

  A) (x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)

  (24) 下述对C语言字符数组的描术中错误的是

  A) 字符数组可以存放字符串

  B) 字符数组中的字符串可以整体输入、输出

  C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

  D) 不可以用关系运算符对字符数组中的字符串进行比较

  (25) 设有如下定义: int x=10,y=3,z; 则语句

  printf("%d\n",z=(x%y,x/y)); 的输出结果是

  A) 1 B) 0 C) 4 D) 3

  (26) 以下程序的输出结果是

  main()

  { int x=10,y=10;

  printf("%d %d\n",x--,--y); }

  A) 10 10 B) 9 9 C) 9 10 D) 10 9

  (27) 定义如下变题和数组:

  int i;

  int x[3][3]={1,2,3,4,5,6,7,8,9};

  则下面语句的输出结果是

  for(i=0;i<3;i++) printf("%d",x[i][2-1]);

  A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9

  (28) 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

  A) a<>0 B) !a C) a=0 D) a

  (29) 阅读程序:

  #include

  main()

  { int a[10]={1,2,3,4,5,6,7,8,9,0},*p;

  p=a;

  printf("%x\n",p);

  printf("%x\n",p+9); }

  该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是

  A) 203 B) 204 C) 1a4 D) 1a6

  (30) 设有如下函数定义:

  int f(char *s)

  { char *p=s;

  while(*p!='\0') p++;

  return(p-s); }

  如果在主程序中用下面的语句调用上述函数,则输出结果为

  printf("%d\n",f("goodbey!"));

  A) 3 B) 6 C) 8 D) 0

  (31) 以下说法中正确的是

  A) C语言程序总是从第一个的函数开始执行

  B) 在C语言程序中,要调用的函数必须在main()函数中定义

  C) C语言程序总是从main()函数开始执行

  D) C语言程序中的main()函数必须放在程序的开始部分

  (32) 执行下面的程序后,a的值为

  main()

  { int a,b;

  for (a=1,b=1;a<=100;a++)

  { if(b>=20) break;

  if(b%3==1) {b+=3; continue; }

  b-=5; } }

  A) 7 B) 8 C) 9 D) 10

  (33) 以下程序段的输出结果是

  int x=3;

  do { printf("%3d",x-=2);} while(!(--x));

  A) 1 B) 3 0 C) 1-2 D) 死循环

  (34) 定义如下变量: int n=10; 则下列循环的输出结果是

  while(n>7)

  { n--;

  printf("%d\n",n); }

  A) 10 B) 9 C) 10 D) 9

  9 8 9 8

  8 7 8 7

  7 6

  (35) 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是

  main( )

  { int x;

  scanf("%d",&x);

  if(x + + >5) printf("%d",x);

  else printf("%d\n",x - -); }

  A) 7和5 B) 6和3 C) 7和4 D) 6和4

  (36) 设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下就法中正确的是

  A) aa数组成元素的值分别是"abcd"和ABCD"

  B) aa是指针变量,它指向含有两个数组元素的字符型一维数组

  C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

  D) aa数组的两个元素中各自存放了字符'a'和'A'的地址

  (37) 以下程序的输出结果是

  main( )

  { int a=-1,b=4,k;

  k=(+ +a〈0)&&!(b - -〈=0);

  printf("%d%d%d\n",k,ab); }

  A) 104 B) 103 C) 003 D) 004

  (38) 设有以下定义:

  int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

  int (*prt)[3]=a,*p=a[0];

  则下列能够正确表示数组元素a[1][2]的表达式是

  A) *((*prt+1) [2]) B) *(*(p+5)) C) (*prt+1)+2 D) *(*(a+1)+2)

  (39) 下列程序的输出结果是

  main( )

  { char*p1,*p2,str[50]="xyz";

  p1="abcd";

  p2="ABCD";

  strcpy(str+2,strcat(p1+2,p2+1);

  printf)"%s",str); }

  A) xyabcAB B) abcABz C) ABabcz D) xycdBCD

  (40) 执行下面的程序后,a的值是

  #define SQR(X) X*X

  main( )

  { int a=10,k=2,m=1;

  a/=SQR(k+m)/SQR(k+m);

  printf("%d\n",a); }

  A) 10 B) 1 C) 9 D) 0

【猜你喜欢】 【为你推荐】