程序设计基础(考试题)
读程序,写出程序的执行结果
1.若a是int型变量,且a=5,则下面表达式的值为:____3_______。
(a+100)%2+a/2
2. C语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include <___stdio.h_____________>。
3.若int型变量占内存2个字节,double型变量占内存8个字节,有如下定义:
union data
{  int i;
  double  d;
}a;
则变量a在内存中所占字节数为____8_____。
4.C语言中用于结构化程序设计的三种基本结构是(A )
      A)顺序结构、选择结构、循环结构    B)if、switch、break
      C)for、while、do-while                  D)if、for、continue
5.以下选项中合法的用户标识符是( B)
A)long    B)_2Test  C)3Dmax  D)A.dat
6.以下非法的赋值语句是(C )
A)  n=(i=2,++i)  B) j++;  C) ++(i+1)  D) x=j>0
7.C语言中,基本数据类型包括整型、浮点型和_字符型_________。
8.一个C程序是由____函数_______组成的。
9.在abc、a_1、a1b2、auto四个变量中,不合法的是__auto_______。
10.字符串"ab\\c\n\101"的占用内存的字节数为___6_____。
11.在运算符+、->、*=、&&中,其优先级最低的是__*=______。
12.定义共用体类型使用关键字____union________。
13.C语言中,break语句通常用在___switch_____语句和循环语句中。
14.表达式7*2/5+3.5+'b'值的类型是___double的实数型_______。
15.设有语句int a=5;执行语句printf("%d",++a);后,输出结果为_6________。
16.执行下面程序段后,输出的结果为___****______。
    for(i=1;i<5;i++) printf("*");
17.能将高级语言编写的源程序转换为目标程序的软件是( D)
A)汇编程序    B)编辑程序    C)解释程序    D)编译程序
18.设有定义语句:char str[][20]={"Hello",Beijing"},*p=str; 则printf("%d\n",strlen(p+20));输出
结果是(C )
A)0      B)5    C)7      D)20
19. 若有以下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c>0)
s=a;  for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是( B )
A)s=a+b;    B)s=a+c;    C)s=s+c;    D)s=b+c;
20. 下列运算符优先级最高的是(A )                 
      A)()        B)  +      C)  &&        D)  !=
21.C语言程序总是从源程序文件中的第一个函数开始执行。( 错  )
22.数组名代表数组所占存储区的首地址,其值不可以改变。( 对  )
23.elseif不属于C语言关键字(保留字)( 对  )
24.指针变量可以加减一个整数。(  对  )
25.宏替换不占用运行时间。(对    )
26.C语言中转义字符以"\"开头。(对    )
27.C语言规定,函数返回值的类型是由return语句中的表达式类型决定的。( 错  )
28.如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合语句中有效。( 对  )
29.C语言中的函数既可以递归定义,又可以嵌套定义。printf函数的执行顺序( 错  )
  10.main函数可以有参数。(  对  )
30. 对于int x=12, y=8;  printf (“%d%d%d”, !x, x || y, x&&y); 输出的结果是(A )
      A)0 1 1      B)0 1 0      C)0 0 0    D)1 1 1
31.下程序段:  char  s[20 ]="abcd",  *sp=s; strcat(sp,"ABCD"); puts(sp); 的输出结果是(A )
A) abcdABCD    B) ABCDabcd    C) ABCD    D) abcd
32.下列错误的表达式是(B )
A)-x++    B)(-x)++    C)x+++y    D)++x+y
33.十六进制数100转换为十进制数为(A  )
A)256    B)512    C)1024    D)64
34.C语言中规定,整型常量可以用十进制、八进制和__十六______进制形式来表示。
35.结构化程序设计中的三种基本结构为:顺序结构、___选择结构_____和循环结构。
36.在C语言中,对于负整数,在内存中是以____补__码形式进行存储。
37.在C语言中,若被定义为int类型的变量,在内存中占用_____2__个字节的存储空间。
38.已有定义:int a[5],*p;当执行了p=&a[3];语句时,是将指针变量p指向了a数组的第_4__个元素的地址。
39.若某变量被定义为auto变量的存储单元,则将被分配在内存的______动态_____存储区域。
40.在下列给出的字符数组c,它在内存中所占用的字节数是____11______。
  char c[]={C language};解析字符串后还有默认的\0占一个字符
41.在C语言中,能够实现循环结构的语句有: while语句、if/goto语句、do-while语句以及__for_______语句。
9.若有a=3,b=5; 则求a>b的关系运算结果是_____0_______。
42.若有定义a[10];则允许数组a的下标最小可以是_0_______。
43.若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是(B  )
A)20    B)45     C)100     D)表达式不合法
44.在Visual c++ 中,若对函数类型未加显式说明,则函数的隐含类型是(C )
A)void    B)double  C)int    D)char
45.对于int a[]={1,2,3,4,5,6},p;  p=a;  *(p+3)+=2;则*p,*(p+3)的值是(D )
    A)1    5    B)1    3  C)1    4      D)1    6
46. 若有语句int i=﹣19, j=i%4;printf("%d", j);则输出结果是(B  )
A)3    B)-3    C)4.75    D)0
47. 设有定义  int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是(A )
A)5  11    B)1  9    C)5  9    D)有错误
48.C语言程序的基本单位是( C  )
A. 程序行    B. 语句      C. 函数    D. 字符
49.可用作C语言用户标识符的一组字符串是(  B  )
A. void define WORD          B.a3_b3 _123 IF     
C. For abc Case            D.2a DO sizeof
50.设int a=12,则执行完语句a+=a-=a*a;后a的值是( D  )
A. 552          B. 264            C. 144            D. -264
51.以下叙述正确的是(  D )
A.do-while语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。
52.设有说明int (*ptr)[10] 其中的标识符ptr是( D  )
A. 10个指向整型变量的指针
B. 指向10个整型变量的函数指针
C. 一个指向具有10个整型元素的一维数组的指针
D.具有10个指针元素的一维指针数组,每个元素都只能指向整型量
53.有以下程序段
  typedef struct NODE{
      int num;
      struct NODE *next;
      } OLD;
  则以下叙述中正确的是(  C  )
A.以上的说明形式非法        B. NODE是一个结构体类型
C.OLD是一个结构体类型      D.OLD是一个结构体变量
54.以下不能正确计算代数式值的C语言表达式是( A  )
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)
55.C语言规定,程序中各函数之间( A  )
A.既允许直接递归调用也允许间接递归调用
B.不允许直接递归调用也不允许间接递归调用
C.允许直接递归调用不允许间接递归调用
D.不允许直接递归调用允许间接递归调用
56.在宏定义#define PI  3.14159中,用宏名PI代替一个( D  )
A.单精度数        B.双精度数        C.常量        D.字符串
57.在C语言中,要求运算数必须是整型的运算符是(A  )