郑州城市学院成教《python程序设计基础》高起专原题及答案(青书学堂) 图1 ... ... ...
1、有以下程序
#include <stdio.h>
void f( int *p );
main()
{
int a[5] = { 1, 2, 3, 4, 5 }, *r = a;
f( r ); printf( "%d\n", *r );
}
void f( int *p )
{
p = p + 3; printf( "%d,", *p );
}
程序运行后的输出结果是()。
A.1,4
B.4,4
C.3,1
D.4,1
答案:D
2、有以下程序:
#include <stdio.h>
main()
{
FILE *fp; char str[10];
fp = fopen( "myfile.dat", "w" );
fputs( "abc", fp ); fclose( fp );
fp = fopen( "myfile.dat", "a+" );
fprintf( fp, "%d", 28 );
rewind( fp );
fscanf( fp, "%s", str ); puts( str );
fclose( fp );
}
程序运行后的输出结果是( )。
A.abc
B.28c
C.abc28
答案:C
3、有以下程序:
#include <stdio.h>
#include <string.h>
struct A
{ int a; char b[10]; double c; };
void f( struct A t );
main()
{
struct A a = { 1001, "ZhangDa", 1098.0 };
f( a ); printf( "%d,%s,%6.1f\n", a.a, a.b, a.c );
}
void f( struct A t )
{
t.a = 1002; strcpy( t.b, "ChangRong" ); t.c = 1202.0;
}
程序运行后的输出结果是( )。
A.100l, zhangDa, 1098.0
B.1002, ChangRong, 1202.0
C.100l, ChangRong, 1098.0
D.1002, zhangDa, 1202.0
答案:A
4、设有定义:
Struct complex
{ int real,unreal;} data1={1,8},data2;
则以下赋值语句中错误的是( )。
A.data2=datal ;
B.data2=(2,6);
C.data2. real=datal. real;
D.data2. real=datal. unreal;
答案:B
5、有以下程序:
#include <stdio.h>
int fun()
{
static int x = 1;
x *= 2; return(x);
}
main()
{
int i, s = 1;
for ( i = 1; i <= 2; i++ )
s = fun();
printf( "%d\n", s );
}
程序运行后的输出结果是( )。
A.0
B.l
C.4
D.8
答案:C
6、有以下程序:
#include <stdio.h>
int f( int t[], int n );
main()
{
int a[4] = { 1, 2, 3, 4 }, s;
s = f( a, 4 ); printf( "%d\n", s );
}
int f( int t[], int n )
{
if ( n > 0 )
return(t[n - 1] + f( t, n - 1 ) );
else return(0);
程序运行后的输出结果是( )。
A.4
B.}
C.10
D.14
E.6
答案:B
7、若有以下定义和语句:
char s1[10]="abcd!",*s2="\n123\\";
printf("%d %d\n",strlen(s1),strlen(s2));
则输出的结果是( )。
A.5 5
B.10 5
C.l0 7
D.5 8
答案:A
8、有以下程序
#include <stdio.h>
main()
{
int b[3][3] = { 0, 1, 2, 0, 1, 2, 0, 1, 2 }, i, j, t = 1;
for ( i = 0; i < 3; i++ )
for ( j = i; j <= i; j++ )
t += b[b[j]];
printf( "%d\n", t );
}
程序运行后的输出结果是( )。
A.1
B.3
C.4
D.9
答案:C
9、有以下程序:
#include <stdio.h>
main()
{
int a[5] = { 1, 2, 3, 4, 5 }, b[5] = { 0, 2, 1, 3, 0 }, i, s = 0;
for ( i = 0; i < 5; i++ )
s = s + a[b];
printf( "%d\n", s );
}
程序运行后的输出结果是( )。
A.6
B.10
C.1l
D.15
答案:C
10、设有定义doublea[10],*s=a;,以下能够代表数组元素a[3]的是( )。
A.(*s)[3]
B.*(s+3)
C.*s[3]
D.*s+3
答案:B
11、若有定义int(*pt)[3];,则下列说法正确的是()。
A.定义了基类型为int 的三个指针变量
B.定义了基类型为int 的具有三个元素的指针数组pt
C.定义了一个名为*pt、具有三个元素的整型数组
D.定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组
答案:D
12、有以下程序
#include <stdio.h>
void fun( char *c, int d )
{
*c = *c + 1; d = d + 1;
printf( "%c,%c,", *c, d );
}
main()
{
char b = 'a', a = 'A';
fun( &b, a ); printf( "%c,%c\n", b, a );
}
程序运行后的输出结果是( )。
A.b,B,b,A
B.b,B,B,A
C.a,B,B,a
D.a,B,a,B
答案:A
13、下列选项中,能正确定义数组的语句是( )。
A.int num[0..2008];
B.int num[];
C.int N=2008;
int num[N];
D.#define N 2008
int num[N];
答案:D
14、以下关于return语句的叙述中正确的是( )。
A.一个自定义函数中必须有一条return 语句
B.一个自定义函数中可以根据不同情况设置多条return 语句
C.定义成void 类型的函数中可以有带返回值的return 语句
D.没有return 语句的自定义函数在执行结束时不能返回到调用处
答案:B
15、下列语句组中,正确的是()。
A.char *s; s=''Olympic'';
B.char s[7]; s =''Olympic'';
C.char *s;s={"Olympic"};
D.char s[7]; s={''Olympic''};
答案:A
16、有以下程序,其中k 的初值为八进制数:
#include <stdio.h>
main()
{
int k = 011;
printf( "%d\n", k++ );
}
程序运行后的输出结果是( )。
A.12
B.11
C.10
D.9
答案:D
17、有以下程序:
#include <stdio.h>
main()
{
int a = 1, b = 2;
for (; a < 8; a++ )
{
b += a; a += 2;
}
printf( "%d,%d\n", a, b );
}
程序运行后的输出结果是( )。
A.9,18
B.8,11
C.7,1l
D.10,14
答案:D
18、有以下程序
#include <stdio.h>
main()
{
int a = 2, b = 2, c = 2;
printf( "%d\n", a / b & c );
}
程序运行后的输出结果是( )。
A.0
B.l
C.2s
D.3
答案:A
19、有以下程序:
#include <stdio.h>
#define SUB( a ) (a) - (a)
main()
{
int a = 2, b = 3, c = 5, d;
d = SUB( a + b ) * c;
printf( "%d\n", d );
}
程序运行后的输出结果是( )。
A.0
B.-12
C.-20
D.10
答案:C
20、有以下程序:
#include <stdio.h>
#define N 8
void fun( int *x, int i )
{
*x = *(x + i);
}
main()
{
int a[N] = { 1, 2, 3, 4, 5, 6, 7, 8 }, i;
fun( a, 2 );
for ( i = 0; i < N / 2; i++ )
{
printf( "%d", a );
}
printf( "\n" );
}
程序运行后的输出结果是( )。
A.l 3 1 3
B.2 2 3 4
C.3 2 3 4
D.l 2 3 4
答案:C
21、有以下定义和语句:
struct workers
{ int num; char name[20]; char c;
struct
{ int day; int month; int year; } s; };
struct workers w, *pw;
pw = &w;
能给w 中year 成员赋1980 的语句是()。
A.*pw. year=1980;
B.w. year=1980;
C.pw->year=1980;
D.w. s. year=1980;
答案:D
22、若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。
A.int a[5]={0};
B.int b[]={0,0,0,0,0};
C.int c[2+3];
D.int i=5,d;
答案:D
23、下列定义数组的语句,正确的是()。
A.int N=10;
int x[N];
B.#define N 10
int x[N];
C.int x[0..10];
D.int x[];
答案:B
24、有定义语句:int*p[4];以下选项中与此语句等价的是()。
A.int p[4];
B.int **p;
C.int *(p[4]);
D.int (*p)[4];
答案:C
25、以下程序段完全正确的是()。
A.int *p; scanf("%d",&p);
B.int *p; scanf("%d",p);
C.int k, *p=&k; scanf("%d",p);
D.int k, *p; *p=&k; scanf("%d",p);
答案:C
26、有以下程序
#include <stdio.h>
int f( int x );
main()
{
int n = 1, m;
m = f( f( f( n ) ) ); printf( "%d\n", m );
}
int f( int x )
{
return(x * 2);
}
程序运行后的输出结果是( )。
A.1
B.2
C.4
D.8
答案:D
27、有以下程序
#include <stdio.h>
#include <string.h>
main()
{
char x[] = "STRING";
x[0] = 0; x[1] = '\0'; x[2] = '0';
printf( "%d %d\n", sizeof(x), strlen( x ) );
}
程序运行后的输出结果是( )。
A.6 1
B.7 0
C.6 3
D.7 1
答案:B
28、有以下程序
#include <stdio.h>
main()
{
char s[] = "rstuv";
printf( "%c\n", *s + 2 );
}
程序运行后的输出结果是( )。
A.tuv
B.字符t 的ASCII 码值
C.t
D.出错
答案:C
29、有以下程序
#include <stdio.h>
main()
{
int y = 10;
While( y-- );
printf( "y=%d\n", y );
}
程序执行后的输出结果是( )。
A.y=0
B.y=-1
C.y=1
D.while 构成无限循环
答案:B
30、有以下程序
#include <stdio.h>
main()
{
int a = 1, b = 2;
while ( a < 6 )
{
b += a; a += 2; b %= 10;
}
printf( "%d, %d\n", a, b );
}
程序运行后的输出结果是( )。
A.5,11
B.7,1
C.7,11
D.6,1
答案:D
31、C语言允许在同一条语句中定义多个相同类型的变量,其间用分号进行分隔。( )
A.正确
B.错误
答案:B
32、实型变量能表示的数字的有效位数是有限的。( )
A.正确
B.错误
答案:A
33、有符号和无符号整数的区别仅在于对数据最高位的解释不同。若最高位解释为数据位,则为signed 类型;若最高位解释为符号位,则为unsigned 类型。( )
A.正确
B.错误
答案:B
34、不同类型的数据在内存中所占存储单元的大小不同,内部存储方式不同,取值范围不同,甚至能够参与的运算种类也不相同。( )
A.正确
B.错误
答案:A
35、在ISO/ANSI1999规定中,允许将变量声明放在程序中的任何位置。( )
A.正确
B.错误
答案:A
36、默认形式的实数常量的数据类型为float类型。( )
A.正确
B.错误
答案:B
37、变量声明把一个具体的标识符名称和计算机内存中的一个特殊的位置联系起来,同时确定了该位置存储的信息类型。( )
A.正确
B.错误
答案:A
38、符号常量提高了程序的可读性,但降低了程序维护的方便性。( )
A.正确
B.错误
答案:B
39、C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。( )
A.正确
B.错误
答案:B
40、声明变量的含义是通知编译系统为变量分配合适大小的存储空间。
A.正确
B.错误
答案:A
41、编写一程序,从键盘输入10个实数,计算并输出算数平均数。
答案:#include
void main()
{
float x,s=0;
for(i=0;i<10;i++)
{
scanf(“%f”,&x);
s=s+x;
}
printf(“The average is %f”,s/10);
}
|