C程序1

C程序1
2011年12月15日
  一、正误 共10题
  第1题
  char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
  答案:N
  第2题
  C语言的当型循环是先执行循环后判断条件.
  答案:N
  第3题
  C语言中的整型常量有3种表示方法.
  答案:Y
  第4题
  表达式1/4+2.75的值是3.
  答案:N
  第5题
  C语言中只能逐个引用数组元素而不能一次引用整个数组。
  答案:Y
  第6题
  静态变量和外部变量都是全局变量,它们的存储是静态的.
  答案:N
  第7题
  若有int i=10,j=2; 则执行完i*=j+8;后i的值为28.
  答案:N
  第8题
  char a[]={'a','b','c'};char b[]={"abc"};数组a和数组b占用的内存空间大小不一样.
  答案:Y
  第9题
  "++"运算符的优先级比"+"运算符的优先低.
  答案:N
  第10题
  unsigned 和void 在C中都是保留字.
  答案:Y
  二、单项选择 共30题
  第1题
  若char a[10];已正确定义,以下语句中不能从键盘上给a数组的
  所有元素输入值的语句是().
  A:gets(a);
  B:scanf("%s",a);
  C:for(i=0;ic)b=a;a=c;c=b;则c的值为()。
  A:1
  B:2
  C:3
  D:不一定
  答案:B
  第7题
  以下程序段 char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]);
  的输出结果是()。
  A:A
  B:B
  C:D
  D:DEF
  答案:D
  第8题
  在C语言中,char型数据在内存中的存储形式是()。
  A:补码
  B:反码
  C:原码
  D:ASCII码
  答案:D
  第9题
  以下不符合C语言语法的赋值语句是()。
  A:a=1,b=2
  B:++j;
  C:a=b=5;
  D:y=(a=3,6*5);
  答案:A
  第10题
  若使用一维数组名作函数实参,则以下正确的说法是().
  A:必须在主调函数中说明此数组的大小
  B:实参数组类型与形参数组类型可以不匹配
  C:在被调用函数中,不需要考虑形参数组的大小
  D:实参数组名与形参数组名必须一致
  答案:A
  第11题
  下列程序的输出结果是()。
  main()
  {int a=7,b=5;
  printf("%d\n",b=b/a);
  }
  A:0
  B:5
  C:1
  D:不确定值
  答案:A
  第12题
  经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是().
  A:p=p+2;
  B:p=a[5];
  C:p=a[2]+2;
  D:p=&(j+2);
  答案:A
  第13题
  下列字符序列中,不可用作C语言标识符的是()。
  A:b70
  B:#ab
  C:symbol
  D:a_1
  答案:B
  第14题
  以下不是无限循环的语句为().
  A:for(y=0,x=1;x>++y;x=i++) i=x;
  B:for(;;x++=i);
  C:while(1){x++;}
  D:for(i=10;;i--) sum+=i;
  答案:A
  第15题
  若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),
  则以下程序段的执行结果是()。
  ch='a'; k=12; printf("%x,%o,",ch,ch,k); printf("k=%%d\n",k);
  A:因变量类型与格式描述符的类型不匹配,输出无定值
  B:输出项与格式描述符个数不符,输出为零值或不定值
  C:61,141,k=%d
  D:61,141,k=%12
  答案:C
  第16题
  在位运算中,操作数每右移一位,其结果相当于()。
  A:操作数乘以2
  B:操作数除以2
  C:操作数乘以16
  D:操作数除以16
  答案:B
  第17题
  若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5
  的语句为()。
  A:printf("%d",*(a+5));
  B:printf("%d",p[5]);
  C:printf("%d",*(p+5));
  D:printf("%d",*p[5]);
  答案:D
  第18题
  以下标识符中,不能作为合法的C用户定义标识符的是()。
  A:a3_b3
  B:void
  C:_123
  D:IF
  答案:B
  第19题
  C语言程序中,当调用函数时().
  A:实参和虚参各占一个独立的存储单元
  B:实参和虚参可以共用存储单元
  C:可以由用户指定是否共用存储单元
  D:计算机系统自动确定是否共用存储单元
  答案:A
  第20题
  已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。
  char a='a'; a--;
  printf("%d,%c\n",a+'2'-'0',a+'3'-'0');
  A:b,c
  B:a--运算不合法,故有语法错
  C:98,c
  D:格式描述和输出项不匹配,输出无定值
  答案:C
  第21题
  下列程序段的输出结果为().
  int a=7,b=9,t;
  t=a*=a>b?a:b;
  printf("%d",t);
  A:7
  B:9
  C:63
  D:49
  答案:C
  第22题
  设 char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数
  是()。
  A:9
  B:5
  C:6
  D:7
  答案:C
  第23题
  为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:
  else子句总是与()配对。
  A:缩排位置相同的if
  B:其之前最近的if
  C:其之后最近的if
  D:同一行上的if
  答案:B
  第24题
  下列数据中,为字符串常量的是()。
  A:A
  B:"house"
  C:How do you do.
  D:$abc
  答案:B
  第25题
  设C语言中,int类型数据占4个字节,则short类型数据占().
  A:1个字节
  B:2个字节
  C:4个字节
  D:8个字节
  答案:B
  第26题
  下列运算符中优先级最高的是()。
  A:0||E不能作为合法的C用户定义标识符的是().
  A:putchar
  B:_double
  C:_123
  D:INT
  答案:A
  第30题
  设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的
  数据类型为()。
  A:int
  B:float
  C:double
  D:不确定
  答案:C
  三、程序填空 共2题
  第1题
  /*-------------------------------------------------------
  【程序填空】
  ---------------------------------------------------------
  题目:从键盘上输入两个复数的实部与虚部,求出并输出它们的
  和、差、积、商。
  -------------------------------------------------------*/
  #include
  void main()
  {float a,b,c,d,e,f;
  printf("输入第一个复数的实部与虚部:");
  scanf("%f, %f",&a,&b);
  printf("输入第二个复数的实部与虚部:");
  scanf("%f, %f",&c,&d);
  /***********SPACE***********/
  【?】;
  f=b+d;
  printf("相加后复数:实部:%f,虚部:%f\n",e,f);
  e=a*c-b*d;
  /***********SPACE***********/
  【?】;
  printf("相乘后复数:实部:%f,虚部:%f\n",e,f);
  e=(a*c+b*d)/(c*c+d*d);
  /***********SPACE***********/
  【?】;
  printf("相除后复数:实部:%f,虚部:%f\n",e,f);
  }
  答案:
  =======(答案1)=======
  e=a+c
  =========或=========
  e=c+a
  =======(答案2)=======
  f=a*d+b*c
  =========或=========
  f= a*d + b*c
  =========或=========
  f= a * d + b * c
  =======(答案3)=======
  f=(b*c-a*d)/(c*c+d*d)
  =========或=========
  f=(b*c-a*d) / (c*c+d*d)
  =========或=========
  f=( b * c - a * d ) / ( c * c + d * d )
  第2题
  /*-------------------------------------------------------
  【程序填空】
  ---------------------------------------------------------
  题目:输出100到1000之间的各位数字之和能被15整除的所有数,
  输出时每10个一行。
  -------------------------------------------------------*/
  main()
  {
  int m,n,k,i=0;
  for(m=100;m0)
  =========或=========
  while(0
  #include
  #include
  void fun (char *s, char *t)
  {
  /**********FOUND**********/
  int i;
  sl = strlen(s);
  for (i=0; iRead File Error");
  }
  OUT=fopen("out.dat","w");
  if(OUT==NULL)
  {printf("Write File Error");
  }
  fscanf(IN,"%s",i);
  copy(i,o);
  fprintf(OUT,"%s\n",o);
  fclose(IN);
  fclose(OUT);
  }
  答案:----------------------
  int i;
  for(i=0;str1!='\0';i++)
  str2=str1;
  str2='\0';
  ----------------------
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值