C语言3

C语言3
2011年01月17日
  24.有以下程序
  int i,n=0;
  for(i=2;i内存空间
  b. 将p1所指字符串的地址赋给指针p2
  c. 对p1和p2两个指针所指字符串进行比较
  d. 检查p1和p2两个指针所指字符串中是否有'\0'
  【A】
  10. 若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[l]地址的表达式是________。
  A)p+l B)a+l C)a++ D)++p
  【C】
  11. 若有说明语句:int a,b,c, *d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是______。
  A、 scanf("%d%d%d",&a,&b,d); B、 scanf("%d%d%d",&a,&b,&d);
  C、scanf("%d%d%d",a,b,d); D、 scanf("%d%d%d",a , b,*d);
  【A】
  12. 下列程序执行后的输出结果是______。
  void func(int *a, int b[ ])
  { b[0]=*a+6; }
  main()
  { int a, b[5];
  a=0; b[0]=3;
  func(&a, b);
  printf(“%d \n”, b[0]);
  }
  A、 6 B、 7 C、 8 D、 9
  【A】
  13. 设已有定义: char *st="how are you"; 下列程序段中正确的是______。
  A、 char a[11], *p=a; strcpy(p,&st[4]); B、 char a[11]; strcpy(++a, st);
  C、 char a[11]; a=st; D、 char a[], *p; strcpy(p=&a[1],st+2);
  【D】
  1. 下列数据结构中,能用二分法进行查找的是()
  A)顺序存储的有序线性表
  B)线性链表
  C)二叉链表
  D)有序线性链表
  【A】
  2. 数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
  a. 该数组的元素个数
  b. 该数组中各元素的值
  c. 该数组的首地址
  d. 以上答案均不对
  【C】
  3. 若使用一位数组名作函数实参,则以下正确的说法是_____。
  a. 无须在主调函数中说明此数组的大小
  b. 实参数组类型与形参数组类型可以不匹配
  c. 在被调用函数中,不需要考虑形参数组的大小
  d. 实参数组名与形参数组名必须一致
  【C】
  5. 函数调用strcat(strcpy(str1,str2),str3)的功能是_______。
  a. 将串str1复制到串str2中后在连接到串str3之后
  b. 将串str1连接到串str2之后再复制到串str3之后
  c. 将串str2复制到串str1中后再将串str3连接到串str1之后
  d. 将串str2连接到串str1中后再将串str1复制到串str3中
  【C】
  6. 下列描述中不正确的是_______。
  A)字符型数组中可以存放字符串
  B)可以对字符型数组进行整体输入、输出
  C)可以对整型数组进行整体输入、输出
  D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
  【C】
  7. 设char b[10];若从键盘输入字符串“ABCD”,则正确的函数引用是____。
  A、scanf(“%s”,b); B、scanf(“%c”,&b[10]); C、gets(b); D、gets(b[10]);
  【C】
  8. 设有数组定义: char array [ ]="HELLO"; 则数组 array的长度为______。
  A、 4 B、 5 C、 6 D、 7
  【C】
  9. 以下不能正确进行字符串赋初值的语句是______。
  A、char str[5]="good!"; B、 char str[]="good!";
  C、 char *str="good!"; D、 char str[5]={‘g',‘o',‘o',‘d'};
  【A】
  10. 当调用函数时,实参是一个数组名,则向函数传送的是______。
  A、 数组的长度B、数组的首地址C、数组每一个元素的地址D、 数组每个元素中的值
  【B】
  11. 下面正确进行字符串赋值操作的语句是
  A) char s[5]=[“ABCDDE”]; B) char s[4]={‘A’,’B’,’C’,’D’,’E’};
  C) char *s;s=”ABCDEF”; D) char *s; scanf(“%s”,s);
  【C】
  12.有以下程序
  char a[]=”abcdefg”,b[10]=”abcdefg”;
  printf(“%d %d\n”,sizeof(a),sizeof(b));
  执行后输出结果是()
  A)7 7 B)8 8 C)8 10 D)10 10
  【C】
  13.有以下程序
  int f(int b[][4])
  { int i,j,s=0;
  for(j=0;j2) i=3-j;
  s+=b[j];
  }
  return s;
  }
  main( )
  { int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
  printf(“%d\n”,f(a));
  } 执行后的输出结果是()
  A)12 B)11 C)18 D)16
  【D】
  14.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()
  A) char s[10]=”abcdefg”; B) char t[]=”abcdefg”,*s=t;
  C) char s[10];s=”abcdefg”; D) char s[10];strcpy(s,”abcdefg”);
  【D】
  15、有以下程序
  void f(int a[],int i,int j)
  { int t;
  if(i=
  D) ==
  【B】
  5.以下能正确定义且赋初值的语句是()
  A)int n1=n2=10;
  B)char c=32;
  C)float f=f+1.1;
  D)double x=12.3e2.5;
  【B】
  6. 以下不能正确计算代数式 值的C语言表达式是()
  A)1/3*SIN(1/2)*SIN(1/2)
  B)SIN(0.5)*SIN(0.5)/3
  C)POW(SIN(0.5),2)/3
  D)1/3.0*POW(SIN(1.0/2),2)
  【A】
  7. 以下程序的功能是:给R输入数据后计算半径为R的圆面积S,程序在编译时出错
  #include
  void main()
  {
  int r;float s;
  scanf(“%d”,&r);
  s=∏*r*r; printf(“s=%f\n”,s);
  }
  出错的原因是(D)
  A)注释语句书写位置错误
  B)存放圆半径的变量R不应该定义为整型
  C)输出语句中格式描述符非法
  D)计算圆面积的赋值语句中使用了非法变量
  【D】
  8. 设有定义:int k=1,m=2; float f=7;则以下选项中错误的表达式是()
  A) k=k>=k
  B) -k++
  C) k%int(f)
  D) k>=f>=m
  【C】
  9. 设有定义:int a=2,b=3,c=4;则以下选项中值为0的表达式是()
  A)(!a==1)&&(!b==0)
  B)!a||b||c
  C)a&&b
  D)a||(b+b)&&(c=a)
  【A】
  10.
  char p[ ]={‘a’,’b’,’c’},q[ ]=”abc”;
  printf(“%d %d\n”,sizeof(p),sizeof(q));
  以上程序段的输出结果是()
  A)4 4 B)3 3 C)3 4 D)4 3
  【C】
  11.根据程序段判断:
  char a1=’M’,a2=’m’;
  printf(“%c\n”,(a1,a2));
  以下叙述中正确的是()
  A)程序输出大写字母M
  B)程序输出小写字母m
  C)格式说明符不足,编译出错
  D)程序运行时产生出错信息
  【B】
  12.设有如下定义:
  int a=1,b=2,c=3,d=4,m=2,n=2;
  则执行表达式:(m=a>b)&&(n=c>d)后,n的值为
  A)1 B)2 C)3 D)0
  【B】
  13. 有以下程序段
  char c1=’1’,c2=’2’;
  c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);
  当运行时输入:a后,以下叙述中正确的是()
  A)变量c1将被赋字符a,c2被赋回车符
  B)程序将等待用户输入第二个字符
  C)变量c1被赋字符a,c2中仍是原有字符2
  D)变量c1被赋字符a,c2中将无确定值
  【A】
  14. 表达式:10!=9的值是()
  A)true
  B)非零值
  C)0
  D)1
  【D】
  15. 在c语言中,运算对象必须是整型数的运算符是()
  A)%
  B)\
  C)%和\
  D)**
  【A】
  16. 以下语句的输出结果是_____。
  printf("%d\n",NULL);
  A) 不确定的(因变量无定义) B)0 C)-1 D)1
  【B】
  17. 能正确表示a和b同时为正或同时为负的逻辑表达式是________。
  A)(a>=0||b>=0)&&(a=0&&b>=0)&&(a0)&&(a+b0 【D】
  18. 表示关系x>y≥z,则正确的c语言表达式为________。
  A) x>y>=z B) (x>y)&(y>=z)
  C)(y=z) D) (x>y)and(y>=z)
  【C】
  19.有语句scanf(“%d,%d”,&a,&b),要使变量a、b分别得23、45,则正确的输入形式为_______。
  A) 23 45 B) 23,45 C) 23;45 D) 2345
  【B】
  20. 以下能定义为用户标识符的是____。
  A)34 B)e# C) int D) name
  【D】
  21. 下列程序段的运行结果是______。
  int a=2, c=5;
  printf("a=%d, b=%d\n",a, c);
  A) a=%2, b=%5 B) a=2, b=5 C) a=d, b=d D) a=%d, b=%d
  【B】
  22. 英文小写字母c的ASCII码为99, 英文大写字母C的ASCII码为______。
  A) 50 B) 66 C) 52 D) 67
  【D】
  23.以下程序段的输出结果是()
  int a;
  a=(a=5*5,a+20);
  a=a+15 ;
  printf("%d",a);
  A、60 B、40 C、55 D、20
  【A】
  24. 下列叙述中错误的是()
  A)用户所定义的标识符允许作到使用关键字
  B)用户所定义的标识符应尽量作到“见名知意”
  C)用户所定义的标识符必须以字母或下划线开头
  D)用户所定义的标识符中,大小写字母代表不同标识
  【A】
  25. 若int a=3,则执行完表达式a+=a-=a*a后,a的值是
  A) -3 B) 9
  C) -12 D) 6
  【C】
  26.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为
  A)4 B)16 C)32 D)52
  【C】
  27 设有如下的变量定义:
  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)
  【A】
  28 假定有以下变量定义:
  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)
  【D】
  29.以下叙述中正确的是
  A) 输入项可以是一个实型常量,如:scanf(“%f”,3.5);
  B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d,b=%d”);
  C) 当输入一全实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4,2f”,&.f);
  D)当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);
  【D】
  30 设 x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是
  A) 把x和y按从大到小排列 B)把x和y按从小到大排列
  C)无确定结果 D) 交换x和y中的值
  【D】
  31以下程序段的输出结果是
  int a=12,b=12;
  printf(“%d %d\n”,--a,++b);
  A)10 10 B)12 12
  C)11 10 D)11 13
  【D】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值