江南大学现代远程教育 第二阶段练习题
考试科目:《C语言程序设计》第七章至第九章(总分100分)
学习中心(教学点) 批次: 层次:
专业: 学号: 身份证号:
姓名: 得分:
一、单项选择题(本题共20小题,每小题2分,共40分。)
1、有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i];i++;}
printf("%d\n",k);
}
执行后输出结果是( )。
A、58 B、56 C、45 D、24
2、以下叙述中正确的是( )。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态(static)类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
3、程序如下:
#define N 5
#define M1 N*3
#define M2 N*2
main()
{ int i;
i=M1+M2; printf(“%d\n”,i);
}
程序编译后运行的输出结果是( )。
A、10 B、20 C、25 D、30
4、有如下程序
void f(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出结果是( )。
A、 3,4,5 B、 5,3,4 C、 5,4,3 D、 4,3,5
5、有以下程序
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是( )。
A、 赋初值的字符串有错 B、 6,7 C、 5,6 D、 6,6
6、若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是( )。
A、 调用可以作为独立的语句存在 B、 调用可以作为一个函数的实参
C、 调用可以出现在表达式中 D、 调用可以作为一个函数的形参
7、以下不能正确定义二维数组的选项是( )。
A、 int a[2][2]={{1},{2}}; B、 int a[][2]={1,2,3,4};
C、 int a[2][2]={{1},2,3}; D、 int a[2][]={{1,2},{3,4}};
8、有以下函数定义:
void fun( int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。
A、fun(int y,double m); B、k=fun(10,12.5);
C、fun(x,n); D、void fun(n,x);
9、有以下程序
#define f(x) x*x
main( )
{ int i;
i=f(4+4)/f(2+2);
printf(“%d\n”,i);
}
执行后输出结果是( )编程递归函数。
A、28 B、22 C、16 D、4
10.以下程序的输出结果是( )。
main()
{ char ch[3][5]={“AAAA”,”BBB”,”CC”};
printf(“\”%s\”\n”,ch[1]);
}
A、 “AAAA” B、“BBB” C、 “BBBCC” D、“CC”
11、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。
A、 char s[10]=“abcdefg”; B、 char t[]=“abcdefg”,*s=t;
C、 char s[10];s=“abcdefg”; D、 char s[10];strcpy(s,“abcdefg”);
12、以下叙述中正确的是( )。
A、局部变量说明为static存储数,其生存期将得到延长
B、全局变量说明为static存储类,其作用域将被扩大
C、任何存储类的变量在未赋初值时,其值都是不确定的
D、形参可以使用的存储类说明符与局部变量完全相同
13、在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( )。
A、 称为函数的直接递归调用 B、 称为函数的间接递归调用
C、 称为函数的循环调用 D、 C语言中不允许这样的递归调用
14、C语言中数组下标的下限是( )。
A、1 B、0 C、视说明语句而定 D、无固定下限
15、若有定义int a[2][2]={0};,则以下描述正确的是( )。
A、 只有a[0][0]的值为0 B、 数组每个元素的值都为0
C、 只有a[0][1]的值为0 D、 以上都不正确
16、下面函数f的定义:
f(int a) {printf("%d",a);}
函数f的返回类型( )。
A、 同参数a的类型相同 B、 是void类型
C、没有返回值 D、 无法确定
17、以下正确的说法是( )。
A、定义函数时,形参的类型说明可以放在函数体内
B、return后边的值不能为表达式
C、如果函数值的类型与返回值类型不一致,以函数值类型为准
D、如果形参与实参类型不一致,以实参类型为准
18、.C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是( )。
A.将串STR1复制到串STR2中后再连接至串STR3之后
B.将串STR1连接至STR2之后再复制至串STR3之后
C.将串STR2复制到串STR1串后再将串STR3连接到串STR1 之后
D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串
19、以下程序的输出结果是( )。
#define p( v, format) printf(“v=%format”,v)
#define s(x) 3.5*x*x
main()
{ int a=1,b=2;float s1;
s1=s(a+b);p(s1,f);}
A、s1=31.5 B、v=31.500000ormat C、v=7.500000ormat D、s1=7.5
20、下面程序段的运行结果是( )。(注:└┘表示空格)
char c[6]={‘a’,‘b’,‘c’,‘\0’,‘d’,‘\0’};
printf(“%s”,c);
A、abc B、‘a’‘b’‘c’ C、abc└┘d D、abc
d ‘d’
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论