C语言复习

一、单项选择题
  1. 运算符___________的优先级最高。
  A.[ ] B. += C. : D.++
  2.main( )
  { int n;( n=64,n+6),n2;
  printf(“n=%d\n”,n);}
  此程序的输出结果是______________.
  A.30 B. 24 C. 60 D. 48
  3.若有如下定义,则__________是对数组元素的正确的引用。。
  int a[10] ,*p ; p=a ;
  A. *&a[10] B. a[11] C. (p+11) D. p p p
  4.设整型变量n的值为2,执行语句“n+=n-=n
n;”后,n的值是__________
  A. 0 B. 4 C. - 4 D. 2
  5.各种基本数据类型的存贮空间正确的长度排列为__________.
  A.Char<long<int<float<double B.Double<float<long<int<char
  C.Char<int<long<float<double D.Float<int<long<char<double
  6.下面的变量说明中_____________是正确的。
  A.char:a,b,c; B.char a; b; c;
  C.char a, b, c; D.char a, b, c
  7.表达式y=(13>12?15:6>7?8:9)的值为____________ .
  A 9 B 8 C 15 D. 1
  8.若x=5,y=3 则y
=x+5; y的值为_______________.
  A. 10 B. 20 C. 15 D. 30
  9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________.
  A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0)
  C.(a+b>0) &&(a+b<=0) D. a
b>0
  10.C语言中,合法的字符型常数是_________.
  A.‘A’ B.“A” C. 65 D. A
  11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________.
  A.6 B.0 C.2 D.1
  12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______.
  A.‘a’<=c<=‘z’ B. (c>=‘a’) || (c<=‘z’)
  C.(‘a’<=c) and (‘z’>=c) D. (c>=‘a’) && (c<=‘z’)
  13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______.
  A.printf(“x=%d\n”,x) B.printf(“x=%ld\n”,x)
  C.printf(“x=%8dl\n”,x) C.printf(“x=%D\n”,x);
  14.从循环体内某一层跳出,继续执行循环外的语句是:___________
  A. break语句 B.return语句 C.continue语句 D.空语句。
  15.C语言用_______表示逻辑“真”值。
  A.true B.t或y C.非零整型值 D.整型值0
  16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。
  A.缩排位置相同的if B.在其之前未配对的if
  C.在其之前未配对的最近的if D.同一行上的if
  17.在函数中默认存储类型说明符的变量应该是________存储类型。
  A.内部静态 B. 外部 C.自动 D. 寄存器
  18.C语言中以只读方式打开一个文件应选择_______________参数。
  A.“r” B.“w” C.“rb” D.“a”
  19.设有数组定义:char array[]=“student”;则数组所占的存贮空间为__________.
  A.6个字节 B. 7个字节 C. 8个字节 D. 9个字节
  20.根据C语言的语法规则,下列________个是不合法标识符。
  A.do B. Name C. R5 D. exam
  二、判断题
  1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )
  2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )
  3.在 C 程序中 ,APH 和 aph 代表不同的变量。( )
  4.表达式 0195 是一个八进制整数。( )
  5.Continue语句的作用是结束本次循环。( )
  6.Extern变量的生命期是整个程序执行期。 ( )
  7.C语言中字符串的结束符是‘\0’。 ( )
  8.利用fclose函数关闭已打开的文件。 ( )。
  9.C程序总是从main( ) 函数的第一条语句开始执行的。 ( )
  10.数组名代表数组的首地址。( )
  三、填空
  1.C语言的预处理语句以__________开头。
  2.表达式7+10>2 && 25 %5的结果是
______________________.
  3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
  Int n=0, ch; Ch=getchar( );
  While( __________________ )
  { if ( ________________ ) n++; c=getchar( );}
  4.C语言中getchar() 函数的功能是__________.
  5.int p 的含义是_____________________.
  6.定义fp为文件型指针变量的定义方法为___________.
  7.数组 int a[3][3];共定义了____________个数组元素。
  四、读程序。
  1. 改正下列程序中不正确的语句。
  main( )
  { int a;
  scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }
  2.写出下列程序的运行结果。
  fun(int a, int b)
  { if(a>b) return (a);
  Else return (b); }
  main()
  { int x=3,y=8,z=6,r;
  r=fun(fun(x,y),2
z); printf(“%d\n”,r); }
  3. 改正下列程序中不正确的语句。
  main()
  { int n ;
  float s=1.0;
  for(n=10;n>1;n- -)
  s=s+1/n;
  printf(“%6.1f\n”,s); }
  4. 写出下列程序的运行结果。
  main()
  { int n;
  For(n=3; n<=10; n++)
  { if(n%6= =0) break; Printf(“%d”,n); } }
  5.写出下列程序的运行结果。
  #include “stdio.h”
  Main()
  { int a[]={1,2,3,-4,5};
  int m,n,p; p=&a[0]; m=(p+1); n=
(p+4);
  printf(“%d %d %d ”,*p,m,n); }
  五、编程
  1.编程计算下列表达式:s=n!(n从键盘上输入)
  2.输出1—100之间不能被12整除的数。
  3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。
  4.从键盘上输入9个数,按3行3列的格式输出。
  5.编程将文件read.txt中的字符读出显示到屏幕上。
参考答案:
  一、单项选择题
  1 A 2B 3D 4C 5C 6C 7C 8D 9D 10A 11D 12D 13B 14A 15C 16C 17A 18A 19C 20A
  二、判断题
  1√ 2Ⅹ 3√ 4Ⅹ 5√ 6√ 7√ 8√ 9√ 10√
  三、填空
  1 #号
  2 0
  3 ch!=‘\n’ ch>=‘0’ && ch<=‘9’
  4 从键盘上输入一个字符。
  5 指针变量p为整型
  6 FILE fp
  7 9
  四、读出程序
  1 printf(“%d,”,&a); if (a==1)
  2 12
  3 s=s+1.0/n
  4. 3 4 5
  5 1 2 5
  五、编程序
  1.
  #include “stdio.h”
  main()
  { long t=1;
  int i;
  for(i=1;i<=10;i++)
  t=t
i;
  printf(“%ld”,t); }
  2
  #include “stdio.h”
  main()
  { int i;
  for(i=1;i<=100;i++)
  { if(i%12==0)
  continue;
  printf(“%d ”,i);
  }
  3.
  #include “stdio.h”
  main()
  { int i,j,a[10];
  for(i=1;i<=10;i++)
  scanf(“%d”,&a[i]);
  for(i=0;i<9=;i++)
  for(j=9;j>i;j——)
  if(a[j-1]<a[j])
  { t=a[j-1];
  a[j-1]=a[j];
  a[j]=t; }
  for(i=0;i<10;i++)
  printf(“%d”,a[i]);
  }
  4.
  #include “stdio.h”
  main()
  { int a[3][3],i,j,s=0;
  for(i=0;i<3;i++)
  for(j=0;j<3;j++)
  scanf(“%d”,&a[i][j]);
  for(i=0;i<3;i++)
  { for(j=0;j<3;j++)
  printf(“%d ”,a[i][j] );
  printf(“\n”);
  }
  }
  5.
  #include “stdio.h”
  main()
  { int c;
  FILE *fp;
  fp=open(“read.txt”,“r”);
  c=fgetc(fp);
  while(c!=‘\n’)
  { putchar(c);
  c=fgetcr(fp);
  } }
  fclose(); }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值