一、选择题
1.以下叙述中错误的是( A )。
A.使用三种基本结构构成的程序只能解决简单问题 (P28) B.结构化程序由顺序、分支、循环三种基本结构组成(P26) C.C语言是一种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法(P34) 2.以下叙述正确的是( A )。
A.C语言函数可以嵌套调用,例如:fun(fun(x))
B.C语言程序是由过程和函数组成的(P10 C语言程序是由函数组成的) C.C语言函数不可以单独编译
D.C语言中除了main函数,其他函数不可作为单独文件形式存在 3.有以下程序
#include
{ int a=0, b=0; /* 给a赋值 a=10;
b=20; 给b赋值 */ printf(\输出计算结果 */ }
程序运行后的输出结果是( B )。 A.出错
B.a+b=0
C.a+b=10
D.a+b=30
4.以下叙述中正确的是( A )。
A.每个后缀为.C的C语言源程序都可以单独进行编译
B.每个后缀为.C的C语言源程序都应该包含一个main函数(若在一个项目中,后缀为.C的C语言源可以不包含main)
C.在C语言程序中,main函数必须放在其他函数的最前面 D.在C语言程序中,只有main函数才可单独进行编译
5.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( D )。 A.大写字母
B.下划线
C.数字字符
D.连接符
6.以下选项中能表示合法常量的是( D )。(p39)
A.1,200 7.有以下程序
B.1.5E2.0 C.0118 D.\
#include
int sum, pad, pAd; sum = pad = 4;
pAd = ++sum, pAd++, ++pad; printf(\ }
程序的输出结果是( B )。 A.4
8.有以下程序 #include
a = (int)(-1.65*3); printf(\}
程序的运行结果是( B )。(直接取整数部分) A.-3
B.-4
C.-5
D.结果不确定
B.5
C.6
D.7
9.关于\条件表达式)循环体\,以下叙述正确的是( B )。 A.循环体的执行次数总是比条件表达式的执行次数多一次 B.条件表达式的执行次数总是比循环体的执行次数多一次 C.条件表达式的执行次数与循环体的执行次数一样 D.条件表达式的执行次数与循环体的执行次数无关
10.若有定义语句:int year=2009, *p=&year ;以下不能使变量year中的值增至2010的语句是( B )。 A.(*p)++; 11.有以下程序
#include
B.*p++;
C.++(*p);
D. *p+=1;
int fun( int a, int b) { return a+b; } main()
{ int x=6, y=7, z=8, r ; r = fun ( fun(x,y), z-- ); printf (\ }
程序运行后的输出结果是( A )。 A. 21
B. 15
C. 20
D. 31
12.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( B )。 A. (E>0||E<0)
B. (E==0)
C. (! E==0)
D. (E!=0)
13. 由以下while构成的循环,循环体执行的次数是( D )。 int k=1;
while ( k=2 ) k++;//请注意:若改为while ( k==2 ),则如何?(B) A. 有语法错,不能执行 C. 执行一次 14. 若有以下定义 int x[10], *pt=x;
则对x数组元素的正确引用是( D )。(p236) A. pt+3 15. 有以下程序
#include
{ int c[6]={10,20,30,40,50,60}, *p,*s; p = c; s = &c[5]; printf(\ }
程序运行后的输出结果是( A )。 A. 5
B. 4
C. 20
D. 16
B. *&x[10]
C. *(pt+10)
D. *(x+3)
B. 一次也不执行 D. 无限次
16. 以下叙述中正确的是( B )。 A.一条语句只能定义一个数组
B.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 C.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 D.在引用数组元素时,下标表达式可以使用浮点数(整型) 17. 以下叙述中正确的是( D )。 A.数组下标的下限是1(0)
B.数组下标的下限由数组中第一个非零元素的位置决定 C.数组下标的下限由数组中第一个被赋值元素的位置决定 D.char c1, c2, *c3, c4[40];是合法的变量定义语句 18. 有如下程序 #include
char name[10] = {'S', 'T', 'R', 'I', 'N', 'G'}; name[3] = 'E'; name[5] = 0; printf(\}
程序运行后的输出结果是( A )。 A. STREN
B. STRIEG
C. STRENG
19. 下列定义数组的语句中,正确的是( A )。 A. #define N 10
B. int N=10;int x[N]; int x[N]; C. int x[0..10]; D. int x[ ];
20. 设有定义
double a[10] ,*s=a;
以下能够代表数组元素a[3]的是( B )。 A. (*s)[3] B. *(s+3)
C. *s[3]
21. 有以下程序 #include
{ char str[12] = { 's','t' , 'r' , 'i' , 'n' , 'g'} ;
D. STREN0
D. *s+3
相关推荐: