C语言编程练习(一)
选择题
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”,”JA V A”,”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 3COM D)int k_2 _001
12.以下程序的输出结果是()
#include
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;
sca nf(“%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
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++)