C语言测试题   
一、单项选择题(共30分,每题1分)
1. 下列不正确的转义字符是A.\\    B.\‘  C.074  D.\02. 不是C语言提供的合法关键字是A.switch  B.cher  C.case    D.default
3.正确的标识符是(    )A.?a  B.a=2  C.a.3  D.a_3
 4.下列字符中属于键盘符号的A.\  B.\n  C.\t  D.\b
.下列数据中属于“字符串常量”的A.ABC  B.“ABC”  C.‘ABC’  D.‘A’6.char型常量在内存中存放的是
A.ASCII码  B.BCD码  C.内码值  D.十进制代码值
  7.设a为5,执行下列语句后,b的值不为2的是(  )
  A.b=a/2    B.b=6-(——a)  C.b=a%2  D.b=a>3?2:2
  8.在以下一组运算符中,优先级最高的运算符是(  )
  A.<=  B.=    C.%    D.&&
9.设整型变量i的值为3,则计算表达式i——i后表达式的值是()
 A.0  B.1    C.  2  D.表达式出错
  10.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是(  )
  A.6    B.9    C.8  D.表达式出错
  11.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(  )
  A.1    B.2    C.2.0    D.2.5
12.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果是(  )
  A.4  B.3  C.2  D.1
  13.设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是()
  A.10<a<15      B.a= =11 || a= =12 || a= =13 || a= =14
  C.a>10&&a<15  D.!(a<=10)&&!(a>=15)
  14.若有以下定义:char a、 int b 、 float c 、 double d,则表达式a*b+d-c值的类型为()A.float  B.int  C.char  D.double
  15.表达式“10!=9”的值是(  )
  A.true  B.非零值  C.0    D.1
  16.循环语句 for (x=0,y=0; (y!=123)|| (x<4);x++);的循环执行(  )
  A.无限次  B.不确定次  C.4次  D.3次
  17.在C语言中,下列说法中正确的是(    )
  A. 不能使用“do while”的循环
  B.“do while”的循环必须使用break语句退出循环
  C.“do while”的循环中,当条件为非0时将结束循环
大一期末c语言必考知识点  D.“do while”的循环中,当条件为0时将结束循环。
  18.设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)后使a为‘A’,b为‘B’,从键盘上的正确输入是(  )
A.‘A’ ‘B’    B.‘A’,‘B’    C.A=A,B=B    D.a=A,b=B
  19.设i,j,k均为int型变量,执行完下面的for循环后,k的值为(  )
  for (i=0,j=10;i<=j;i++,j——)k=i+j;
  A.10    B.9    C.8  D.7
  20.设有定义:char s[12]={“string”};则printf (“%d\n”,strlen(s));的输出是(  )
  A.6    B.7  C.11    D.12
  21.合法的数组定义是()
  A.int a[]={“string”};  B.int a[5]={0,1,2,3,4,5};
  C.char a={“string”};  D.char a[]={0,1,2,3,4,5}
  22.函数调用strcat(strcpy(str1,str2),str3)的功能是()
  A. 将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后
  B. 将字符串str1复制到字符串str2中后再连接到字符串str3之后
  C. 将字符串str1复制到字符串str2中后再复制到字符串str3之后
  D. 将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中
23.设有如下定义,则正确的叙述为(  )
  char    x[]={“abcdefg”};
  char    y[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};
  A.数组x和数组y等价           
  B.数组x和数组y的长度相同
  C.数组x的长度大于数组y的长度 
  D.数组x的长度小于数组y的长度
  24.设有单精度变量f,其值为13.8.执行语句“n=((int)f)%3;”后,n的值是()
  A.4    B.1    C.4.333333    D.4.6
  25.执行语句“f=(3.0,4.0,5.0),(2.0,1.0,0.0);”后,单精度变量f的值是(  )
  A.3.0    B.5.0    C.2.0    D.0.0
  26.设a、b均为整型变量,下列表达式中不是赋值表达式的是(  )
  A.a=3,4,5    B.a=3*2    C.a=a&&b    D.a=b=4
  27.表达式“1?(0?3:2): (10?1:0)”的值为(  )
  A.3    B.2    C.1  D.0
28.sizeof(double)的结果值是(    )A.8    B.4    C.2  D.出错
29.指出下面正确的输入语句是(    )
  A.scanf (“a=b=%d”,&a,&b);    B.scanf(“a=%d,b=%f”,&m,&f);
  C.scanf(“%3c”,c);              D.scanf(“%5.2f,&f);
  30.若有以下定义和语句,且0<=i<5,则(    )是对数组元素地址的正确表示
  int a[]={1,2,3,4,5},*p,i;
  p=a;
  A.&(a+i)    B.&p    C.a++      D.&p[i]
二、填空(20分,每空1分)1.在内存中存储“A”要占用(    )个字节,存储‘A’要占用(    )字节。
2.符号常量的定义方法是(      )。
  3.能表述“20<x<30或x<-100”的C语言表达式是(    )。
  4.结构化程序设计方法规定程序或程序段的结构有三种:顺序结构、(    )和(      )。
  5.C语言共提供了三种用于实现循环结构的流程控制语句,它们是(    )、(  )和(    )。
  6.若在程序中用到“putchar”,应在程序开头写上包含命令(      ),若在程序中用到“strlen()”函数时,应在程序开头写上包含命令(      )。
  7.设有定义语句“static int a[3][4]={{1},{2},{3}}”,则a[1][1]值为(      ),a[2][1]的值为(      )。
  8.“*”称为(      )运算符,“&”称为(    )运算符。
  9.赋值表达式和赋值语句的区别在于有无(      )号。
  10.用{}把一些语句括起来称为(      )语句
  11.设a=12、b=24、c=36,对于“scanf (”a=%d,b=%d,c=%d“,&a,&b,&c);”,输入形式应为(    )
  12.表达式“sqrt(s*(s-a)*(s-b)*(s-c));”对应的数学式子为(    )
  13.C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以(    )代表“真”

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。