C. 从定义处开始到该源程序文件结束
D. 函数内全部范围
18有以下程序 main() {
int p[3]={11,12,13},i=0,j=0; while(i++<2) if(p[i]%2) j+=p[i]; printf(\
} 程序运行后的输出结果是A
A. 13
B. 24
C. 11
D. 36
19以下能正确定义一维数组的选项是D
A. int a[5]={0,1,2,3,4,5};
B. int a[]=(0,1,2,3,4,5);
C. char a={'A','B','C'};
D. char a[5]=\
20与定义char c[]={\不等价的是D
A. char c[]=\
B. char c[]={'G','O','D','\\0'};
C. char c[5]={'G','O','D','\\0'};
D. char c[3]={\21char c[5]={?a?,?b?,?\\0?,?c?,?\\0?}; printf(“%s”,c);B A. ?a??b? B. ab
C. ab c
D. a,b
22设char Q='a', *p=&Q;下面说法中错误的是C
A. *p='a'
B. &*p=&Q
C. &p=&Q
D. *&Q='a' 23有以下程序
main()
{int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p<=a+9;p++)printf(\)
程序运行后的输出结果是A
A. 1,2,3,4,5,6,7,8,9,0,
B. 2,3,4,5,6,7,8,9,10,1,
C. 0,1,2,3,4,5,6,7,8,9,
D. 1,1,1,1,1,1,1,1,1,1,
24若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是C
A. a,p,&*a
B. *&a,&a,*p
C. &a,p,&*p
D. *&p,*p,&a
25设有语句:int a[10],*p =a;,则下面的语句中,不正确的是D
A. p=p+1;
B. *p=*p+1;
C. a[0]=a[0]+1;
D. a=a+1;
26当int类型长度为2字节时,则类型unsigned int的值域范围为D
A. 0至255
B. -256至255
C. -32768至32676
D. 0至65535 27有如下程序:D #include
{ int t2; t2=b*3; b=100; } void main() { int a=2; b=4; f1(); }
叙述正确的是:
A. a和b都是静态变量。
B. a是静态变量,b是动态变量。
C. a和b都是全局变量。
D. a是局部变量,b是全局变量
28下面的for循环最多可执行________次。 A for(x=0,y=0;(y!=99)&&(x<4);x++);
A. 4次
B. 5次
C. 99次
D. 0次
29下列判断char类型变量C1是否为数字的表达式中,哪个表达式最简单且正确。B
A. '0'<=C1<='9'
B. (C1>='0')&&(C1<='9')
C. (C1>=0)&&(C1<=9)
D. ('0'<=C1)||('9'>=C1)
30、若有以下的说明,则对初值中字符'a'的引用方式为__D______。 static struct { char ch; double x; char t;
}c[2][2]={{{'a',35,'b'},{'c',45,'d'},{'a',86, 'm'}}};D A. c.ch
B. c[0][1].ch
C. c[1][1].ch
D. c[0][0].ch
二、判断题:
1、在C程序中,注释部分从/*开始,到*/结束。T
2、switch语句中,case后面既可以跟常量,也可以跟已赋值的变量。F 3、一个C语言程序中包含有多个函数时,按书写顺序从上到下执行各函数。F 4、若一个函数的返回类型为void,则表示其没有返回值。T
5、student_name、_name、name8和name_8都是合法标识符。T 6、不对自动(auto)数组进行初始化,数值型数组隐含初值为0,字符数组隐含初值空字符'\\0'。F
7、假设int型数组a的起始地址为2000,则元素a[3]的地址为:2000+4×2=2008。F 8、结构化程序设计认为一个\好\程序主要应该是:程序短而紧凑。F
9、如果知道整型变量a的地址是2000,可以直接用 int *pa=2000; 给指针变量pa赋值,使其指向变量a。F
10、在C语言的if语句中,用作判断的表达式只能为逻辑表达式和关系表达式。F 三、综合应用题
1、计算下面公式的值。T=1/1!+1/2!+1/3!+??+1/m! 当m=10时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!) 答案:1.718
程序改错题 注意:
1.该源程序放在: d:\\ExamProg\\033\\test1.c
2.编译该程序时,请首先将程序中开头的功能说明注释掉或删除! 3.程序功能说明及源程序如下:
/*下面程序的功能是:计算并输出500以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/
#include