C程序设计模拟试卷3
一.单项选择题
1.制C语言程序的步骤是( D )
A)编译、编辑、运行、连接 B)编译、编辑、连接、运行
C)编辑、编译、运行、连接 D)编辑、编译、连接、运行
2.C语言中函数开始和结束的标志是( A )
A)一对花括号 B)一对方括号
A)一对花括号 B)一对方括号
C)一对圆括号 D) 一对双引号
3.设x为一个四位数的int型变量,能够取出该数的百位数字表达式的是( B )
A)x%1000 B)x%1000/100 C)x/1000 D)x/1000%100
A)x%1000 B)x%1000/100 C)x/1000 D)x/1000%100
4.设x为int型变量,下列选项中能够判定x值为偶数的表达式是( C )
A)x%2=0 B)x/2=0 C)x%2==0 D) x/2==0
A)x%2=0 B)x/2=0 C)x%2==0 D) x/2==0
5.设a、b、c、d均为int型变量,且初始值都为2,则执行语句“c=(b,a+2,d=6)”后,变量c的值为( D )
A)2 B) 3 C) 4 D) 6
6.下面关于switch语句和break语句的结论中,正确的是( B )
A)break语句是switch语句的一部分
B)在switch语句中,可以根据需要确定使用或不使用break语句
C)在switch语句中,必须使用break语句
D)break语句只能用在switch语句中
7.下列条件语句中,功能与其它语句不同的是( D )
A) if(a) printf("%d\n", x) ; else printf("%d\n", y) ;
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 )
A)1 2 3 B)2 3 4 C)2 2 3 D)2 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>
#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;
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"));
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=0;I<4;I+ =2) printf ("%d",p[I]);
}
A)5 2 B)5 1 C)5 3 D)9 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!”);
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)非法 B)a[4]的地址 C)3 D)5
二、判断题
1、定义一个自动变量后若未初始化,其初值为一不可预测的数据。(√)
2、整型、实型、字符型数据之间不可以进行混合运算。(×)
3、在C语言中,实数是补码形式存放在存储单元中的。(×)
4、在定义字符型变量时既不加signed又不加unsigned,C语言是默认按signed处理。(×)
5、在C语言的函数声明中形参名可以省写。(√)
6、外部变量的作用域是从一个程序文件的开头到本程序文件的末尾。(×)
7、实参数组名是指针常量,形参数组名是指针变量。(√)
8、不能对共用体变量名赋值。(√)
9、枚举元素可以用来作判断比较。(√)
10、赋值运算符是按照“自左而右”的结合顺序。(×)
三、填空题
1.设x和a为int型变量,则执行“x=a=6,4*a”之后,变量x的值为 6 。
2.当printf输出格式双引号内什么意思x=2,y=8,z=5时,执行下面的if语句后,x、y、z的值分别
为: 5 、 8 、 8
#include <stdio.h>
int main( )
{
int x=2,y=8,z=5;
if(x>z)
y=x;x=z;z=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=2;i<=n;i++)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论