C程序设计模拟试卷3
一.单项选择题
1.C语言程序的步骤是(  D  )
  A编译、编辑、运行、连接        B编译、编辑、连接、运行   
C编辑、编译、运行、连接        D编辑、编译、连接、运行
2.C语言中函数开始和结束的标志是A  )
    A)一对花括号      B)一对方括号
C)一对圆括号    D) 一对双引号
3.x为一个四位数的int型变量,能够取出该数的百位数字表达式的是( B )
   A)x%1000    B)x%1000/100    C)x/1000    D)x/1000%100
4.xint型变量,下列选项中能够判定x值为偶数的表达式是C  )
   A)x%2=0    B)x/2=0        C)x%2==0    D) x/2==0
5.abcd均为int型变量,且初始值都为2,则执行语句“c=(b,a+2,d=6)”后,变量c的值为(  D  )
A)2        B) 3          C) 4        D) 6
6.下面关于switch语句和break语句的结论中,正确的是(  B  )
Abreak语句是switch语句的一部分
B)在switch语句中,可以根据需要确定使用或不使用break语句
Cswitch语句中,必须使用break语句
Dbreak语句只能用在switch语句中
7.下列条件语句中,功能与其它语句不同的是(  D  )
  A) if(a)  printf("%d\n", x) else printf("%d\n", y)
  B) if(a= =0)  printf("%d\n", y) else printf("%d\n", x)
C) if(a!=0)  printf("%d\n", x) else printf("%d\n", y)
D) if(a= =0)  printf("%d\n", x) else printf("%d\n", y)
8.有以下程序:
#include <stdio.h>
int main( )
{
    int i=1,j=2,k=3;
    if(i++ = = 1&&( ++ j = = 3 || k ++ = =3))
    printf("% d % d % d\n",i,j,k)
}
程序运行后的输出结果是(  D  )
A1  2  3    B2  3  4    C2  2  3    D2  3  3
9.若执行以下程序时从键盘输入5,则输出结果是(  A  )
#include <stdio.h>
int main( )
{
    int x
  scanf("%d ",&x)
    if(x-- <5) printf("%d\n" ,x)
    else printf("%d\n", --x)
}


A) 3  B) 4  C) 5    D) 6
10.下列程序段运行后x的值是A  )
#include <stdio.h>
int main( )
{
    int a = 0, b = 0,c = 0,x=35
    if(!a)x--
    else if(b)
      if(c)x = 3
    else x = 4
      printf("%d\n",x)
}
A) 34    B) 4    C) 35    D) 3
11.下面的while循环,执行次数是A  )
i=4
  while( --i)
    printf("%d,i)
A)3    B)4    C) 0      D)无数次
12.下列语句中,可以输出26个大写英文字母的是(  C  )
A) for(a='A' a<='Z'printf("%c", ++a))
B) for(a='A' a<'Z'printf("%c", a++))
C) for(a='A' a<='Z'printf("%c", a++))
D) for(a='A' a<'Z'printf("%c", ++a))
13.以下对二维数组a不正确的定义是(  C  )
A) char a[10] [5]          B) int a[2] [3]   
C) int k=5,a[k] [k-2];        D) int a[3] [4]={{1},{5},{9}}
14.以下语句的输出结果是A  )
printf("%d\n",strlen("\t\"\065\xff\n"))
A) 5  B) 14  C) 8    D)输出项不合法,不能输出
15.以下叙述中不正确的是(  D  )
A) 在不同的函数中可以使用相同名字的变量
B) 函数中的形式参数是局部变量
C) 在一个函数内定义的变量只在本函数范围内有效
D) 在一个函数内的复合语句中定义的变量在本函数范围内有效
16.C语言程序中以下正确的描述是(  B  )
A) 函数的定义可以嵌套,但函数的调用不可以嵌套
B) 函数的定义不可以嵌套,但函数的调用可以嵌套
C) 函数的定义和函数的调用均不可以嵌套
D) 函数的定义和函数的调用均可以嵌套
17.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为(  A  )
A) 静态变量              B) 动态变量
C) 外部变量              D) 内部变量
18.以下程序的输出结果是(  C  )
#include <stdio.h>
int main( )
{int I,x[3][3]={9,8,7,6,5,4,3,2,1}, *p=&x[1][1]
for(I=0I<4I+ =2) printf ("%d",p[I])
}

A5 2    B5 1    C5 3    D9 7
19.不能把字符串“Hello!”赋给数组b的语句是(  B  )
    A)char b[10]={'H''e''l''l''o'''}
    B)char b[10]b=Hello!”;
    C)char b[10]strcpy(b,Hello!”)
    D)char b[10]=Hello!”
20.以下程序的输出结果是(  D  )
#include <stdio.h>
int main( )
{  char a[10]={9,8,7,6,5,4,3,2,1,0}, *p=a+5
printf("%d",*--p)
}

A)非法    Ba[4]的地址  C3    D5
二、判断题
1、定义一个自动变量后若未初始化,其初值为一不可预测的数据。(√)
2、整型、实型、字符型数据之间不可以进行混合运算。(×)
3、在C语言中,实数是补码形式存放在存储单元中的。(×)
4、在定义字符型变量时既不加signed又不加unsignedC语言是默认按signed处理。(×)
5、在C语言的函数声明中形参名可以省写。(√)
6、外部变量的作用域是从一个程序文件的开头到本程序文件的末尾。(×)
7、实参数组名是指针常量,形参数组名是指针变量。(√)
8、不能对共用体变量名赋值。(√)
9、枚举元素可以用来作判断比较。(√)
10、赋值运算符是按照“自左而右”的结合顺序。(×)
三、填空题
1.xaint型变量,则执行“x=a=6,4*a”之后,变量x的值为  6
2.printf输出格式双引号内什么意思x=2y=8z=5时,执行下面的if语句后,xyz的值分别
为:    8   8 
#include <stdio.h>
int main( )
{
  int x=2,y=8,z=5
  if(x>z)
y=xx=zz=y
  printf("%d, %d, %d \n",x,y,z)
}
3.输入n个实数,输出其中的最大值、最小值。请将程序补充完整。
#include <stdio.h>
int main( )
{  int n,i;
    float num,nmax,nmin
    scanf("%d",&n)
    scanf("%f",&num)
    nmax= num
nmin= num
    for(i=2i<=ni++)