程序设计试题集
一、 单项选择题
1.1.定义一个具有10个元素的整型数组,应当使用代码是
Aint a[10];    Bint a[2, 5];    Cint a[];    Dint *a[10];
1.2.设int a = 8, b = 7, c = 6, x = 1;执行以下语句后x的值是
  if (a > 6) if (b > 7) if (c > 8) x = 2; else x = 3;
A0    B1    C2    D3
1.3.下列代码中,正确的数组定义是
  int a[ ] = {“string”};  int a[5] = {0, 1, 2, 3, 4, 5};
  char a = {“string”};    char a[ ] = {0, 1, 2, 3, 4, 5};
A.①    B.②    C.③    D.④
1.4.字符串”abc\x43\\\np\102q”的长度是
A9    B12    C13    D17
1.5.执行下列程序后,输出的结果是
#define  M(a, b)  (a) > (b)?(a)+(b):(a)-(b)
void main()
{  int i = 10, j = 15; printf(“%d\n”, 10*M(i, j)); }
A10    B25    C250      D-50
1.6.执行下列程序后,输出的结果是
#define  M(a, b)  (a) > (b)?(a):(b)
void main()
{  int i = 10, j = 5; printf(“%d\n”, M(i, j)*10); }
A10    B5    C100      D150
1.7.计算立方数时,不可能引起二义性的宏定义是
A. #define S(x) x*x*x          B#define S(x) (x)*(x)*(x)
C#define S(x) (x*x*x)        D#define S(x) ((x)*(x) *(x))
1.8.下列代码中,正确的是
A. char a[3][ ] = {‘abc’, ‘1’};      B. char a[ ][3] = {‘abc’, ‘1’};
C. char a[3][ ] = {“ab”, “12”};      D. char a[ ][3] = {“ab”, “12”};
1.9.设char str1[10] = “ABCDE”, str2[10] = “xyzuvw”;
则执行以下语句后的输出结果是
printf(“%d”, strlen(strcpy(str1, str2)));
A12    B11    C8    D6
1.10.以只写方式打开一个二进制文件,应选择的使用方式是
A”a+”    B”w+”    C”rb”      D”wb”
1.11.设int x = 8, y, z; 执行y = z = x--; x = y == z后,变量x的值是
A0  B1  C8  D9
1.12设变量m ,n ,a ,b ,c ,d均为0,执行(m = a==b)||(n=c==d)后,m ,n的值是
  A.  0 0        B.  0 1      C.  1 0          D.  1 1
1.13.设int x[ ] = {2, 6, 5, 7, 9, 15, 12}, *p = x;
则不能正确引用数组元素的表达式是
A*p--  B*(--p)    C*(p++)    D*(++p)
1.14.根据变量定义“static int b[5];”,b[4]的值是。
A1    B0    C2      D.不确定
1.15.int a = 9, b = 8, c = 7, x = 5;执行语句
  if (a > 7) if (b > 8) if (c > 9) x = 3; else x = 4;
x的值是
A1    B5    C3    D4
1.16 下列字符列中,可以作为“字符串常量”的是
  A.  ABC          B.  "ABC"      C.  ´abc´          D.  ´a´
1.17下列数据类型中,不属于构造类型是
  A. 实型          B.数组型          C.结构型          D.联合(共用)型
1.18下面所列常量中,都是C语言整型常量的是。
  A. 0xffff 611  B01b 0xa1  C986.012 0667  D2e4 0x
1.19若有以下变量定义和输入语句,要求a1a2c1c2的值分别为1020AB。是正确的输入方式。
  int a1, a2;  char c1, c2;
  scanf(%d%c%d%c数学数组的定义是什么, &a1, &c1, &a2, &c2)
  A. 10 A 20 B  B10 A 20B    C10A 20 B  D10A 20B
1.20 若变量b的值为3,则执行语句 b += b -= b*b后,变量b的值是(    )。
  A. 3            B0            C-12          D9
1.21 abc均为整型变量,则执行以下语句后,变量abc的值为(  )。
  a = 0;  b = 2; c = 1;  a++ && ++b || ++c
  A132        B032      C122        D022
1.22 将数学公式√|yx + ey| 写成C表达式,正确的是。
A. sqrt(abs(pow(x, y) + exp(y)))   
B. sqrt(abs(pow(y, x) + exp(y)))
C. sqrt(fabs(pow(x, y) + exp(y)))
D. sqrt(fabs(pow(y, x) + exp(y)))
1.23 函数调用时,下列说法中不正确的是
  A. 形参不分配内存                                B实参和形参可以同名
  C主调函数和被调用函数可以不在同一个文件中      D函数可以使用全局变量
1.24 若有变量定义:“int i, j = 7, *p = &i;”,则与“i = j;”等价的代码是
    A.  i = *p;    B *p = *&j;    C i = &j;    D i = **p;
1.25 若希望存储字符串,下列各代码中,正确的是
    A.  char s[5] = {"ABCDE"};  B. char s[5] = {´A´, ´B´, ´C´, ´D´, ´E´};
    C.  char *s; s = "ABCDE";  D. char *s; scanf("%s", s);
1.26 有代码“int a = 3;”,则执行了语句“a += a -= a * a ;”后,变量a的值是
    A.  3          B.  0            C.  9          D. –12
1.27 设有如下定义,则正确的叙述为
    char x[ ] = "abcdefg" y[ ] = {'a',  'b',  'c',  'd',  'e',  'f',  'g'};
  Axy的长度和内容相同      Bxy的长度相同
  Cx的长度大于y的长度        Dx的长度小于y的长度
1.28 a,b为字符型变量,执行scanf("a=%c,b=%c", &a, &b)后使a为',A',,b为',B',,从键盘上的正确输入是
  A. 'A''B'            B'A', 'B'         CA=A,B=B      D a=A,b=B
1.29若有以下的定义,则值为3的表达式是                     
int a[ ] = {1,2,3,4,5,6,7,8,9,10}, *p = a;                         
  Ap+=2*(p++)    Bp+=2, *++p    Cp+=3, *p++      Dp+=2, ++*p
1.30a5,执行下列代码后,b的值不为2的是               
  A. b = a/2          B. b = 6-(--a)    C. b = a%2        D.  b = a < 3 ? 3: 2
二、填空题
2.1.设 int x[ ] = {1, 2, 3, 4}, y, *p = &x[1];则执行语句:  y = (*--p)++;
后变量y的值为▁▁▁▁
2.2.下面函数的功能是寻链表h中最大值,并返回。试给出其中空框中的代码。
struct node {  int val;  struct node *next;};
int traveLink(struct node *h)
{  struct node *p;  int m;
  for(m = h->val, p = h; p != NULL; ▁▁▁▁)
      if(▁▁▁▁) m = p->val
  return m;
}
2.3.下面函数的功能是寻链表h中最小值,并返回。试给出空框中的代码。
struct node {
  int val;
  struct node *next;
};
int traveLink(struct node *h)
{  struct node *p;  int m;

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