C语言练习题3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(每空1分,共25分,请将答案填入表格)
1.以下叙述错误的是 ___ 。
A) 一个C源程序可由一个或多个函数组成
B) 一个C源程序必须包含一个main函数
C) C程序的基本组成单位是函数
D) 在C程序中,注释说明只能位于一条语句的后面
2.C语言中运算对象必须是整型的运算符是 ___ 。
A) %= B) / C) = D) 〈=
3.有如下程序,程序运行后的输出结果是 ___ 。
main()
{ unsigned int x=0xffff;
printf(“%u\n”,x );}
A) -1 B) 65535 C) 32767 D) 0xFFFF
4.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确代表该代数式的C语言表达式是 ___ 。
A) sqrt(abs(n^x+e^x)
B) sqrt(fabs(pow(n,x)+pow(x,e)))
C) sqrt(fabs(pow(n,x)+exp(x)))
D) sqrt(fabs(pow(x,n)+exp(x)))
5.字符串“\t12\x42\\abcd”的长度是 ___ 。
A) 14 B) 9 C) 15 D)20
6.以下叙述中错误的是 ___ 。
A) 计算机不能直接执行用C语言编写的源程序
B) C语言经C编译程序编译后,生成后缀为.obj的文件是二进制文件
C) 后缀为.obj的文件,经连接后生成后缀为.exe的文件是二进制文件
D) 后缀为.obj和.exe的二进制文件都可以直接运行
7.以下选项中,与k=x++;完全等价的表达式是 ___ 。
A) x=x+1;k=x; B) k=x;x=x+1;
C) k=x+1; D) k+=x+1;
8.以下叙述中正确的是 ___ 。
A) break语句只能用于switch 语句中
B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C) break语句只能用在循环体内和switch语句体内
D) 在循环体内使用break语句和continue 语句的作用相同
9.判断字符型变量 ch是否为大写英文字母的表达式为 ___ 。
A) ‘A’<=ch<=‘Z’B) ch>=‘A’&& ch<=‘Z’
C) ch>‘a’&& ch<=‘z’D) ch>=‘A’|| ch<=‘Z’
10.若表达式(m)? a++:a--, 则表达式m和 ___等价。
A) m==0 B) m!=0 C) m=0 D) m=1
11.设有 int i=010,j=10;
则printf( “%d,%d\n”,++i,j--);的输出是 _ _。
A) 11,10 B) 9,10 C) 010,9 D)10,9
12.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z) ;
后,a,b的值为 ___ 。
A) 1和1 B) 0和0 C) 4和2 D) 0和2
13.定义如下变量关系,则下面语句的输出结果是_________。
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(" %d",x[0][ 2-i]);
A) 1 5 9 B) 1 2 3 C) 3 5 7 D) 3 2 1
14.已知数组float b[3][2];该数组行下标的范围是________。
A) 1—3 B) 0—3 C) 1—2 D) 0—2
15.下列语句中,正确的是 ___ 。
A) #define PI=3.14159 B) include “stdio.h”
C) define M 3 D) #define PI 3.14159
16.有如下程序, 该程序段的输出结果是 ___ 。
void main(void)
{ int n=5;
while(n>2) { n--; printf(“%d”,n);}
}
A) 543 B)432 C)4321 D)5432
17.下列四种数组定义,合法的数组定义是 ___ 。
A) char a[ ]="hello"; B) int a[4]={4,3,2,1,0};
C) char a="hello" ; D) char a[4]= "hello";
18.设p1和p2均为指向int型的指针变量, k为int型变量,下列不正确的赋值语句是
___ 。
A)k=*p1+*p2; B)k=*p1*(*p2)
C)p2=k D)p1=p2
19.有如下程序,该程序的输出结果是 ___ 。
void main(void)
{ char s[]=“ABCD”,*p;
for( p=s+1;p<=s+3;p++)
printf(“%c\n”,*p); }
A) ABC B)A C)B D)BCD
BC B C CD
C C
D D
20.对于C程序的函数,下列叙述中正确的是 ___ 。
A)函数的定义不能嵌套,但函数调用可以嵌套
B)函数的定义可以嵌套,但函数调用不能嵌套
C)函数的定义和调用均可以嵌套
D)函数的定义和调用均不能嵌套
21.设x为整型变量, p是指向整型的指针变量, 则下列赋值表达式正确的是____ 。
A) p=&x B) p=x C) *p=&x D) *p=*x
22.函数定义时,形参是整型变量,则函数调用时,实参不可以是________。
A) 整型常量 B) 字符型常量 C) 数组名 D) 整型表达式
23. 以下程序的输出结果是________。
void main(void)
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;