首页 手机
当前位置: 好大学 > 试卷库 > 计算机类 > 等级考试 > 计算机二级 > C语言程序设计 >c语言程序设计试题(二)

c语言程序设计试题(二)

卷面总分:90分 答题时间:60分钟 试卷题量:30题 练习次数:0次

一、单选题 (共29题,共87分)
1.

设 x、y 和 z 是 int 型变量,且 x=3,y=4,z=5,则下面表达式中值为0是

  • A. ’x’&& ’y’
  • B. x<=y
  • C. x||y+z&&y-z
  • D. !((x <y)&&!z ||1)
纠错 标记
2.

判断 char型变量 cl 是否为小写字母的正确表达式为

  • A. ’a’<=c1<=f’z’
  • B. (c1>=a)&&(c1 <=z)
  • C. (‘a’>=c1) (‘z’<=c1)
  • D. (c1>=’a’)&&(c1 <=’z’)
纠错 标记
3.

字符串 "a"在内存中占据的字节个数为

  • A. 0
  • B. 1
  • C. 2
  • D. 3
纠错 标记
4.

下面有关 for 循环的正确描述是

  • A. for 循环只能用于循环次数已经确定的情况
  • B. for 循环是先执行循环体语句,后判定表达式
  • C. 在 for 循环中,不能用 break语句跳出循环体
  • D. for 循环体语句中,可以包含多条语句,但要用花括号括起来
纠错 标记
5.

下面程序的运行结果是

  • A. 1
  • B. 1 2
  • C. 1 2 3
  • D. 1 2 3 4
纠错 标记
6.

以下四个选项中描述正确的是

  • A. 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内 不能使用复合语句。
  • B. do-while 循环由 do 开始,用 while 结束,在 while(表达式)后面不能写 分号。
  • C. 在 do-while 循环体中,一定要有能使 while 后面表达式的值变成零 (“假”)的操作。
  • D. do-while 循环中,根据情况可以省略 while。
纠错 标记
7.

以下对一维整形数组 a的正确说明是

  • A. int a(10);
  • B. int n=10,a[n];
  • C. int n;
  • D. int a[10];
纠错 标记
8.

以下对二维数组 a的正确说明是

  • A. inta[3][];
  • B. float a(3,4);
  • C. double a[1][4];
  • D. float a(3)(4);
纠错 标记
9.

若二维数组 a有 m 列,则在 a[j]前面的元素个数为

  • A. j*m+i
  • B. i*m+j
  • C. i*m+j-1
  • D. i*m+j+1
纠错 标记
10.

C 语言规定 :在一个源程序中 ,main 函数的位置

  • A. 必须在最开始
  • B. 必须在系统调用的库函数的后面
  • C. 可以任意
  • D. 必须在最后
纠错 标记
11.

下面四个选项中 ,均是合法浮点数的选项是

  • A. +1e+15e-9.403e2
  • B. -.6012e-4-8e5
  • C. 123e1.2e-.4+2e-1
  • D. -e3.8e-45.e-0
纠错 标记
12.

若 a=-14,b=3,则条件表达式的值为

  • A. -14
  • B. -13
  • C. 3
  • D. 4
纠错 标记
13.

已知 :intn,i=1,j=2; 执行语句

  • A. 1,2
  • B. 1,3
  • C. 2,2
  • D. 2,3
纠错 标记
14.

为了判断两个字符串 s1 和 s2 是否相等 , 应当使用

  • A. if(s1==s2)
  • B. if(s1=s2)
  • C. if(strcmp(s1,s2))
  • D. if(strcmp(s1,s2)==0)
纠错 标记
15.

在以下正确的描述是

  • A. 函数的定义可以嵌套 , 但函数的调用不可以嵌套
  • B. 函数的定义不可以嵌套 ,但函数的调用可以嵌套
  • C. 函数的定义和函数的调用均不可以嵌套
  • D. 函数的定义和函数的调用均可以嵌套
纠错 标记
16.

在 C 语言中 ,下面对函数不正确的描述是

  • A. 当用数组名作形参时 , 形参数组值的改变可以使实参数组之值相应改变
  • B. 允许函数递归调用
  • C. 函数形参的作用范围只是局限于所定义的函数内
  • D. 子函数必须位于主函数之前 。
纠错 标记
17.

如果在一个函数中的复合语句中定义了一个变量 ,则以下正确的说法是

  • A. 该变量只在该复合语句中有效
  • B. 该变量在该函数中有效
  • C. 该变量在本程序范围内均有效
  • D. 该变量为非法变量
纠错 标记
18.

以下正确的函数形式是

  • A. doublefun(intx,inty){z=x+y;returnz;}
  • B. fun(intx,y){intz;returnz;}
  • C. fun(x,y){intx,y;doublez;z=x+y;returnz;}
  • D. doublefun(intx,inty){doublez;z=x+y;returnz;}
纠错 标记
19.

以下程序的输出结果是

  • A. 10
  • B. 13
  • C. 11
  • D. 报错
纠错 标记
20.

设有定义 :inta=1,*p=&a;floatb=2.0;charc='A'; 以下不合法的运算是

  • A. p++;
  • B. a--;
  • C. b++;
  • D. c--;
纠错 标记
21.

以下程序中调用scanf函数给变量 a 输入数值的方法是错误的,其错误原因是

  • A. *p 表示的是指针变量 p 的地址
  • B. *p 表示的是变量 a 的值 ,而不是变量 a 的地址
  • C. *p 表示的是指针变量 p 的值
  • D. *p 只能用来说明 p 是一个指针变量
纠错 标记
22.

若 num、a、b 和 c 都是 int 型变量 ,则执行表达式 num=(a=4,b=16,c=32); 后 num 的值为

  • A. 4
  • B. 16
  • C. 32
  • D. 52
纠错 标记
23.

已有如下定义和输入语句 , 若要求 a1,a2,c1,c2 的值分别为 10,20,A 和 B, 当从第一 列开始输入数据时 , 正确的数据输入方式是 (),( 注:_ 表示空格 )

intal,a2,charc1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

  • A. 10A_20_B
  • B. 10_A_20_B
  • C. 10A20B
  • D. 10A20_B
纠错 标记
24.

若有说明 :inta[10]; 则对 a 数组元素的正确引用是

  • A. a[10]
  • B. a[3.5]
  • C. a[5-3]
  • D. a[-1]
纠错 标记
25.

在 C 语言中 , 一维数组的定义方式为类型说明符数组名

  • A. [ 整型常量表达式 ]
  • B. [ 表达式 ]
  • C. [ 整型常量 ]
  • D. [ 整型表达式 ]
纠错 标记
26.

以下程序段

x=-1;

do

{

x=x*x;

}

while(!x);

  • A. 是死循环
  • B. 循环执行二次
  • C. 循环执行一次
  • D. 有语法错误
纠错 标记
27.

以下关于 do-while 循环的不正确描述是

  • A. do-while 的循环体至少执行一次
  • B. do-while 循环由 do 开始 ,用 while 结束 ,在 while( 表达式 ) 后面不能写分号
  • C. 在 do-while 循环体中 ,一定要有能使 while 后面表达式的值变为零 (" 假") 的操作
  • D. do-while 的循环体可以是复合语句
纠错 标记
28.

有以下程序

main()

{int a=1,b=0;

if(!a) b++;

else if(a==0) if(a) b+=2;

else b+=3;

printf( “%d\n ”,b);

}则程序输出

  • A. 0
  • B. 1
  • C. 2
  • D. 3
纠错 标记
29.

有以下定义: int a; long b; double x,y; 则下列正确的是

  • A. a%(int)(x-y)
  • B. a=x!=y
  • C. (a*y)%b
  • D. y=x+y=x
纠错 标记
答题卡(剩余 道题)
一、单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
用时:00:00:00
暂停
交卷
置顶