C语言模拟试题三

2019-02-14 22:30

模拟试题Ⅲ

一、选择题(本大题30分,每小题2分)

1.下列有关C程序的说法中,正确的是: 。

A) 一个C程序中只能有一个主函数且位置任意; B) 一个C程序中可有多个主函数且位置任意; C) 一个C程序中只能有一个主函数且位置固定; D) 一个C程序中可以没有主函数。 2.以下叙述中不正确的是: 。

A)在C程序运算符中,逗号运算符优先级最低; B)C程序中,AHP和ahp代表两个不同的变量; C)C程序中,整数和实数在内存中存放形式相同; D)在C程序中, %是只能用于整数运算的运算符.

3.已知ch是字符型变量,下面不正确的赋值语句是: 。 A)ch=?\\0? B)ch=?a+b?

C)ch=?7?+?9? D)ch=7+9 4.设有如下定义

int x=10,y=5,z;

则语句printf(\的输出结果是 。

A)1 B)0 C)4 D)3

5.设有如下定义:char ch=?z?,则执行下面语句后变量ch是值为: 。

ch=(?A?<=ch&&ch<=?Z?)?(ch+32):ch

A)A B)a C)Z D)z

6.若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为: 。 printf(“%f”,(x,y));

A)3.600000 B)5.800000

C)3.600000,5.800000 D)输出符号不够,输出不正确值

7.设有两字符串”Beijing”、”China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把”China”连接到”Beijing”之后的为: 。

A)strcpy(str1,str2);

B)strcpy(str1, “China”); C)strcat(str1,”China”) D)strcat(“Beijing”,str2);

8.以下对一维整型数组a的正确说明是 。

A)int a(10); B)int n=10,a[n];

C)int n; scanf(“%d”,&n); int a[n]; D)#define SIZE 10 int a[SIZE];

9.设有如下程序段,则其执行结果为: 。

static int a[ ]= { 1,2,3,4 }, *p ; int i; p=a; (p+3) + =2; printf(“%d”,*(p+3) );

A)0 B)6 C)a[3]地址 D)不正确的值10.若I为整型变量,则下列程序段的

运行结果为 。

i=322;

if(i%2==0) printf(“#####”) else printf(“*****”);

A)##### B)#####*****

C)***** D)有语法错误,无法输出结果

11.已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。 if (x>y||xz) z=x; x=y; y=z;

A)x=50, y=80, z=80 B)x=50, y=30, z=30 C)x=30, y=50, z=80 D)x=80, y=30, z=50 12.下面程序段的运行结果是: 。

x=y=0; while(x<15) y++, x+=++y; printf(“%d, %d”, y, x);

A)20, 7 B)6, 12

C)20, 8 D)8, 20 13.若有语句 int *point , a =45; point = &a; 下面均代表同一变量地址的一组选项是: 。

A)&a point *&a B)&*a &a *point

C)point &point &a D) &a, &*point point

14.以下程序的运行结果是: 。

main( )

{ int a=2, i ;

for(i=0;i<3;i++) printf(“M”,f(a) ) ; } f( int a)

{ int b=0; static int c=3

b++; c++; return(a+b+c); }

A)7 10 13 B)7 7 7 C)7 9 11 D)7 8 9 15.若有如下定义:

int a[3][3]={1,2,3,4,5,6,7,8,9},i ; 则下列语句的输出结果是: 。

for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]);

A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7

二、判断题(本大题10分,每小题1分)

1.C语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。 ( ) 2.在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自己定义的。 ( )

3.在C程序中一行内可以写几个语句,一个语句可以分写在多行上。因此,并不是每一条C语句都必须有一个分号的。 ( ) 4.在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。 ( )

5.在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环。 ( )

6.C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。 ( ) 7.数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。 ( ) 8.在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。如字符串”That”与”The”就不能进行大小比较。 ( ) 9.函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用

的是return中表达式的类型。 ( )

10.定义指针变量时指定的类型称为基类型,基类型是指针变量所指向变量的类型,因此指针变量被定义之后都只能指向某一类型的变量。 ( ) 三、程序填空题(本大题12分,每小题2分)

1.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请填空:

main( )

{ char ch; scanf(“%c”,&ch);

if ( (1) ) ch=ch+32; else if(ch>?a?&&ch

printf(”%c\\n”,ch);

}

2. 以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。请填空: main( )

{ int a[3][4] = { { 7, 5, -2, 3 },{ 1, 0, -3, 4 },{ 6, 8, 0, 2 } }; int b[3][4] = { { 5, -1, 7, 6 },{ -2, 0, 1, 4 },{ 2, 0, 8, 6 } }; int i, j, c[3][4]; for ( i=0; i<3; i++ )

for ( j=0; j<4; j++ )

c[i][j] = ___(3)____ ; for ( i=0; i<3; i++ )

{ for ( j=0; j<4; j++ )

printf ( “=”, c[i][j] ) ; ____(4)___ ; } }

3.以下程序使用递归法求n!,请填空:

float fac( int n) { float f;

if(n<0) {printf(“n<0” data error); f=-1;} else if(n==0||n==1) f=1; else f= (5) ; return( f ); } main( )

{ int n; float y;

printf(“input a integer number”); scanf(“%d”,&n); y= (6);

printf(“%d! = .0f”, n, y ); }

四、写出下面程序的执行结果(本大题24分,每小题4分) 1.main( )

{ float a=3.14, b=3.14159; printf(“%f, %5.3f\\n”,a,b); } 2.main( )

{ char a[5][5],i,j; for(i=0;i<5;i++)

for(j=0;j<5;j++)

if(i==0 ||i+j==4)

a[i][j]='*'; else a[i][j]=' ';

for(i=0;i<5;i++)

{ for(j=0;j<5;j++) printf(\

printf(\ } }

3.main( )

{ int x, i ;

for( i=1,x=1; i<=50; i++ ) { if(x>=10) break;

if(x%2==1)

{ x+=5;continue;} x - = 3; }

printf(“%d\\n”, i ); }

4.func( int x, int y) { int z; z=a+b; return(z); } main( )

{ int a=6, b=7, c=8, r;

r=func( ( a--, b++, a+b), c--) printf(“%d”, r) ; }

5.#include

void increment(void); void main(void) { increment(); increment();

}

void increment(void) { static int x = 8; x ++;

printf(\

}

6. #include void main(void)

{ static char a[]=\ char *p1,*p2; int k;

p1=a; p2=b;

for(k=0;k<=7;k++)

if (*(p1+k)==*(p2+k))

printf(\

printf(\ }

五.编程题(共30分)

1.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。

x2 (x<0)

y = -0.5x+10 (0?x<10)

x-x (x?10)

2.若有如下公式:

?2? 111612 +

22 +

32+。

。。。。。。+ 1n2

试根据上述公式编程计算? 的近似值

(精确到10-6)。

3.编一程序,首先将一个包含10个数的数组按照升序排列,然后将从一指定位 置m开始的n个数按照逆序重新排列,并将新生成的相互组输出。要求使用指针控制方法实现上述功能。

模拟试题Ⅲ 答题卡

姓 名

正确 准考证号 填涂 示例 贴 条 形 码 区 ■

(正面朝上,切勿贴出虚线方框) □?此方框为缺考考生标记,由监考员用2B铅笔填涂。 一、选择题(15×2分) (请用2B铅笔填涂) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AAAAAA A A A A A A A ABBBB A BBBBBBBBBBBCCCCCCCCCCCCCCC DDDDDDDDDDDDDDD■ 二、判断题(10×1分) (请用2B铅笔填涂)

1 2 3 4 5 6 7 8 9 10 三、程序填空题 (6×2分) (请用0.5毫米黑色签字笔书写)

①_______________________ ②___________________________ ③___________________________ ④_______________________ ⑤___________________________ ⑥___________________________

四、写出下面程序的结果 (6×4分)

1、______________________________ 2、________________________ 3、________________________

4、______________________________ 5、________________________ 6、________________________

五、编程题 (7分+8分+9分) 1、

2、

3、


C语言模拟试题三.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年人教新课标版语文六年级上册11 唯一的听众练习卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: