资源描述
选择题
1、 一个C程序得执行就是从( )。
A) 本程序得main函数开始,到main函数结束
B) 本程序文件得第一个函数开始,到本程序文件得最后一个函数结束
C) 本程序得main函数开始,到本程序文件得最后一个函数结束
D) 本程序文件得第一个函数开始,到本程序main函数结束
2、 下列选项中,不能用作标识符得就是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_
3、 以下定义语句中正确得就是( )。
A) char a='A'b='B'; B) float a=b=10、0;
C) int a=10,*b=&a; D) float *a,b=&a;
4、设有以下定义:#define d 2
int a=0; double b=1、25; char c=’A’;
则下面语句中错误得就是( )。
A) a++; B) b++ C) c++; D) d++;
5、以下4个选项中,不能作为一条C语句得就是( )。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;
6、有以下定义语句 double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确得表达式就是( )。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;
7、设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确得赋值语句就是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;
8、设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据得就是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;
C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);
9、若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较得就是( )。
A)字符B与字符P B) 字符串FORTRAN与字符串BASIC
C)字符F与字符B D) 字符串BASIC与字符串PASCAL
10、 执行语句for(i=1;i++<4;);后变量i得值就是( )。
A) 3 B)4 C) 5 D) 不定
11、以下4组用户定义标识符中,全部合法得一组就是( )
A)_total clu_1 sum
B)if -max turb
C)txt REAL 3
D)int k_2 _001
12、以下程序得输出结果就是( )
#include <stdio、h>
main( )
{
int a = 1, b = 2, c = 3;
printf(“%d”, c>b>a);
}
A) 2 B) 1 C) 0 D) 3
13、以下正确得叙述就是( )
A) 在C语言中,main函数必须位于文件得开头
B) C语言每行中只能写一条语句
C) C语言本身没有输入、输出语句
D) 对一个C语言进行编译预处理时,可检查宏定义得语法错误
14、设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据得就是( )
A)scanf("%d",pa); B)scanf("%d",a);
C)scanf("%d",&pa); D)scanf("%d",*pa);
15、若有以下程序段,
int c1=1,c2=2,c3;
c3=1、0/c2*c1;
则执行后,c3中得值就是( )
A) 0 B) 0、5 C) 1 D) 2
16、能正确表示逻辑关系:“a≥=10或a≤0”得C语言表达式就是( )
A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0
17、执行下面得程序时,将1、2、3、4分别赋给a、b、c、d,正确得输入就是( )
main( )
{
int a,b,c,d;
scanf(“%d,%d,%d%d”,&a,&b,&c,&d);
…
}
A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4
18、有以下程序段
main( )
{
int k=0;
while(k=1) k++;
}
则while循环执行得次数就是( )
A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次
19、以下程序得输出结果就是( )
#include <stdio、h>
main( )
{
int a = 5, b = 4, c = 6, d;
printf(“%d”,d=a>b?(a>c?a:c): b);
}
A) 5 B) 4 C) 6 D) 不确定
20、下面就是对数组a得初始化,其中不正确得就是( )
A)a[5]={"ABCD"} B)a[5]={'A','B','C','D'}
C)a[5]="" D)a[5]="ABCDE"
21.以下各组常量中,完全符合C语言常量形式得就是 、
A) 123, e-10 B) 05678, ‘a’ C) 0xbf, -1e05, D) 3、1416, 10-5
22.假定 int a=4, b=3, c=1, 表达式: (a=b)+(a>b==c) 得值就是 、
A) 1 B) 2 C) 3 D) 4
23.假定 int a=0, b=1, 表达式: !(a=’0’) && b--, a+b 得值就是 。
A) 0 B) 1 C) 48 D) 49
24.在以下各表达式中,与 !(a+b+c) && a*b*c 不等价得就是 。
A) a+b+c==0 && a&&b&&c B) !(a+b+c) && a!=b!=c
C) ! (a+b+b)*a*b*c D) a*b*c && a+b==c
25.以下各循环语句中,不就是无限循环得就是 。
A) for ( i=5; i --<5; ) i=4; B) for( i=0; i>=0 ; i++ );
C) for ( i=0,j=10; i-j; i++,j--) ; D) for ( i=0; i<0; i --)
26、 设char a[]=”ab’1’\\\1278”;则数组a得长度就是 。
A)6 B)7 C)8 D)9
27.假定 int a=100; char x=’1’; 则执行printf(“%c,%d”,a,x); 得输出结果就是 。
A) 100,1 B) d,49 C) 100,49 D) d,1
28.以下论述中正确得就是 、
A) 实型数据占字节数多于整型数据,因此,实型运算比整型运算精确。
B) 二维数组元素有两个下标,在特殊情况下也可以就是一个下标。
C) 如果a就是带符号整型变量,b就是无符号整型变量,则执行a=b后a得值一定为正。
D) 存放文本得文件称文本文件,存放二进制数得文件称二进制文件。
29.若有函数关系:
y=1/x 当x!=0 时
y=1020 当 x=0 时
则以下程序段中不能正确表达上面关系得就是 。
A) if (x) y=1、0/x; B) if (x==0) y=1e20; C) y= 1e20; D) y=1、0/x;
else y=1e20; if (x!=0) y=1、0/x; if (x) y=1、0/x; if (!x) y=1e20;
30.以下程序得功能就是 。
main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9}, i,*p=a,s=0;
for(i=0; i<3; i++)
for( p+=i; p<a[i]+3; p++) s+=*p;
printf("\n %d",s);
}
A) 求矩阵a得所有元素之与 B) 求矩阵a得上三角元素之与
C) 求矩阵a得下三角元素之与 D) 都不就是
31.以下程序中,有一个不符合C语法规则得语句,这个语句就是 、
#define N 5
main()
{
A) int a[2*N]={0,0,0,0,0,0,0,0,0,0};
{
B) int i, a=2;
C) printf ( "\n %d\n",a );
D) for ( i=0; i<2*N; i++ ) printf ( "%d",a[i] );
}
}
32.假定要使以下程序得输出结果第一行都就是1,第二行都就是2,第三行都就是3,则正确得数据输入格式就是 。
main()
{ int i, j, a[3][3] ;
for ( j=0; j<3; j++)
for( i=0; i<3; i++) scanf (“%d”, &a[i][j] );
for( i=0; i<3; i++)
{ printf (“\n”); for ( j=0; j<3; j++) printf (“%d”, a[i][j] ); }
}
A) 1 2 3 1 2 3 1 2 3 B) 1 1 1 2 2 2 3 3 3
C) 1,2,3,1,2,3,1,2,3 D) 1,1,1,2,2,2,3,3,3
33.假定有如下求最大值与最小值得程序:
main()
{ int i,a, max=-32768, min=32767;
for ( i=0; i<10; i++)
{ scanf (“%d”, &a );
if (a < min ) min=a;
else if ( a > max ) max=a;
}
printf (“\n max,min= %d,%d”, max, min);
}
则以下各结论中正确得就是 。
A) 程序完全正确 B) 当输入递增数据时结果不正确
C) 当输入递减数据时结果不正确 D) 输入任何数据结果都不正确
34.以下程序中不符合C语法规则得语句就是 、
main()
{
A) int a[‘a’*2],*p=a,i;
B) for(i=0;i<10;i++) scanf(“%d”,a);
C) for(i=0;i<10;i++) scanf(“%d”,p++);
D) for(i=0;i<10;i++) scanf(“%d”,a++);
}
35.在以下各函数中,不能正确将数列a实行倒序存放得就是 。
A) void inv ( int a[], int n) B) void inv ( int a[], int n)
{ int i, j, t; { int i=0, j=n-1, t;
for( i=0; i<n; i++) for( ;i<j; i++, j--)
{t=a[i]; a[i]=a[n-i-1]; a[n-i-1]=t;} {t=a[i]; a[i]=a[j]; a[j]=t;}
} }
C) void inv ( int a[], int n) D) void inv ( int *a, int n)
{ int i=n/2-1, j=i+1, t; { int *i=a, *j=a+n-1, t;
for( ; i+1 ; i--, j++) for( ; i<j; i++, j--)
{t=a[i]; a[i]=a[j]; a[j]=t;} {t=*i; *i=*j; *j=t;}
} }
程序分析(1)
P48例3、5
P100例5、3(4个程序)
P117例6、4
P124例6、5
P133例7、2
P142例7、7
P173例8、8
P245例10、10
程序分析(2)
P106例5、5
P127例6、9
P134例7、3
P183例8、14
P225 例10、3
P241-P242 例10、9
选择题参考答案
1、A 2、D 3、C 4、B 5、D
6、C 7、D 8、A 9、A 10、C
11、A 12、C 13、D 14、A 15、 B
16、 D 17、 D 18、 A 19、 C 20、 D
21、C 22、C 23、D 24、B 25、D
26、D 27、B 28、B 29、D 30、B
31、D 32、A 33、C 34、D 35、A
展开阅读全文