苏州科技学院c语言期末考试笔试试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
苏州科技学院c语言期末考试笔试试卷A
(考试时间:120分钟,满分100分)
使用专业电子,电科,计算机02级各班
系:电子专业:班级:学号:姓名:一、单项选择题((1)-(20)题每题1分)
对下面各题,从给出的A,B,C,D,四个可选答案中,选一个正确的答案。
1.当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为
___C____。
A.true
B.false
C.非0整型值
D.整型值0
2.外部变量对程序中的任一函数而言,它们是_____B____。
A.存在的
B.可直接存取的
C.不可见的(局部和静态)
D.不可直接存取的
3.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是
____B_____。
A.地址传递
B.值传递
C.实参数传给形参,并由形参传回来给实参
D.由用户指定传递方式
4.以下说法中正确的是_____C_____。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
5..变量的有效范围与其定义位置有关,____B____,其作用域在整个源程
序文件中都有效。
A.在第一个函数中定义的变量
B.在定义第一个函数之前所定义的变量
C.在主函数中定义的变量
D.在函数中定义的静态变量
6.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
___C___
A.c=b=a;
B.(a=c) || (b=c);
C.(a=c)&&(b=c);
D.a=c=b;
7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示
a[1] 地址的表达式是_____C_____
A.p+1
B.a+1
C.a++
D.++p
8.以下程序运行后,输出结果是___A____.
main( )
{char *s="abcde";
s+=2;
printf("%s\n",s);}
A.cde
B.字符c的ASCII码值
C.字符c的地址
D.出错
9.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为___B___.
if(a
if(c else if(a if(b else x=3; else x=6; else x=7; A. 1 B. 2 C. 3 D. 6 10.当执行以下程序段时___A___. x=-1; do { x=x*x;} while(!x); A.循环体将执行一次 B.循环体将执行两次 C.循环体将执行无限次 D.系统将提示有语法错误 11.以下程序执行后sum的值是____C______ main() { int i , sum; for(i=1;i<6;i++) sum+=i; printf(“%d\n”,sum); } A.15 B.14 C.不确定 D.0 12.若变量c为char类型,能正确判断出c为小写字母的表达式是 ____D_____ A.…a‟<=c<= …z‟ B.(c>= …a‟)||(c<= …z‟) C.(…a‟<=c)and (…z‟>=c) D.(c>= …a‟)&&(c<= …z‟) 13.以下程序的输出结果是_____C_____. fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf(“%d”,a); } A.0 B.29 C.31 D.无定值 14.列程序的输出结果是______C_____ main() {char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf(“%d”,*--p); } A.非法 B.a[4]的地址 C. 5 D.3 15.下列程序的运行结果是_____B________ void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } main() { int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf(“%d %d”, a, b); } A. 6 3 B. 3 6 C.编译出错 D.0 0 16.下面程序的输出结果是_______C________ main() { int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a; printf(“%d\n”,*p+9); } A.0 B.1 C.10 D.9 17.若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组 元素是____C___. int t[3][3],*pt[3],k; for (k=0;k<3;k++) pt[k]=&t[k][0]; A.t[2][0] B.t[2][2] C.t[l][2] D.t[2][l] 18.当调用函数时,实参是一个数组名,则向函数传送的是___B___. A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值 19.以下程序的输出结果是______C______. int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d);} main( ) { int a=3;printf("%d \n",fun(a+fun(d)));} A. 6 9 9 B. 6 6 9 C. 6 15 15 D. 6 6 15 20.以下程序的输出结果是_____C______. #define f(x) x*x