C语言程序的设计第2阶段练习题
江南大学现代远程教育第二阶段测试卷
考试科目:《C语言程序设计》第七章至第九章(总分100分)时间:90分钟
学习中心(教学点)批次:层次:
专业:学号:身份证号:
姓名:得分:
一、单项选择题(本题共20小题,每小题2分,共40分。)
1、若有以下说明和语句,则输出结果是()。
char sp[]="\x69\082\n";
printf("%d",strlen(sp));
A、3
B、5
C、1
D、字符串中有非法字符,输出值不定
2、若有变量说明:char s,s1[20];执行语句:s="student";s1=s;正确的叙述是()。
A、二个语句都不正确
B、s所指向的字符串和s1的值都是"student"
C、第一个语句正确,而第二个语句不正确
D、第二个语句正确,而第一个语句不正确
3、变量的有效范围与其定义位置有关,(),其作用域在整个源程序文件中都有效。
A、在第一个函数中定义的变量
B、在定义第一个函数之前所定义的变量
C、在主函数中定义的变量
D、在函数中定义的静态变量
4、若程序中定义了以下函数
double myadd(double a,double B)
{ return (a+B) ;}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。
A、double myadd(double a,B) ;
B、double myadd(double,double);
C、double myadd(double b,double A) ;
D、double myadd(double x,double y);
5、有以下程序
void f(int v , int w)
{ int t;
t=v;v=w;w=t;
}
main( )
{ int x=1,y=3,z=2;
if(x>y) f(x,y);
else if(y>z) f(y,z);
else f(x,z);
printf(“%d,%d,%d\n”,x,y,z);
}
执行后输出结果是()。
A、1,2,3
B、3,1,2
C、1,3,2
D、2,3,1
6、函数调用可以……,以下错误的是()。
A、出现在执行语句中
B、出现在一个表达式中
C、作为一个函数的实参
D、作为一个函数的形参
7、若有宏定义与变量说明如下:
#define X 5
#define Y X+1
#define Z Y*X/2
int a; a=Y;
则执行以下printf语句后输出的结果是()。
Printf("%d %d\n",Z,--a);
A、7 5
B、12 6
C、12 5
D、7 6
8、下列说法不正确的是()。
A、宏替换不占用运行时间
B、宏无类型
C、宏替换只是字符替换
D、宏名必须用大写字母表示
9、数组名作为参数传递给函数,此时作为实在参数的数组名被处理为()。
A、该数组的长度
B、该数组的元素个数
C、该数组中各元素的值
D、该数组的首地址
10.执行完下面的程序段后,屏幕显示的内容为()。
main()
{ int a=2,i;
for(i=0;i<3;i++) printf("%d",f(a));
c语言二维数组表示方法}
f(int a)
{ int b=0;
static int c=3;
b++;
c++;
return(a+b+c);
}
A、777
B、7 7 7
C、789
D、7 8 9
11、以下描述中,正确的是()。
A、调用函数时,实参可以是表达式
B、调用函数时,将为形参分配内存单元
C、调用函数时,实参与形参的原型必须一致
D、调用函数时,实参与形参可以用内存单元
12、以下能正确定义一维数组的选项是()。
A、int num [];
B、#define N 100
int num [N];
C、int num[0..100];
D、int N=100;
int num[N];
13、有两个字符数组a,b,则以下正确的输入语句是()。
A、gets (a,b);
B、scanf ("%s%s",a,b);
C、scanf ("%s%s",&a,&b);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。