苏州科技学院c语言期末考试笔试试卷A
(考试时间:120分钟,满分100分)
使用专业电子,电科,计算机02级各班
系: 电子 专业: 班级: 学号: 姓名:
单项选择题((1)-(20)题每题1分)对下面各题,从给出的A,B,C,D,四个可选答案中,选一个正确的答案。
当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为true
false
非0整型值整型值0外部变量对程序中的任一函数而言,它们是存在的可直接存取的不可见的 不可直接存取的C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是____B_____。
地址传递
值传递
实参数传给形参,并由形参传回来给实参
由用户指定传递方式
以下说法中正确的是__________。
C语言程序总是从第一个的函数开始执行在C语言程序中,要调用的函数必须在main()函数中定义C语言程序总是从main()函数开始执行C语言程序中的main()函数必须放在程序的开始部分.变量的有效范围与其定义位置有关,____B____,其作用域在整个源程序文件中都有效。
在第一个函数中定义的变量
在定义第一个函数之前所定义的变量
在主函数中定义的变量
在函数中定义的静态变量
当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是c=b=a;(a=c) || (b=c);(a=c)&&(b=c);a=c=b;若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是p+1
a+1
a++
++p
以下程序运行后,输出结果是_______.main( ){char *s="abcde";s+=2; printf("%s\n",s);}cde
字符c的ASCII码值字符c的地址出错当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为______.if(a
1
2
3
6
当执行以下程序段时______.x=-1;do { x=x*x;} while(!x);循环体将执行一次循环体将执行两次循环体将执行无限次系统将提示有语法错误以下程序执行后sum的值是____C______main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}
15
14
不确定
0
若变量c为char类型,能正确判断出c为小写字母的表达式是____D_____
‘a’<=c<= ‘z’
(c>= ‘a’)||(c<= ‘z’)
(‘a’<=c)and (‘z’>=c)
(c>= ‘a’)&&(c<= ‘z’)
以下程序的输出结果是_____C_____.fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31; fun(5,2,a); printf(“%d”,a);}
0
29
31
无定值
列程序的输出结果是______C_____main(){char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p);}
非法
a[4]的地址
5
3
下列程序的运行结果是_____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);}
6 3
3 6
编译出错
0 0
下面程序的输出结果是_______C________main(){ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a; printf(“%d\n”,*p+9);}
0
1
10
9
若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是_______.int t[3][3], *pt[3], k;for (k=0;k<3;k++) pt[k]=&t[k][0];t[2][0]
t[2][2]
t[l][2]
t[2][l]
当调用函数时,实参是一个数组名,则向函数传送的是___B___.
数组的长度
数组的首地址
数组每一个元素的地址
数组每