湖北科技学院2013学年春季学期2012级非计算机本科专业
《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)
一.选择题:每小题1分,共40分
1.C语言规定,必须用(  )作为主函数名。
A)  Function    B)  include    C)  main        D)  stdio
2.下列说法正确的是(  )
A)  在执行C程序时不是从main    函数开始的
B)  C程序书写格式严格限制,一行内必须写一个语句
C)  C程序书写格式自由,一个语句可以分写在多行上
D)  C程序书写格式严格限制,一行内必须写一个语句,并要有行号
3.下列字符串是用户标识符的是(  )
A)  _HJ        B)  9_student        C)  long        D)  float
4.下列数合法的整型常量(  )。
A)  3E2        B)  029      C)  -32768         D6e+007
5语句int k,i=3;k=(i++)+(i++)+(i++);执行过后ki的值分别为(  )
A)  9,6        B)  12,5    C)  18,6        D)  15,5
610+’a’+1.5-567.345/’b’的结果是(  )型数据。
A)  long        B)  double        C)  int        D)  unsigned float
7在C 语言中,下列类型属于构造类型的是(    )
A) 整型        B) 指针类型        C) 实型        D) 结构体类型
8在C语言中,退格符是(  )
A)  \n        B)  \t            C)  \v        D)  \b
9下列符号中,可以作为变量名的是 (    )
A)  +c        B)  *X          C)  _DAY    D)  next-day
10.以下程序的输出结果是(  )
void main()
float型{ unsigned  char a=2,b=4,c=5,d;
    d=a|b; d&=c;
printf("%d\n",d); }
A)  3        B)  4          C)  5            D)  6
11.若已知a=5,b=10,则表达式a==b的值为(  )
A)  10        B)  20        C)  1            D)  0
12.已有定义 int a=-2; 和输出语句 printf( %8x, a );,以下正确的叙述是(  )
A) 整型变量的输出形式只有%d一种
B) %x是格式控制符的一种,它可以适用于任何一种类型的数据
C) %x是格式控制符的一种,其变量的值按十六进制输出,但%8x是错误的
D) %8x不是错误的格式控制符,其中数字8规定了输出数据的宽度
13. 在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个(  )
A)  函数      B)  文件        C)  变量          D)  子程序
14.语句
int  x=10, y=20, z=30;
  if (x>y) z=x; x=y; y=z; 执行后x、y、z的值是(  )
A)  x=10,y=20,z=30    B)  x=20,y=30,z=30 
C)  x=20,y=30,z=10    D)  x=20,y=30,z=20
15.在C的if语句中,可用作条件的表达式是(  )
A)  关系表达式    B)  逻辑表达式    C)  算术表达式  D)  任意表达式
16.以下for循环是(  )
for(a=0,b=0;( b!=123)&&(a<=4);a++ )
A)  无限循环      B)  循环次数不定  C)  执行4次    D)  执行5次
17.以下程序段(  )
x= -1;  do { x=x * x; } while( !x );
A)  是死循环      B)  循环执行二次  C)  循环执行一次  D)  有语法错误
18.程序段如下
int k=0; while( k++<=2 ) printf ( "%d\n", k );
则执行结果是(  )
A)  1          B)  2            C)  0          D)无结果
  2              3                1
  3              4                2
19.以下能正确计算1×2×3×…×10的程序段是(  )
A)  do {i=1;s=1; s=s*i;  i++; }  while(i<=10);
B)  do {i=1;s=0; s=s*i;  i++; }  while(i<=10);
C)  i=1; s=1; do {s=s*i;  i++; }  while(i<=10);
D)  i=1; s=0; do {s=s*i;  i++; }  while(i<=10);
20.若有定义:int a[10]; ,则数组a元素的正确引用是(    )
Aa [10]      B)  [3.5]        Ca(5)      Da [10-10]
21.设有char str[10],下列语句正确的是(  )
A)  scanf("%s",&str);  B)  printf("%c",str);  C)  printf("%s",str[0]);  D)  printf("%s",str);
22.若有如下定义:  int  a[3][3]={ {1,2,9},{3,4,8},{5,6,7} }, i , s=0 ; 则下列语句的输出结果是(  )
for ( i=0; i<3; i++)  s+=a[ i ] [ i ]+a[ i ][ 3-i-1 ]; printf( “%d\n”,s );
A)  30        B)  18  C)  10      D)  12
23. 判断字符串s1是否大于字符串s2,应当使用(    )。
A)  if (s1>s2)                    B)  if (strcmp(s1,s2))   
C)  if (strcmp(s2,s1)>0)            D)  if (strcmp(s1,s2)>0)
24.若用数组名作为函数调用的实参,传递给形参的是(  )。
A)  数组的首地址        B)  数组第一个元素的值
C)  数组中全部元素的值    D)  数组元素的个数
25.有如下函数调用语句
func ( rec1,rec2+rec3,( rec4,rec5 )); 该函数调用语句中,含有的实参个数是(  )。
    A) 3     B) 4     C) 5     D)   2
26.在一个源文件中定义的外部变量的作用域为 (  )。
A)  本文件的全部范围      B)  本程序的全部范围
C)  本函数的全部范围      D)  从定义该变量的位置开始至本文件结束
27以下函数值的类型是(  )。
fun ( float x )
{ float y;
y= 3*x-4;
return y; }
A int     B)  不确定      C)   void     D)   float
28C语言中函数返回值的类型由(  )决定
A)  return语句中表达式类型    B) 调用函数的主调函数类型   
C)  调用函数时的临时类型    D)  定义函数时所指定的函数类型
29. 以下程序的输出结果是(  )。
# define  A  3
# define  B(a)  ((A+1)*a)
main( )
{ int  x;    x=3*(A+B(7));  printf ( “x=%4d\n”, x ); }
  A) 93     B) 135     C) 54     D)   251
30. 下面程序的输出结果是:(  )。
int  m=13;
int  fun( int x,  int  y )
{ int m=3;
        return( x*y-m); }
main( )
{int a=7,b=5;
  printf(“%d\n”, fun(a,b)/m); }
A)  1        B)  2      C)  7        D)  10
31.若有以下定义和语句,则输出结果是(    )。
int  **pp, *p, a=10,b=20;
pp=&p; p=&a; p=&b; printf( "%d,%d\n",*p, **pp );
A)  10,20        B)  10,10      C)  20,10      D)  20,20
32.下面程序段的运行结果是(  )。
char  str[ ]=“ABC”, *p= str ;
printf ( “%c\n”,*(p+1) );
A) 66    B) B    C)  字符‘B’的地址  D)  字符”BC
33.以下程序的输出结果是(    )。
        #include <stdio.h>
        void main(void)
        { char a[ ] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }, *p = a+5;
printf ( “%d”, *--p ); }
A)  非法    B)  a[4]的地址    C)  3    D)  5
34.若有以下定义:int a[10],*p=a; 则﹡(p+5)表示(    )。
A)元素a[5]的地址    B)元素a[5]的值 
C)元素a[6]的地址    D)元素a[6]的值
35.在说明一个结构体变量时系统分配给它的存储空间是(  )。
A) 该结构体中第一个成员所需存储空间

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